@eljs/utils
Version:
Collection of nodejs utility.
14 lines • 605 B
TypeScript
export type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
/**
* 去除索引签名
*/
export type OmitIndexSignature<ObjectType> = {
[KeyType in keyof ObjectType as {} extends Record<KeyType, unknown> ? never : KeyType]: ObjectType[KeyType];
};
/**
* 递归使 T 中的所有属性成为必需的
*/
export type RequiredRecursive<T> = T extends Function ? T : T extends object ? {
[P in keyof T]-?: Exclude<T[P], undefined> extends infer U ? U extends object ? U extends any[] ? U : RequiredRecursive<U> : U : never;
} : T;
//# sourceMappingURL=object.d.ts.map