API Reference
requestModeSchema
Creates a type-safe Zod literal schema for a specific Request mode value.
Signature
function requestModeSchema<T extends RequestMode>(mode: T): z.ZodLiteral<T>;Parameters
mode(required): A valid Request mode ("same-origin","no-cors","cors", or"navigate")
Returns
A z.ZodLiteral schema that validates to the exact Request mode value provided.
Example
import { requestModeSchema, requestSchema } from "@nicnocquee/zod-request";
const schema = requestSchema({
mode: requestModeSchema("cors"),
});
export async function GET(request: Request) {
const validated = await schema.parseAsync(request);
// validated.mode is "cors"
}Type Safety
TypeScript will catch invalid Request mode values at compile time:
// ✅ Valid - TypeScript accepts this
requestModeSchema("cors");
requestModeSchema("same-origin");
// ❌ Invalid - TypeScript error at compile time
requestModeSchema("invalid"); // Error: Argument of type '"invalid"' is not assignableRuntime Validation
The function also validates at runtime and throws an error if an invalid mode is provided:
requestModeSchema("invalid"); // Throws: Invalid Request mode: "invalid". Must be one of: same-origin, no-cors, cors, navigaterequestModeEnumSchema
A Zod enum schema that validates against all valid Request mode values.
Signature
const requestModeEnumSchema: z.ZodEnum<
["same-origin", "no-cors", "cors", "navigate"]
>;Usage
Use this when you want to accept any valid Request mode:
import { requestModeEnumSchema, requestSchema } from "@nicnocquee/zod-request";
const schema = requestSchema({
mode: requestModeEnumSchema,
});
export async function GET(request: Request) {
const validated = await schema.parseAsync(request);
// validated.mode is "same-origin" | "no-cors" | "cors" | "navigate"
}When to Use
- Use
requestModeEnumSchemawhen you want to accept any valid Request mode - Use
requestModeSchemawhen you need to validate a specific Request mode value