UNPKG

safers

Version:

Safely convert to the desired data and error-free refine values.

2 lines (1 loc) 817 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./stringify.js"),q=require("../utils/isArray.js"),f=require("../utils/isEmptyObject.js"),d=require("../utils/isObject.js"),m=require("../primitive/parse.js");require("../primitive/toString.js");require("../utils/isBoolean.js");require("../../lib/identifyType-7484d147.js");require("../utils/isNumber.js");require("../utils/isString.js");function n(c,t=[]){const o=m.parse(u.stringify(c)),l=(e,r="")=>{Object.keys(e).forEach(i=>{const s=r?`${r}.${i}`:i;!t.includes(s)&&(e[i]===null||e[i]===""||e[i]===0||e[i]===void 0||f.isEmptyObject(e[i])||q.isArray(e[i])&&e[i].length===0)&&delete e[i],d.isObject(e[i])&&(l(e[i],s),Object.keys(e[i]).length===0&&!t.includes(s)&&delete e[i])})};return l(o),o}exports.removeEmptyKeys=n;