@aws/pdk
Version:
All documentation is located at: https://aws.github.io/aws-pdk
43 lines (37 loc) • 1.04 kB
JavaScript
var _forceReduced =
/*#__PURE__*/
require("./_forceReduced.js");
var _isArrayLike =
/*#__PURE__*/
require("./_isArrayLike.js");
var _reduce =
/*#__PURE__*/
require("./_reduce.js");
var _xfBase =
/*#__PURE__*/
require("./_xfBase.js");
var preservingReduced = function (xf) {
return {
'@@transducer/init': _xfBase.init,
'@@transducer/result': function (result) {
return xf['@@transducer/result'](result);
},
'@@transducer/step': function (result, input) {
var ret = xf['@@transducer/step'](result, input);
return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;
}
};
};
var _flatCat = function _xcat(xf) {
var rxf = preservingReduced(xf);
return {
'@@transducer/init': _xfBase.init,
'@@transducer/result': function (result) {
return rxf['@@transducer/result'](result);
},
'@@transducer/step': function (result, input) {
return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input);
}
};
};
module.exports = _flatCat;