Rich-Harris / magic-string

Manipulate strings like a wizard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bug: Incorrect error message on negative start position for `remove`

rschristian opened this issue · comments

import MagicString from 'https://esm.sh/magic-string';

const s = new MagicString('problems = 99');

s.remove(-1, 5);

Uncaught Error: end must be greater than start

Lead me on a bit of a wild goose chase before I realized the issue was with the start position, not that the end was somehow less than the start.

It seems it works like String::slice.

remove(start, end) {
while (start < 0) start += this.original.length;
while (end < 0) end += this.original.length;