UNPKG

datamodel

Version:

Relational algebra compliant in-memory tabular data store

23 lines (22 loc) 770 B
/** * Iterates through the diffSet array and call the callback with the current * index. * * @param {string} rowDiffset - The row diffset string e.g. '0-4,6,10-13'. * @param {Function} callback - The callback function to be called with every index. */ export function rowDiffsetIterator (rowDiffset, callback) { if (rowDiffset.length > 0) { const rowDiffArr = rowDiffset.split(','); rowDiffArr.forEach((diffStr) => { const diffStsArr = diffStr.split('-'); const start = +(diffStsArr[0]); const end = +(diffStsArr[1] || diffStsArr[0]); if (end >= start) { for (let i = start; i <= end; i += 1) { callback(i); } } }); } }