UNPKG

ngx-forms-builder

Version:

A small library that adds validation with decorators and build angular forms.

2 lines 2.32 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("reflect-metadata"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-forms-builder",["exports","reflect-metadata","@angular/core","@angular/forms"],t):t(e["ngx-forms-builder"]={},null,e.ng.core,e.ng.forms)}(this,function(e,t,r,f){"use strict";var n=(o.prototype.build=function(o,e){function t(r){var e=Reflect.getMetadataKeys(o,r);if(0<e.indexOf("exclude"))return"continue";i.addControl(r,new f.FormControl(o[r]));var n=[];e.filter(function(e){return"design:type"!==e}).forEach(function(e){var t=a.getValidatorByType(e,o,r);null!==t&&n.push(t)}),i.get(r).setValidators(n)}var r,n,a=this,i=new f.FormGroup({},e);try{for(var u=function c(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}(Object.keys(o)),l=u.next();!l.done;l=u.next())t(l.value)}catch(d){r={error:d}}finally{try{l&&!l.done&&(n=u["return"])&&n.call(u)}finally{if(r)throw r.error}}return i},o.prototype.getValidatorByType=function(e,t,r){var n={required:function(e){return f.Validators.required},email:function(e){return f.Validators.email},min:function(e){return f.Validators.min(e)},max:function(e){return f.Validators.max(e)},pattern:function(e){return f.Validators.pattern(e)},customValidator:function(e){return e}},o=Reflect.getMetadata(e,t,r);return n[e](o)},o.decorators=[{type:r.Injectable}],o);function o(){}var a=(i.forRoot=function(){return{ngModule:i,providers:[n]}},i.decorators=[{type:r.NgModule,args:[{declarations:[],imports:[],exports:[]}]}],i);function i(){}function u(r){return function(){return function(e,t){Reflect.defineMetadata(String(r),!0,e,t)}}}function l(n){return function(r){return function(e,t){Reflect.defineMetadata(String(n),r,e,t)}}}var c="email",d="min",s="max",m="pattern",p="customValidator",y="exclude",g=u("required"),x=u(c),v=u(y),V=l(d),M=l(s),b=l(m),h=l(p);e.NgxFormsBuilderModule=a,e.ModelFormBuilder=n,e.createValidationDecorator=u,e.createValidationDecoratorWithValue=l,e.Required=g,e.Email=x,e.Exclude=v,e.Min=V,e.Max=M,e.Pattern=b,e.CustomValidator=h,e.ɵa=n,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=ngx-forms-builder.umd.min.js.map