@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
JavaScript
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;