manifold/web/pages/api/v0/_validate.ts
James Grugett f500064e4e Revert "Delete api"
This reverts commit f32d207178.
2022-08-12 14:51:46 -05:00

18 lines
452 B
TypeScript

import { z } from 'zod'
import { ValidationError } from './_types'
export const validate = <T extends z.ZodTypeAny>(schema: T, val: unknown) => {
const result = schema.safeParse(val)
if (!result.success) {
const issues = result.error.issues.map((i) => {
return {
field: i.path.join('.') || null,
error: i.message,
}
})
throw new ValidationError(issues)
} else {
return result.data as z.infer<T>
}
}