{"version":3,"sources":["../src/and.js"],"names":["andValidator","validators","name","Array","isArray","TypeError","length","RangeError","validator","and","args","firstError","some","validatorFn","isRequired","andIsRequired"],"mappings":";;;;;;;AAAA;;;;AAEe,SAASA,YAAT,CAAsBC,UAAtB,EAAgD;AAAA,MAAdC,IAAc,uEAAP,KAAO;;AAC7D,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcH,UAAd,CAAL,EAAgC;AAC9B,UAAM,IAAII,SAAJ,CAAc,wCAAd,CAAN;AACD;;AACD,MAAIJ,UAAU,CAACK,MAAX,IAAqB,CAAzB,EAA4B;AAC1B,UAAM,IAAIC,UAAJ,CAAe,wCAAf,CAAN;AACD;;AAED,MAAMC,SAAS,GAAG,SAASC,GAAT,GAAsB;AAAA,sCAANC,IAAM;AAANA,MAAAA,IAAM;AAAA;;AACtC,QAAIC,UAAU,GAAG,IAAjB;AACAV,IAAAA,UAAU,CAACW,IAAX,CAAgB,UAACC,WAAD,EAAiB;AAC/BF,MAAAA,UAAU,GAAGE,WAAW,MAAX,SAAeH,IAAf,CAAb;AACA,aAAOC,UAAU,IAAI,IAArB;AACD,KAHD;AAIA,WAAOA,UAAU,IAAI,IAAd,GAAqB,IAArB,GAA4BA,UAAnC;AACD,GAPD;;AASAH,EAAAA,SAAS,CAACM,UAAV,GAAuB,SAASC,aAAT,GAAgC;AAAA,uCAANL,IAAM;AAANA,MAAAA,IAAM;AAAA;;AACrD,QAAIC,UAAU,GAAG,IAAjB;AACAV,IAAAA,UAAU,CAACW,IAAX,CAAgB,UAACC,WAAD,EAAiB;AAC/BF,MAAAA,UAAU,GAAGE,WAAW,CAACC,UAAZ,OAAAD,WAAW,EAAeH,IAAf,CAAxB;AACA,aAAOC,UAAU,IAAI,IAArB;AACD,KAHD;AAIA,WAAOA,UAAU,IAAI,IAAd,GAAqB,IAArB,GAA4BA,UAAnC;AACD,GAPD;;AASA,SAAO,+BAAcH,SAAd,EAAyBN,IAAzB,EAA+BD,UAA/B,CAAP;AACD","sourcesContent":["import wrapValidator from './helpers/wrapValidator';\n\nexport default function andValidator(validators, name = 'and') {\n if (!Array.isArray(validators)) {\n throw new TypeError('and: 2 or more validators are required');\n }\n if (validators.length <= 1) {\n throw new RangeError('and: 2 or more validators are required');\n }\n\n const validator = function and(...args) {\n let firstError = null;\n validators.some((validatorFn) => {\n firstError = validatorFn(...args);\n return firstError != null;\n });\n return firstError == null ? null : firstError;\n };\n\n validator.isRequired = function andIsRequired(...args) {\n let firstError = null;\n validators.some((validatorFn) => {\n firstError = validatorFn.isRequired(...args);\n return firstError != null;\n });\n return firstError == null ? null : firstError;\n };\n\n return wrapValidator(validator, name, validators);\n}\n"],"file":"and.js"}