UNPKG

@advidi-network/zod-to-reactive-form

Version:
8 lines (7 loc) 680 B
import { z } from 'zod'; import { AbstractControlOptions, FormControl } from '@angular/forms'; import { FieldOptions, GeneratorOptions, UnwrapLazyType, ZodControl, ZodFormGroup } from '../types'; export type FormGroupOverrides<TSchema> = TSchema extends z.ZodObject<infer TObjectType> ? { [K in keyof TObjectType]?: FieldOptions<z.infer<TObjectType[K]>> | ZodControl<UnwrapLazyType<TObjectType[K]>> | FormControl<z.infer<TObjectType[K]>>; } : never; export declare function createFormGroup<TSchema extends z.SomeZodObject>(schema: TSchema, overrides?: FormGroupOverrides<TSchema>, options?: AbstractControlOptions, generatorOptions?: GeneratorOptions): ZodFormGroup<TSchema>;