| Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64 Path : /home/livedhms/lmgt/node_modules/mongoose/lib/helpers/ |
| Current File : /home/livedhms/lmgt/node_modules/mongoose/lib/helpers/minimize.js |
'use strict';
const { isPOJO } = require('../utils');
module.exports = minimize;
/**
* Minimizes an object, removing undefined values and empty objects
*
* @param {object} object to minimize
* @return {object|undefined}
* @api private
*/
function minimize(obj) {
const keys = Object.keys(obj);
let i = keys.length;
let hasKeys;
let key;
let val;
while (i--) {
key = keys[i];
val = obj[key];
if (isPOJO(val)) {
obj[key] = minimize(val);
}
if (undefined === obj[key]) {
delete obj[key];
continue;
}
hasKeys = true;
}
return hasKeys
? obj
: undefined;
}