From: Eduardo San Martin Morote Date: Wed, 26 Jun 2024 09:13:06 +0000 (+0200) Subject: refactor: avoid double decoding X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a195cc8d7cdbb12c8bfbdb1938432a692a3c1757;p=thirdparty%2Fvuejs%2Frouter.git refactor: avoid double decoding --- diff --git a/packages/router/src/new-matcher/matcher-pattern.ts b/packages/router/src/new-matcher/matcher-pattern.ts index bb993658..f368a04f 100644 --- a/packages/router/src/new-matcher/matcher-pattern.ts +++ b/packages/router/src/new-matcher/matcher-pattern.ts @@ -44,7 +44,7 @@ export interface MatcherPattern { path: string query: MatcherQueryParams hash: string - }): [path: MatcherPathParams, query: MatcherQueryParams, hash: string] + }): [path: MatcherPathParams, query: MatcherQueryParams, hash: string] | null /** * Takes encoded params object to form the `path`, diff --git a/packages/router/src/new-matcher/matcher.ts b/packages/router/src/new-matcher/matcher.ts index 5d204f7b..ec3b8d6c 100644 --- a/packages/router/src/new-matcher/matcher.ts +++ b/packages/router/src/new-matcher/matcher.ts @@ -220,8 +220,9 @@ export function createCompiledMatcher(): NEW_Matcher_Resolve { if (params) { parsedParams = matcher.formatParams( transformObject(String, decode, params[0]), - transformObject(decode, decode, params[1]), - decode(params[2]) + // already decoded + params[1], + params[2] ) if (parsedParams) break } @@ -232,8 +233,9 @@ export function createCompiledMatcher(): NEW_Matcher_Resolve { return { ...url, ...NO_MATCH_LOCATION, - query: transformObject(decode, decode, url.query), - hash: decode(url.hash), + // already decoded + query: url.query, + hash: url.hash, } } @@ -242,8 +244,9 @@ export function createCompiledMatcher(): NEW_Matcher_Resolve { ...url, name: matcher.name, params: parsedParams, - query: transformObject(decode, decode, url.query), - hash: decode(url.hash), + // already decoded + query: url.query, + hash: url.hash, matched: [], } } else {