{"version":3,"file":"removeItems.mjs","sources":["../../../src/utils/data/removeItems.ts"],"sourcesContent":["/**\n * Remove items from a javascript array without generating garbage\n * @function removeItems\n * @category utils\n * @internal\n * @param {Array<any>} arr - Array to remove elements from\n * @param {number} startIdx - starting index\n * @param {number} removeCount - how many to remove\n */\nexport function removeItems(arr: any[], startIdx: number, removeCount: number): void\n{\n    const length = arr.length;\n    let i;\n\n    if (startIdx >= length || removeCount === 0)\n    {\n        return;\n    }\n\n    removeCount = (startIdx + removeCount > length ? length - startIdx : removeCount);\n\n    const len = length - removeCount;\n\n    for (i = startIdx; i < len; ++i)\n    {\n        arr[i] = arr[i + removeCount];\n    }\n\n    arr.length = len;\n}\n"],"names":[],"mappings":";AASO,SAAS,WAAA,CAAY,GAAA,EAAY,QAAA,EAAkB,WAAA,EAC1D;AACI,EAAA,MAAM,SAAS,GAAA,CAAI,MAAA;AACnB,EAAA,IAAI,CAAA;AAEJ,EAAA,IAAI,QAAA,IAAY,MAAA,IAAU,WAAA,KAAgB,CAAA,EAC1C;AACI,IAAA;AAAA,EACJ;AAEA,EAAA,WAAA,GAAe,QAAA,GAAW,WAAA,GAAc,MAAA,GAAS,MAAA,GAAS,QAAA,GAAW,WAAA;AAErE,EAAA,MAAM,MAAM,MAAA,GAAS,WAAA;AAErB,EAAA,KAAK,CAAA,GAAI,QAAA,EAAU,CAAA,GAAI,GAAA,EAAK,EAAE,CAAA,EAC9B;AACI,IAAA,GAAA,CAAI,CAAC,CAAA,GAAI,GAAA,CAAI,CAAA,GAAI,WAAW,CAAA;AAAA,EAChC;AAEA,EAAA,GAAA,CAAI,MAAA,GAAS,GAAA;AACjB;;;;"}