@jsbailey/reactive-form-validators
Version:
[](https://badge.fury.io/js/%40rxweb%2Freactive-form-validators) [](https://gitter.im/rxweb-project/rxweb?utm_source=badge
2 lines • 30.5 kB
JavaScript
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("rxjs/internal-compatibility"),require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@jsbailey/reactive-form-validators",["exports","rxjs/internal-compatibility","@angular/core","@angular/forms"],e):e((n.jsbailey=n.jsbailey||{},n.jsbailey["reactive-form-validators"]={}),n.rxjs["internal-compatibility"],n.ng.core,n.ng.forms)}(this,function(n,i,e,t){"use strict";function y(n){var e="function"==typeof Symbol&&n[Symbol.iterator],t=0;return e?e.call(n):{next:function(){return n&&t>=n.length&&(n=void 0),{value:n&&n[t++],done:!n}}}}function s(n,e){var t="function"==typeof Symbol&&n[Symbol.iterator];if(!t)return n;var a,r,o=t.call(n),i=[];try{for(;(void 0===e||0<e--)&&!(a=o.next()).done;)i.push(a.value)}catch(s){r={error:s}}finally{try{a&&!a.done&&(t=o["return"])&&t.call(o)}finally{if(r)throw r.error}}return i}var p={alpha:/^[a-zA-Z]+$/,alphaWithSpace:/^[a-zA-Z\s]+$/,onlyDigit:/^[0-9]+$/,isDigitExits:/\d/g,lowerCase:/[a-z]/g,upperCase:/[A-Z]/g,specialCharacter:/[!@#$%^&*(),.?":{}|<>]/g,advancedEmail:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,basicEmail:/^(([^<>()\[\]\\.,,:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,alphaNumeric:/^[0-9a-zA-Z]+$/,alphaNumericWithSpace:/^[0-9a-zA-Z\s]+$/,hexColor:/#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})\b/gi,strictHexColor:/^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\b$/i,"float":/^(?:[-+]?(?:[0-9]+))?(?:\.[0-9]*)?(?:[eE][\+\-]?(?:[0-9]+))?$/,decimal:/^[-+]?([0-9]+|\.[0-9]+|[0-9]+\.[0-9]+)$/,hexaDecimal:/^[0-9A-F]+$/i,date:/^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/,time:/(00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9])$/,url:/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)/,creditCard:new function k(){this.Visa=new RegExp("^(?:4[0-9]{12})(?:[0-9]{3})?$"),this.AmericanExpress=new RegExp("^(?:3[47][0-9]{13})$"),this.Maestro=new RegExp("^(?:(?:5[0678]\\d\\d|6304|6390|67\\d\\d)\\d{8,15})$"),this.JCB=new RegExp("^(?:(?:2131|1800|35\\d{3})\\d{11})$"),this.Discover=new RegExp("^(?:6(?:011|5[0-9]{2})(?:[0-9]{12}))$"),this.DinersClub=new RegExp("^(?:3(?:0[0-5]|[68][0-9])[0-9]{11})$"),this.MasterCard=new RegExp("^(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}$")}},f="alphabet",m="digit",g="contains",v="lowerCase",h="upperCase",b="specialCharacter",x="minLength",P="maxLength",d=function(){function d(){}return d.isExits=function(n,e){return null!=n.match(e)},d.isValid=function(n,e){return e.test(n)},d.isNotBlank=function(n){return n!=undefined&&""!=n&&null!=n},d.isValidPassword=function(n,e){var t,a,r=!1,o="status",i=Object.getOwnPropertyNames(n);try{for(var s=y(i),u=s.next();!u.done;u=s.next()){var l=u.value;switch(l){case f:r=d.isExits(e,p.alpha),o=f;break;case m:r=d.isValid(e,p.isDigitExits),o=m;break;case g:r=-1!=e.indexOf(n[g]),o=g;break;case v:r=d.isValid(e,p.lowerCase),o=v;break;case h:r=d.isValid(e,p.upperCase),o=h;break;case b:r=d.isExits(e,p.specialCharacter),o=b;break;case x:r=e.length>=n[l],o=x;break;case P:r=e.length<=n[l],o=P}if(!r)break}}catch(c){t={error:c}}finally{try{u&&!u.done&&(a=s["return"])&&a.call(s)}finally{if(t)throw t.error}}return{isValid:r,keyName:o}},d}(),u=function(){function e(){}return e.set=function(n){n&&(e.json=n)},e.json={},e}(),j=function(){function n(){}return n.toJson=function(n,e,t){var a=e||(u&&u.json&&u.json.validationMessage&&u.json.validationMessage[n]?u.json.validationMessage[n]:"");t.forEach(function(n,e){a=a.replace("{{"+e+"}}",n)});var r={};return r[n]={message:a,refValues:t},r},n["null"]=function(){return null},n}(),C=function(){function r(){}return r.functionCreator=function(n){for(var e=[],t=n.match(/^\s*\(?\s*([^)]*)\s*\)?\s*=>(.*)/),a=t[2].split(","),r=0;r<a.length;r++){var o=a[r].match(/^\s*\(?\s*([^)]*)\s*\)?\s*==(.*)/);e=null!==o?new Function(t[1],"return "+o[0]):null===(o=a[r].match(/^\s*\(?\s*([^)]*)\s*\)?\s*=(.*)/))?new Function(t[1],"return "+a[r]):new Function(t[1],"return "+o[2])}return 0==a.length&&(e={accessFunction:new Function(t[1],"return "+t[2])}),e},r.IsPassed=function(n,e,t){var a=e;return t&&"string"==typeof e&&(a=r.functionCreator(e)),!t||!a||a(t,n)},r.expressionColumns=function(n){var r=[],e=[];return"string"==typeof n?n.split("=>")[1].split(" && ").forEach(function(n){n.split(" || ").forEach(function(n){e.push(n.trim().split(" ")[0])})}):String(n).split(" return ")[1].split(" && ").forEach(function(n){n.split(" || ").forEach(function(n){e.push(n.trim().split(" ")[0])})}),e.forEach(function(n){var e=n.split(".");if(2==e.length)r.push({propName:e[1].trim()});else{var t=e[1].split("["),a={propName:e[e.length-1].trim(),objectPropName:t[0],arrayIndex:1<t.length?t[1].replace("]",""):undefined};r.push(a)}}),r},r}(),N=function(){function n(){}return n.getParentObjectValue=function(n){return n.parent?this.parentObjectValue(n.parent).value:{}},n.parentObjectValue=function(n){return n.parent?n=this.parentObjectValue(n.parent):n},n.getConfigObject=function(n){return n!=undefined&&1!=n?n:{}},n}(),V={numeric:"numeric",required:"required",minLength:"minLength",maxLength:"maxLength",minNumber:"minNumber",maxNumber:"maxNumber",pattern:"pattern",password:"password",compare:"compare",minDate:"minDate",maxDate:"maxDate",alpha:"alpha",alphaNumeric:"alphaNumeric",email:"email",hexColor:"hexColor",lowerCase:"lowerCase",url:"url",upperCase:"upperCase",nested:"nested",propArray:"propArray",propObject:"propObject",contains:"contains",range:"range",custom:"custom",digit:"digit",creditCard:"creditCard",time:"time",json:"json",greaterThan:"greaterThan",greaterThanEqualTo:"greaterThanEqualTo",lessThan:"lessThan",lessThanEqualTo:"lessThanEqualTo"};var O={Visa:1,AmericanExpress:2,Maestro:3,JCB:4,Discover:5,DinersClub:6,MasterCard:7};O[O.Visa]="Visa",O[O.AmericanExpress]="AmericanExpress",O[O.Maestro]="Maestro",O[O.JCB]="JCB",O[O.Discover]="Discover",O[O.DinersClub]="DinersClub",O[O.MasterCard]="MasterCard";var l=function(){function n(){}return n.prototype.regex=function(){var n;if(u&&u.json&&u.json.internationalization&&u.json.internationalization.dateFormat&&u.json.internationalization.seperator){u.json.internationalization.seperator;switch(u.json.internationalization.dateFormat){case"ymd":n=/^(\d{4}-\d{1,2}-\d{1,2})$/;break;case"dmy":case"mdy":n=/^(\d{1,2}-\d{1,2}-\d{4})$/}}return n},n.prototype.getDate=function(n){var e,t,a,r;if(u&&u.json&&u.json.internationalization&&u.json.internationalization.dateFormat&&u.json.internationalization.seperator){var o=u.json.internationalization.seperator;switch(u.json.internationalization.dateFormat){case"ymd":e=(t=s(n.split(o).map(function(n){return+n}),3))[0],month=t[1],day=t[2];break;case"dmy":a=s(n.split(o).map(function(n){return+n}),3),day=a[0],month=a[1],e=a[2];break;case"mdy":r=s(n.split(o).map(function(n){return+n}),3),month=r[0],day=r[1],e=r[2]}}return new Date(e,month-1,day)},n.prototype.isValid=function(n){return n=n.replace(u.json.internationalization.seperator,"-").replace(u.json.internationalization.seperator,"-"),this.regex().test(n)},n}();var T="property",E="objectProperty",I="arrayProperty",c=new(function(){function n(){this.instances=[]}return n.prototype.get=function(e){return this.instances.filter(function(n){return n.instance===e})[0]},n.prototype.addInstanceContainer=function(n){var e={instance:n,propertyAnnotations:[],properties:[]};return this.instances.push(e),e},n.prototype.addProperty=function(e,n){var t=this.instances.filter(function(n){return n.instance===e})[0];t||(t=this.addInstanceContainer(e)),this.addPropertyInfo(t,n)},n.prototype.addPropertyInfo=function(n,e){n.properties.filter(function(n){return n.name==e.name})[0]||n.properties.push(e)},n.prototype.addAnnotation=function(e,n){this.addProperty(e,{propertyType:T,name:n.propertyName});var t=this.instances.filter(function(n){return n.instance===e})[0];if(t?t.propertyAnnotations.push(n):(t=this.addInstanceContainer(e)).propertyAnnotations.push(n),n.config&&n.config.conditionalExpression){var a=C.expressionColumns(n.config.conditionalExpression);this.addChangeValidation(t,n.propertyName,a)}t&&n.config&&(n.annotationType==V.compare||n.annotationType==V.greaterThan||n.annotationType==V.greaterThanEqualTo||n.annotationType==V.lessThan||n.annotationType==V.lessThanEqualTo)&&this.setConditionalValueProp(t,n.config.fieldName,n.propertyName)},n.prototype.setConditionalValueProp=function(n,e,t){n.conditionalValidationProps||(n.conditionalValidationProps={}),n.conditionalValidationProps[e]||(n.conditionalValidationProps[e]=[]),-1==n.conditionalValidationProps[e].indexOf(t)&&n.conditionalValidationProps[e].push(t)},n.prototype.addChangeValidation=function(e,t,n){e&&(e.conditionalValidationProps||(e.conditionalValidationProps={}),n.forEach(function(n){n.propName&&!n.objectPropName?(e.conditionalValidationProps[n.propName]||(e.conditionalValidationProps[n.propName]=[]),-1==e.conditionalValidationProps[n.propName].indexOf(t)&&e.conditionalValidationProps[n.propName].push(t)):n.propName&&n.objectPropName&&(e.conditionalObjectProps||(e.conditionalObjectProps=[]),n.referencePropName=t,e.conditionalObjectProps.push(n))}))},n}()),r=function B(n){if(n)for(var e in n)this[e]=n[e]};function A(e){var r=function(e){var t=window.setTimeout(function(n){window.clearTimeout(t),e.updateValueAndValidity()},100)};return function(n){var a=n.parent;return a&&e.forEach(function(n){if(-1!=n.indexOf("[]")){var t=n.split("[]");a.get([t[0]]).controls.forEach(function(n){var e=n.get(t[1]);e&&r(e)})}else{var e=a.get([n]);e||(e=a.root.get([n])),e&&r(e)}}),j["null"]()}}var w={alphaNumeric:function J(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&d.isNotBlank(e)&&!(r.allowWhiteSpace?d.isValid(e,p.alphaNumericWithSpace):d.isValid(e,p.alphaNumeric))?j.toJson(V.alphaNumeric,r.message||null,[e]):j["null"]()}},alpha:function D(r,n){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&d.isNotBlank(e)&&!(r.allowWhiteSpace?d.isValid(e,p.alphaWithSpace):d.isValid(e,p.alpha))?j.toJson(V.alpha,r.message||null,[e]):j["null"]()}},compare:function z(r){return function(n){var e=n.root.get([r.fieldName]),t=n.value,a=e?e.value:"";return!d.isNotBlank(t)||e&&e.value===t?j["null"]():j.toJson(V.compare,r.message||null,[t,a])}},email:function F(r){return function(n){var e=n.value;r=N.getConfigObject(r);var t=N.getParentObjectValue(n),a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&d.isNotBlank(e)&&!d.isValid(e,p.basicEmail)?j.toJson(V.email,r.message||null,[e]):j["null"]()}},hexColor:function $(o){return function(n){var e=n.value,t=N.getParentObjectValue(n);o=N.getConfigObject(o);var a=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpression,a)&&d.isNotBlank(e)){var r=o.isStrict?p.strictHexColor:p.hexColor;if(!d.isValid(e,r))return j.toJson(V.hexColor,o.message||null,[e])}return j["null"]()}},lowerCase:function q(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&d.isNotBlank(e)&&e!==e.toLowerCase()?j.toJson(V.lowerCase,r.message||null,[e]):j["null"]()}},maxDate:function M(i){return function(n){var e=new l,t=n.value,a=N.getParentObjectValue(n);i=N.getConfigObject(i);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(a,i.conditionalExpression,r)&&d.isNotBlank(t)){if(!e.isValid(t))return j.toJson(V.maxDate,i.message||null,[n.value]);var o=i.value;if(!(e.getDate(t)<=o))return j.toJson(V.maxDate,i.message||null,[n.value])}return j["null"]()}},maxNumber:function Z(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return!C.IsPassed(t,r.conditionalExpression,a)||!d.isNotBlank(e)||parseFloat(e)<=r.value?j["null"]():j.toJson(V.maxNumber,r.message||null,[e])}},minDate:function S(o){return function(n){var e=new l,t=n.value,a=N.getParentObjectValue(n);o=N.getConfigObject(o);var r=n.parent?n.parent.value:undefined;if(C.IsPassed(a,o.conditionalExpression,r)&&d.isNotBlank(t)){if(!e.isValid(t))return j.toJson(V.minDate,o.message||null,[n.value]);if(!(o.value<=e.getDate(t)))return j.toJson(V.minDate,o.message||null,[n.value])}return j["null"]()}},minNumber:function L(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return!C.IsPassed(t,r.conditionalExpression,a)||!d.isNotBlank(e)||parseFloat(e)>=r.value?j["null"]():j.toJson(V.minNumber,r.message||null,[e])}},contains:function R(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&d.isNotBlank(e)&&-1==e.indexOf(r.value)?j.toJson(V.contains,r.message||null,[r.value,e]):j["null"]()}},upperCase:function W(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&d.isNotBlank(e)&&e!==e.toUpperCase()?j.toJson(V.upperCase,r.message||null,[e]):j["null"]()}},maxLength:function _(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return!C.IsPassed(t,r.conditionalExpression,a)||!d.isNotBlank(e)||e.length<=r.value?j["null"]():j.toJson(V.maxLength,r.message||null,[e])}},minLength:function G(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return!C.IsPassed(t,r.conditionalExpression,a)||!d.isNotBlank(e)||String(e).length>=r.value?j["null"]():j.toJson(V.minLength,r.message||null,[e])}},password:function H(t){return function(n){var e=n.value;return N.getParentObjectValue(n),d.isNotBlank(e)&&!d.isValidPassword(t.validation,e).isValid?j.toJson(V.password,t.message||null,[e]):j["null"]()}},range:function U(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return!C.IsPassed(t,r.conditionalExpression,a)||!d.isNotBlank(e)||-1==String(e).indexOf(".")&&parseInt(e)>=r.minimumNumber&&parseInt(e)<=r.maximumNumber?j["null"]():j.toJson(V.range,r.message||null,[r.minimumNumber,r.maximumNumber,e])}},required:function K(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&!d.isNotBlank(e)?j.toJson(V.required,r.message||null,[e]):j["null"]()}},creditCard:function Q(c){return function(n){var e=n.value,t=N.getParentObjectValue(n);c=N.getConfigObject(c);var a,r,o=n.parent?n.parent.value:undefined;if(C.IsPassed(t,c.conditionalExpression,o)&&d.isNotBlank(e)){var i=!1;try{for(var s=y(c.creditCardTypes),u=s.next();!u.done;u=s.next())switch(u.value){case O.AmericanExpress:i=d.isValid(e,p.creditCard.AmericanExpress);break;case O.DinersClub:i=d.isValid(e,p.creditCard.DinersClub);break;case O.Discover:i=d.isValid(e,p.creditCard.Discover);break;case O.JCB:i=d.isValid(e,p.creditCard.JCB);break;case O.Maestro:i=d.isValid(e,p.creditCard.Maestro);break;case O.MasterCard:i=d.isValid(e,p.creditCard.MasterCard);break;case O.Visa:i=d.isValid(e,p.creditCard.Visa)}}catch(l){a={error:l}}finally{try{u&&!u.done&&(r=s["return"])&&r.call(s)}finally{if(a)throw a.error}}if(!i)return j.toJson(V.creditCard,c.message||null,[e])}return j["null"]()}},digit:function X(r){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&d.isNotBlank(e)&&!d.isValid(e,p.onlyDigit)?j.toJson(V.digit,r.message||null,[e]):j["null"]()}},pattern:function Y(o){return function(n){var e=n.value,t=N.getParentObjectValue(n);o=N.getConfigObject(o);var a=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpression,a)&&d.isNotBlank(e))for(var r in o.pattern)if(!d.isValid(e,o.pattern[r]))return j.toJson(r,o.message||null,[e]);return j["null"]()}},time:function nn(o,n){return function(n){var e=n.value,t=N.getParentObjectValue(n);o=N.getConfigObject(o);var a=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpression,a)&&d.isNotBlank(e)){var r=5;if(o.allowSeconds&&(r=8),!d.isValid(e,p.time)||e.length!=r)return j.toJson(V.time,o.message||null,[e])}return j["null"]()}},url:function en(r,n){return function(n){var e=n.value,t=N.getParentObjectValue(n);r=N.getConfigObject(r);var a=n.parent?n.parent.value:undefined;return C.IsPassed(t,r.conditionalExpression,a)&&d.isNotBlank(e)&&!d.isValid(e,p.url)?j.toJson(V.url,r.message||null,[e]):j["null"]()}},json:function tn(o,n){return function(n){var e=n.value,t=N.getParentObjectValue(n);o=N.getConfigObject(o);var a=n.parent?n.parent.value:undefined;if(C.IsPassed(t,o.conditionalExpression,a)&&d.isNotBlank(e))try{if(i.isNumeric(e)||"true"==e||"false"==e)throw"invalid value";JSON.parse(e)}catch(r){return j.toJson(V.json,o.message||null,[e])}return j["null"]()}},greaterThan:function an(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,a=e?e.value:"",r=N.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(r,i.conditionalExpression,o)&&d.isNotBlank(t)&&d.isNotBlank(a)&&!(e&&parseFloat(t)>parseFloat(a))?j.toJson(V.greaterThan,i.message||null,[t,a]):j["null"]()}},greaterThanEqualTo:function rn(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,a=e?e.value:"",r=N.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(r,i.conditionalExpression,o)&&d.isNotBlank(t)&&d.isNotBlank(a)&&!(e&&parseFloat(t)>=parseFloat(a))?j.toJson(V.greaterThanEqualTo,i.message||null,[t,a]):j["null"]()}},lessThan:function on(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,a=e?e.value:"",r=N.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(r,i.conditionalExpression,o)&&d.isNotBlank(t)&&d.isNotBlank(a)&&!(e&&parseFloat(t)<parseFloat(a))?j.toJson(V.lessThan,i.message||null,[t,a]):j["null"]()}},lessThanEqualTo:function sn(i){return function(n){var e=n.root.get([i.fieldName]),t=n.value,a=e?e.value:"",r=N.getParentObjectValue(n),o=n.parent?n.parent.value:undefined;return C.IsPassed(r,i.conditionalExpression,o)&&d.isNotBlank(t)&&d.isNotBlank(a)&&!(e&&parseFloat(t)<=parseFloat(a))?j.toJson(V.lessThanEqualTo,i.message||null,[t,a]):j["null"]()}}},a=function(){function n(n){this.formBuilder=n,this.conditionalObjectProps=[],this.conditionalValidationInstance={},this.builderConfigurationConditionalObjectProps=[],this.isNested=!1}return n.prototype.getInstanceContainer=function(n){return c.get(n)},n.prototype.setValue=function(n,e){for(var t in e){var a=n.get([t]);a.setValue(e[t]),a.updateValueAndValidity()}},n.prototype.extractExpressions=function(n){if(n&&n.validations)for(var e in n.validations)for(var t in n.validations[e])if(n.validations[e][t].conditionalExpression){var a=C.expressionColumns(n.validations[e][t].conditionalExpression);c.addChangeValidation(this.conditionalValidationInstance,e,a)}return null},n.prototype.addFormControl=function(e,n,t,a){var r,o,i=[],s=[];if(a.conditionalValidationProps&&a.conditionalValidationProps[e.name]||this.conditionalValidationInstance.conditionalValidationProps&&this.conditionalValidationInstance.conditionalValidationProps[e.name]){var u=[];a.conditionalValidationProps&&a.conditionalValidationProps[e.name]&&a.conditionalValidationProps[e.name].forEach(function(n){return u.push(n)}),this.conditionalValidationInstance.conditionalValidationProps&&this.conditionalValidationInstance.conditionalValidationProps[e.name]&&this.conditionalValidationInstance.conditionalValidationProps[e.name].forEach(function(n){return u.push(n)}),i.push(A(u))}if(0<this.conditionalObjectProps.length||0<this.builderConfigurationConditionalObjectProps.length){var l=[];this.conditionalObjectProps&&(l=this.conditionalObjectProps.filter(function(n){return n.propName==e.name})),this.builderConfigurationConditionalObjectProps&&this.builderConfigurationConditionalObjectProps.filter(function(n){return n.propName==e.name}).forEach(function(n){return l.push(n)}),l.forEach(function(n){n.referencePropName&&-1==s.indexOf(n.referencePropName)&&s.push(n.referencePropName)}),0<s.length&&i.push(A(s))}try{for(var c=y(n),d=c.next();!d.done;d=c.next()){var p=d.value;i.push(w[p.annotationType](p.config))}}catch(f){r={error:f}}finally{try{d&&!d.done&&(o=c["return"])&&o.call(c)}finally{if(r)throw r.error}}return t&&this.additionalValidation(i,t),i},n.prototype.additionalValidation=function(n,e){for(var t in V)e[V[t]]&&"custom"!=t?n.push(w[V[t]](e[V[t]])):t==V.custom&&e[V[t]]&&n.push(e[t])},n.prototype.checkObjectPropAdditionalValidation=function(r,n){var o=this;r.properties.filter(function(n){return n.propertyType==E||n.propertyType==I}).forEach(function(e){var n=o.getInstanceContainer(e.entity);if(n.conditionalValidationProps)for(var t in n.conditionalValidationProps){var a=n.properties.filter(function(n){return n.name==t})[0];a||(a=r.properties.filter(function(n){return n.name==t})[0]),a&&(r.conditionalValidationProps||(r.conditionalValidationProps={}),r.conditionalValidationProps[t]||(r.conditionalValidationProps[t]=[]),n.conditionalValidationProps[t].forEach(function(n){e.propertyType!=I?r.conditionalValidationProps[t].push([e.name,n].join(".")):r.conditionalValidationProps[t].push([e.name,n].join("[]"))}))}})},n.prototype.getObject=function(n,e,t){var a={};return"function"==typeof n&&(a.model=n),!e||e instanceof r||(a.entityObject=e),e instanceof r&&!t?a.formBuilderConfiguration=e:e instanceof r||!t||(a.formBuilderConfiguration=t),e?n&&e instanceof r&&"object"==typeof n&&(a.entityObject=n,a.model=n.constructor):"object"==typeof(a.entityObject=n)&&(a.model=n.constructor),a},n.prototype.formGroup=function(n,d,p){var f=this,e=this.getObject(n,d,p);n=e.model,d=e.entityObject,(p=e.formBuilderConfiguration)&&this.extractExpressions(p);var m=this.getInstanceContainer(n);this.checkObjectPropAdditionalValidation(m,d);var g={},v={};return m.properties.forEach(function(e){var n,t,a=!0;if(p&&p.excludeProps&&0<p.excludeProps.length&&(a=-1==p.excludeProps.indexOf(e.name)),p&&p.validations&&(v=p.validations),a)switch(e.propertyType){case T:var r=m.propertyAnnotations.filter(function(n){return n.propertyName==e.name});g[e.name]=[d[e.name],f.addFormControl(e,r,v[e.name],m)],f.isNested=!1;break;case E:d[e.name]&&d[e.name]instanceof Object&&(f.isNested=!0,m&&m.conditionalObjectProps&&(f.conditionalObjectProps=m.conditionalObjectProps.filter(function(n){return n.objectPropName==e.name})),f.conditionalValidationInstance&&f.conditionalValidationInstance.conditionalObjectProps&&(f.builderConfigurationConditionalObjectProps=f.conditionalValidationInstance.conditionalObjectProps.filter(function(n){return n.objectPropName==e.name})),g[e.name]=f.formGroup(e.entity,d[e.name],p),f.conditionalObjectProps=[],f.builderConfigurationConditionalObjectProps=[],f.isNested=!1);break;case I:if(d[e.name]&&d[e.name]instanceof Array){f.isNested=!0;var o=[],i=0;try{for(var s=y(d[e.name]),u=s.next();!u.done;u=s.next()){var l=u.value;m&&m.conditionalObjectProps&&(f.conditionalObjectProps=m.conditionalObjectProps.filter(function(n){return n.objectPropName==e.name&&n.arrayIndex==i})),f.conditionalValidationInstance&&f.conditionalValidationInstance.conditionalObjectProps&&(f.builderConfigurationConditionalObjectProps=f.conditionalValidationInstance.conditionalObjectProps.filter(function(n){return n.objectPropName==e.name&&n.arrayIndex==i})),o.push(f.formGroup(e.entity,l,p)),i++,f.conditionalObjectProps=[],f.builderConfigurationConditionalObjectProps=[]}}catch(c){n={error:c}}finally{try{u&&!u.done&&(t=s["return"])&&t.call(s)}finally{if(n)throw n.error}}g[e.name]=f.formBuilder.array(o),f.isNested=!1}}}),this.isNested||(this.conditionalValidationInstance={},this.builderConfigurationConditionalObjectProps=[]),this.formBuilder.group(g)},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:t.FormBuilder}]},n}(),o=function(){function n(){}return n.forRoot=function(){return{ngModule:n,providers:[]}},n.decorators=[{type:e.NgModule,args:[{declarations:[],exports:[],imports:[t.FormsModule,t.ReactiveFormsModule],providers:[a]}]}],n}();n.RxReactiveFormsModule=o,n.RxFormBuilder=a,n.FormBuilderConfiguration=r,n.alpha=function un(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.alpha,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.alphaNumeric=function ln(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.alphaNumeric,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.compare=function cn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.compare,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.contains=function dn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.contains,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.creditCard=function pn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.creditCard,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.digit=function fn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.digit,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.email=function mn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.email,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.hexColor=function gn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.hexColor,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.lowerCase=function vn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.lowerCase,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.maxDate=function yn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.maxDate,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.maxLength=function hn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.maxLength,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.minDate=function bn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.minDate,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.maxNumber=function xn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.maxNumber,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.minLength=function Pn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.minLength,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.minNumber=function jn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.minNumber,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.password=function Cn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.password,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.pattern=function Nn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.pattern,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.propArray=function Vn(r){return function(n,e,t){var a={name:e,propertyType:I,entity:r};c.addProperty(n.constructor,a)}},n.propObject=function On(r){return function(n,e,t){var a={name:e,propertyType:E,entity:r};c.addProperty(n.constructor,a)}},n.prop=function Tn(){return function(n,e,t){var a={name:e,propertyType:T};c.addProperty(n.constructor,a)}},n.range=function En(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.range,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.required=function In(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.required,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.upperCase=function An(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.upperCase,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.time=function wn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.time,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.url=function kn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.url,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.json=function Bn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.json,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.greaterThan=function Jn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.greaterThan,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.greaterThanEqualTo=function Dn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.greaterThanEqualTo,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.lessThanEqualTo=function zn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.lessThanEqualTo,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.lessThan=function Fn(o){return function(n,e,t){var a={propertyIndex:t,propertyName:e,annotationType:V.lessThan,config:o},r=e!=undefined;c.addAnnotation(r?n.constructor:n,a)}},n.ReactiveFormConfig=u,n.CreditCardType=O,Object.defineProperty(n,"__esModule",{value:!0})});
//# sourceMappingURL=jsbailey-reactive-form-validators.umd.min.js.map