@liha-labs/query-guard-resolvers
v0.1.3
Published
Resolver utilities for `@liha-labs/query-guard`.
Readme
@liha-labs/query-guard-resolvers
Resolver utilities for @liha-labs/query-guard.
ESM-only
Exports import + types via exports. No CommonJS build.
zodResolver
Uses Zod to parse raw query values into typed objects.
Behavior
- Raw values (
string/string[]) are passed to Zod as-is. - Use
z.coercefor number/boolean conversions. object -> rawconversion stringifies non-primitive objects viaJSON.stringify.- If
JSON.stringifyreturnsundefined, the key is skipped.
Usage
import { z } from 'zod'
import { zodResolver } from '@liha-labs/query-guard-resolvers'
const resolver = zodResolver(
z.object({
page: z.coerce.number().int().min(1).default(1),
q: z.string().default(''),
tags: z.array(z.string()).default([]),
}),
{ defaultValue: { page: 1, q: '', tags: [] } }
)