RequiredKeys<T>: {
    [K in keyof T]: T[K] extends {
            required: true;
        } | {
            default: any;
        } | BooleanConstructor | {
            type: BooleanConstructor;
        }
        ? T[K] extends {
                default: undefined | (() => undefined);
            }
            ? never
            : K
        : never
}[keyof T]

Type Parameters

  • T