All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
23 lines
824 B
JavaScript
23 lines
824 B
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.flowAsync = flowAsync;
|
|
exports.onlySuccessfulPromises = onlySuccessfulPromises;
|
|
exports.then = then;
|
|
var _flow = _interopRequireDefault(require("lodash/flow"));
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
function then(fn) {
|
|
return p => Promise.resolve(p).then(fn);
|
|
}
|
|
const filterPromiseSymbol = Symbol('filterPromiseSymbol');
|
|
function onlySuccessfulPromises(promises) {
|
|
return Promise.all(promises.map(p => p.catch(() => filterPromiseSymbol))).then(results => results.filter(result => result !== filterPromiseSymbol));
|
|
}
|
|
function wrapFlowAsync(fn) {
|
|
return async arg => fn(await arg);
|
|
}
|
|
function flowAsync(fns) {
|
|
return (0, _flow.default)(fns.map(fn => wrapFlowAsync(fn)));
|
|
} |