Sha256: ae8ce9bb401298d004af8ef409473e463fc9d73592536de062a7c6935e5a8f52
Contents?: true
Size: 610 Bytes
Versions: 52
Compression:
Stored size: 610 Bytes
Contents
type Fn = (...arg: any[]) => any; type MaybePromise<T> = T | Promise<T>; type RequiredDeep<Type, U extends Record<string, unknown> | Fn | undefined = undefined> = Type extends Fn ? Type : Type extends Record<string, any> ? { [Key in keyof Type]-?: NonNullable<Type[Key]> extends NonNullable<U> ? NonNullable<Type[Key]> : RequiredDeep<NonNullable<Type[Key]>, U>; } : Type; /** * @fixme Remove this once TS 5.4 is the lowest supported version. * Because "NoInfer" is a built-in type utility there. */ type NoInfer<T> = [T][T extends any ? 0 : never]; export type { MaybePromise, NoInfer, RequiredDeep };
Version data entries
52 entries across 26 versions & 1 rubygems