import { describe, expectTypeOf, it } from 'vitest'
import {
MatcherPatternPathCustomParams,
- PARAM_INTEGER,
+ PARAM_INTEGER_SINGLE,
PATH_PARAM_DEFAULT_PARSER,
PATH_PARAM_SINGLE_DEFAULT,
} from './matcher-pattern'
it('can be generic', () => {
const matcher = new MatcherPatternPathCustomParams(
/^\/users\/([^/]+)$/i,
- { userId: { parser: PATH_PARAM_DEFAULT_PARSER } },
+ { userId: { ...PATH_PARAM_DEFAULT_PARSER } },
['users', 0]
)
it('can be a simple param', () => {
const matcher = new MatcherPatternPathCustomParams(
/^\/users\/([^/]+)\/([^/]+)$/i,
- { userId: { parser: PATH_PARAM_SINGLE_DEFAULT, repeat: true } },
+ { userId: { ...PATH_PARAM_SINGLE_DEFAULT, repeat: true } },
['users', 0]
)
expectTypeOf(matcher.match('/users/123/456')).toEqualTypeOf<{
/^\/profiles\/([^/]+)$/i,
{
userId: {
- parser: PARAM_INTEGER,
+ ...PARAM_INTEGER_SINGLE,
// parser: PATH_PARAM_DEFAULT_PARSER,
},
},