[Typescript] UnionBuilder

发布时间 2023-12-27 22:25:56作者: Zhentiw
interface UnionBuilder<T = never> {
    add: <NewValue>() => UnionBuilder<T | NewValue>,
    fold: () => T
}

declare const u: UnionBuilder;

const result = u
    .add<string>()
    .add<number>()
    .add<boolean>()
    .fold() // string | number | boolean