'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = whilst; var _noop = require('lodash/noop'); var _noop2 = _interopRequireDefault(_noop); var _rest = require('lodash/rest'); var _rest2 = _interopRequireDefault(_rest); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function whilst(test, iterator, cb) { cb = cb || _noop2.default; if (!test()) return cb(null); var next = (0, _rest2.default)(function (err, args) { if (err) return cb(err); if (test.apply(this, args)) return iterator(next); cb.apply(null, [null].concat(args)); }); iterator(next); } module.exports = exports['default'];