Spaces:
Paused
Paused
| export type VisitTraversalStep = import("@eslint/core").VisitTraversalStep; | |
| export type CallTraversalStep = import("@eslint/core").CallTraversalStep; | |
| export type TextSourceCode = import("@eslint/core").TextSourceCode; | |
| export type TraversalStep = import("@eslint/core").TraversalStep; | |
| export type SourceLocation = import("@eslint/core").SourceLocation; | |
| export type SourceLocationWithOffset = import("@eslint/core").SourceLocationWithOffset; | |
| export type SourceRange = import("@eslint/core").SourceRange; | |
| export type IDirective = import("@eslint/core").Directive; | |
| export type DirectiveType = import("@eslint/core").DirectiveType; | |
| export type RuleConfig = import("@eslint/core").RuleConfig; | |
| export type RulesConfig = import("@eslint/core").RulesConfig; | |
| export type StringConfig = import("./types.ts").StringConfig; | |
| export type BooleanConfig = import("./types.ts").BooleanConfig; | |
| /** | |
| * A class to represent a step in the traversal process where a | |
| * method is called. | |
| * @implements {CallTraversalStep} | |
| */ | |
| export class CallMethodStep implements CallTraversalStep { | |
| /** | |
| * Creates a new instance. | |
| * @param {Object} options The options for the step. | |
| * @param {string} options.target The target of the step. | |
| * @param {Array<any>} options.args The arguments of the step. | |
| */ | |
| constructor({ target, args }: { | |
| target: string; | |
| args: Array<any>; | |
| }); | |
| /** | |
| * The type of the step. | |
| * @type {"call"} | |
| * @readonly | |
| */ | |
| readonly type: "call"; | |
| /** | |
| * The kind of the step. Represents the same data as the `type` property | |
| * but it's a number for performance. | |
| * @type {2} | |
| * @readonly | |
| */ | |
| readonly kind: 2; | |
| /** | |
| * The name of the method to call. | |
| * @type {string} | |
| */ | |
| target: string; | |
| /** | |
| * The arguments to pass to the method. | |
| * @type {Array<any>} | |
| */ | |
| args: Array<any>; | |
| } | |
| /** | |
| * Object to parse ESLint configuration comments. | |
| */ | |
| export class ConfigCommentParser { | |
| /** | |
| * Parses a list of "name:string_value" or/and "name" options divided by comma or | |
| * whitespace. Used for "global" comments. | |
| * @param {string} string The string to parse. | |
| * @returns {StringConfig} Result map object of names and string values, or null values if no value was provided. | |
| */ | |
| parseStringConfig(string: string): StringConfig; | |
| /** | |
| * Parses a JSON-like config. | |
| * @param {string} string The string to parse. | |
| * @returns {({ok: true, config: RulesConfig}|{ok: false, error: {message: string}})} Result map object | |
| */ | |
| parseJSONLikeConfig(string: string): ({ | |
| ok: true; | |
| config: RulesConfig; | |
| } | { | |
| ok: false; | |
| error: { | |
| message: string; | |
| }; | |
| }); | |
| /** | |
| * Parses a config of values separated by comma. | |
| * @param {string} string The string to parse. | |
| * @returns {BooleanConfig} Result map of values and true values | |
| */ | |
| parseListConfig(string: string): BooleanConfig; | |
| /** | |
| * Parses a directive comment into directive text and value. | |
| * @param {string} string The string with the directive to be parsed. | |
| * @returns {DirectiveComment|undefined} The parsed directive or `undefined` if the directive is invalid. | |
| */ | |
| parseDirective(string: string): DirectiveComment | undefined; | |
| #private; | |
| } | |
| /** | |
| * A class to represent a directive comment. | |
| * @implements {IDirective} | |
| */ | |
| export class Directive implements IDirective { | |
| /** | |
| * Creates a new instance. | |
| * @param {Object} options The options for the directive. | |
| * @param {"disable"|"enable"|"disable-next-line"|"disable-line"} options.type The type of directive. | |
| * @param {unknown} options.node The node representing the directive. | |
| * @param {string} options.value The value of the directive. | |
| * @param {string} options.justification The justification for the directive. | |
| */ | |
| constructor({ type, node, value, justification }: { | |
| type: "disable" | "enable" | "disable-next-line" | "disable-line"; | |
| node: unknown; | |
| value: string; | |
| justification: string; | |
| }); | |
| /** | |
| * The type of directive. | |
| * @type {DirectiveType} | |
| * @readonly | |
| */ | |
| readonly type: DirectiveType; | |
| /** | |
| * The node representing the directive. | |
| * @type {unknown} | |
| * @readonly | |
| */ | |
| readonly node: unknown; | |
| /** | |
| * Everything after the "eslint-disable" portion of the directive, | |
| * but before the "--" that indicates the justification. | |
| * @type {string} | |
| * @readonly | |
| */ | |
| readonly value: string; | |
| /** | |
| * The justification for the directive. | |
| * @type {string} | |
| * @readonly | |
| */ | |
| readonly justification: string; | |
| } | |
| /** | |
| * Source Code Base Object | |
| * @implements {TextSourceCode} | |
| */ | |
| export class TextSourceCodeBase implements TextSourceCode { | |
| /** | |
| * Creates a new instance. | |
| * @param {Object} options The options for the instance. | |
| * @param {string} options.text The source code text. | |
| * @param {object} options.ast The root AST node. | |
| * @param {RegExp} [options.lineEndingPattern] The pattern to match lineEndings in the source code. | |
| */ | |
| constructor({ text, ast, lineEndingPattern }: { | |
| text: string; | |
| ast: object; | |
| lineEndingPattern?: RegExp; | |
| }); | |
| /** | |
| * The AST of the source code. | |
| * @type {object} | |
| */ | |
| ast: object; | |
| /** | |
| * The text of the source code. | |
| * @type {string} | |
| */ | |
| text: string; | |
| /** | |
| * Returns the loc information for the given node or token. | |
| * @param {object} nodeOrToken The node or token to get the loc information for. | |
| * @returns {SourceLocation} The loc information for the node or token. | |
| */ | |
| getLoc(nodeOrToken: object): SourceLocation; | |
| /** | |
| * Returns the range information for the given node or token. | |
| * @param {object} nodeOrToken The node or token to get the range information for. | |
| * @returns {SourceRange} The range information for the node or token. | |
| */ | |
| getRange(nodeOrToken: object): SourceRange; | |
| /** | |
| * Returns the parent of the given node. | |
| * @param {object} node The node to get the parent of. | |
| * @returns {object|undefined} The parent of the node. | |
| */ | |
| getParent(node: object): object | undefined; | |
| /** | |
| * Gets all the ancestors of a given node | |
| * @param {object} node The node | |
| * @returns {Array<object>} All the ancestor nodes in the AST, not including the provided node, starting | |
| * from the root node at index 0 and going inwards to the parent node. | |
| * @throws {TypeError} When `node` is missing. | |
| */ | |
| getAncestors(node: object): Array<object>; | |
| /** | |
| * Gets the source code for the given node. | |
| * @param {object} [node] The AST node to get the text for. | |
| * @param {number} [beforeCount] The number of characters before the node to retrieve. | |
| * @param {number} [afterCount] The number of characters after the node to retrieve. | |
| * @returns {string} The text representing the AST node. | |
| * @public | |
| */ | |
| public getText(node?: object, beforeCount?: number, afterCount?: number): string; | |
| /** | |
| * Gets the entire source text split into an array of lines. | |
| * @returns {Array<string>} The source text as an array of lines. | |
| * @public | |
| */ | |
| public get lines(): Array<string>; | |
| /** | |
| * Traverse the source code and return the steps that were taken. | |
| * @returns {Iterable<TraversalStep>} The steps that were taken while traversing the source code. | |
| */ | |
| traverse(): Iterable<TraversalStep>; | |
| #private; | |
| } | |
| /** | |
| * A class to represent a step in the traversal process where a node is visited. | |
| * @implements {VisitTraversalStep} | |
| */ | |
| export class VisitNodeStep implements VisitTraversalStep { | |
| /** | |
| * Creates a new instance. | |
| * @param {Object} options The options for the step. | |
| * @param {object} options.target The target of the step. | |
| * @param {1|2} options.phase The phase of the step. | |
| * @param {Array<any>} options.args The arguments of the step. | |
| */ | |
| constructor({ target, phase, args }: { | |
| target: object; | |
| phase: 1 | 2; | |
| args: Array<any>; | |
| }); | |
| /** | |
| * The type of the step. | |
| * @type {"visit"} | |
| * @readonly | |
| */ | |
| readonly type: "visit"; | |
| /** | |
| * The kind of the step. Represents the same data as the `type` property | |
| * but it's a number for performance. | |
| * @type {1} | |
| * @readonly | |
| */ | |
| readonly kind: 1; | |
| /** | |
| * The target of the step. | |
| * @type {object} | |
| */ | |
| target: object; | |
| /** | |
| * The phase of the step. | |
| * @type {1|2} | |
| */ | |
| phase: 1 | 2; | |
| /** | |
| * The arguments of the step. | |
| * @type {Array<any>} | |
| */ | |
| args: Array<any>; | |
| } | |
| /** | |
| * Represents a directive comment. | |
| */ | |
| declare class DirectiveComment { | |
| /** | |
| * Creates a new directive comment. | |
| * @param {string} label The label of the directive. | |
| * @param {string} value The value of the directive. | |
| * @param {string} justification The justification of the directive. | |
| */ | |
| constructor(label: string, value: string, justification: string); | |
| /** | |
| * The label of the directive, such as "eslint", "eslint-disable", etc. | |
| * @type {string} | |
| */ | |
| label: string; | |
| /** | |
| * The value of the directive (the string after the label). | |
| * @type {string} | |
| */ | |
| value: string; | |
| /** | |
| * The justification of the directive (the string after the --). | |
| * @type {string} | |
| */ | |
| justification: string; | |
| } | |
| export {}; | |