File tree 2 files changed +4
-5
lines changed
2 files changed +4
-5
lines changed Original file line number Diff line number Diff line change 1
1
import { describe , expect , test } from 'vitest'
2
2
import {
3
+ parseAsArrayOf ,
3
4
parseAsBoolean ,
4
5
parseAsInteger ,
5
- parseAsString ,
6
6
parseAsJson ,
7
- parseAsArrayOf
7
+ parseAsString
8
8
} from './parsers'
9
9
import { createSerializer } from './serializer'
10
10
Original file line number Diff line number Diff line change @@ -10,9 +10,10 @@ type Base = string | URLSearchParams | URL
10
10
type Values < Parsers extends Record < string , ParserBuilder < any > > > = Partial < {
11
11
[ K in keyof Parsers ] ?: ExtractParserType < Parsers [ K ] >
12
12
} >
13
+ type ParserWithOptionalDefault < T > = ParserBuilder < T > & { defaultValue ?: T }
13
14
14
15
export function createSerializer <
15
- Parsers extends Record < string , ParserBuilder < any > >
16
+ Parsers extends Record < string , ParserWithOptionalDefault < any > >
16
17
> ( parsers : Parsers ) {
17
18
/**
18
19
* Generate a query string for the given values.
@@ -42,9 +43,7 @@ export function createSerializer<
42
43
continue
43
44
}
44
45
const isMatchingDefault =
45
- // @ts -expect-error
46
46
parser . defaultValue !== undefined &&
47
- // @ts -expect-error
48
47
( parser . eq ?? ( ( a , b ) => a === b ) ) ( value , parser . defaultValue )
49
48
50
49
if ( value === null || ( parser . clearOnDefault && isMatchingDefault ) ) {
You can’t perform that action at this time.
0 commit comments