UNPKG

dilswer

Version:

Blazingly fast data validation library with TypeScript integration.

17 lines (16 loc) 488 B
// src/intrinsic-type-utils/pick.ts import { RecordType } from "../data-types/types/record.mjs"; import { isFieldDescriptor } from "../utilities/is-field-descriptor.mjs"; var Pick = (recordDataType, ...pickKeys) => { return new RecordType( Object.fromEntries( Object.entries(recordDataType.recordOf).filter(([key]) => pickKeys.includes(key)).map(([key, desc]) => [ key, isFieldDescriptor(desc) ? desc : desc["copy"]() ]) ) ); }; export { Pick };