UNPKG

moltres-utils

Version:
50 lines (38 loc) 1.48 kB
"use strict"; require("core-js/modules/es6.object.define-property"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _compact = _interopRequireDefault(require("./compact")); var _curry = _interopRequireDefault(require("../common/curry")); var _defn = _interopRequireDefault(require("../common/defn")); var _getPath = _interopRequireDefault(require("./getPath")); var _init = _interopRequireDefault(require("./init")); var _isEmpty = _interopRequireDefault(require("../logic/isEmpty")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Retrieve the parent value from a given path. The parent value is the value immediately before the last path part. * * * @function * @since v0.0.10 * @category data * @param {Array} path The path to use. * @param {*} value The value to retrieve the nested property from. * @returns {*} The data at `path`. * @example * * getParentPath(['a', 'b'], {a: {b: 2}}); //=> {b: 2} * getParentPath(['a', 'b'], {c: {b: 2}}); //=> undefined */ var getParentPath = (0, _curry.default)((0, _defn.default)('getParentPath', function (path, value) { var pathParts = (0, _compact.default)(path); if ((0, _isEmpty.default)(pathParts)) { return undefined; } return (0, _getPath.default)((0, _init.default)(pathParts), value); })); var _default = getParentPath; exports.default = _default; //# sourceMappingURL=getParentPath.js.map