blob: 62cfab583e5abbb12f0dda8cb5064c6e0405a134 (
plain) (
blame)
1
2
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
31
32
33
34
35
36
|
import NextPageLoader from "next/dist/client/page-loader";
export default class PageLoader extends NextPageLoader {
public routeLoader: RouteLoader;
constructor(_, __, pages) {
super(_, __);
this.pages = pages;
}
getPageList() {
return Object.keys(this.pages);
}
loadPage(route: string): Promise<GoodPageCache> {
return this.routeLoader.loadRoute(route).then((res) => {
if ("component" in res) {
return {
page: res.component,
mod: res.exports,
styleSheets: res.styles.map((o) => ({
href: o.href,
text: o.content,
})),
};
}
throw res.error;
});
}
// not used in development!
prefetch(route: string): Promise<void> {
return this.routeLoader.prefetch(route);
}
}
|