UNPKG

702 BTypeScriptView Raw
1type AllowedAny = any;
2type Cloned<T> = DeepExecWith<T, {
3 [K in keyof T]: Cloned<T[K]>;
4}>;
5export type Constructor<T> = new (...args: AllowedAny[]) => T;
6type DeepExecWith<T, Condition> = T extends Record<infer _Key, unknown> ? Condition : T extends (...args: AllowedAny) => unknown ? T : Condition;
7type DeepNonNullable<T> = Cloned<DeepExecWith<T, NonNullable<{
8 [K in keyof T]: DeepNonNullable<T[K]>;
9}>>>;
10export type DeepNonNullableAndRequired<T> = DeepNonNullable<DeepRequired<T>>;
11type DeepRequired<T> = Cloned<DeepExecWith<T, {
12 [K in keyof T]-?: DeepRequired<T[K]>;
13}>>;
14export type OmitKey<T, K extends keyof T> = Omit<T, K>;
15export {};
16//# sourceMappingURL=utility-typings.d.ts.map
\No newline at end of file