UNPKG

@bemedev/decompose

Version:
28 lines (24 loc) 912 B
'use strict'; var helpers = require('./helpers.cjs'); const _flat = (val, omitKey, options, path = '') => { const _options = { ...helpers.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; exports.flatByKey = flatByKey; //# sourceMappingURL=flatByKey.cjs.map