Skip to content

Commit e0e3843

Browse files
authored
fix: make parseAsBoolean case insensitive (#1204)
1 parent 866bce4 commit e0e3843

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

packages/nuqs/src/parsers.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,12 @@ describe('parsers', () => {
8686
})
8787
it('parseAsBoolean', () => {
8888
expect(parseAsBoolean.parse('')).toBe(false)
89-
// In only triggers on 'true', everything else is false
89+
// It only triggers on 'true' (case insensitive), everything else is false
9090
expect(parseAsBoolean.parse('true')).toBe(true)
91+
expect(parseAsBoolean.parse('TRUE')).toBe(true)
92+
expect(parseAsBoolean.parse('True')).toBe(true)
9193
expect(parseAsBoolean.parse('false')).toBe(false)
94+
expect(parseAsBoolean.parse('FALSE')).toBe(false)
9295
expect(parseAsBoolean.parse('0')).toBe(false)
9396
expect(parseAsBoolean.parse('1')).toBe(false)
9497
expect(parseAsBoolean.parse('yes')).toBe(false)

packages/nuqs/src/parsers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ export const parseAsFloat: SingleParserBuilder<number> = createParser({
268268
})
269269

270270
export const parseAsBoolean: SingleParserBuilder<boolean> = createParser({
271-
parse: v => v === 'true',
271+
parse: v => v.toLowerCase() === 'true',
272272
serialize: String
273273
})
274274

0 commit comments

Comments
 (0)