Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
parse
✓ import { parse } from 'zod-urlsearchparams'
✗ const parse = require('zod-urlsearchparams').parse
ESM-only; named export since v0.0.1
serialize
✓ import { serialize } from 'zod-urlsearchparams'
✗ import { serialise } from 'zod-urlsearchparams'
Note: British spelling 'serialise' is not correct; use 'serialize'
lenientParse
✓ import { lenientParse } from 'zod-urlsearchparams'
✗ import { lenientparse } from 'zod-urlsearchparams'
Case-sensitive: 'lenientParse' with capital P
ZodURLSearchParamSerializer
✓ import { ZodURLSearchParamSerializer } from 'zod-urlsearchparams'
✗ import { ZodURLSearchParamsSerializer } from 'zod-urlsearchparams'
Class name is singular 'ParamSerializer', not 'ParamsSerializer'
Demonstrates serialize, parse, and lenientParse with a Zod schema for URLSearchParams.
import { z } from 'zod';
import { parse, serialize, lenientParse } from 'zod-urlsearchparams';
const schema = z.object({
age: z.bigint(),
species: z.enum(['dog', 'cat']),
interests: z.array(z.string()),
location: z.object({ room: z.string() }),
});
// Serialize
const serialized = serialize({
schema,
data: { age: BigInt(5), species: 'dog', interests: ['sleeping'], location: { room: 'kitchen' } },
});
console.log(serialized.toString());
// age=5&species=dog&interests=sleeping&location=eyJyb29tIjoia2l0Y2hlbiJ9
// Strict parse
const parsed = parse({
schema,
input: new URLSearchParams('age=10&species=cat&location=eyJyb29tIjoiY2F0aW8ifQ'),
});
console.log(parsed);
// { age: 10n, species: 'cat', interests: [], location: { room: 'catio' } }
// Lenient parse with defaults
const lenient = lenientParse({
schema,
input: new URLSearchParams('age=10'),
defaultData: { age: BigInt(0), species: 'dog', interests: [], location: { room: 'default' } },
});
console.log(lenient);
// { age: 10n, species: 'dog', interests: [], location: { room: 'default' } }
Errors
Common errors & fixes
SyntaxError: Unexpected token 'export'
Using require() on an ESM-only package.
fixUse import syntax or switch to dynamic import().
TypeError: (0 , zod_urlsearchparams.parse) is not a function
Incorrect import: using default export instead of named import.
fixUse import { parse } from 'zod-urlsearchparams'. ZodError: Invalid input: expected bigint, received string
Parsing a string URL param into a bigint field without proper type coercion.
fixEnsure the URL param is a numeric string; zod-urlsearchparams handles conversion from string to bigint automatically.
Audit
Dependencies
zodrequiredpeer dependency: zod is required for schema definition and validation