UNPKG

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