Skip to content

⬅️ Back to Table of Contents

📄 ImportVisitor

📊 Analysis Summary

Metric Count
🔧 Functions 5
🧱 Classes 1
📦 Imports 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

Functions

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

Parameters:

  • referencer Referencer
  • declaration TSESTree.ImportDeclaration

Returns: void

Calls:

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

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

Parameters:

  • node TSESTree.ImportDefaultSpecifier

Returns: void

Calls:

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

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

Parameters:

  • node TSESTree.ImportNamespaceSpecifier

Returns: void

Calls:

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

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

Parameters:

  • node TSESTree.ImportSpecifier

Returns: void

Calls:

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

ImportVisitor.visitImport(id: TSESTree.Identifier, specifier: | TSESTree.ImportDefaultSpecifier | TSE…): void

Parameters:

  • id TSESTree.Identifier
  • specifier | TSESTree.ImportDefaultSpecifier | TSESTree.ImportNamespaceSpecifier | TSESTree.ImportSpecifier

Returns: void

Calls:

  • this.#referencer .currentScope() .defineIdentifier
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),
      );
  }

Classes

ImportVisitor

Extends: Visitor

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 (5) — full entries under Functions

Method Signature
visit (referencer: Referencer, declaration: TSESTree.ImportDeclaration): void
ImportDefaultSpecifier (node: TSESTree.ImportDefaultSpecifier): void
ImportNamespaceSpecifier (node: TSESTree.ImportNamespaceSpecifier): void
ImportSpecifier (node: TSESTree.ImportSpecifier): void
visitImport (id: TSESTree.Identifier, specifier: \| TSESTree.ImportDefaultSpecifier \| TSESTree.ImportNamespa...

Generated by Syntax Scribe