From 1def9ae1f46d97cd03349dbea3e4f584f62e3ca9 Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Sat, 16 Aug 2025 17:00:15 +0200 Subject: [PATCH] fix: keep path case --- .../route-resolver/matchers/matcher-pattern.spec.ts | 5 +++++ .../route-resolver/matchers/matcher-pattern.ts | 13 +++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.spec.ts b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.spec.ts index 6381c13c..74a8c3f6 100644 --- a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.spec.ts +++ b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.spec.ts @@ -41,6 +41,11 @@ describe('MatcherPatternPathStatic', () => { const pattern = new MatcherPatternPathStatic('/') expect(pattern.build()).toBe('/') }) + + it('preserves case', () => { + const pattern = new MatcherPatternPathStatic('/Team') + expect(pattern.build()).toBe('/Team') + }) }) }) diff --git a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts index d16a51ae..901d7509 100644 --- a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts +++ b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts @@ -63,13 +63,18 @@ export interface MatcherPatternPath< export class MatcherPatternPathStatic implements MatcherPatternPath { - private path: string - constructor(path: string) { - this.path = path.toLowerCase() + /** + * lowercase version of the path to match against. + * This is used to make the matching case insensitive. + */ + private pathi: string + + constructor(private path: string) { + this.pathi = path.toLowerCase() } match(path: string): EmptyParams { - if (path.toLowerCase() !== this.path) { + if (path.toLowerCase() !== this.pathi) { throw miss() } return {} -- 2.47.3