UNPKG

@bemedev/decompose

Version:
32 lines (31 loc) 1.24 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_sortMap = require("./sortMap.cjs"); const require_constants_strings = require("./constants/strings.cjs"); let _bemedev_types = require("@bemedev/types"); //#region src/decomposeSV.ts function ddecompose(val, prev = "") { const output = []; const _prev = prev ? prev + require_constants_strings.DELIMITER : ""; if (prev !== "") output.push(prev); if (typeof val === "string") output.push(`${_prev}${val}`); else { const keys = Object.keys(val); output.push(...keys.map((key) => ddecompose(val[key], `${_prev}${key}`)).flat()); } return output; } const _decomposeSV = (val, sorter = require_sortMap.sortMap) => { const output1 = ddecompose(val, ""); output1.sort(sorter); const regex = new RegExp(require_constants_strings.DELIMITER, "g"); return output1.map((value) => value.replace(regex, ".")); }; /* v8 ignore next 3 */ const decomposeSV = (val, sorter) => { return _bemedev_types.castings.commons.any(_decomposeSV(val, sorter)); }; decomposeSV.low = _decomposeSV; decomposeSV.strict = _bemedev_types.castings.commons.unknown(_decomposeSV); //#endregion exports.decomposeSV = decomposeSV; //# sourceMappingURL=decomposeSV.cjs.map