@behance/router
Version:
A lightweight JavaScript library is built on top of route-recognizer and rsvp.js to provide an API for handling routes
30 lines (25 loc) • 994 B
JavaScript
;
var HandlerInfo = require("../handler-info")["default"];
var resolveHook = require("router/utils").resolveHook;
var merge = require("router/utils").merge;
var subclass = require("router/utils").subclass;
var promiseLabel = require("router/utils").promiseLabel;
// Generated by URL transitions and non-dynamic route segments in named Transitions.
var UnresolvedHandlerInfoByParam = subclass (HandlerInfo, {
initialize: function(props) {
this.params = props.params || {};
},
getModel: function(payload) {
var fullParams = this.params;
if (payload && payload.queryParams) {
fullParams = {};
merge(fullParams, this.params);
fullParams.queryParams = payload.queryParams;
}
var handler = this.handler;
var hookName = resolveHook(handler, 'deserialize') ||
resolveHook(handler, 'model');
return this.runSharedModelHook(payload, hookName, [fullParams]);
}
});
exports["default"] = UnresolvedHandlerInfoByParam;