@sinclair/typebox
Version:
Json Schema Type Builder with Static Type Resolution for TypeScript
20 lines (19 loc) • 603 B
JavaScript
import { MappedResult } from '../mapped/index.mjs';
import { Partial } from './partial.mjs';
import { Clone } from '../clone/value.mjs';
// prettier-ignore
function FromProperties(K, options) {
const Acc = {};
for (const K2 of globalThis.Object.getOwnPropertyNames(K))
Acc[K2] = Partial(K[K2], Clone(options));
return Acc;
}
// prettier-ignore
function FromMappedResult(R, options) {
return FromProperties(R.properties, options);
}
// prettier-ignore
export function PartialFromMappedResult(R, options) {
const P = FromMappedResult(R, options);
return MappedResult(P);
}