/** * Get the count of the longest repeating streak of `substring` in `value`. * * @param {string} value * Content to search in. * @param {string} substring * Substring to look for, typically one character. * @returns {number} * Count of most frequent adjacent `substring`s in `value`. */ export function longestStreak(value, substring) { const source = String(value) let index = source.indexOf(substring) let expected = index let count = 0 let max = 0 if (typeof substring !== 'string') { throw new TypeError('Expected substring') } while (index !== -1) { if (index === expected) { if (++count > max) { max = count } } else { count = 1 } expected = index + substring.length index = source.indexOf(substring, expected) } return max }