UNPKG

@bemedev/decompose

Version:
33 lines (32 loc) 1.45 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_sortMap = require("./sortMap.cjs"); const require_constants_strings = require("./constants/strings.cjs"); const require_helpers = require("./helpers.cjs"); let _bemedev_types = require("@bemedev/types"); //#region src/decomposeKeys.ts function ddecomposeKeys(val, prev = "", addObjectKeys = true) { const _prev = prev ? prev + require_constants_strings.DELIMITER : ""; const output = []; Object.entries(val).forEach(([key, value]) => { if (!require_helpers.isPrimitive(value)) { if (addObjectKeys) output.push(`${_prev}${key}`); const values = ddecomposeKeys(value, `${_prev}${key}`, addObjectKeys); output.push(...values); } else output.push(`${_prev}${key}`); }); return output; } const _decomposeKeys = (val, sorter = require_sortMap.sortMap, addObjectKeys = true) => { const output1 = ddecomposeKeys(val, "", addObjectKeys); output1.sort(sorter); const regex = new RegExp(require_constants_strings.DELIMITER, "g"); return output1.map((value) => value.replace(regex, ".")); }; const decomposeKeys = (val, sorter, addObjectKeys) => { return _bemedev_types.castings.commons.any(_decomposeKeys(val, sorter, addObjectKeys)); }; decomposeKeys.low = _decomposeKeys; decomposeKeys.strict = _bemedev_types.castings.commons.unknown(_decomposeKeys); //#endregion exports.decomposeKeys = decomposeKeys; //# sourceMappingURL=decomposeKeys.cjs.map