RouteLocationOptions,
RouteRecordRaw,
NavigationGuard,
- NavigationGuardCallback,
+ NavigationGuardNext,
PostNavigationGuard,
} from './types'
export {
import {
NavigationGuard,
RouteLocationNormalized,
- NavigationGuardCallback,
+ NavigationGuardNext,
RouteLocationRaw,
RouteLocationNormalizedLoaded,
NavigationGuardNextCallback,
): () => Promise<void> {
return () =>
new Promise((resolve, reject) => {
- const next: NavigationGuardCallback = (
+ const next: NavigationGuardNext = (
valid?: boolean | RouteLocationRaw | NavigationGuardNextCallback | Error
) => {
if (valid === false)
}
function canOnlyBeCalledOnce(
- next: NavigationGuardCallback,
+ next: NavigationGuardNext,
to: RouteLocationNormalized,
from: RouteLocationNormalized
-): NavigationGuardCallback {
+): NavigationGuardNext {
let called = 0
return function () {
if (called++ === 1)
'name' | 'path' | 'params' | 'matched' | 'meta'
> {}
-export interface NavigationGuardCallback {
+export interface NavigationGuardNext {
(): void
(error: Error): void
(location: RouteLocationRaw): void
// TODO: we could maybe add extra information like replace: true/false
to: RouteLocationNormalized,
from: RouteLocationNormalized,
- next: NavigationGuardCallback
+ next: NavigationGuardNext
): any
}
this: T,
to: RouteLocationNormalized,
from: RouteLocationNormalized,
- next: NavigationGuardCallback
+ next: NavigationGuardNext
): any
}
createRouter,
createWebHistory,
NavigationGuard,
- NavigationGuardCallback,
+ NavigationGuardNext,
RouteLocationNormalized,
} from './index'
import { createApp, defineComponent } from 'vue'
function beforeGuardFn(
to: RouteLocationNormalized,
from: RouteLocationNormalized,
- next: NavigationGuardCallback
+ next: NavigationGuardNext
) {}
router.beforeEach(loggedInGuard)