new js rewriter

This commit is contained in:
velzie 2024-07-16 12:40:05 -04:00
parent d4abce1457
commit 3e54301a30
No known key found for this signature in database
GPG key ID: 048413F95F0DDE1F

View file

@ -23,10 +23,36 @@ initSync(new WebAssembly.Module(
Uint8Array.from(atob(self.WASM), c => c.charCodeAt(0))
))
export function rewriteJs(js: string) {
const f = rewrite_js(js);
export function rewriteJs(js: string | ArrayBuffer) {
let rewrites;
return f
let before = performance.now();
if (typeof js === "string") {
rewrites = rewrite_js(js);
} else {
js = new TextDecoder().decode(js);
rewrites = rewrite_js(js);
}
let after = performance.now();
console.log("Rewrite took", Math.floor((after - before) * 10) / 10, "ms");
let offset = 0;
for (const rewrite of rewrites) {
if (rewrite.genericchange) {
let change = rewrite.genericchange;
let start = change.span.start + offset;
let end = change.span.end + offset;
let len = end - start;
js = js.slice(0, start) + change.text + js.slice(end);
offset += change.text.length - len;
}
}
return js;
// console.log(f)
//