devtypes
    Preparing search index...

    Type Alias UnionToOverloadedFn<U>

    UnionToOverloadedFn: (U extends any ? (k: U) => void : never) extends (
        k: infer I,
    ) => void
        ? I
        : never

    Convert a union to an overloaded function and extract tuple form. Note: this is an established trick but can be slow for very large unions.

    Type Parameters

    • U
    type U = 'a' | 'b' | 'c';
    type Fn = UnionToOverloadedFn<U>; // (k: 'a') => void & (k: 'b') => void & (k: 'c') => void