Skip to content

⬅️ Back to Table of Contents

📄 ImportVisitor.ts

📊 Analysis Summary

Metric Count
🔧 Functions 5
🧱 Classes 1
📦 Imports 4
📊 Variables & Constants 4

📚 Table of Contents

🛠️ File Location:

📂 packages/scope-manager/src/referencer/ImportVisitor.ts

📦 Imports

Name Source
TSESTree @typescript-eslint/types
Referencer ./Referencer
ImportBindingDefinition ../definition
Visitor ./Visitor

Variables & Constants

Name Type Kind Value Exported
importReferencer ImportVisitor const new ImportVisitor(declaration, referencer)
local any const node.local
local any const node.local
local any const node.local

Functions

ImportVisitor.visit(referencer: Referencer, declaration: TSESTree.ImportDeclaration): void

Code
static visit(
    referencer: Referencer,
    declaration: TSESTree.ImportDeclaration,
  ): void {
    const importReferencer = new ImportVisitor(declaration, referencer);
    importReferencer.visit(declaration);
  }
  • Parameters:
  • referencer: Referencer
  • declaration: TSESTree.ImportDeclaration
  • Return Type: void
  • Calls:
  • importReferencer.visit

ImportVisitor.ImportDefaultSpecifier(node: TSESTree.ImportDefaultSpecifier): void

Code
protected ImportDefaultSpecifier(
    node: TSESTree.ImportDefaultSpecifier,
  ): void {
    const local = node.local;
    this.visitImport(local, node);
  }
  • Parameters:
  • node: TSESTree.ImportDefaultSpecifier
  • Return Type: void
  • Calls:
  • this.visitImport

ImportVisitor.ImportNamespaceSpecifier(node: TSESTree.ImportNamespaceSpecifier): void

Code
protected ImportNamespaceSpecifier(
    node: TSESTree.ImportNamespaceSpecifier,
  ): void {
    const local = node.local;
    this.visitImport(local, node);
  }
  • Parameters:
  • node: TSESTree.ImportNamespaceSpecifier
  • Return Type: void
  • Calls:
  • this.visitImport

ImportVisitor.ImportSpecifier(node: TSESTree.ImportSpecifier): void

Code
protected ImportSpecifier(node: TSESTree.ImportSpecifier): void {
    const local = node.local;
    this.visitImport(local, node);
  }
  • Parameters:
  • node: TSESTree.ImportSpecifier
  • Return Type: void
  • Calls:
  • this.visitImport

`ImportVisitor.visitImport(id: TSESTree.Identifier, specifier: | TSESTree.ImportDefaultSpecifier

  | TSESTree.ImportNamespaceSpecifier
  | TSESTree.ImportSpecifier): void`
Code
protected visitImport(
    id: TSESTree.Identifier,
    specifier:
      | TSESTree.ImportDefaultSpecifier
      | TSESTree.ImportNamespaceSpecifier
      | TSESTree.ImportSpecifier,
  ): void {
    this.#referencer
      .currentScope()
      .defineIdentifier(
        id,
        new ImportBindingDefinition(id, specifier, this.#declaration),
      );
  }
  • Parameters:
  • id: TSESTree.Identifier
  • specifier: | TSESTree.ImportDefaultSpecifier | TSESTree.ImportNamespaceSpecifier | TSESTree.ImportSpecifier
  • Return Type: void
  • Calls:
  • this.#referencer .currentScope() .defineIdentifier

Classes

ImportVisitor

Class Code
export class ImportVisitor extends Visitor {
  readonly #declaration: TSESTree.ImportDeclaration;
  readonly #referencer: Referencer;

  constructor(declaration: TSESTree.ImportDeclaration, referencer: Referencer) {
    super(referencer);
    this.#declaration = declaration;
    this.#referencer = referencer;
  }

  static visit(
    referencer: Referencer,
    declaration: TSESTree.ImportDeclaration,
  ): void {
    const importReferencer = new ImportVisitor(declaration, referencer);
    importReferencer.visit(declaration);
  }

  protected ImportDefaultSpecifier(
    node: TSESTree.ImportDefaultSpecifier,
  ): void {
    const local = node.local;
    this.visitImport(local, node);
  }

  protected ImportNamespaceSpecifier(
    node: TSESTree.ImportNamespaceSpecifier,
  ): void {
    const local = node.local;
    this.visitImport(local, node);
  }

  protected ImportSpecifier(node: TSESTree.ImportSpecifier): void {
    const local = node.local;
    this.visitImport(local, node);
  }

  protected visitImport(
    id: TSESTree.Identifier,
    specifier:
      | TSESTree.ImportDefaultSpecifier
      | TSESTree.ImportNamespaceSpecifier
      | TSESTree.ImportSpecifier,
  ): void {
    this.#referencer
      .currentScope()
      .defineIdentifier(
        id,
        new ImportBindingDefinition(id, specifier, this.#declaration),
      );
  }
}

Methods

visit(referencer: Referencer, declaration: TSESTree.ImportDeclaration): void
Code
static visit(
    referencer: Referencer,
    declaration: TSESTree.ImportDeclaration,
  ): void {
    const importReferencer = new ImportVisitor(declaration, referencer);
    importReferencer.visit(declaration);
  }
ImportDefaultSpecifier(node: TSESTree.ImportDefaultSpecifier): void
Code
protected ImportDefaultSpecifier(
    node: TSESTree.ImportDefaultSpecifier,
  ): void {
    const local = node.local;
    this.visitImport(local, node);
  }
ImportNamespaceSpecifier(node: TSESTree.ImportNamespaceSpecifier): void
Code
protected ImportNamespaceSpecifier(
    node: TSESTree.ImportNamespaceSpecifier,
  ): void {
    const local = node.local;
    this.visitImport(local, node);
  }
ImportSpecifier(node: TSESTree.ImportSpecifier): void
Code
protected ImportSpecifier(node: TSESTree.ImportSpecifier): void {
    const local = node.local;
    this.visitImport(local, node);
  }
`visitImport(id: TSESTree.Identifier, specifier: | TSESTree.ImportDefaultSpecifier
  | TSESTree.ImportNamespaceSpecifier
  | TSESTree.ImportSpecifier): void`
Code
protected visitImport(
    id: TSESTree.Identifier,
    specifier:
      | TSESTree.ImportDefaultSpecifier
      | TSESTree.ImportNamespaceSpecifier
      | TSESTree.ImportSpecifier,
  ): void {
    this.#referencer
      .currentScope()
      .defineIdentifier(
        id,
        new ImportBindingDefinition(id, specifier, this.#declaration),
      );
  }