UNPKG

@router-cli/react-router

Version:

File based routing cli for react-router-dom. Types and components. see @router-cli/react-router-dev for the cli and plugins.

21 lines (19 loc) 665 B
import { ParamSchema } from "../types"; import { createBadRequestResponse } from "./errors"; export const parseSchema = <TReturn>(input: Record<string, unknown>, schema: ParamSchema<TReturn>): TReturn => { try { if ("parse" in schema && schema.parse instanceof Function) { return schema.parse(input); } if (schema instanceof Function) { return schema(input); } } catch (error) { if (error instanceof Error) { throw createBadRequestResponse({ error }); } throw createBadRequestResponse(); } throw new Error("unknown schema type.") }