Skip to content

⬅️ Back to Table of Contents

📄 SourceCode

📊 Analysis Summary

Metric Count
🔧 Functions 35
🧱 Classes 3
📦 Imports 5
📐 Interfaces 2
📑 Type Aliases 7

📚 Table of Contents

🛠️ File Location:

📂 packages/utils/src/ts-eslint/SourceCode.ts

📦 Imports

Name Source
ESLintSourceCode eslint
ParserServices ../ts-estree
TSESTree ../ts-estree
Parser ./Parser
Scope ./Scope

Functions

TokenStore.commentsExistBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token): boolean

Checks whether any comments exist or not between the given 2 nodes.

Parameters:

  • left any: The node to check.
  • right any: The node to check.

Returns: undefined true if one or more comments exist.

Raw JSDoc
/**
   * Checks whether any comments exist or not between the given 2 nodes.
   * @param left The node to check.
   * @param right The node to check.
   * @returns `true` if one or more comments exist.
   */
Code
commentsExistBetween(
    left: TSESTree.Node | TSESTree.Token,
    right: TSESTree.Node | TSESTree.Token,
  ): boolean;

TokenStore.getCommentsAfter(nodeOrToken: TSESTree.Node | TSESTree.Token): TSESTree.Comment[]

Gets all comment tokens directly after the given node or token.

Parameters:

  • nodeOrToken any: The AST node or token to check for adjacent comment tokens.

Returns: undefined An array of comments in occurrence order.

Raw JSDoc
/**
   * Gets all comment tokens directly after the given node or token.
   * @param nodeOrToken The AST node or token to check for adjacent comment tokens.
   * @returns An array of comments in occurrence order.
   */
Code
getCommentsAfter(
    nodeOrToken: TSESTree.Node | TSESTree.Token,
  ): TSESTree.Comment[];

TokenStore.getCommentsBefore(nodeOrToken: TSESTree.Node | TSESTree.Token): TSESTree.Comment[]

Gets all comment tokens directly before the given node or token.

Parameters:

  • nodeOrToken any: The AST node or token to check for adjacent comment tokens.

Returns: undefined An array of comments in occurrence order.

Raw JSDoc
/**
   * Gets all comment tokens directly before the given node or token.
   * @param nodeOrToken The AST node or token to check for adjacent comment tokens.
   * @returns An array of comments in occurrence order.
   */
Code
getCommentsBefore(
    nodeOrToken: TSESTree.Node | TSESTree.Token,
  ): TSESTree.Comment[];

TokenStore.getCommentsInside(node: TSESTree.Node): TSESTree.Comment[]

Gets all comment tokens inside the given node.

Parameters:

  • node any: The AST node to get the comments for.

Returns: undefined An array of comments in occurrence order.

Raw JSDoc
/**
   * Gets all comment tokens inside the given node.
   * @param node The AST node to get the comments for.
   * @returns An array of comments in occurrence order.
   */
Code
getCommentsInside(node: TSESTree.Node): TSESTree.Comment[];

TokenStore.getFirstToken(node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T> | null

Gets the first token of the given node.

Parameters:

  • node any: The AST node.
  • options any: The option object. If this is a number then it's options.skip. If this is a function then it's options.filter.

Returns: undefined An object representing the token.

Raw JSDoc
/**
   * Gets the first token of the given node.
   * @param node The AST node.
   * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`.
   * @returns An object representing the token.
   */
Code
getFirstToken<T extends SourceCode.CursorWithSkipOptions>(
    node: TSESTree.Node,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T> | null;

TokenStore.getFirstTokenBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options: T): SourceCode.ReturnTypeFromOptions<T> | null

Gets the first token between two non-overlapping nodes.

Parameters:

  • left any: Node before the desired token range.
  • right any: Node after the desired token range.
  • options any: The option object. If this is a number then it's options.skip. If this is a function then it's options.filter.

Returns: undefined An object representing the token.

Raw JSDoc
/**
   * Gets the first token between two non-overlapping nodes.
   * @param left Node before the desired token range.
   * @param right Node after the desired token range.
   * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`.
   * @returns An object representing the token.
   */
Code
getFirstTokenBetween<T extends SourceCode.CursorWithSkipOptions>(
    left: TSESTree.Node | TSESTree.Token,
    right: TSESTree.Node | TSESTree.Token,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T> | null;

TokenStore.getFirstTokens(node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T>[]

Gets the first count tokens of the given node.

Parameters:

  • node any: The AST node.
  • options any: The option object. If this is a number then it's options.count. If this is a function then it's options.filter.
Raw JSDoc
/**
   * Gets the first `count` tokens of the given node.
   * @param node The AST node.
   * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`.
   */
Code
getFirstTokens<T extends SourceCode.CursorWithCountOptions>(
    node: TSESTree.Node,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T>[];

TokenStore.getFirstTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options: T): SourceCode.ReturnTypeFromOptions<T>[]

Gets the first count tokens between two non-overlapping nodes.

Parameters:

  • left any: Node before the desired token range.
  • right any: Node after the desired token range.
  • options any: The option object. If this is a number then it's options.count. If this is a function then it's options.filter.

Returns: undefined Tokens between left and right.

Raw JSDoc
/**
   * Gets the first `count` tokens between two non-overlapping nodes.
   * @param left Node before the desired token range.
   * @param right Node after the desired token range.
   * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`.
   * @returns Tokens between left and right.
   */
Code
getFirstTokensBetween<T extends SourceCode.CursorWithCountOptions>(
    left: TSESTree.Node | TSESTree.Token,
    right: TSESTree.Node | TSESTree.Token,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T>[];

TokenStore.getLastToken(node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T> | null

Gets the last token of the given node.

Parameters:

  • node any: The AST node.
  • options any: The option object. If this is a number then it's options.skip. If this is a function then it's options.filter.

Returns: undefined An object representing the token.

Raw JSDoc
/**
   * Gets the last token of the given node.
   * @param node The AST node.
   * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`.
   * @returns An object representing the token.
   */
Code
getLastToken<T extends SourceCode.CursorWithSkipOptions>(
    node: TSESTree.Node,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T> | null;

TokenStore.getLastTokenBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options: T): SourceCode.ReturnTypeFromOptions<T> | null

Gets the last token between two non-overlapping nodes.

Parameters:

  • left any: Node before the desired token range.
  • right any: Node after the desired token range.
  • options any: The option object. If this is a number then it's options.skip. If this is a function then it's options.filter.

Returns: undefined An object representing the token.

Raw JSDoc
/**
   * Gets the last token between two non-overlapping nodes.
   * @param left Node before the desired token range.
   * @param right Node after the desired token range.
   * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`.
   * @returns An object representing the token.
   */
Code
getLastTokenBetween<T extends SourceCode.CursorWithSkipOptions>(
    left: TSESTree.Node | TSESTree.Token,
    right: TSESTree.Node | TSESTree.Token,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T> | null;

TokenStore.getLastTokens(node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T>[]

Gets the last count tokens of the given node.

Parameters:

  • node any: The AST node.
  • options any: The option object. If this is a number then it's options.count. If this is a function then it's options.filter.
Raw JSDoc
/**
   * Gets the last `count` tokens of the given node.
   * @param node The AST node.
   * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`.
   */
Code
getLastTokens<T extends SourceCode.CursorWithCountOptions>(
    node: TSESTree.Node,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T>[];

TokenStore.getLastTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options: T): SourceCode.ReturnTypeFromOptions<T>[]

Gets the last count tokens between two non-overlapping nodes.

Parameters:

  • left any: Node before the desired token range.
  • right any: Node after the desired token range.
  • options any: The option object. If this is a number then it's options.count. If this is a function then it's options.filter.

Returns: undefined Tokens between left and right.

Raw JSDoc
/**
   * Gets the last `count` tokens between two non-overlapping nodes.
   * @param left Node before the desired token range.
   * @param right Node after the desired token range.
   * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`.
   * @returns Tokens between left and right.
   */
Code
getLastTokensBetween<T extends SourceCode.CursorWithCountOptions>(
    left: TSESTree.Node | TSESTree.Token,
    right: TSESTree.Node | TSESTree.Token,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T>[];

TokenStore.getTokenAfter(node: TSESTree.Node | TSESTree.Token, options: T): SourceCode.ReturnTypeFromOptions<T> | null

Gets the token that follows a given node or token.

Parameters:

  • node any: The AST node or token.
  • options any: The option object. If this is a number then it's options.skip. If this is a function then it's options.filter.

Returns: undefined An object representing the token.

Raw JSDoc
/**
   * Gets the token that follows a given node or token.
   * @param node The AST node or token.
   * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`.
   * @returns An object representing the token.
   */
Code
getTokenAfter<T extends SourceCode.CursorWithSkipOptions>(
    node: TSESTree.Node | TSESTree.Token,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T> | null;

TokenStore.getTokenBefore(node: TSESTree.Node | TSESTree.Token, options: T): SourceCode.ReturnTypeFromOptions<T> | null

Gets the token that precedes a given node or token.

Parameters:

  • node any: The AST node or token.
  • options any: The option object

Returns: undefined An object representing the token.

Raw JSDoc
/**
   * Gets the token that precedes a given node or token.
   * @param node The AST node or token.
   * @param options The option object
   * @returns An object representing the token.
   */
Code
getTokenBefore<T extends SourceCode.CursorWithSkipOptions>(
    node: TSESTree.Node | TSESTree.Token,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T> | null;

TokenStore.getTokenByRangeStart(offset: number, options: T): SourceCode.ReturnTypeFromOptions<T> | null

Gets the token starting at the specified index.

Parameters:

  • offset any: Index of the start of the token's range.
  • options any: The option object. If this is a number then it's options.skip. If this is a function then it's options.filter.

Returns: undefined The token starting at index, or null if no such token.

Raw JSDoc
/**
   * Gets the token starting at the specified index.
   * @param offset Index of the start of the token's range.
   * @param options The option object. If this is a number then it's `options.skip`. If this is a function then it's `options.filter`.
   * @returns The token starting at index, or null if no such token.
   */
Code
getTokenByRangeStart<T extends { includeComments?: boolean }>(
    offset: number,
    options?: T,
  ): SourceCode.ReturnTypeFromOptions<T> | null;

TokenStore.getTokens(node: TSESTree.Node, beforeCount: number, afterCount: number): TSESTree.Token[]

Gets all tokens that are related to the given node.

Parameters:

  • node any: The AST node.
  • beforeCount any: The number of tokens before the node to retrieve.
  • afterCount any: The number of tokens after the node to retrieve.

Returns: undefined Array of objects representing tokens.

Raw JSDoc
/**
   * Gets all tokens that are related to the given node.
   * @param node The AST node.
   * @param beforeCount The number of tokens before the node to retrieve.
   * @param afterCount The number of tokens after the node to retrieve.
   * @returns Array of objects representing tokens.
   */
Code
getTokens(
    node: TSESTree.Node,
    beforeCount?: number,
    afterCount?: number,
  ): TSESTree.Token[];

TokenStore.getTokensAfter(node: TSESTree.Node | TSESTree.Token, options: number | T): SourceCode.ReturnTypeFromOptions<T>[]

Gets the count tokens that follows a given node or token.

Parameters:

  • node any: The AST node.
  • options any: The option object. If this is a number then it's options.count. If this is a function then it's options.filter.
Raw JSDoc
/**
   * Gets the `count` tokens that follows a given node or token.
   * @param node The AST node.
   * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`.
   */
Code
getTokensAfter<T extends SourceCode.CursorWithCountOptions>(
    node: TSESTree.Node | TSESTree.Token,
    options?: number | T,
  ): SourceCode.ReturnTypeFromOptions<T>[];

TokenStore.getTokensBefore(node: TSESTree.Node | TSESTree.Token, options: number | T): SourceCode.ReturnTypeFromOptions<T>[]

Gets the count tokens that precedes a given node or token.

Parameters:

  • node any: The AST node.
  • options any: The option object. If this is a number then it's options.count. If this is a function then it's options.filter.
Raw JSDoc
/**
   * Gets the `count` tokens that precedes a given node or token.
   * @param node The AST node.
   * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`.
   */
Code
getTokensBefore<T extends SourceCode.CursorWithCountOptions>(
    node: TSESTree.Node | TSESTree.Token,
    options?: number | T,
  ): SourceCode.ReturnTypeFromOptions<T>[];

TokenStore.getTokensBetween(left: TSESTree.Node | TSESTree.Token, right: TSESTree.Node | TSESTree.Token, options: number | T): SourceCode.ReturnTypeFromOptions<T>[]

Gets all of the tokens between two non-overlapping nodes.

Parameters:

  • left any: Node before the desired token range.
  • right any: Node after the desired token range.
  • options any: The option object. If this is a number then it's options.count. If this is a function then it's options.filter.

Returns: undefined Tokens between left and right.

Raw JSDoc
/**
   * Gets all of the tokens between two non-overlapping nodes.
   * @param left Node before the desired token range.
   * @param right Node after the desired token range.
   * @param options The option object. If this is a number then it's `options.count`. If this is a function then it's `options.filter`.
   * @returns Tokens between left and right.
   */
Code
getTokensBetween<T extends SourceCode.CursorWithCountOptions>(
    left: TSESTree.Node | TSESTree.Token,
    right: TSESTree.Node | TSESTree.Token,
    options?: number | T,
  ): SourceCode.ReturnTypeFromOptions<T>[];

SourceCodeBase.applyInlineConfig(): void

Returns: void

Code
applyInlineConfig(): void;

SourceCodeBase.applyLanguageOptions(): void

Returns: void

Code
applyLanguageOptions(): void;

SourceCodeBase.finalize(): void

Returns: void

Code
finalize(): void;

SourceCodeBase.getAllComments(): TSESTree.Comment[]

Retrieves an array containing all comments in the source code.

Returns: undefined An array of comment nodes.

Raw JSDoc
/**
   * Retrieves an array containing all comments in the source code.
   * @returns An array of comment nodes.
   */
Code
getAllComments(): TSESTree.Comment[];

SourceCodeBase.getIndexFromLoc(location: TSESTree.Position): number

Converts a (line, column) pair into a range index.

Parameters:

  • location any: A line/column location

Returns: undefined The range index of the location in the file.

Raw JSDoc
/**
   * Converts a (line, column) pair into a range index.
   * @param location A line/column location
   * @returns The range index of the location in the file.
   */
Code
getIndexFromLoc(location: TSESTree.Position): number;

SourceCodeBase.getLines(): string[]

Gets the entire source text split into an array of lines.

Returns: undefined The source text as an array of lines.

Raw JSDoc
/**
   * Gets the entire source text split into an array of lines.
   * @returns The source text as an array of lines.
   */
Code
getLines(): string[];

SourceCodeBase.getLocFromIndex(index: number): TSESTree.Position

Converts a source text index into a (line, column) pair.

Parameters:

  • index any: The index of a character in a file

Returns: undefined A {line, column} location object with a 0-indexed column

Raw JSDoc
/**
   * Converts a source text index into a (line, column) pair.
   * @param index The index of a character in a file
   * @returns A {line, column} location object with a 0-indexed column
   */
Code
getLocFromIndex(index: number): TSESTree.Position;

SourceCodeBase.getNodeByRangeIndex(index: number): TSESTree.Node | null

Gets the deepest node containing a range index.

Parameters:

  • index any: Range index of the desired node.

Returns: undefined The node if found or null if not found.

Raw JSDoc
/**
   * Gets the deepest node containing a range index.
   * @param index Range index of the desired node.
   * @returns The node if found or `null` if not found.
   */
Code
getNodeByRangeIndex(index: number): TSESTree.Node | null;

SourceCodeBase.getText(node: TSESTree.Node | TSESTree.Token, beforeCount: number, afterCount: number): string

Gets the source code for the given node.

Parameters:

  • node any: The AST node to get the text for.
  • beforeCount any: The number of characters before the node to retrieve.
  • afterCount any: The number of characters after the node to retrieve.

Returns: undefined The text representing the AST node.

Raw JSDoc
/**
   * Gets the source code for the given node.
   * @param node The AST node to get the text for.
   * @param beforeCount The number of characters before the node to retrieve.
   * @param afterCount The number of characters after the node to retrieve.
   * @returns The text representing the AST node.
   */
Code
getText(
    node?: TSESTree.Node | TSESTree.Token,
    beforeCount?: number,
    afterCount?: number,
  ): string;

SourceCodeBase.isSpaceBetween(first: TSESTree.Node | TSESTree.Token, second: TSESTree.Node | TSESTree.Token): boolean

Determines if two nodes or tokens have at least one whitespace character between them. Order does not matter. Returns false if the given nodes or tokens overlap.

Parameters:

  • first any: The first node or token to check between.
  • second any: The second node or token to check between.

Returns: undefined True if there is a whitespace character between any of the tokens found between the two given nodes or tokens.

Raw JSDoc
/**
   * Determines if two nodes or tokens have at least one whitespace character
   * between them. Order does not matter. Returns false if the given nodes or
   * tokens overlap.
   * @param first The first node or token to check between.
   * @param second The second node or token to check between.
   * @returns True if there is a whitespace character between any of the tokens found between the two given nodes or tokens.
   */
Code
isSpaceBetween(
    first: TSESTree.Node | TSESTree.Token,
    second: TSESTree.Node | TSESTree.Token,
  ): boolean;

SourceCodeBase.isSpaceBetweenTokens(first: TSESTree.Token, second: TSESTree.Token): boolean

Determines if two nodes or tokens have at least one whitespace character between them. Order does not matter. Returns false if the given nodes or tokens overlap. For backward compatibility, this method returns true if there are JSXText tokens that contain whitespace between the two.

⚠️ DEPRECATED: in favor of isSpaceBetween

Parameters:

  • first any: The first node or token to check between.
  • second any: The second node or token to check between.

Returns: boolean True if there is a whitespace character between any of the tokens found between the two given nodes or tokens.

Raw JSDoc
/**
   * Determines if two nodes or tokens have at least one whitespace character
   * between them. Order does not matter. Returns false if the given nodes or
   * tokens overlap.
   * For backward compatibility, this method returns true if there are
   * `JSXText` tokens that contain whitespace between the two.
   * @param first The first node or token to check between.
   * @param second The second node or token to check between.
   * @returns {boolean} True if there is a whitespace character between
   * any of the tokens found between the two given nodes or tokens.
   * @deprecated in favor of isSpaceBetween
   */
Code
isSpaceBetweenTokens(first: TSESTree.Token, second: TSESTree.Token): boolean;

SourceCodeBase.getScope(node: TSESTree.Node): Scope.Scope

Returns the scope of the given node. This information can be used track references to variables.

Raw JSDoc
/**
   * Returns the scope of the given node.
   * This information can be used track references to variables.
   */
Code
getScope(node: TSESTree.Node): Scope.Scope;

SourceCodeBase.getAncestors(node: TSESTree.Node): TSESTree.Node[]

Returns an array of the ancestors of the given node, starting at the root of the AST and continuing through the direct parent of the current node. This array does not include the currently-traversed node itself.

Raw JSDoc
/**
   * Returns an array of the ancestors of the given node, starting at
   * the root of the AST and continuing through the direct parent of the current node.
   * This array does not include the currently-traversed node itself.
   */
Code
getAncestors(node: TSESTree.Node): TSESTree.Node[];

SourceCodeBase.getDeclaredVariables(node: TSESTree.Node): readonly Scope.Variable[]

Returns a list of variables declared by the given node. This information can be used to track references to variables.

Raw JSDoc
/**
   * Returns a list of variables declared by the given node.
   * This information can be used to track references to variables.
   */
Code
getDeclaredVariables(node: TSESTree.Node): readonly Scope.Variable[];

SourceCodeBase.markVariableAsUsed(name: string, node: TSESTree.Node): boolean

Marks a variable with the given name in the current scope as used. This affects the no-unused-vars rule.

Raw JSDoc
/**
   * Marks a variable with the given name in the current scope as used.
   * This affects the no-unused-vars rule.
   */
Code
markVariableAsUsed(name: string, node: TSESTree.Node): boolean;

SourceCodeBase.splitLines(text: string): string[]

Split the source code into multiple lines based on the line delimiters.

Parameters:

  • text any: Source code as a string.

Returns: undefined Array of source code lines.

Raw JSDoc
/**
   * Split the source code into multiple lines based on the line delimiters.
   * @param text Source code as a string.
   * @returns Array of source code lines.
   */
Code
static splitLines(text: string): string[];

Classes

TokenStore

Methods (20) — full entries under Functions

Method Signature
commentsExistBetween (left: TSESTree.Node \| TSESTree.Token, right: TSESTree.Node \| TSESTree.Token): boolean
getCommentsAfter (nodeOrToken: TSESTree.Node \| TSESTree.Token): TSESTree.Comment[]
getCommentsBefore (nodeOrToken: TSESTree.Node \| TSESTree.Token): TSESTree.Comment[]
getCommentsInside (node: TSESTree.Node): TSESTree.Comment[]
getFirstToken (node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T> \| null
getFirstTokenBetween (left: TSESTree.Node \| TSESTree.Token, right: TSESTree.Node \| TSESTree.Token, options: T): Sour...
getFirstTokens (node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T>[]
getFirstTokensBetween (left: TSESTree.Node \| TSESTree.Token, right: TSESTree.Node \| TSESTree.Token, options: T): Sour...
getLastToken (node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T> \| null
getLastTokenBetween (left: TSESTree.Node \| TSESTree.Token, right: TSESTree.Node \| TSESTree.Token, options: T): Sour...
getLastTokens (node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T>[]
getLastTokensBetween (left: TSESTree.Node \| TSESTree.Token, right: TSESTree.Node \| TSESTree.Token, options: T): Sour...
getTokenAfter (node: TSESTree.Node \| TSESTree.Token, options: T): SourceCode.ReturnTypeFromOptions<T> \| null
getTokenBefore (node: TSESTree.Node \| TSESTree.Token, options: T): SourceCode.ReturnTypeFromOptions<T> \| null
getTokenByRangeStart (offset: number, options: T): SourceCode.ReturnTypeFromOptions<T> \| null
getTokens (node: TSESTree.Node, beforeCount: number, afterCount: number): TSESTree.Token[]
getTokens (node: TSESTree.Node, options: T): SourceCode.ReturnTypeFromOptions<T>[]
getTokensAfter (node: TSESTree.Node \| TSESTree.Token, options: number \| T): SourceCode.ReturnTypeFromOptions<T>[]
getTokensBefore (node: TSESTree.Node \| TSESTree.Token, options: number \| T): SourceCode.ReturnTypeFromOptions<T>[]
getTokensBetween (left: TSESTree.Node \| TSESTree.Token, right: TSESTree.Node \| TSESTree.Token, options: number \...

SourceCodeBase

Extends: TokenStore

Methods (16) — full entries under Functions

Method Signature
applyInlineConfig (): void
applyLanguageOptions (): void
finalize (): void
getAllComments (): TSESTree.Comment[]
getIndexFromLoc (location: TSESTree.Position): number
getLines (): string[]
getLocFromIndex (index: number): TSESTree.Position
getNodeByRangeIndex (index: number): TSESTree.Node \| null
getText (node: TSESTree.Node \| TSESTree.Token, beforeCount: number, afterCount: number): string
isSpaceBetween (first: TSESTree.Node \| TSESTree.Token, second: TSESTree.Node \| TSESTree.Token): boolean
isSpaceBetweenTokens (first: TSESTree.Token, second: TSESTree.Token): boolean
getScope (node: TSESTree.Node): Scope.Scope
getAncestors (node: TSESTree.Node): TSESTree.Node[]
getDeclaredVariables (node: TSESTree.Node): readonly Scope.Variable[]
markVariableAsUsed (name: string, node: TSESTree.Node): boolean
splitLines (text: string): string[]

SourceCode

Extends: (ESLintSourceCode as typeof SourceCodeBase)

Class Code
class SourceCode extends (ESLintSourceCode as typeof SourceCodeBase) {}

Interfaces

Program

Interface Code
export interface Program extends TSESTree.Program {
    comments: TSESTree.Comment[];
    tokens: TSESTree.Token[];
  }

Properties

Name Type Optional Description
comments TSESTree.Comment[] not shown
tokens TSESTree.Token[] not shown

SourceCodeConfig

Interface Code
export interface SourceCodeConfig {
    /**
     * The Program node of the AST representing the code. This AST should be created from the text that BOM was stripped.
     */
    ast: Program;
    /**
     * The parser services.
     */
    parserServices: ParserServices | null;
    /**
     * The scope of this source code.
     */
    scopeManager: Scope.ScopeManager | null;
    /**
     * The source code text.
     */
    text: string;
    /**
     * The visitor keys to traverse AST.
     */
    visitorKeys: VisitorKeys | null;
  }

Properties

Name Type Optional Description
ast Program not shown
parserServices ParserServices \| null not shown
scopeManager Scope.ScopeManager \| null not shown
text string not shown
visitorKeys VisitorKeys \| null not shown

Type Aliases

VisitorKeys

type VisitorKeys = Parser.VisitorKeys;

FilterPredicate

type FilterPredicate = (token: TSESTree.Token) => boolean;

GetFilterPredicate<Filter, Default>

type GetFilterPredicate<Filter, Default> = Filter extends ((
      token: TSESTree.Token,
    ) => token is infer U extends TSESTree.Token)
      ? U
      : Default;

GetFilterPredicateFromOptions<Options, Default>

type GetFilterPredicateFromOptions<Options, Default> = Options extends { filter?: FilterPredicate }
      ? GetFilterPredicate<Options['filter'], Default>
      : GetFilterPredicate<Options, Default>;

ReturnTypeFromOptions<T>

type ReturnTypeFromOptions<T> = T extends { includeComments: true }
    ? GetFilterPredicateFromOptions<T, TSESTree.Token>
    : GetFilterPredicateFromOptions<
        T,
        Exclude<TSESTree.Token, TSESTree.Comment>
      >;

CursorWithSkipOptions

type CursorWithSkipOptions = | number
    | FilterPredicate
    | {
        /**
         * The predicate function to choose tokens.
         */
        filter?: FilterPredicate;
        /**
         * The flag to iterate comments as well.
         */
        includeComments?: boolean;
        /**
         * The count of tokens the cursor skips.
         */
        skip?: number;
      };

CursorWithCountOptions

type CursorWithCountOptions = | number
    | FilterPredicate
    | {
        /**
         * The maximum count of tokens the cursor iterates.
         */
        count?: number;
        /**
         * The predicate function to choose tokens.
         */
        filter?: FilterPredicate;
        /**
         * The flag to iterate comments as well.
         */
        includeComments?: boolean;
      };

Generated by Syntax Scribe