📄 Visitor.ts¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 1 |
| 🧱 Classes | 1 |
| 📦 Imports | 6 |
| 📊 Variables & Constants | 1 |
| 🔄 Re-exports | 1 |
| 📐 Interfaces | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/scope-manager/src/referencer/Visitor.ts
📦 Imports¶
| Name | Source |
|---|---|
TSESTree |
@typescript-eslint/types |
PatternVisitorCallback |
./PatternVisitor |
PatternVisitorOptions |
./PatternVisitor |
VisitorOptions |
./VisitorBase |
PatternVisitor |
./PatternVisitor |
VisitorBase |
./VisitorBase |
Variables & Constants¶
| Name | Type | Kind | Value | Exported |
|---|---|---|---|---|
visitor |
PatternVisitor |
const | new PatternVisitor(this.#options, node, callback) |
✗ |
Re-exports¶
| Type | Source | Exported Names |
|---|---|---|
| named | ./VisitorBase |
VisitorBase, VisitorOptions |
Functions¶
Visitor.visitPattern(node: TSESTree.Node, callback: PatternVisitorCallback, options: VisitPatternOptions): void¶
Code
protected visitPattern(
node: TSESTree.Node,
callback: PatternVisitorCallback,
options: VisitPatternOptions = { processRightHandNodes: false },
): void {
// Call the callback at left hand identifier nodes, and Collect right hand nodes.
const visitor = new PatternVisitor(this.#options, node, callback);
visitor.visit(node);
// Process the right hand nodes recursively.
if (options.processRightHandNodes) {
visitor.rightHandNodes.forEach(this.visit, this);
}
}
- Parameters:
node: TSESTree.Nodecallback: PatternVisitorCallbackoptions: VisitPatternOptions- Return Type:
void - Calls:
visitor.visitvisitor.rightHandNodes.forEach- Internal Comments:
Classes¶
Visitor¶
Class Code
export class Visitor extends VisitorBase {
readonly #options: VisitorOptions;
constructor(optionsOrVisitor: Visitor | VisitorOptions) {
super(
optionsOrVisitor instanceof Visitor
? optionsOrVisitor.#options
: optionsOrVisitor,
);
this.#options =
optionsOrVisitor instanceof Visitor
? optionsOrVisitor.#options
: optionsOrVisitor;
}
protected visitPattern(
node: TSESTree.Node,
callback: PatternVisitorCallback,
options: VisitPatternOptions = { processRightHandNodes: false },
): void {
// Call the callback at left hand identifier nodes, and Collect right hand nodes.
const visitor = new PatternVisitor(this.#options, node, callback);
visitor.visit(node);
// Process the right hand nodes recursively.
if (options.processRightHandNodes) {
visitor.rightHandNodes.forEach(this.visit, this);
}
}
}
Methods¶
visitPattern(node: TSESTree.Node, callback: PatternVisitorCallback, options: VisitPatternOptions): void¶
Code
protected visitPattern(
node: TSESTree.Node,
callback: PatternVisitorCallback,
options: VisitPatternOptions = { processRightHandNodes: false },
): void {
// Call the callback at left hand identifier nodes, and Collect right hand nodes.
const visitor = new PatternVisitor(this.#options, node, callback);
visitor.visit(node);
// Process the right hand nodes recursively.
if (options.processRightHandNodes) {
visitor.rightHandNodes.forEach(this.visit, this);
}
}
Interfaces¶
VisitPatternOptions¶
Interface Code
Properties¶
| Name | Type | Optional | Description |
|---|---|---|---|
processRightHandNodes |
boolean |
✓ |