123456789101112131415161718192021222324 |
- // 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
- }
|