mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-25 09:55:15 +00:00
25 lines
577 B
JavaScript
25 lines
577 B
JavaScript
|
// this is the only approach that was significantly faster than using
|
||
|
// str.replace(/\/+$/, '') for strings ending with a lot of / chars and
|
||
|
// containing multiple / chars.
|
||
|
const batchStrings = [
|
||
|
'/'.repeat(1024),
|
||
|
'/'.repeat(512),
|
||
|
'/'.repeat(256),
|
||
|
'/'.repeat(128),
|
||
|
'/'.repeat(64),
|
||
|
'/'.repeat(32),
|
||
|
'/'.repeat(16),
|
||
|
'/'.repeat(8),
|
||
|
'/'.repeat(4),
|
||
|
'/'.repeat(2),
|
||
|
'/',
|
||
|
]
|
||
|
|
||
|
module.exports = str => {
|
||
|
for (const s of batchStrings) {
|
||
|
while (str.length >= s.length && str.slice(-1 * s.length) === s)
|
||
|
str = str.slice(0, -1 * s.length)
|
||
|
}
|
||
|
return str
|
||
|
}
|