@backland/schema
Version:
TypeScript schema declaration and validation library with static type inference
5 lines (4 loc) • 411 B
TypeScript
import type { O } from '@backland/utils';
export type OHas<Obj, K> = Obj extends object ? K extends string ? O.Has<Obj, K> : 0 : 0;
export type OPick<Obj, K> = Obj extends unknown ? Obj extends object ? K extends unknown ? K extends string ? K extends keyof Obj ? Obj[K] : never : never : never : never : never;
export type OWritable<T> = T extends object ? O.Writable<T, Extract<keyof T, string>, 'deep'> : T;