123456789101112131415161718192021222324252627282930313233343536 |
- /**
- * 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
- }
|