@antv/s2
Version:
effective spreadsheet render core lib
7 lines (6 loc) • 302 B
TypeScript
export type PickEssential<O> = {
[K in keyof O as Pick<Partial<O>, K> extends Pick<O, K> ? never : K]: O[K];
};
export type DeepRequired<T extends Record<string, any>> = {
[K in keyof T]-?: NonNullable<T[K]> extends Record<string, any> ? DeepRequired<NonNullable<T[K]>> : NonNullable<T[K]>;
};