UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

75 lines (74 loc) 2.7 kB
import { ZodArray, ZodBigInt, ZodBoolean, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodLiteral, ZodNull, ZodNumber, ZodObject, ZodOptional, ZodRecord, ZodSet, ZodString, ZodTuple, ZodUnion } from 'zod'; import { fromZodArray } from './zodArray.js'; import { fromZodBigInt } from './zodBigInt.js'; import { fromZodBoolean } from './zodBoolean.js'; import { fromZodCustom } from './zodCustom.js'; import { fromZodDefault } from './zodDefault.js'; import { fromZodDiscriminatedUnion } from './zodDiscriminatedUnion.js'; import { fromZodEffects } from './zodEffects.js'; import { fromZodEnum } from './zodEnum.js'; import { fromZodLiteral } from './zodLiteral.js'; import { fromZodNull } from './zodNull.js'; import { fromZodNumber } from './zodNumber.js'; import { fromZodObject } from './zodObject.js'; import { fromZodOptional } from './zodOptional.js'; import { fromZodRecord } from './zodRecord.js'; import { fromZodSet } from './zodSet.js'; import { fromZodString } from './zodString.js'; import { fromZodTuple } from './zodTuple.js'; import { fromZodUnion } from './zodUnion.js'; export const fromZodSchema = (zodSchema) => { if (zodSchema instanceof ZodNull) { return fromZodNull(); } if (zodSchema instanceof ZodBoolean) { return fromZodBoolean(); } if (zodSchema instanceof ZodNumber) { return fromZodNumber(); } if (zodSchema instanceof ZodBigInt) { return fromZodBigInt(); } if (zodSchema instanceof ZodString) { return fromZodString(); } if (zodSchema instanceof ZodLiteral) { return fromZodLiteral(zodSchema); } if (zodSchema instanceof ZodEnum) { return fromZodEnum(zodSchema); } if (zodSchema instanceof ZodSet) { return fromZodSet(zodSchema); } if (zodSchema instanceof ZodArray) { return fromZodArray(zodSchema); } if (zodSchema instanceof ZodTuple) { return fromZodTuple(zodSchema); } if (zodSchema instanceof ZodObject) { return fromZodObject(zodSchema); } if (zodSchema instanceof ZodRecord) { return fromZodRecord(zodSchema); } if (zodSchema instanceof ZodUnion) { return fromZodUnion(zodSchema); } if (zodSchema instanceof ZodDiscriminatedUnion) { return fromZodDiscriminatedUnion(zodSchema); } if (zodSchema instanceof ZodOptional) { return fromZodOptional(zodSchema); } if (zodSchema instanceof ZodDefault) { return fromZodDefault(zodSchema); } // TODO: Codecs<>transforms in zod v4 if (zodSchema instanceof ZodEffects) { return fromZodEffects(zodSchema); } return fromZodCustom(); };