You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8 lines
348 B

3 months ago
  1. export type Writable<T> = {
  2. -readonly [P in keyof T]: T[P];
  3. };
  4. export type WritableArray<T> = T extends readonly any[] ? Writable<T> : T;
  5. export type IfNever<T, Y = true, N = false> = [T] extends [never] ? Y : N;
  6. export type IfUnknown<T, Y, N> = [unknown] extends [T] ? Y : N;
  7. export type UnknownToNever<T> = IfUnknown<T, never, T>;
  8. export {};