Website Structure
This commit is contained in:
parent
62812f2090
commit
71f0676a62
22365 changed files with 4265753 additions and 791 deletions
41
Frontend-Learner/node_modules/oxc-parser/src-js/visit/index.js
generated
vendored
Normal file
41
Frontend-Learner/node_modules/oxc-parser/src-js/visit/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import { createRequire } from "node:module";
|
||||
|
||||
// Lazy-loaded when first construct a `Visitor`
|
||||
let walkProgram = null,
|
||||
addVisitorToCompiled,
|
||||
createCompiledVisitor,
|
||||
finalizeCompiledVisitor;
|
||||
|
||||
/**
|
||||
* Visitor class for traversing AST.
|
||||
*/
|
||||
export class Visitor {
|
||||
#compiledVisitor = null;
|
||||
|
||||
constructor(visitor) {
|
||||
if (walkProgram === null) {
|
||||
const require = createRequire(import.meta.url);
|
||||
({ walkProgram } = require("../../generated/visit/walk.js"));
|
||||
({
|
||||
addVisitorToCompiled,
|
||||
createCompiledVisitor,
|
||||
finalizeCompiledVisitor,
|
||||
} = require("./visitor.js"));
|
||||
}
|
||||
|
||||
const compiledVisitor = createCompiledVisitor();
|
||||
addVisitorToCompiled(visitor);
|
||||
const needsVisit = finalizeCompiledVisitor();
|
||||
if (needsVisit) this.#compiledVisitor = compiledVisitor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Visit AST.
|
||||
* @param program - The AST to visit.
|
||||
* @returns {undefined}
|
||||
*/
|
||||
visit(program) {
|
||||
const compiledVisitor = this.#compiledVisitor;
|
||||
if (compiledVisitor !== null) walkProgram(program, compiledVisitor);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue