{"version":3,"file":"advidi-network-zod-to-reactive-form.mjs","sources":["../../../../libs/zod-to-reactive-form/src/lib/functions/create-form-group.ts","../../../../libs/zod-to-reactive-form/src/lib/functions/create-form-control.ts","../../../../libs/zod-to-reactive-form/src/lib/functions/create-zod-control.ts","../../../../libs/zod-to-reactive-form/src/lib/functions/create-form-array.ts","../../../../libs/zod-to-reactive-form/src/index.ts","../../../../libs/zod-to-reactive-form/src/advidi-network-zod-to-reactive-form.ts"],"sourcesContent":["import {z} from 'zod';\nimport {AbstractControl, AbstractControlOptions, FormControl, FormGroup} from '@angular/forms';\nimport {FieldOptions, GeneratorOptions, UnwrapLazyType, ZodControl, ZodFormGroup} from '../types';\nimport {createZodControl} from \"./create-zod-control\";\n\nexport type FormGroupOverrides<TSchema> =\n  TSchema extends z.ZodObject<infer TObjectType>\n    ? { [K in keyof TObjectType]?: FieldOptions<z.infer<TObjectType[K]>> | ZodControl<UnwrapLazyType<TObjectType[K]>> | FormControl<z.infer<TObjectType[K]>> }\n    : never;\n\nexport function createFormGroup<TSchema extends z.SomeZodObject>(\n  schema: TSchema,\n  overrides?: FormGroupOverrides<TSchema>,\n  options?: AbstractControlOptions,\n  generatorOptions?: GeneratorOptions,\n): ZodFormGroup<TSchema> {\n  return new FormGroup(\n    Object.entries(schema.shape).reduce((acc, [key, shapeSchema]) => {\n      const overrideOrOption = overrides?.[key];\n\n      if (overrideOrOption instanceof AbstractControl) {\n        acc[key] = overrideOrOption;\n      } else {\n        acc[key] = createZodControl(shapeSchema, {...generatorOptions, ...overrideOrOption});\n      }\n\n      return acc;\n    }, {} as any),\n    options) as ZodFormGroup<TSchema>;\n}\n","import {FieldOptions} from '../types';\nimport {z} from 'zod';\nimport {FormControl, Validators} from '@angular/forms';\n\nexport function createFormControl<TSchema extends z.ZodType>(schema: TSchema, overrides?: FieldOptions<z.infer<TSchema>>): FormControl<z.infer<TSchema>> {\n  const { value = null, disabled = false } = overrides ?? {};\n  const isRequired = overrides?.isRequired ?? ((schema: z.ZodSchema) => !schema.isOptional());\n\n  return new FormControl(\n    {value, disabled},\n    {\n      nonNullable: !(schema instanceof z.ZodNullable),\n      ...overrides,\n      validators: (isRequired(schema) ? [Validators.required] : []).concat(overrides?.validators ?? []),\n    }\n  ) as FormControl<z.infer<TSchema>>;\n}\n","import {z} from \"zod\";\nimport {FormControl} from \"@angular/forms\";\nimport {\n  FieldOptions,\n  ZodControl,\n  ZodFormArray,\n  ZodFormGroup\n} from \"../types\";\nimport {createFormGroup} from \"./create-form-group\";\nimport {createFormArray} from \"./create-form-array\";\nimport {createFormControl} from \"./create-form-control\";\n\nexport function createZodControl<T extends z.SomeZodObject>(schema: T, options?: FieldOptions<z.infer<T>>): ZodFormGroup<T>;\nexport function createZodControl<T extends z.ZodArray<any>>(schema: T, options?: FieldOptions<z.infer<T>>): ZodFormArray<T>;\nexport function createZodControl<T extends z.ZodFirstPartySchemaTypes>(schema: T, options?: FieldOptions<z.infer<T>>): FormControl<z.infer<T>>;\nexport function createZodControl<T extends z.ZodFirstPartySchemaTypes>(schema: T, options?: FieldOptions<z.infer<T>>): ZodControl<T> {\n  if (schema instanceof z.ZodObject) {\n    return createFormGroup(schema, options as any)\n  } else if (schema instanceof z.ZodArray) {\n    return createFormArray(schema, options as any);\n  }\n\n  return createFormControl(schema, options) as ZodControl<T>;\n}\n","import {z} from 'zod';\nimport {FieldOptions, GeneratorOptions, ZodControl, ZodFormArray} from '../types';\nimport {AbstractControl, AbstractControlOptions, FormArray} from '@angular/forms';\nimport {createZodControl} from \"./create-zod-control\";\n\nexport type FormArrayOverrides<TSchema> =\n  TSchema extends z.ZodArray<infer TArray>\n    ? Array<ZodControl<TArray> | FieldOptions<z.infer<TArray>>>\n    : never;\n\nexport function createFormArray<TSchema extends z.ZodArray<z.ZodTypeAny>>(\n  schema: TSchema,\n  overrides?: FormArrayOverrides<TSchema>,\n  options?: AbstractControlOptions,\n  generatorOptions?: GeneratorOptions,\n): ZodFormArray<TSchema> {\n  const formArray = new FormArray<any>([], options);\n  const element = schema.element;\n\n  overrides?.forEach((override) => {\n    return formArray.push(override instanceof AbstractControl ? override : createZodControl(element, generatorOptions));\n  })\n\n  return formArray as unknown as ZodFormArray<TSchema>;\n}\n\n","/*\n * Public API Surface of zod-to-reactive-form\n */\n\nexport * from './lib/functions';\nexport * from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAUM,SAAU,eAAe,CAC7B,MAAe,EACf,SAAuC,EACvC,OAAgC,EAChC,gBAAmC,EAAA;IAEnC,OAAO,IAAI,SAAS,CAClB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,KAAI;AAC9D,QAAA,MAAM,gBAAgB,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;AAE1C,QAAA,IAAI,gBAAgB,YAAY,eAAe,EAAE;AAC/C,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;SAC7B;aAAM;AACL,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,EAAE,EAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,EAAC,CAAC,CAAC;SACtF;AAED,QAAA,OAAO,GAAG,CAAC;AACb,KAAC,EAAE,EAAS,CAAC,EACb,OAAO,CAA0B,CAAC;AACtC;;ACzBgB,SAAA,iBAAiB,CAA4B,MAAe,EAAE,SAA0C,EAAA;AACtH,IAAA,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;AAC3D,IAAA,MAAM,UAAU,GAAG,SAAS,EAAE,UAAU,KAAK,CAAC,MAAmB,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAE5F,OAAO,IAAI,WAAW,CACpB,EAAC,KAAK,EAAE,QAAQ,EAAC,EACjB;QACE,WAAW,EAAE,EAAE,MAAM,YAAY,CAAC,CAAC,WAAW,CAAC;AAC/C,QAAA,GAAG,SAAS;QACZ,UAAU,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC;AAClG,KAAA,CAC+B,CAAC;AACrC;;ACDgB,SAAA,gBAAgB,CAAuC,MAAS,EAAE,OAAkC,EAAA;AAClH,IAAA,IAAI,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE;AACjC,QAAA,OAAO,eAAe,CAAC,MAAM,EAAE,OAAc,CAAC,CAAA;KAC/C;AAAM,SAAA,IAAI,MAAM,YAAY,CAAC,CAAC,QAAQ,EAAE;AACvC,QAAA,OAAO,eAAe,CAAC,MAAM,EAAE,OAAc,CAAC,CAAC;KAChD;AAED,IAAA,OAAO,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAkB,CAAC;AAC7D;;ACbM,SAAU,eAAe,CAC7B,MAAe,EACf,SAAuC,EACvC,OAAgC,EAChC,gBAAmC,EAAA;IAEnC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AAClD,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAE/B,IAAA,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAI;QAC9B,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,YAAY,eAAe,GAAG,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACtH,KAAC,CAAC,CAAA;AAEF,IAAA,OAAO,SAA6C,CAAC;AACvD;;ACxBA;;AAEG;;ACFH;;AAEG;;;;"}