@advidi-network/zod-to-reactive-form
Version:
Zod to Reactive Form conversion library
8 lines (7 loc) • 680 B
TypeScript
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>;