UNPKG

@arrows/array

Version:
25 lines (24 loc) 746 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.chunk_ = void 0; const curry_1 = require("@arrows/composition/curry"); const _chunk_ = (chunkSize, arr) => { if (chunkSize <= 0) { throw new Error("Chunk size has to be greater than 0."); } const chunks = new Array(Math.ceil(arr.length / chunkSize)); for (let i = 0, j = 0; i < arr.length; i = i + chunkSize, j++) { chunks[j] = arr.slice(i, i + chunkSize); } return chunks; }; /** * Splits the array into chunks of a provided size. * * @param chunkSize Chunk size * @param arr Initial array * @returns New array of chunks */ const chunk_ = curry_1.curry(_chunk_); exports.chunk_ = chunk_; exports.default = chunk_;