@nodesecure/js-x-ray
Version:
JavaScript AST XRay analysis
20 lines • 624 B
JavaScript
import { InlinedNew } from "../InlinedNew.js";
import { walkEnter } from "../walker/index.js";
export class Inline {
name = "inline";
walk(body) {
const hoisted = [];
walkEnter(body, function walk(node) {
if (Array.isArray(node)) {
return;
}
const split = InlinedNew.split(node);
if (split?.rebuildExpression) {
hoisted.push(split.virtualDeclaration);
this.replaceAndSkip(split.rebuildExpression);
}
});
return [...hoisted, ...body];
}
}
//# sourceMappingURL=inline.js.map