import { IsTupleList, List } from "../list"; import { Builtin } from "../primitive"; import { IsUnknown } from "../type"; import { Required } from "."; /** * makes (nested) keys of an object required * * @since 0.0.2 */ export type DeepRequired = T extends Builtin ? T : T extends Promise ? Promise> : IsTupleList extends true ? { [K in keyof T]-?: DeepRequired; } : T extends List ? List> : T extends Map ? Map, DeepRequired> : T extends Set ? Set> : T extends ReadonlyMap ? ReadonlyMap, DeepRequired> : T extends ReadonlySet ? ReadonlySet> : T extends WeakMap ? WeakMap, DeepRequired> : T extends WeakSet ? WeakSet> : T extends {} ? { [K in keyof T]-?: DeepRequired; } : IsUnknown extends true ? unknown : Required; //# sourceMappingURL=deep-required.d.ts.map