utils.d.ts 396 B

1234567891011121314151617
  1. type ObjToKeyValUnion<T> = {
  2. [K in keyof T]: { key: K; value: T[K] };
  3. }[keyof T];
  4. type ObjToKeyValArray<T> = {
  5. [K in keyof T]: [K, T[K]];
  6. }[keyof T];
  7. type ObjToSelectedValueUnion<T> = {
  8. [K in keyof T]: T[K];
  9. }[keyof T];
  10. type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
  11. type GetOptional<T> = {
  12. [P in keyof T as T[P] extends Required<T>[P] ? never : P]: T[P];
  13. };