devtypes
    Preparing search index...

    Type Alias DeepRequired<T>

    DeepRequired: {
        [P in keyof T]-?: T[P] extends (infer U)[]
            ? DeepRequired<U>[]
            : T[P] extends ReadonlyArray<infer U>
                ? ReadonlyArray<DeepRequired<U>>
                : T[P] extends object ? DeepRequired<T[P]> : T[P]
    }

    Deep required (recursive)

    Type Parameters

    • T
    type User = { id?: number; profile?: { name?: string; address?: { city?: string; zip?: number } } };
    type RequiredUser = DeepRequired<User>;
    // { id: number; profile: { name: string; address: { city: string; zip: number } } }