@cognigy/rest-api-client
Version:
Cognigy REST-Client
36 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.stripNulls = void 0;
function stripNulls(data = {}) {
let currentKey = '';
let currentValue;
try {
Object.entries(data).forEach(([key, value]) => {
currentKey = key;
currentValue = value;
/* Boolean values are always value, true or false. We don't want to delete 'false' */
if (typeof value === 'boolean') {
return;
}
if (typeof value === "undefined" ||
typeof value === null ||
(typeof value === "string" &&
value.length == 0)) {
delete data[key];
}
if (typeof value === "object" && (typeof value !== "number" || typeof value !== "string")) {
stripNulls(value);
}
if (typeof value === "object" && (typeof value !== "number" || typeof value !== "string" || typeof value !== "boolean") && Object.keys(value).length === 0) {
delete data[key];
}
});
return data;
}
catch (error) {
console.error(`Error in stripNulls: key ${currentKey} - value: ${currentValue}`, error);
return {};
}
}
exports.stripNulls = stripNulls;
//# sourceMappingURL=strip-nulls.js.map