UNPKG

ramda-extension

Version:

Helpful functions built on top of the mighty Ramda

33 lines (26 loc) 1.06 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _ramda = require("ramda"); var _applyCompose = _interopRequireDefault(require("./applyCompose")); var _splitByDot = _interopRequireDefault(require("./splitByDot")); var _mergeDeepRightAll = _interopRequireDefault(require("./mergeDeepRightAll")); /** * Unfolds input object by dot delimetered path inside its keys. * * @func * @category Object * * @example * * R_.unfoldObjectDots({'a.b.c': 1, 'd.e.f': 2, 'g': 3}) * // {a: {b: {c: 1}}, d: {e: {f: 2}}, g: 3} * * @sig Object -> Object */ var unfoldObjectDots = (0, _ramda.o)((0, _ramda.o)(_mergeDeepRightAll.default, _ramda.values), (0, _ramda.mapObjIndexed)((0, _ramda.useWith)((0, _ramda.flip)(_ramda.call), [_ramda.identity, (0, _ramda.compose)(_applyCompose.default, (0, _ramda.map)(_ramda.objOf), _splitByDot.default)]))); var _default = unfoldObjectDots; exports.default = _default;