| var _curry2 = |
| /*#__PURE__*/ |
| require("./_curry2"); |
| |
| var _xfBase = |
| /*#__PURE__*/ |
| require("./_xfBase"); |
| |
| var XDropRepeatsWith = |
| /*#__PURE__*/ |
| function () { |
| function XDropRepeatsWith(pred, xf) { |
| this.xf = xf; |
| this.pred = pred; |
| this.lastValue = undefined; |
| this.seenFirstValue = false; |
| } |
| |
| XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init; |
| XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result; |
| |
| XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) { |
| var sameAsLast = false; |
| |
| if (!this.seenFirstValue) { |
| this.seenFirstValue = true; |
| } else if (this.pred(this.lastValue, input)) { |
| sameAsLast = true; |
| } |
| |
| this.lastValue = input; |
| return sameAsLast ? result : this.xf['@@transducer/step'](result, input); |
| }; |
| |
| return XDropRepeatsWith; |
| }(); |
| |
| var _xdropRepeatsWith = |
| /*#__PURE__*/ |
| _curry2(function _xdropRepeatsWith(pred, xf) { |
| return new XDropRepeatsWith(pred, xf); |
| }); |
| |
| module.exports = _xdropRepeatsWith; |