35 lines
No EOL
1.2 KiB
JavaScript
35 lines
No EOL
1.2 KiB
JavaScript
import _forceReduced from "./_forceReduced.js";
|
|
import _isArrayLike from "./_isArrayLike.js";
|
|
import _xArrayReduce from "./_xArrayReduce.js";
|
|
import _xReduce from "./_xReduce.js";
|
|
import _xfBase from "./_xfBase.js";
|
|
var tInit = '@@transducer/init';
|
|
var tStep = '@@transducer/step';
|
|
var tResult = '@@transducer/result';
|
|
var XPreservingReduced = /*#__PURE__*/function () {
|
|
function XPreservingReduced(xf) {
|
|
this.xf = xf;
|
|
}
|
|
XPreservingReduced.prototype[tInit] = _xfBase.init;
|
|
XPreservingReduced.prototype[tResult] = _xfBase.result;
|
|
XPreservingReduced.prototype[tStep] = function (result, input) {
|
|
var ret = this.xf[tStep](result, input);
|
|
return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;
|
|
};
|
|
return XPreservingReduced;
|
|
}();
|
|
var XFlatCat = /*#__PURE__*/function () {
|
|
function XFlatCat(xf) {
|
|
this.xf = new XPreservingReduced(xf);
|
|
}
|
|
XFlatCat.prototype[tInit] = _xfBase.init;
|
|
XFlatCat.prototype[tResult] = _xfBase.result;
|
|
XFlatCat.prototype[tStep] = function (result, input) {
|
|
return !_isArrayLike(input) ? _xArrayReduce(this.xf, result, [input]) : _xReduce(this.xf, result, input);
|
|
};
|
|
return XFlatCat;
|
|
}();
|
|
var _flatCat = function _xcat(xf) {
|
|
return new XFlatCat(xf);
|
|
};
|
|
export default _flatCat; |