All files / copacetic/lib/util promise-series-silent.js

100% Statements 8/8
100% Branches 0/0
100% Functions 5/5
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 161x   1x 3x         3x   9x   9x      
const precond = require('precond')
 
module.exports = (promises) => {
  precond.checkIsArray(
    promises,
    'promiseSeriesSilent expected an array of promises'
  )
 
  return promises
    // continiue the chain, regardless of errors
    .map(p => p.catch(e => e))
    .reduce((chain, promise) => {
      return chain.then(r => promise.then(Array.prototype.concat.bind(r)))
    }, Promise.resolve([]))
}