🎉 initiate project *astro_rewrite*
This commit is contained in:
parent
ffd4d5e86c
commit
2ba37bfbe3
8658 changed files with 2268794 additions and 2538 deletions
50
node_modules/@babel/helper-hoist-variables/lib/index.js
generated
vendored
Normal file
50
node_modules/@babel/helper-hoist-variables/lib/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = hoistVariables;
|
||||
var _t = require("@babel/types");
|
||||
const {
|
||||
assignmentExpression,
|
||||
expressionStatement,
|
||||
identifier
|
||||
} = _t;
|
||||
const visitor = {
|
||||
Scope(path, state) {
|
||||
if (state.kind === "let") path.skip();
|
||||
},
|
||||
FunctionParent(path) {
|
||||
path.skip();
|
||||
},
|
||||
VariableDeclaration(path, state) {
|
||||
if (state.kind && path.node.kind !== state.kind) return;
|
||||
const nodes = [];
|
||||
const declarations = path.get("declarations");
|
||||
let firstId;
|
||||
for (const declar of declarations) {
|
||||
firstId = declar.node.id;
|
||||
if (declar.node.init) {
|
||||
nodes.push(expressionStatement(assignmentExpression("=", declar.node.id, declar.node.init)));
|
||||
}
|
||||
for (const name of Object.keys(declar.getBindingIdentifiers())) {
|
||||
state.emit(identifier(name), name, declar.node.init !== null);
|
||||
}
|
||||
}
|
||||
if (path.parentPath.isFor({
|
||||
left: path.node
|
||||
})) {
|
||||
path.replaceWith(firstId);
|
||||
} else {
|
||||
path.replaceWithMultiple(nodes);
|
||||
}
|
||||
}
|
||||
};
|
||||
function hoistVariables(path, emit, kind = "var") {
|
||||
path.traverse(visitor, {
|
||||
kind,
|
||||
emit
|
||||
});
|
||||
}
|
||||
|
||||
//# sourceMappingURL=index.js.map
|
||||
Loading…
Add table
Add a link
Reference in a new issue