From: Eduardo San Martin Morote Date: Sat, 16 Aug 2025 15:49:10 +0000 (+0200) Subject: chore: spacing X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c493f1f80f9b3bc6fc68666a0cf39eca2a85b28;p=thirdparty%2Fvuejs%2Frouter.git chore: spacing --- diff --git a/packages/router/src/experimental/route-resolver/matchers/param-parsers/index.ts b/packages/router/src/experimental/route-resolver/matchers/param-parsers/index.ts index 166a87c3..aba6bf5f 100644 --- a/packages/router/src/experimental/route-resolver/matchers/param-parsers/index.ts +++ b/packages/router/src/experimental/route-resolver/matchers/param-parsers/index.ts @@ -1,33 +1,31 @@ import type { ParamParser } from './types' -// TODO: these are possible values for optional params -// | null | undefined /** * Type safe helper to define a param parser. * * @param parser - the parser to define. Will be returned as is. */ /*! #__NO_SIDE_EFFECTS__ */ - export function defineParamParser(parser: { get?: (value: TIn) => TOut set?: (value: TOut) => TIn }): ParamParser { return parser } + export const PATH_PARAM_DEFAULT_GET = ( value: string | string[] | null | undefined ) => value ?? null -export const PATH_PARAM_SINGLE_DEFAULT: ParamParser = {} export const PATH_PARAM_DEFAULT_SET = ( value: string | string[] | null | undefined ) => (value && Array.isArray(value) ? value.map(String) : String(value)) // TODO: `(value an null | undefined)` for types +export const PATH_PARAM_SINGLE_DEFAULT: ParamParser = {} export const PATH_PARAM_DEFAULT_PARSER: ParamParser = { get: PATH_PARAM_DEFAULT_GET, set: PATH_PARAM_DEFAULT_SET, } -export { ParamParser } +export type { ParamParser } export { PARAM_PARSER_INT } from './numbers' diff --git a/packages/router/src/experimental/route-resolver/matchers/param-parsers/numbers.ts b/packages/router/src/experimental/route-resolver/matchers/param-parsers/numbers.ts index dabd9526..56896200 100644 --- a/packages/router/src/experimental/route-resolver/matchers/param-parsers/numbers.ts +++ b/packages/router/src/experimental/route-resolver/matchers/param-parsers/numbers.ts @@ -1,6 +1,11 @@ import { miss } from '../errors' import { ParamParser } from './types' +/** + * @internal + */ +const IS_INTEGER_RE = /^-?\d+$/ + export const PARAM_INTEGER_SINGLE = { get: (value: string) => { if (IS_INTEGER_RE.test(value)) { @@ -13,28 +18,31 @@ export const PARAM_INTEGER_SINGLE = { }, set: (value: number) => String(value), } satisfies ParamParser -export const IS_INTEGER_RE = /^-?\d+$/ + export const PARAM_NUMBER_OPTIONAL = { get: (value: string | null) => value == null ? null : PARAM_INTEGER_SINGLE.get(value), set: (value: number | null) => value != null ? PARAM_INTEGER_SINGLE.set(value) : null, } satisfies ParamParser + export const PARAM_NUMBER_REPEATABLE = { get: (value: string[]) => value.map(PARAM_INTEGER_SINGLE.get), set: (value: number[]) => value.map(PARAM_INTEGER_SINGLE.set), } satisfies ParamParser + export const PARAM_NUMBER_REPEATABLE_OPTIONAL = { get: (value: string[] | null) => value == null ? null : PARAM_NUMBER_REPEATABLE.get(value), set: (value: number[] | null) => value != null ? PARAM_NUMBER_REPEATABLE.set(value) : null, -} satisfies ParamParser /** +} satisfies ParamParser + +/** * Native Param parser for integers. * * @internal */ - export const PARAM_PARSER_INT: ParamParser = { get: value => Array.isArray(value)