UNPKG

1 kBJavaScriptView Raw
1function 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
29export default prefetchRoute;