UNPKG

@uirouter/core

Version:

UI-Router Core: Framework agnostic, State-based routing for JavaScript Single Page Apps

39 lines 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StateParams = void 0; var common_1 = require("../common/common"); var StateParams = /** @class */ (function () { function StateParams(params) { if (params === void 0) { params = {}; } common_1.extend(this, params); } /** * Merges a set of parameters with all parameters inherited between the common parents of the * current state and a given destination state. * * @param {Object} newParams The set of parameters which will be composited with inherited params. * @param {Object} $current Internal definition of object representing the current state. * @param {Object} $to Internal definition of object representing state to transition to. */ StateParams.prototype.$inherit = function (newParams, $current, $to) { var parents = common_1.ancestors($current, $to), inherited = {}, inheritList = []; for (var i in parents) { if (!parents[i] || !parents[i].params) continue; var parentParams = parents[i].params; var parentParamsKeys = Object.keys(parentParams); if (!parentParamsKeys.length) continue; for (var j in parentParamsKeys) { if (parentParams[parentParamsKeys[j]].inherit == false || inheritList.indexOf(parentParamsKeys[j]) >= 0) continue; inheritList.push(parentParamsKeys[j]); inherited[parentParamsKeys[j]] = this[parentParamsKeys[j]]; } } return common_1.extend({}, inherited, newParams); }; return StateParams; }()); exports.StateParams = StateParams; //# sourceMappingURL=stateParams.js.map