dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
13 lines (12 loc) • 1.06 kB
TypeScript
import type { ZodDiscriminatedUnion, ZodDiscriminatedUnionOption } from 'zod';
import type { AnyOfSchema, AnyOfSchema_ } from '../../../index.js';
import type { SchemaProps } from '../../../schema/types/schemaProps.js';
import type { Overwrite } from '../../../types/overwrite.js';
import type { FromZodSchemaRec } from './fromZodSchema.js';
export type ZodDiscriminatedUnionAny = ZodDiscriminatedUnion<string, ZodDiscriminatedUnionOption<string>[]>;
export type FromZodDiscriminatedUnion<ZOD_SCHEMA extends ZodDiscriminatedUnionAny, ROOT extends boolean = true, PROPS extends SchemaProps = {}> = ZOD_SCHEMA extends ZodDiscriminatedUnion<infer DISCRIMINATOR, infer ELEMENT_ZOD_SCHEMAS> ? ROOT extends true ? AnyOfSchema_<FromZodSchemaRec<ELEMENT_ZOD_SCHEMAS, false>, Overwrite<PROPS, {
discriminator: DISCRIMINATOR;
}>> : AnyOfSchema<FromZodSchemaRec<ELEMENT_ZOD_SCHEMAS, false>, Overwrite<PROPS, {
discriminator: DISCRIMINATOR;
}>> : never;
export declare const fromZodDiscriminatedUnion: (zodDiscriminatedUnion: ZodDiscriminatedUnionAny) => AnyOfSchema;