devtypes
    Preparing search index...

    Type Alias RequireAtLeastOne<T, K>

    RequireAtLeastOne: Pick<T, Exclude<keyof T, K>> & {
        [P in K]: Required<Pick<T, P>> & Partial<Pick<T, Exclude<K, P>>>
    }[K]

    Require at least one property from a set of properties

    Type Parameters

    • T
    • K extends keyof T = keyof T
    type Test = { a?: string; b?: number; c: boolean };
    type Result = RequireAtLeastOne<Test, 'a' | 'b'>;