UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

32 lines (31 loc) 617 B
//#region src/array/internals/range.ts function createRange() { return []; } function hasRange(range) { return range.length > 0; } function addRange(range, idx) { let i = range.length; while (i--) { const v = range[i]; if (v === idx) return; if (idx < v) return void range.splice(i, 0, idx); } range.push(idx); } function spliceRange(target, range) { let i = range.length; while (i--) { let start = range[i]; let len = 1; while (range[i - 1] === start - 1) { start--; len++; i--; } target.splice(start, len); } } //#endregion export { addRange, createRange, hasRange, spliceRange };