]> git.ipfire.org Git - thirdparty/vuejs/router.git/commitdiff
fix: star pattern must start
authorEduardo San Martin Morote <posva13@gmail.com>
Thu, 14 Aug 2025 13:53:09 +0000 (15:53 +0200)
committerEduardo San Martin Morote <posva13@gmail.com>
Thu, 14 Aug 2025 13:53:09 +0000 (15:53 +0200)
packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts

index f7321d3ecec4f4cac18eb801d3a2e5dd046a5620..6818991581d5647965cd0ad15136d197c992577e 100644 (file)
@@ -88,6 +88,7 @@ export class MatcherPatternPathStatic
  * ```ts
  * const matcher = new MatcherPatternPathStar('/team')
  * matcher.match('/team/123') // { pathMatch: '/123' }
+ * matcher.match('/team/123/more') // { pathMatch: '/123/more' }
  * matcher.match('/team-123') // { pathMatch: '-123' }
  * matcher.match('/team') // { pathMatch: '' }
  * matcher.build({ pathMatch: '/123' }) // '/team/123'
@@ -102,12 +103,11 @@ export class MatcherPatternPathStar
   }
 
   match(path: string): { pathMatch: string } {
-    const pathMatchIndex = path.toLowerCase().indexOf(this.path)
-    if (pathMatchIndex < 0) {
+    if (!path.toLowerCase().startsWith(this.path)) {
       throw miss()
     }
     return {
-      pathMatch: path.slice(pathMatchIndex + this.path.length),
+      pathMatch: path.slice(this.path.length),
     }
   }