@bemedev/decompose
Version:
Decompose object and so more
31 lines (30 loc) • 969 B
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require_constants_objects = require("./constants/objects.cjs");
//#region src/flatByKey.ts
const _flat = (val, omitKey, options, path = "") => {
const _options = {
...require_constants_objects.DEFAULT_FLAT_OPTIONS,
...options
};
const { [omitKey]: recursives, ...rest } = val;
const check = _options.children;
let out = {};
out[path === "" ? _options.sep : path] = check ? val : rest;
if (recursives) {
for (const key in recursives) if (Object.prototype.hasOwnProperty.call(recursives, key)) {
const element = recursives[key];
const inner = _flat(element, omitKey, options, `${path}${_options.sep}${key}`);
out = {
...out,
...inner
};
}
}
return out;
};
const flatByKey = (val, key, options) => _flat(val, key, options);
flatByKey.low = _flat;
flatByKey.strict = _flat;
//#endregion
exports.flatByKey = flatByKey;
//# sourceMappingURL=flatByKey.cjs.map