UNPKG

abstract-migrate

Version:
52 lines (41 loc) 1.44 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray'); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); exports.mapSeries = mapSeries; exports.promiseback = promiseback; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function mapSeries(arr, fn) { return arr.reduce(function (chain, item) { return chain.then(function (results) { return fn(item).then(function (result) { return [].concat((0, _toConsumableArray3.default)(results), [result]); }); }); }, _promise2.default.resolve([])); } function promiseback(fn) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } return new _promise2.default(function (resolve, reject) { var possiblePromise = fn.apply(undefined, args.concat([function (err, result) { if (err) { reject(err); } else { resolve(result); } }])); if (possiblePromise && typeof possiblePromise.then === 'function') { possiblePromise.then(function (result) { resolve(result); }, function (err) { reject(err); }); } }); }