UNPKG

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

Version:
15 lines 3.44 kB
import { AbstractControl, FormGroup } from '@angular/forms'; import { createZodControl } from "./create-zod-control"; export function createFormGroup(schema, overrides, options, generatorOptions) { return new FormGroup(Object.entries(schema.shape).reduce((acc, [key, shapeSchema]) => { const overrideOrOption = overrides?.[key]; if (overrideOrOption instanceof AbstractControl) { acc[key] = overrideOrOption; } else { acc[key] = createZodControl(shapeSchema, { ...generatorOptions, ...overrideOrOption }); } return acc; }, {}), options); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZvcm0tZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3pvZC10by1yZWFjdGl2ZS1mb3JtL3NyYy9saWIvZnVuY3Rpb25zL2NyZWF0ZS1mb3JtLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQXVDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBT3RELE1BQU0sVUFBVSxlQUFlLENBQzdCLE1BQWUsRUFDZixTQUF1QyxFQUN2QyxPQUFnQyxFQUNoQyxnQkFBbUM7SUFFbkMsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7UUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxQyxJQUFJLGdCQUFnQixZQUFZLGVBQWUsRUFBRSxDQUFDO1lBQ2hELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNOLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsRUFBQyxHQUFHLGdCQUFnQixFQUFFLEdBQUcsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUFTLENBQUMsRUFDYixPQUFPLENBQTBCLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBBYnN0cmFjdENvbnRyb2xPcHRpb25zLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0ZpZWxkT3B0aW9ucywgR2VuZXJhdG9yT3B0aW9ucywgVW53cmFwTGF6eVR5cGUsIFpvZENvbnRyb2wsIFpvZEZvcm1Hcm91cH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtjcmVhdGVab2RDb250cm9sfSBmcm9tIFwiLi9jcmVhdGUtem9kLWNvbnRyb2xcIjtcblxuZXhwb3J0IHR5cGUgRm9ybUdyb3VwT3ZlcnJpZGVzPFRTY2hlbWE+ID1cbiAgVFNjaGVtYSBleHRlbmRzIHouWm9kT2JqZWN0PGluZmVyIFRPYmplY3RUeXBlPlxuICAgID8geyBbSyBpbiBrZXlvZiBUT2JqZWN0VHlwZV0/OiBGaWVsZE9wdGlvbnM8ei5pbmZlcjxUT2JqZWN0VHlwZVtLXT4+IHwgWm9kQ29udHJvbDxVbndyYXBMYXp5VHlwZTxUT2JqZWN0VHlwZVtLXT4+IHwgRm9ybUNvbnRyb2w8ei5pbmZlcjxUT2JqZWN0VHlwZVtLXT4+IH1cbiAgICA6IG5ldmVyO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybUdyb3VwPFRTY2hlbWEgZXh0ZW5kcyB6LlNvbWVab2RPYmplY3Q+KFxuICBzY2hlbWE6IFRTY2hlbWEsXG4gIG92ZXJyaWRlcz86IEZvcm1Hcm91cE92ZXJyaWRlczxUU2NoZW1hPixcbiAgb3B0aW9ucz86IEFic3RyYWN0Q29udHJvbE9wdGlvbnMsXG4gIGdlbmVyYXRvck9wdGlvbnM/OiBHZW5lcmF0b3JPcHRpb25zLFxuKTogWm9kRm9ybUdyb3VwPFRTY2hlbWE+IHtcbiAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoXG4gICAgT2JqZWN0LmVudHJpZXMoc2NoZW1hLnNoYXBlKS5yZWR1Y2UoKGFjYywgW2tleSwgc2hhcGVTY2hlbWFdKSA9PiB7XG4gICAgICBjb25zdCBvdmVycmlkZU9yT3B0aW9uID0gb3ZlcnJpZGVzPy5ba2V5XTtcblxuICAgICAgaWYgKG92ZXJyaWRlT3JPcHRpb24gaW5zdGFuY2VvZiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICAgICAgYWNjW2tleV0gPSBvdmVycmlkZU9yT3B0aW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWNjW2tleV0gPSBjcmVhdGVab2RDb250cm9sKHNoYXBlU2NoZW1hLCB7Li4uZ2VuZXJhdG9yT3B0aW9ucywgLi4ub3ZlcnJpZGVPck9wdGlvbn0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIGFueSksXG4gICAgb3B0aW9ucykgYXMgWm9kRm9ybUdyb3VwPFRTY2hlbWE+O1xufVxuIl19