UNPKG

rsuite-theme

Version:
39 lines (30 loc) 715 B
'use strict'; /* Expose. */ module.exports = longestStreak; /* Get the count of the longest repeating streak of * `character` in `value`. */ function longestStreak(value, character) { var count = 0; var maximum = 0; var expected; var index; if (typeof character !== 'string' || character.length !== 1) { throw new Error('Expected character'); } value = String(value); index = value.indexOf(character); expected = index; while (index !== -1) { count++; if (index === expected) { if (count > maximum) { maximum = count; } } else { count = 1; } expected = index + 1; index = value.indexOf(character, expected); } return maximum; }