@modern-js/plugin-data-loader 2.15.0 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/cjs/cli/createRequest.js +31 -47
- package/dist/cjs/cli/data.js +17 -34
- package/dist/cjs/cli/generateClient.js +15 -41
- package/dist/cjs/cli/loader.js +11 -27
- package/dist/cjs/common/constants.js +13 -27
- package/dist/cjs/common/utils.js +7 -25
- package/dist/cjs/runtime/index.js +45 -60
- package/dist/cjs/runtime/response.js +24 -58
- package/dist/cjs/server/index.js +62 -50
- package/dist/esm/cli/createRequest.js +212 -205
- package/dist/esm/cli/data.js +769 -741
- package/dist/esm/cli/generateClient.js +40 -41
- package/dist/esm/cli/loader.js +219 -201
- package/dist/esm/common/constants.js +3 -4
- package/dist/esm/common/utils.js +17 -18
- package/dist/esm/runtime/index.js +400 -381
- package/dist/esm/runtime/response.js +276 -258
- package/dist/esm/server/index.js +177 -170
- package/dist/esm-node/cli/createRequest.js +11 -22
- package/dist/esm-node/cli/data.js +11 -16
- package/dist/esm-node/cli/generateClient.js +1 -7
- package/dist/esm-node/cli/loader.js +3 -6
- package/dist/esm-node/common/constants.js +3 -8
- package/dist/esm-node/common/utils.js +1 -4
- package/dist/esm-node/runtime/index.js +14 -28
- package/dist/esm-node/runtime/response.js +15 -34
- package/dist/esm-node/server/index.js +4 -17
- package/package.json +12 -8
|
@@ -1,45 +1,44 @@
|
|
|
1
1
|
import path from "path";
|
|
2
|
-
var generateClient = function(param) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
} finally{
|
|
31
|
-
if (_didIteratorError) {
|
|
32
|
-
throw _iteratorError;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
2
|
+
export var generateClient = function(param) {
|
|
3
|
+
var mapFile = param.mapFile, loaderId = param.loaderId;
|
|
4
|
+
delete require.cache[mapFile];
|
|
5
|
+
var loadersMap = require(mapFile);
|
|
6
|
+
var requestCode = "";
|
|
7
|
+
var exportsCode = "";
|
|
8
|
+
var requestCreatorPath = path.join(__dirname, "./createRequest").replace("/cjs/cli/", "/esm/cli/").replace(/\\/g, "/");
|
|
9
|
+
var importCode = "\n import { createRequest } from '".concat(requestCreatorPath, "';\n ");
|
|
10
|
+
if (!loaderId) {
|
|
11
|
+
requestCode = Object.keys(loadersMap).map(function(loaderId2) {
|
|
12
|
+
var routeId = loadersMap[loaderId2].routeId;
|
|
13
|
+
return "\n const ".concat(loaderId2, " = createRequest('").concat(routeId, "');\n ");
|
|
14
|
+
}).join("");
|
|
15
|
+
exportsCode = "export {";
|
|
16
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
17
|
+
try {
|
|
18
|
+
for (var _iterator = Object.keys(loadersMap)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
19
|
+
var loader = _step.value;
|
|
20
|
+
exportsCode += "".concat(loader, ",");
|
|
21
|
+
}
|
|
22
|
+
} catch (err) {
|
|
23
|
+
_didIteratorError = true;
|
|
24
|
+
_iteratorError = err;
|
|
25
|
+
} finally {
|
|
26
|
+
try {
|
|
27
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
28
|
+
_iterator.return();
|
|
35
29
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
} finally {
|
|
31
|
+
if (_didIteratorError) {
|
|
32
|
+
throw _iteratorError;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
41
35
|
}
|
|
42
|
-
|
|
43
|
-
|
|
36
|
+
exportsCode += "}";
|
|
37
|
+
} else {
|
|
38
|
+
var loader1 = loadersMap[loaderId];
|
|
39
|
+
requestCode = "\n const loader = createRequest('".concat(loader1.routeId, "');\n ");
|
|
40
|
+
exportsCode = "export default loader;";
|
|
41
|
+
}
|
|
42
|
+
var generatedCode = "\n ".concat(importCode, "\n ").concat(requestCode, "\n ").concat(exportsCode, "\n ");
|
|
43
|
+
return generatedCode;
|
|
44
44
|
};
|
|
45
|
-
export { generateClient };
|
package/dist/esm/cli/loader.js
CHANGED
|
@@ -1,222 +1,240 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length)
|
|
3
|
+
len = arr.length;
|
|
4
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
5
|
+
arr2[i] = arr[i];
|
|
6
|
+
return arr2;
|
|
5
7
|
}
|
|
6
|
-
function
|
|
7
|
-
|
|
8
|
+
function _array_with_holes(arr) {
|
|
9
|
+
if (Array.isArray(arr))
|
|
10
|
+
return arr;
|
|
8
11
|
}
|
|
9
12
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
try {
|
|
14
|
+
var info = gen[key](arg);
|
|
15
|
+
var value = info.value;
|
|
16
|
+
} catch (error) {
|
|
17
|
+
reject(error);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (info.done) {
|
|
21
|
+
resolve(value);
|
|
22
|
+
} else {
|
|
23
|
+
Promise.resolve(value).then(_next, _throw);
|
|
24
|
+
}
|
|
22
25
|
}
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
function _async_to_generator(fn) {
|
|
27
|
+
return function() {
|
|
28
|
+
var self = this, args = arguments;
|
|
29
|
+
return new Promise(function(resolve, reject) {
|
|
30
|
+
var gen = fn.apply(self, args);
|
|
31
|
+
function _next(value) {
|
|
32
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
33
|
+
}
|
|
34
|
+
function _throw(err) {
|
|
35
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
36
|
+
}
|
|
37
|
+
_next(void 0);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
37
40
|
}
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
function _iterable_to_array_limit(arr, i) {
|
|
42
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
43
|
+
if (_i == null)
|
|
44
|
+
return;
|
|
45
|
+
var _arr = [];
|
|
46
|
+
var _n = true;
|
|
47
|
+
var _d = false;
|
|
48
|
+
var _s, _e;
|
|
49
|
+
try {
|
|
50
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
51
|
+
_arr.push(_s.value);
|
|
52
|
+
if (i && _arr.length === i)
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
} catch (err) {
|
|
56
|
+
_d = true;
|
|
57
|
+
_e = err;
|
|
58
|
+
} finally {
|
|
45
59
|
try {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
_d = true;
|
|
52
|
-
_e = err;
|
|
53
|
-
} finally{
|
|
54
|
-
try {
|
|
55
|
-
if (!_n && _i["return"] != null) _i["return"]();
|
|
56
|
-
} finally{
|
|
57
|
-
if (_d) throw _e;
|
|
58
|
-
}
|
|
60
|
+
if (!_n && _i["return"] != null)
|
|
61
|
+
_i["return"]();
|
|
62
|
+
} finally {
|
|
63
|
+
if (_d)
|
|
64
|
+
throw _e;
|
|
59
65
|
}
|
|
60
|
-
|
|
66
|
+
}
|
|
67
|
+
return _arr;
|
|
61
68
|
}
|
|
62
|
-
function
|
|
63
|
-
|
|
69
|
+
function _non_iterable_rest() {
|
|
70
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
64
71
|
}
|
|
65
|
-
function
|
|
66
|
-
|
|
72
|
+
function _sliced_to_array(arr, i) {
|
|
73
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
67
74
|
}
|
|
68
|
-
function
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
76
|
+
if (!o)
|
|
77
|
+
return;
|
|
78
|
+
if (typeof o === "string")
|
|
79
|
+
return _array_like_to_array(o, minLen);
|
|
80
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
81
|
+
if (n === "Object" && o.constructor)
|
|
82
|
+
n = o.constructor.name;
|
|
83
|
+
if (n === "Map" || n === "Set")
|
|
84
|
+
return Array.from(n);
|
|
85
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
|
86
|
+
return _array_like_to_array(o, minLen);
|
|
75
87
|
}
|
|
76
|
-
var __generator =
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
88
|
+
var __generator = function(thisArg, body) {
|
|
89
|
+
var f, y, t, g, _ = {
|
|
90
|
+
label: 0,
|
|
91
|
+
sent: function() {
|
|
92
|
+
if (t[0] & 1)
|
|
93
|
+
throw t[1];
|
|
94
|
+
return t[1];
|
|
95
|
+
},
|
|
96
|
+
trys: [],
|
|
97
|
+
ops: []
|
|
98
|
+
};
|
|
99
|
+
return g = {
|
|
100
|
+
next: verb(0),
|
|
101
|
+
"throw": verb(1),
|
|
102
|
+
"return": verb(2)
|
|
103
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
104
|
+
return this;
|
|
105
|
+
}), g;
|
|
106
|
+
function verb(n) {
|
|
107
|
+
return function(v) {
|
|
108
|
+
return step([
|
|
109
|
+
n,
|
|
110
|
+
v
|
|
111
|
+
]);
|
|
85
112
|
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
break;
|
|
114
|
-
case 4:
|
|
115
|
-
_.label++;
|
|
116
|
-
return {
|
|
117
|
-
value: op[1],
|
|
118
|
-
done: false
|
|
119
|
-
};
|
|
120
|
-
case 5:
|
|
121
|
-
_.label++;
|
|
122
|
-
y = op[1];
|
|
123
|
-
op = [
|
|
124
|
-
0
|
|
125
|
-
];
|
|
126
|
-
continue;
|
|
127
|
-
case 7:
|
|
128
|
-
op = _.ops.pop();
|
|
129
|
-
_.trys.pop();
|
|
130
|
-
continue;
|
|
131
|
-
default:
|
|
132
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
133
|
-
_ = 0;
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
137
|
-
_.label = op[1];
|
|
138
|
-
break;
|
|
139
|
-
}
|
|
140
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
141
|
-
_.label = t[1];
|
|
142
|
-
t = op;
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
if (t && _.label < t[2]) {
|
|
146
|
-
_.label = t[2];
|
|
147
|
-
_.ops.push(op);
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
150
|
-
if (t[2]) _.ops.pop();
|
|
151
|
-
_.trys.pop();
|
|
152
|
-
continue;
|
|
153
|
-
}
|
|
154
|
-
op = body.call(thisArg, _);
|
|
155
|
-
} catch (e) {
|
|
113
|
+
}
|
|
114
|
+
function step(op) {
|
|
115
|
+
if (f)
|
|
116
|
+
throw new TypeError("Generator is already executing.");
|
|
117
|
+
while (_)
|
|
118
|
+
try {
|
|
119
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
|
|
120
|
+
return t;
|
|
121
|
+
if (y = 0, t)
|
|
122
|
+
op = [
|
|
123
|
+
op[0] & 2,
|
|
124
|
+
t.value
|
|
125
|
+
];
|
|
126
|
+
switch (op[0]) {
|
|
127
|
+
case 0:
|
|
128
|
+
case 1:
|
|
129
|
+
t = op;
|
|
130
|
+
break;
|
|
131
|
+
case 4:
|
|
132
|
+
_.label++;
|
|
133
|
+
return {
|
|
134
|
+
value: op[1],
|
|
135
|
+
done: false
|
|
136
|
+
};
|
|
137
|
+
case 5:
|
|
138
|
+
_.label++;
|
|
139
|
+
y = op[1];
|
|
156
140
|
op = [
|
|
157
|
-
|
|
158
|
-
e
|
|
141
|
+
0
|
|
159
142
|
];
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
143
|
+
continue;
|
|
144
|
+
case 7:
|
|
145
|
+
op = _.ops.pop();
|
|
146
|
+
_.trys.pop();
|
|
147
|
+
continue;
|
|
148
|
+
default:
|
|
149
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
150
|
+
_ = 0;
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
154
|
+
_.label = op[1];
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
158
|
+
_.label = t[1];
|
|
159
|
+
t = op;
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
if (t && _.label < t[2]) {
|
|
163
|
+
_.label = t[2];
|
|
164
|
+
_.ops.push(op);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
if (t[2])
|
|
168
|
+
_.ops.pop();
|
|
169
|
+
_.trys.pop();
|
|
170
|
+
continue;
|
|
163
171
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
172
|
+
op = body.call(thisArg, _);
|
|
173
|
+
} catch (e) {
|
|
174
|
+
op = [
|
|
175
|
+
6,
|
|
176
|
+
e
|
|
177
|
+
];
|
|
178
|
+
y = 0;
|
|
179
|
+
} finally {
|
|
180
|
+
f = t = 0;
|
|
181
|
+
}
|
|
182
|
+
if (op[0] & 5)
|
|
183
|
+
throw op[1];
|
|
184
|
+
return {
|
|
185
|
+
value: op[0] ? op[1] : void 0,
|
|
186
|
+
done: true
|
|
187
|
+
};
|
|
188
|
+
}
|
|
170
189
|
};
|
|
171
190
|
import { generateClient } from "./generateClient";
|
|
172
|
-
function loader(source) {
|
|
173
|
-
|
|
191
|
+
export default function loader(source) {
|
|
192
|
+
return _loader.apply(this, arguments);
|
|
174
193
|
}
|
|
175
194
|
function _loader() {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
});
|
|
195
|
+
_loader = _async_to_generator(function(source) {
|
|
196
|
+
var _this__compiler, target, resourceQuery, options, code;
|
|
197
|
+
return __generator(this, function(_state) {
|
|
198
|
+
this.cacheable();
|
|
199
|
+
target = (_this__compiler = this._compiler) === null || _this__compiler === void 0 ? void 0 : _this__compiler.options.target;
|
|
200
|
+
if (target === "node") {
|
|
201
|
+
return [
|
|
202
|
+
2,
|
|
203
|
+
source
|
|
204
|
+
];
|
|
205
|
+
}
|
|
206
|
+
if (target === "webworker") {
|
|
207
|
+
return [
|
|
208
|
+
2,
|
|
209
|
+
source
|
|
210
|
+
];
|
|
211
|
+
}
|
|
212
|
+
resourceQuery = this.resourceQuery;
|
|
213
|
+
options = resourceQuery.slice(1).split("&").map(function(item) {
|
|
214
|
+
return item.split("=");
|
|
215
|
+
}).reduce(function(pre, cur) {
|
|
216
|
+
var _cur = _sliced_to_array(cur, 2), key = _cur[0], value = _cur[1];
|
|
217
|
+
if (!key || !value) {
|
|
218
|
+
return pre;
|
|
219
|
+
}
|
|
220
|
+
pre[key] = value;
|
|
221
|
+
return pre;
|
|
222
|
+
}, {});
|
|
223
|
+
if (!options.mapFile) {
|
|
224
|
+
return [
|
|
225
|
+
2,
|
|
226
|
+
source
|
|
227
|
+
];
|
|
228
|
+
}
|
|
229
|
+
code = generateClient({
|
|
230
|
+
mapFile: options.mapFile,
|
|
231
|
+
loaderId: options.loaderId
|
|
232
|
+
});
|
|
233
|
+
return [
|
|
234
|
+
2,
|
|
235
|
+
code
|
|
236
|
+
];
|
|
219
237
|
});
|
|
220
|
-
|
|
238
|
+
});
|
|
239
|
+
return _loader.apply(this, arguments);
|
|
221
240
|
}
|
|
222
|
-
export { loader as default };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
var LOADER_ID_PARAM = "__loader";
|
|
2
|
-
var DIRECT_PARAM = "__ssrDirect";
|
|
3
|
-
var CONTENT_TYPE_DEFERRED = "text/modernjs-deferred";
|
|
4
|
-
export { CONTENT_TYPE_DEFERRED, DIRECT_PARAM, LOADER_ID_PARAM };
|
|
1
|
+
export var LOADER_ID_PARAM = "__loader";
|
|
2
|
+
export var DIRECT_PARAM = "__ssrDirect";
|
|
3
|
+
export var CONTENT_TYPE_DEFERRED = "text/modernjs-deferred";
|
package/dist/esm/common/utils.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
function sortByUrlPath(entries) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
entries.sort(function(a, b) {
|
|
3
|
+
var length1 = a.urlPath.length;
|
|
4
|
+
var length2 = b.urlPath.length;
|
|
5
|
+
if (length1 < length2) {
|
|
6
|
+
return 1;
|
|
7
|
+
}
|
|
8
|
+
if (length1 > length2) {
|
|
9
|
+
return -1;
|
|
10
|
+
}
|
|
11
|
+
return 0;
|
|
12
|
+
});
|
|
13
|
+
return entries;
|
|
14
14
|
}
|
|
15
|
-
var matchEntry = function(pathname, entries) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
export var matchEntry = function(pathname, entries) {
|
|
16
|
+
sortByUrlPath(entries);
|
|
17
|
+
return entries.find(function(entry) {
|
|
18
|
+
return pathname.startsWith(entry.urlPath);
|
|
19
|
+
});
|
|
20
20
|
};
|
|
21
|
-
export { matchEntry };
|