From 3c06a1638e716fc970a05b30c8f18787fed0dc1a Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Wed, 20 Aug 2025 13:38:56 +0200 Subject: [PATCH] refactor: allow no parser --- .../matchers/matcher-pattern-query.spec.ts | 13 ++++++++++++- .../matchers/matcher-pattern-query.ts | 5 +---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern-query.spec.ts b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern-query.spec.ts index 9c8b63e7..62938385 100644 --- a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern-query.spec.ts +++ b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern-query.spec.ts @@ -401,7 +401,18 @@ describe('MatcherPatternQueryParam', () => { }) }) - describe('defaultValue', () => { + it('should work without parser parameter', () => { + const matcher = new MatcherPatternQueryParam('test', 'test_param', 'value') + // Should use PARAM_PARSER_DEFAULTS.get which returns value ?? null + expect(matcher.match({ test_param: 'value' })).toEqual({ + test: 'value', + }) + expect(matcher.build({ test: 'value' })).toEqual({ + test_param: 'value', + }) + }) + + describe('parser fallback', () => { describe('match', () => { it('should fallback to PARAM_PARSER_DEFAULTS.get when parser.get is undefined', () => { const matcher = new MatcherPatternQueryParam( diff --git a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern-query.ts b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern-query.ts index 530a1c58..18306517 100644 --- a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern-query.ts +++ b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern-query.ts @@ -23,10 +23,7 @@ export class MatcherPatternQueryParam private paramName: ParamName, private queryKey: string, private format: 'value' | 'array' | 'both', - private parser: ParamParser, - // TODO: optional values - // private format: 'value' | 'array' | 'both' = 'both', - // private parser: ParamParser = PATH_PARAM_DEFAULT_PARSER, + private parser: ParamParser = {}, private defaultValue?: (() => T) | T ) {} -- 2.47.3