json-schema-library
Version:
Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation
26 lines (25 loc) • 647 B
JavaScript
/**
* Omit properties from input object. Accepts any number of properties to
* remove. Example:
*
* ```ts
* omit(myObject, "if", "dependencies");
* ```
*
* @returns shallow copy of input object without specified properties
*/
export function omit(object, ...keysToOmit) {
const result = {};
Object.keys(object).forEach((key) => {
if (!keysToOmit.includes(key)) {
result[key] = object[key];
}
});
if (object.getOneOfOrigin) {
Object.defineProperty(result, "getOneOfOrigin", {
enumerable: false,
value: object.getOneOfOrigin
});
}
return result;
}