diff --git a/packages/nuqs/src/serializer.test.ts b/packages/nuqs/src/serializer.test.ts index d854f82a..1115fd15 100644 --- a/packages/nuqs/src/serializer.test.ts +++ b/packages/nuqs/src/serializer.test.ts @@ -1,10 +1,10 @@ import { describe, expect, test } from 'vitest' import { + parseAsArrayOf, parseAsBoolean, parseAsInteger, - parseAsString, parseAsJson, - parseAsArrayOf + parseAsString } from './parsers' import { createSerializer } from './serializer' diff --git a/packages/nuqs/src/serializer.ts b/packages/nuqs/src/serializer.ts index ceac696d..8da2e65c 100644 --- a/packages/nuqs/src/serializer.ts +++ b/packages/nuqs/src/serializer.ts @@ -10,9 +10,10 @@ type Base = string | URLSearchParams | URL type Values>> = Partial<{ [K in keyof Parsers]?: ExtractParserType }> +type ParserWithOptionalDefault = ParserBuilder & { defaultValue?: T } export function createSerializer< - Parsers extends Record> + Parsers extends Record> >(parsers: Parsers) { /** * Generate a query string for the given values. @@ -42,9 +43,7 @@ export function createSerializer< continue } const isMatchingDefault = - // @ts-expect-error parser.defaultValue !== undefined && - // @ts-expect-error (parser.eq ?? ((a, b) => a === b))(value, parser.defaultValue) if (value === null || (parser.clearOnDefault && isMatchingDefault)) {