UNPKG

typedash

Version:

modern, type-safe collection of utility functions

1 lines 1.05 kB
{"version":3,"sources":["../../src/functions/chunk/chunk.ts"],"names":[],"mappings":";AAYO,SAAS,MAAS,OAA4B,MAAqB;AACxE,MAAI,SAAS,MAAM;AACjB,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,SAAS,CAAC;AAChB,WAAS,QAAQ,GAAG,QAAQ,MAAM,QAAQ,SAAS,MAAM;AACvD,WAAO,KAAK,MAAM,MAAM,OAAO,QAAQ,IAAI,CAAC;AAAA,EAC9C;AAEA,SAAO;AACT;AAKO,IAAM,aAAa","sourcesContent":["import { Maybe } from '../../types';\n\n/**\n * Splits an array into chunks of the given size.\n * @param array The array to split.\n * @param size The maximum size of each chunk.\n * @returns An array of arrays where each sub-array has at most `size` elements.\n * @example\n * ```ts\n * chunk([1, 2, 3, 4, 5], 2) // [[1, 2], [3, 4], [5]]\n * ```\n */\nexport function chunk<T>(array: Maybe<readonly T[]>, size: number): T[][] {\n if (array == null) {\n return [];\n }\n\n const chunks = [];\n for (let index = 0; index < array.length; index += size) {\n chunks.push(array.slice(index, index + size));\n }\n\n return chunks;\n}\n\n/**\n * Alias for {@link chunk}.\n */\nexport const chunkArray = chunk;\n"]}