UNPKG

safers

Version:

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

23 lines (22 loc) 889 B
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 };