react-zoom-pan-pinch
Version:
Zoom and pan html elements in easy way
6 lines (5 loc) • 354 B
TypeScript
export type DeepNonNullable<T> = T extends (...args: any[]) => any ? T : T extends any[] ? DeepNonNullableArray<T[number]> : T extends object ? DeepNonNullableObject<T> : T;
export type DeepNonNullableArray<T> = Array<DeepNonNullable<NonNullable<T>>>;
export type DeepNonNullableObject<T> = {
[P in keyof T]-?: DeepNonNullable<NonNullable<T[P]>>;
};