eslint-plugin-mocha
Version:
Eslint rules for mocha.
29 lines • 1.39 kB
TypeScript
import type { Rule, SourceCode } from 'eslint';
import { type TrackedBinding } from './tracked-callback-reference-state.ts';
type CallExpressionNode = Readonly<Parameters<Exclude<Rule.RuleListener['CallExpression'], undefined>>[0]>;
type Operation = {
readonly node: Readonly<CallExpressionNode>;
readonly type: 'call';
} | {
readonly node: Readonly<Rule.Node>;
readonly type: 'callbackHandoff';
} | {
readonly propertyName: string | undefined;
readonly source: Readonly<Rule.Node> | null;
readonly target: TrackedBinding;
readonly type: 'containerPropertyAssignment';
} | {
readonly source: Readonly<Rule.Node> | null;
readonly target: TrackedBinding;
readonly type: 'bindingAssignment';
};
type AnalysisContext = {
readonly callbackBinding: TrackedBinding;
readonly codePath: Readonly<Rule.CodePath>;
readonly operationsBySegmentId: ReadonlyMap<string, readonly Operation[]>;
readonly sourceCode: Readonly<SourceCode>;
};
export declare function enqueueNextSegments(nextSegments: readonly Readonly<Rule.CodePathSegment>[], pendingSegments: readonly Rule.CodePathSegment[], queuedSegmentIds: ReadonlySet<string>): readonly [readonly Rule.CodePathSegment[], ReadonlySet<string>];
export declare function hasUnhandledReturnPath(context: Readonly<AnalysisContext>): boolean;
export {};
//# sourceMappingURL=done-callback-paths.d.ts.map