moltres-utils
Version:
Utils for Moltres apps
50 lines (38 loc) • 1.48 kB
JavaScript
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
;