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">

33 lines (22 loc) 737 B
import _newArrowCheck from 'babel-runtime/helpers/newArrowCheck'; import { curry } from 'flow-static-land/lib/Fun'; var _this = undefined; /** * Reduce the given array applying reduce function while shouldProceed function * returns true. */ var reduceWhile = function (shouldProceed, reduce, resultInitial, array) { _newArrowCheck(this, _this); var result = resultInitial; array.every(function (element, index) { _newArrowCheck(this, _this); var proceed = shouldProceed(element, index, result); if (proceed) { result = reduce(result, element, index); } return proceed; }.bind(this)); return result; }.bind(undefined); var reduceWhile$1 = curry(reduceWhile); export default reduceWhile$1;