From: Eduardo San Martin Morote Date: Sat, 23 Jan 2021 17:37:53 +0000 (+0100) Subject: feat(types): make meta type safe with unknown X-Git-Tag: v4.0.4~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eef0472e3589ed0a6df0528a7b96f1d7bf316843;p=thirdparty%2Fvuejs%2Frouter.git feat(types): make meta type safe with unknown --- diff --git a/src/types/index.ts b/src/types/index.ts index 561d449f..5a05acdf 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -249,8 +249,18 @@ export interface _RouteRecordBase extends PathParserOptions { /** * Interface to type `meta` fields in route records. + * + * @example + * + * ```ts + * declare module 'vue-router' { + * interface RouteMeta { + * requiresAuth?: boolean + * } + * } + * ``` */ -export interface RouteMeta extends Record {} +export interface RouteMeta extends Record {} /** * @internal diff --git a/test-dts/meta.test-d.ts b/test-dts/meta.test-d.ts index ac94718b..29566a27 100644 --- a/test-dts/meta.test-d.ts +++ b/test-dts/meta.test-d.ts @@ -36,6 +36,7 @@ const router = createRouter({ router.beforeEach(to => { expectType<{ requiresAuth?: Boolean; nested: { foo: string } }>(to.meta) + expectType(to.meta.lol) if (to.meta.nested.foo == 'foo' || to.meta.lol) return false })