/ cloudformation-templates / node_modules / aws-cdk / node_modules / async / internal / createTester.js
createTester.js
1 'use strict'; 2 3 Object.defineProperty(exports, "__esModule", { 4 value: true 5 }); 6 exports.default = _createTester; 7 8 var _breakLoop = require('./breakLoop'); 9 10 var _breakLoop2 = _interopRequireDefault(_breakLoop); 11 12 var _wrapAsync = require('./wrapAsync'); 13 14 var _wrapAsync2 = _interopRequireDefault(_wrapAsync); 15 16 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 17 18 function _createTester(check, getResult) { 19 return (eachfn, arr, _iteratee, cb) => { 20 var testPassed = false; 21 var testResult; 22 const iteratee = (0, _wrapAsync2.default)(_iteratee); 23 eachfn(arr, (value, _, callback) => { 24 iteratee(value, (err, result) => { 25 if (err || err === false) return callback(err); 26 27 if (check(result) && !testResult) { 28 testPassed = true; 29 testResult = getResult(true, value); 30 return callback(null, _breakLoop2.default); 31 } 32 callback(); 33 }); 34 }, err => { 35 if (err) return cb(err); 36 cb(null, testPassed ? testResult : getResult(false)); 37 }); 38 }; 39 } 40 module.exports = exports['default'];