{"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 * @memberof utils\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":";AAQgB,SAAA,WAAA,CAAY,GAAY,EAAA,QAAA,EAAkB,WAC1D,EAAA;AACI,EAAA,MAAM,SAAS,GAAI,CAAA,MAAA,CAAA;AACnB,EAAI,IAAA,CAAA,CAAA;AAEJ,EAAI,IAAA,QAAA,IAAY,MAAU,IAAA,WAAA,KAAgB,CAC1C,EAAA;AACI,IAAA,OAAA;AAAA,GACJ;AAEA,EAAA,WAAA,GAAe,QAAW,GAAA,WAAA,GAAc,MAAS,GAAA,MAAA,GAAS,QAAW,GAAA,WAAA,CAAA;AAErE,EAAA,MAAM,MAAM,MAAS,GAAA,WAAA,CAAA;AAErB,EAAA,KAAK,CAAI,GAAA,QAAA,EAAU,CAAI,GAAA,GAAA,EAAK,EAAE,CAC9B,EAAA;AACI,IAAA,GAAA,CAAI,CAAC,CAAA,GAAI,GAAI,CAAA,CAAA,GAAI,WAAW,CAAA,CAAA;AAAA,GAChC;AAEA,EAAA,GAAA,CAAI,MAAS,GAAA,GAAA,CAAA;AACjB;;;;"}