UNPKG

dynamodb-toolbox

Version:

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

12 lines (11 loc) 857 B
import { z } from 'zod'; import type { ResolvedStringSchema, StringSchema } from '../../../../schema/index.js'; import type { WithValidate } from '../utils.js'; import type { ZodParserOptions } from './types.js'; import type { WithDefault, WithEncoding, WithOptional } from './utils.js'; export type StringZodParser<SCHEMA extends StringSchema, OPTIONS extends ZodParserOptions = {}> = WithEncoding<SCHEMA, OPTIONS, WithDefault<SCHEMA, OPTIONS, WithOptional<SCHEMA, OPTIONS, WithValidate<SCHEMA, SCHEMA['props'] extends { enum: [ResolvedStringSchema]; } ? z.ZodLiteral<SCHEMA['props']['enum'][0]> : SCHEMA['props'] extends { enum: [ResolvedStringSchema, ...ResolvedStringSchema[]]; } ? z.ZodEnum<SCHEMA['props']['enum']> : z.ZodString>>>>; export declare const getStringZodParser: (schema: StringSchema, options?: ZodParserOptions) => z.ZodTypeAny;