@goatlab/fluent
Version:
Readable query Interface & API generator for TS and Node
26 lines (25 loc) • 843 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.clearEmpties = void 0;
const bson_1 = require("bson");
const clearEmpties = object => {
Object.entries(object).forEach(([k, v]) => {
if (v && typeof v === 'object')
(0, exports.clearEmpties)(v);
if ((v && typeof v === 'object' && !Object.keys(v).length) ||
v === null ||
v === undefined ||
v.length === 0) {
if (Array.isArray(object)) {
if (!(object[k] instanceof bson_1.ObjectId)) {
object.splice(k, 1);
}
}
else if (!(v instanceof Date) && !(v instanceof bson_1.ObjectId)) {
delete object[k];
}
}
});
return object;
};
exports.clearEmpties = clearEmpties;