UNPKG

@zkochan/pnpm

Version:

Fast, disk space efficient package manager

32 lines (29 loc) 951 B
import _forceReduced from './_forceReduced'; import _isArrayLike from './_isArrayLike'; import _reduce from './_reduce'; import _xfBase from './_xfBase'; 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); } }; }; export default _flatCat;