UNPKG

eslint-plugin-n

Version:
48 lines (45 loc) 1.59 kB
export = CodePathAnalyzer; interface EventGenerator { emitter: import('node:events').EventEmitter; enterNode(node: import('eslint').Rule.Node): void; leaveNode(node: import('eslint').Rule.Node): void; } /** * The class to analyze code paths. * This class implements the EventGenerator interface. */ declare class CodePathAnalyzer { /** * @param {EventGenerator} eventGenerator An event generator to wrap. */ constructor(eventGenerator: EventGenerator); original: EventGenerator; emitter: any; codePath: any; idGenerator: IdGenerator; currentNode: any; /** * This is called on a code path looped. * Then this raises a looped event. * @param {CodePathSegment} fromSegment A segment of prev. * @param {CodePathSegment} toSegment A segment of next. * @returns {void} */ onLooped(fromSegment: CodePathSegment, toSegment: CodePathSegment): void; /** * Does the process to enter a given AST node. * This updates state of analysis and calls `enterNode` of the wrapped. * @param {ASTNode} node A node which is entering. * @returns {void} */ enterNode(node: import('eslint').Rule.Node): void; /** * Does the process to leave a given AST node. * This updates state of analysis and calls `leaveNode` of the wrapped. * @param {ASTNode} node A node which is leaving. * @returns {void} */ leaveNode(node: import('eslint').Rule.Node): void; } import IdGenerator = require("./id-generator"); import CodePathSegment = require("./code-path-segment");