Spaces:
Running
Running
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 {}; | |