ByteDance Web Infra
ByteDance Web Infra
May 30, 2022 · Frontend Development

Designing Mutually Exclusive Fields in TypeScript Configurations

This article explains how to model a TypeScript configuration function where fields a and b are mutually exclusive (with an optional foo field), explores several type‑level solutions—including manual exclusive interfaces, function overloads, conditional types, and XOR utilities—and provides practical code examples and references.

ConditionalTypesConfigDesignMutuallyExclusive
0 likes · 8 min read
Designing Mutually Exclusive Fields in TypeScript Configurations