11 lines · 321 B · TypeScript
RawDownload
import { z } from "zod" export function fn<T extends z.ZodType, Result>(schema: T, cb: (input: z.infer<T>) => Result) {  const result = (input: z.infer<T>) => {    const parsed = schema.parse(input)    return cb(parsed)  }  result.force = (input: z.infer<T>) => cb(input)  result.schema = schema  return result}