import curry2 from "../function/curry2";
/**
* Splits a list into a groups of smaller lists with the provided size.
* <pre>
* chunk(2, [1, 2, 3, 4, 5, 6, 7]);
* // returns:
* // [[1, 2], [3, 4], [5, 6], [7]]
* </pre>
*
* @param {number} size
* @param {any[]} list
* @returns {any[]}
*/
const chunk = (size, list) => {
if (size < 1) {
throw new Error("Size must be a positive integer");
}
const result = [];
let begin = 0,
end = size;
while (begin < list.length) {
result.push(list.slice(begin, end));
begin += size;
end += size;
}
return result;
};
export default curry2(chunk);