},
setup(props) {
- const useLink
- const isExternalLink = computed(() => typeof props.to === 'string' && props.to.startsWith('http'))
+ const { navigate, href route, isActive, isExactActive } = useLink(toRef(props, 'to'))
+
+
+ // profit!
return { isExternalLink }
}
-import { createRouter, createWebHistory, expectType } from './index'
-import { NavigationFailure } from 'dist/vue-router'
+import {
+ createRouter,
+ createWebHistory,
+ expectType,
+ isNavigationFailure,
+ NavigationFailure,
+ NavigationFailureType,
+ RouteLocationNormalized,
+ RouteLocationRaw,
+} from './index'
const router = createRouter({
history: createWebHistory(),
router.afterEach((to, from, failure) => {
expectType<NavigationFailure | undefined | void>(failure)
+ if (isNavigationFailure(failure)) {
+ expectType<RouteLocationNormalized>(failure.from)
+ expectType<RouteLocationRaw>(failure.to)
+ }
+ if (isNavigationFailure(failure, NavigationFailureType.cancelled)) {
+ expectType<RouteLocationNormalized>(failure.from)
+ expectType<RouteLocationRaw>(failure.to)
+ }
})