@rashedmakkouk/dev-utils
Version:
Utility library.
24 lines (23 loc) • 800 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const isArray_1 = __importDefault(require("lodash/isArray"));
/**
* Splits any array to chunks by supplied size.
*
* @returns New array chunks.
*/
function splitArray(array, size) {
if (!size || !Number(size) || !(0, isArray_1.default)(array)) {
return [];
}
const length = Math.ceil(array.length / size);
return Array.from({ length }, (value, index) => {
const count = index * size;
/* eslint-disable-next-line @typescript-eslint/no-unsafe-return */
return array.slice(count, count + size);
});
}
exports.default = splitArray;