@unction/reducewithvaluekey
Advanced tools
Comparing version 4.40.0 to 5.0.0
{ | ||
"name": "@unction/reducewithvaluekey", | ||
"version": "4.40.0", | ||
"version": "5.0.0", | ||
"description": "Reduces over a functor, providing the reducer with the value and key", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -21,73 +21,2 @@ "use strict"; | ||
var arrayReduce = function arrayReduce(unction) { | ||
return function (initial) { | ||
return function (array) { | ||
return array.reduce(function (accumulated, value, key) { | ||
return unction(accumulated)(value)(key); | ||
}, initial); | ||
}; | ||
}; | ||
}; | ||
var setReduce = function setReduce(unction) { | ||
return function (initial) { | ||
return function (set) { | ||
return (0, _fromfunctortopairs2.default)(set).reduce(function (accumulated, _ref) { | ||
var _ref2 = _slicedToArray(_ref, 2), | ||
key = _ref2[0], | ||
value = _ref2[1]; | ||
return unction(accumulated)(value)(key); | ||
}, initial); | ||
}; | ||
}; | ||
}; | ||
var objectReduce = function objectReduce(unction) { | ||
return function (initial) { | ||
return function (object) { | ||
return (0, _fromfunctortopairs2.default)(object).reduce(function (accumulated, _ref3) { | ||
var _ref4 = _slicedToArray(_ref3, 2), | ||
key = _ref4[0], | ||
value = _ref4[1]; | ||
return unction(accumulated)(value)(key); | ||
}, initial); | ||
}; | ||
}; | ||
}; | ||
var mapReduce = function mapReduce(unction) { | ||
return function (initial) { | ||
return function (map) { | ||
return (0, _fromfunctortopairs2.default)(map).reduce(function (accumulated, _ref5) { | ||
var _ref6 = _slicedToArray(_ref5, 2), | ||
key = _ref6[0], | ||
value = _ref6[1]; | ||
return unction(accumulated)(value)(key); | ||
}, initial); | ||
}; | ||
}; | ||
}; | ||
var streamReduce = function streamReduce(unction) { | ||
return function (initial) { | ||
return function (stream) { | ||
return stream.fold(function (accumulated, value) { | ||
return unction(accumulated)(value)(null); | ||
}, initial); | ||
}; | ||
}; | ||
}; | ||
var stringReduce = function stringReduce(unction) { | ||
return function (initial) { | ||
return function (string) { | ||
return (0, _fromfunctortopairs2.default)(string.split("")).reduce(function (accumulated, _ref7) { | ||
var _ref8 = _slicedToArray(_ref7, 2), | ||
key = _ref8[0], | ||
value = _ref8[1]; | ||
return unction(accumulated)(value)(key); | ||
}, initial); | ||
}; | ||
}; | ||
}; | ||
function reduceWithValueKey(reducer) { | ||
@@ -99,24 +28,56 @@ return function reduceWithValueKeyUnction(initial) { | ||
{ | ||
return arrayReduce(reducer)(initial)(functor); | ||
return functor.reduce(function (accumulated, value, key) { | ||
return reducer(accumulated)(value)(key); | ||
}, initial); | ||
} | ||
case "Object": | ||
{ | ||
return objectReduce(reducer)(initial)(functor); | ||
return (0, _fromfunctortopairs2.default)(functor).reduce(function (accumulated, _ref) { | ||
var _ref2 = _slicedToArray(_ref, 2), | ||
key = _ref2[0], | ||
value = _ref2[1]; | ||
return reducer(accumulated)(value)(key); | ||
}, initial); | ||
} | ||
case "Set": | ||
{ | ||
return setReduce(reducer)(initial)(functor); | ||
return (0, _fromfunctortopairs2.default)(functor).reduce(function (accumulated, _ref3) { | ||
var _ref4 = _slicedToArray(_ref3, 2), | ||
value = _ref4[1]; | ||
return reducer(accumulated)(value)(); | ||
}, initial); | ||
} | ||
case "Map": | ||
{ | ||
return mapReduce(reducer)(initial)(functor); | ||
return (0, _fromfunctortopairs2.default)(functor).reduce(function (accumulated, _ref5) { | ||
var _ref6 = _slicedToArray(_ref5, 2), | ||
key = _ref6[0], | ||
value = _ref6[1]; | ||
return reducer(accumulated)(value)(key); | ||
}, initial); | ||
} | ||
case "Stream": | ||
{ | ||
return functor.fold(function (accumulated, value) { | ||
return reducer(accumulated)(value)(); | ||
}, initial); | ||
} | ||
case "MemoryStream": | ||
{ | ||
return streamReduce(reducer)(initial)(functor); | ||
return functor.fold(function (accumulated, value) { | ||
return reducer(accumulated)(value)(); | ||
}, initial); | ||
} | ||
case "String": | ||
{ | ||
return stringReduce(reducer)(initial)(functor); | ||
return (0, _fromfunctortopairs2.default)(functor.split("")).reduce(function (accumulated, _ref7) { | ||
var _ref8 = _slicedToArray(_ref7, 2), | ||
key = _ref8[0], | ||
value = _ref8[1]; | ||
return reducer(accumulated)(value)(key); | ||
}, initial); | ||
} | ||
@@ -123,0 +84,0 @@ default: |
7070
77