UNPKG

@dillonkearns/elm-graphql

Version:

<img src="https://cdn.jsdelivr.net/gh/martimatix/logo-graphqelm/logo.svg" alt="dillonearns/elm-graphql logo" width="40%" align="right">

23 lines (18 loc) 413 B
'use strict'; module.exports = (iterable, reducer, initVal) => new Promise((resolve, reject) => { const iterator = iterable[Symbol.iterator](); let i = 0; const next = total => { const el = iterator.next(); if (el.done) { resolve(total); return; } Promise.all([total, el.value]) .then(value => { next(reducer(value[0], value[1], i++)); }) .catch(reject); }; next(initVal); });