1 | function prefetchRoute() {
|
2 | var loaders = {};
|
3 | return {
|
4 | name: "prefetch",
|
5 | register: function (route) {
|
6 | if (route.resolve === undefined) {
|
7 | return;
|
8 | }
|
9 | var _a = route, name = _a.name, resolve = _a.resolve;
|
10 | if (resolve) {
|
11 | loaders[name] = resolve;
|
12 | }
|
13 | },
|
14 | get: function (name, props, external) {
|
15 | if (loaders[name] == null) {
|
16 | return Promise.resolve({
|
17 | error: "Could not prefetch data for " + name + " because it is not registered.",
|
18 | resolved: null
|
19 | });
|
20 | }
|
21 | return loaders[name](props, external).then(function (resolved) { return ({ resolved: resolved, error: null }); }, function (error) { return ({ error: error, resolved: null }); });
|
22 | },
|
23 | reset: function () {
|
24 | loaders = {};
|
25 | }
|
26 | };
|
27 | }
|
28 |
|
29 | export default prefetchRoute;
|