PokéRogue
    Preparing search index...

    Type Alias KeysOfUnion<ObjectType>

    KeysOfUnion: keyof UnionToIntersection<
        ObjectType extends unknown ? Record<keyof ObjectType, never> : never,
    >

    Create a union of all keys from a given type, even those exclusive to specific union members.

    Unlike the native keyof keyword, which returns keys present in all union members, this type returns keys from any member.

    Type Parameters

    • ObjectType
    import type {KeysOfUnion} from 'type-fest';

    type A = {
    common: string;
    a: number;
    };

    type B = {
    common: string;
    b: string;
    };

    type C = {
    common: string;
    c: boolean;
    };

    type Union = A | B | C;

    type CommonKeys = keyof Union;
    //=> 'common'

    type AllKeys = KeysOfUnion<Union>;
    //=> 'common' | 'a' | 'b' | 'c'