printer-notifications/node_modules/svelte-eslint-parser/lib/scope/index.d.ts
2023-11-13 16:10:04 -05:00

50 lines
2.1 KiB
TypeScript

import type { ScopeManager, Scope, Reference, Variable } from "eslint-scope";
import type * as ESTree from "estree";
import type { TSESTree } from "@typescript-eslint/types";
/** Remove all scope, variable, and reference */
export declare function removeAllScopeAndVariableAndReference(target: ESTree.Node | TSESTree.Node, info: {
visitorKeys?: {
[type: string]: string[];
} | {
readonly [type: string]: readonly string[] | undefined;
};
scopeManager: ScopeManager;
}): void;
/**
* Gets the scope for the current node
*/
export declare function getScopeFromNode(scopeManager: ScopeManager, currentNode: ESTree.Node): Scope;
/**
* Gets the scope for the Program node
*/
export declare function getProgramScope(scopeManager: ScopeManager): Scope;
/** Remove variable */
export declare function removeIdentifierVariable(node: ESTree.Pattern | TSESTree.BindingName | TSESTree.RestElement | TSESTree.DestructuringPattern, scope: Scope): void;
/** Get all references */
export declare function getAllReferences(node: ESTree.Pattern | TSESTree.BindingName | TSESTree.RestElement | TSESTree.DestructuringPattern, scope: Scope): Iterable<Reference>;
/** Remove reference */
export declare function removeIdentifierReference(node: ESTree.Identifier, scope: Scope): boolean;
/** Remove reference */
export declare function removeReference(reference: Reference, baseScope: Scope): void;
/** Remove scope */
export declare function removeScope(scopeManager: ScopeManager, scope: Scope): void;
/** Replace scope */
export declare function replaceScope(scopeManager: ScopeManager, scope: Scope, newChildScopes?: Scope[]): void;
/**
* Add variable to array
*/
export declare function addVariable(list: Variable[], variable: Variable): void;
/**
* Add reference to array
*/
export declare function addReference(list: Reference[], reference: Reference): void;
/**
* Add all references to array
*/
export declare function addAllReferences(list: Reference[], elements: Reference[]): void;
/**
* Simplify scope data.
* @deprecated For Debug
*/
export declare function simplifyScope(scope: Scope): unknown;