UNPKG

@sinclair/typebox

Version:

Json Schema Type Builder with Static Type Resolution for TypeScript

25 lines (24 loc) 684 B
import { MappedResult } from '../mapped/index.mjs'; import { Omit } from './omit.mjs'; import { Clone } from '../clone/value.mjs'; // prettier-ignore function FromPropertyKey(T, K, options) { return { [K]: Omit(T, [K], Clone(options)) }; } // prettier-ignore function FromPropertyKeys(T, K, options) { return K.reduce((Acc, LK) => { return { ...Acc, ...FromPropertyKey(T, LK, options) }; }, {}); } // prettier-ignore function FromMappedKey(T, K, options) { return FromPropertyKeys(T, K.keys, options); } // prettier-ignore export function OmitFromMappedKey(T, K, options) { const P = FromMappedKey(T, K, options); return MappedResult(P); }