@atlas-kitchen/adyen-web
Version:
3 lines (2 loc) • 1.3 kB
JavaScript
import{ValidationRuleResult as t}from"./ValidationRuleResult.js";function e(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}class r{get isValid(){return this.validationResults.reduce(((t,e)=>t&&e.isValid),!0)}hasError(t=!1){return Boolean(this.getError(t))}getError(t=!1){return this.validationResults.find((e=>e.hasError(t)))}getAllErrors(){return this.validationResults.filter((t=>t.hasError()))}constructor(t){e(this,"validationResults",void 0),this.validationResults=t}}class s{setRules(t){this.rules=function(t){for(var r=1;r<arguments.length;r++){var s=null!=arguments[r]?arguments[r]:{},l=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(s).filter((function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable})))),l.forEach((function(r){e(t,r,s[r])}))}return t}({},this.rules,t)}getRulesFor(t){var e;let r=null!==(e=this.rules[t])&&void 0!==e?e:this.rules.default;return Array.isArray(r)||(r=[r]),r}validate({key:e,value:s,mode:l="blur"},i){const u=this.getRulesFor(e).map((e=>new t(e,s,l,i)));return new r(u)}constructor(t){e(this,"rules",{default:{validate:()=>!0,modes:["blur","input"]}}),this.setRules(t)}}export{s as default};
//# sourceMappingURL=Validator.js.map