safers
Version:
Safely convert to the desired data and error-free refine values.
23 lines (22 loc) • 889 B
JavaScript
import { stringify as d } from "./stringify.js";
import { isArray as g } from "../utils/isArray.js";
import { isEmptyObject as h } from "../utils/isEmptyObject.js";
import { isObject as v } from "../utils/isObject.js";
import { parse as E } from "../primitive/parse.js";
import "../primitive/toString.js";
import "../utils/isBoolean.js";
import "../../lib/identifyType-d39b7385.js";
import "../utils/isNumber.js";
import "../utils/isString.js";
function B(l, s = []) {
const t = E(d(l)), p = (i, f = "") => {
Object.keys(i).forEach((o) => {
const m = f ? `${f}.${o}` : o;
!s.includes(m) && (i[o] === null || i[o] === "" || i[o] === 0 || i[o] === void 0 || h(i[o]) || g(i[o]) && i[o].length === 0) && delete i[o], v(i[o]) && (p(i[o], m), Object.keys(i[o]).length === 0 && !s.includes(m) && delete i[o]);
});
};
return p(t), t;
}
export {
B as removeEmptyKeys
};