UNPKG

@featurevisor/core

Version:

Core package of Featurevisor for Node.js usage

38 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllocation = getAllocation; exports.getUpdatedAvailableRangesAfterFilling = getUpdatedAvailableRangesAfterFilling; function getAllocation(availableRanges, fill) { const result = []; let remaining = fill; let i = 0; while (remaining > 0 && i < availableRanges.length) { const range = availableRanges[i]; const [start, end] = range; const rangeFill = Math.min(remaining, end - start); result.push([start, start + rangeFill]); remaining -= rangeFill; i++; } return result; } function getUpdatedAvailableRangesAfterFilling(availableRanges, fill) { if (fill === 0) { return availableRanges; } const result = []; let remaining = fill; let i = 0; while (remaining > 0 && i < availableRanges.length) { const range = availableRanges[i]; const [start, end] = range; const rangeFill = Math.min(remaining, end - start); if (rangeFill < end - start) { result.push([start + rangeFill, end]); } remaining -= rangeFill; i++; } return result; } //# sourceMappingURL=allocator.js.map