123456789101112131415161718192021222324252627282930313233343536373839 |
- import _curry3 from "./_curry3.js";
- import _xfBase from "./_xfBase.js";
- var tInit = '@@transducer/init';
- var tStep = '@@transducer/step';
- var XScan =
- /*#__PURE__*/
- function () {
- function XScan(reducer, acc, xf) {
- this.xf = xf;
- this.f = reducer;
- this.acc = acc;
- }
- XScan.prototype[tInit] = function () {
- return this.xf[tStep](this.xf[tInit](), this.acc);
- };
- XScan.prototype['@@transducer/result'] = _xfBase.result;
- XScan.prototype[tStep] = function (result, input) {
- if (result['@@transducer/reduced']) {
- return result;
- }
- this.acc = this.f(this.acc, input);
- return this.xf[tStep](result, this.acc);
- };
- return XScan;
- }();
- var _xscan =
- /*#__PURE__*/
- _curry3(function _xscan(reducer, acc, xf) {
- return new XScan(reducer, acc, xf);
- });
- export default _xscan;
|