]> git.ipfire.org Git - thirdparty/vuejs/router.git/commitdiff
refactor: avoid double decoding
authorEduardo San Martin Morote <posva13@gmail.com>
Wed, 26 Jun 2024 09:13:06 +0000 (11:13 +0200)
committerEduardo San Martin Morote <posva13@gmail.com>
Wed, 4 Dec 2024 15:10:34 +0000 (16:10 +0100)
packages/router/src/new-matcher/matcher-pattern.ts
packages/router/src/new-matcher/matcher.ts

index bb993658c390978e9a29b8fb4eb7be3c785ceb92..f368a04f83121c589da2f3523fb5dbbcd4d67537 100644 (file)
@@ -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`,
index 5d204f7bcec78f79f847bf651a3597a492d6ed47..ec3b8d6cf39aa2612dac99d784c511c5eb9d7b76 100644 (file)
@@ -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 {