UNPKG

@battle-racing/br-common-lib

Version:

Common library for all Battle Racing Repositorios

19 lines (15 loc) 510 B
import { z } from 'zod'; export const errorResponseSchema = z.object({ status: z.literal('error'), code: z.number(), errorType: z.string(), message: z.string(), }); export const successResponseSchema = <T extends z.ZodTypeAny>(itemSchema: T) => z.object({ status: z.literal('success'), code: z.literal(200), data: itemSchema.optional(), }); export const responseSchema = <T extends z.ZodTypeAny>(itemSchema: T) => z.union([successResponseSchema(itemSchema), errorResponseSchema]);