@opra/common
Version:
Opra common package
16 lines (15 loc) • 442 B
JavaScript
import { createMappedClass } from './utils/create-mapped-class.js';
/**
* Create a new MappedType that marks given or all fields as optional
* @param baseType
* @param keys
* @param options
*/
/**
*
*/
export function PartialType(base, ...args) {
const keys = Array.isArray(args[0]) ? args[0] : true;
const options = Array.isArray(args[0]) ? args[1] : args[0];
return createMappedClass(base, { partial: keys }, options);
}