quasar
23 строки · 817.0 Байт
1import { RouteLocationRaw, RouteLocationNormalizedLoaded } from "vue-router";
2import { HasSsrParam } from "./ssr";
3import { HasStoreParam } from "./store";
4
5interface PreFetchOptions<TState> extends HasSsrParam, HasStoreParam<TState> {
6currentRoute: RouteLocationNormalizedLoaded;
7previousRoute: RouteLocationNormalizedLoaded;
8redirect: (url: RouteLocationRaw, statusCode?: number) => void;
9urlPath: string;
10publicPath: string;
11}
12
13// https://github.com/quasarframework/quasar/issues/6576#issuecomment-603787603
14// Promise<{}> allow nearly any type of Promise to be used
15export type PrefetchCallback<TState = any> = (
16options: PreFetchOptions<TState>
17) => void | Promise<void> | Promise<{}>;
18
19declare module "@vue/runtime-core" {
20interface ComponentCustomOptions {
21preFetch?: PrefetchCallback;
22}
23}
24