UNPKG

typed-reactive-form

Version:

Allows creation of a ReactiveForm based on a class with its properties properly decorated.

14 lines 2.08 kB
import { formGroupKey } from './form-model/metadata-keys'; export function FormGroup(constructor) { return function (target, key) { var formArrays = Reflect.getMetadata(formGroupKey, target); if (formArrays) { formArrays.push({ property: key, constructor: constructor }); } else { formArrays = [{ property: key, constructor: constructor }]; Reflect.defineMetadata(formGroupKey, formArrays, target); } }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3R5cGVkLXJlYWN0aXZlLWZvcm0vIiwic291cmNlcyI6WyJsaWIvZm9ybS1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFeEQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxXQUE0QjtJQUNwRCxPQUFPLFVBQUMsTUFBVyxFQUFFLEdBQVc7UUFDOUIsSUFBSSxVQUFVLEdBQXNCLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTlFLElBQUksVUFBVSxFQUFDO1lBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsV0FBVyxhQUFBLEVBQUMsQ0FBQyxDQUFDO1NBQy9DO2FBQU07WUFDTCxVQUFVLEdBQUcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsV0FBVyxhQUFBLEVBQUMsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Zvcm1Hcm91cERldGFpbH0gZnJvbSAnLi9mb3JtLW1vZGVsL2Zvcm0tZ3JvdXAtZGV0YWlsJztcbmltcG9ydCB7Zm9ybUdyb3VwS2V5fSBmcm9tICcuL2Zvcm0tbW9kZWwvbWV0YWRhdGEta2V5cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBGb3JtR3JvdXAoY29uc3RydWN0b3I6IG5ldygpID0+IG9iamVjdCk6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcpID0+IHtcbiAgICBsZXQgZm9ybUFycmF5czogRm9ybUdyb3VwRGV0YWlsW10gPSBSZWZsZWN0LmdldE1ldGFkYXRhKGZvcm1Hcm91cEtleSwgdGFyZ2V0KTtcblxuICAgIGlmIChmb3JtQXJyYXlzKXtcbiAgICAgIGZvcm1BcnJheXMucHVzaCh7cHJvcGVydHk6IGtleSwgY29uc3RydWN0b3J9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybUFycmF5cyA9IFt7cHJvcGVydHk6IGtleSwgY29uc3RydWN0b3J9XTtcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoZm9ybUdyb3VwS2V5LCBmb3JtQXJyYXlzLCB0YXJnZXQpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==