@jsopen/objects
Version:
Helper utilities for working with JavaScript objects and arrays
40 lines (39 loc) • 997 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.omit = omit;
exports.omitUndefined = omitUndefined;
exports.omitNull = omitNull;
exports.omitNullish = omitNullish;
const merge_js_1 = require("./merge.js");
function omit(obj, keys) {
const keysSet = new Set(keys);
return (0, merge_js_1.merge)({}, obj, {
deep: false,
filter(key) {
return !keysSet.has(key);
},
});
}
function omitUndefined(obj, deep) {
return (0, merge_js_1.merge)({}, obj, {
deep,
ignoreUndefined: true,
copyDescriptors: true,
});
}
function omitNull(obj, deep) {
return (0, merge_js_1.merge)({}, obj, {
deep,
ignoreNulls: true,
ignoreUndefined: false,
copyDescriptors: true,
});
}
function omitNullish(obj, deep) {
return (0, merge_js_1.merge)({}, obj, {
deep,
ignoreNulls: true,
ignoreUndefined: true,
copyDescriptors: true,
});
}