1 | (function webpackUniversalModuleDefinition(root, factory) {
|
2 | if(typeof exports === 'object' && typeof module === 'object')
|
3 | module.exports = factory(require("./actions.js"), require("./router.js"), require("path-to-regexp"));
|
4 | else if(typeof define === 'function' && define.amd)
|
5 | define(["./actions.js", "./router.js", "path-to-regexp"], factory);
|
6 | else if(typeof exports === 'object')
|
7 | exports["navigationMiddleware.js"] = factory(require("./actions.js"), require("./router.js"), require("path-to-regexp"));
|
8 | else
|
9 | root["navigationMiddleware.js"] = factory(root["./actions.js"], root["./router.js"], root["path-to-regexp"]);
|
10 | })(this, function(__WEBPACK_EXTERNAL_MODULE_14__, __WEBPACK_EXTERNAL_MODULE_16__, __WEBPACK_EXTERNAL_MODULE_316__) {
|
11 | return (function(modules) {
|
12 |
|
13 | var installedModules = {};
|
14 |
|
15 |
|
16 | function __webpack_require__(moduleId) {
|
17 |
|
18 |
|
19 | if(installedModules[moduleId])
|
20 | return installedModules[moduleId].exports;
|
21 |
|
22 |
|
23 | var module = installedModules[moduleId] = {
|
24 | exports: {},
|
25 | id: moduleId,
|
26 | loaded: false
|
27 | };
|
28 |
|
29 |
|
30 | modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
31 |
|
32 |
|
33 | module.loaded = true;
|
34 |
|
35 |
|
36 | return module.exports;
|
37 | }
|
38 |
|
39 |
|
40 |
|
41 | __webpack_require__.m = modules;
|
42 |
|
43 |
|
44 | __webpack_require__.c = installedModules;
|
45 |
|
46 |
|
47 | __webpack_require__.p = "";
|
48 |
|
49 |
|
50 | return __webpack_require__(0);
|
51 | })
|
52 |
|
53 | ({
|
54 |
|
55 | 0:
|
56 | function(module, exports, __webpack_require__) {
|
57 |
|
58 | 'use strict';
|
59 |
|
60 | Object.defineProperty(exports, "__esModule", {
|
61 | value: true
|
62 | });
|
63 |
|
64 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
65 |
|
66 | var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
67 |
|
68 | var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
|
69 |
|
70 | var _pathToRegexp = __webpack_require__(316);
|
71 |
|
72 | var _pathToRegexp2 = _interopRequireDefault(_pathToRegexp);
|
73 |
|
74 | var _router = __webpack_require__(16);
|
75 |
|
76 | var _actions = __webpack_require__(14);
|
77 |
|
78 | var actions = _interopRequireWildcard(_actions);
|
79 |
|
80 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
81 |
|
82 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
83 |
|
84 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
85 |
|
86 | exports.default = {
|
87 | create: function create(routes) {
|
88 | return function (store) {
|
89 | return function (next) {
|
90 | return function (action) {
|
91 | if (action.type == actions.NAVIGATE_TO_URL) {
|
92 | var _action$payload = action.payload;
|
93 | var method = _action$payload.method;
|
94 | var pathName = _action$payload.pathName;
|
95 | var queryParams = _action$payload.queryParams;
|
96 | var hashParams = _action$payload.hashParams;
|
97 | var bodyParams = _action$payload.bodyParams;
|
98 | var dispatch = store.dispatch;
|
99 | var getState = store.getState;
|
100 | var _iteratorNormalCompletion = true;
|
101 | var _didIteratorError = false;
|
102 | var _iteratorError = undefined;
|
103 |
|
104 | try {
|
105 | var _loop = function _loop() {
|
106 | var route = _step.value;
|
107 |
|
108 | var _route = _slicedToArray(route, 2);
|
109 |
|
110 | var url = _route[0];
|
111 | var handler = _route[1];
|
112 |
|
113 | var reg = (0, _pathToRegexp2.default)(url);
|
114 | var result = reg.exec(pathName);
|
115 |
|
116 | if (result) {
|
117 | var urlParams = reg.keys.reduce(function (prev, cur, index) {
|
118 | return _extends({}, prev, _defineProperty({}, cur.name, result[index + 1]));
|
119 | }, {});
|
120 |
|
121 | if (method === _router.METHODS.GET) {
|
122 | dispatch(actions.setPage(pathName, {
|
123 | urlParams: urlParams,
|
124 | queryParams: queryParams,
|
125 | hashParams: hashParams
|
126 | }));
|
127 | }
|
128 |
|
129 | var h = new handler(pathName, urlParams, queryParams, hashParams, bodyParams, dispatch, getState);
|
130 |
|
131 | return {
|
132 | v: next(h[method].bind(h))
|
133 | };
|
134 | }
|
135 | };
|
136 |
|
137 | for (var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
138 | var _ret = _loop();
|
139 |
|
140 | if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v;
|
141 | }
|
142 | } catch (err) {
|
143 | _didIteratorError = true;
|
144 | _iteratorError = err;
|
145 | } finally {
|
146 | try {
|
147 | if (!_iteratorNormalCompletion && _iterator.return) {
|
148 | _iterator.return();
|
149 | }
|
150 | } finally {
|
151 | if (_didIteratorError) {
|
152 | throw _iteratorError;
|
153 | }
|
154 | }
|
155 | }
|
156 |
|
157 | ;
|
158 |
|
159 | return next(new Error('No route found for ' + method + ' ' + pathName));
|
160 | }
|
161 |
|
162 | return next(action);
|
163 | };
|
164 | };
|
165 | };
|
166 | }
|
167 | };
|
168 |
|
169 | },
|
170 |
|
171 | 14:
|
172 | function(module, exports) {
|
173 |
|
174 | module.exports = __WEBPACK_EXTERNAL_MODULE_14__;
|
175 |
|
176 | },
|
177 |
|
178 | 16:
|
179 | function(module, exports) {
|
180 |
|
181 | module.exports = __WEBPACK_EXTERNAL_MODULE_16__;
|
182 |
|
183 | },
|
184 |
|
185 | 316:
|
186 | function(module, exports) {
|
187 |
|
188 | module.exports = require("path-to-regexp");
|
189 |
|
190 | }
|
191 |
|
192 | })
|
193 | });
|
194 | ; |
\ | No newline at end of file |