@uirouter/core
Version:
UI-Router Core: Framework agnostic, State-based routing for JavaScript Single Page Apps
39 lines • 1.77 kB
JavaScript
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
;