vuejs/vue-router

The type definition of Route seems to be partially wrong

Open

#3,566 opened on Jun 9, 2021

View on GitHub
 (4 comments) (0 reactions) (0 assignees)JavaScript (5,092 forks)batch import
Typescriptcontribution welcomefixed on 4.xgood first issue

Repository metrics

Stars
 (19,015 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Version

3.5.1

Reproduction link

https://github.com/vuejs/vue-router/blob/dev/types/router.d.ts#L203

Steps to reproduce

None, just the source code seems to be wrong.

What is expected?

The type definition of Route#query should be

query: Dictionary<string | null | (string | null)[]>

The current implementation cannot express this type of query

/path?foo#bar

as it doesn't have any value and it is not converted to an array.

What is actually happening?

https://github.com/vuejs/vue-router/blob/dev/types/router.d.ts#L203

The type definition of Route#query is

query: Dictionary<string | (string | null)[]>

Contributor guide