Urara-Blog/node_modules/.pnpm-store/v3/files/19/a1dc8aae4f1a24c7756d22ea92570784486ee7f086cd70c2858da0e573c56806b5053e91a441f1b1acebe5f29b79024b20f68d8394cac26fb09779719ecd43
2022-08-14 01:14:53 +08:00

50 lines
No EOL
1.9 KiB
Text

import { TSESTree } from '../ts-estree';
import { EcmaVersion } from '../ts-eslint';
import { Scope } from './Scope';
import { Variable } from './Variable';
interface ScopeManagerOptions {
directive?: boolean;
optimistic?: boolean;
ignoreEval?: boolean;
nodejsScope?: boolean;
sourceType?: 'module' | 'script';
impliedStrict?: boolean;
ecmaVersion?: EcmaVersion;
}
interface ScopeManager {
__options: ScopeManagerOptions;
__currentScope: Scope;
__nodeToScope: WeakMap<TSESTree.Node, Scope[]>;
__declaredVariables: WeakMap<TSESTree.Node, Variable[]>;
scopes: Scope[];
globalScope: Scope;
__useDirective(): boolean;
__isOptimistic(): boolean;
__ignoreEval(): boolean;
__isNodejsScope(): boolean;
isModule(): boolean;
isImpliedStrict(): boolean;
isStrictModeSupported(): boolean;
__get(node: TSESTree.Node): Scope | undefined;
getDeclaredVariables(node: TSESTree.Node): Variable[];
acquire(node: TSESTree.Node, inner?: boolean): Scope | null;
acquireAll(node: TSESTree.Node): Scope | null;
release(node: TSESTree.Node, inner?: boolean): Scope | null;
attach(): void;
detach(): void;
__nestScope<T extends Scope>(scope: T): T;
__nestGlobalScope(node: TSESTree.Node): Scope;
__nestBlockScope(node: TSESTree.Node): Scope;
__nestFunctionScope(node: TSESTree.Node, isMethodDefinition: boolean): Scope;
__nestForScope(node: TSESTree.Node): Scope;
__nestCatchScope(node: TSESTree.Node): Scope;
__nestWithScope(node: TSESTree.Node): Scope;
__nestClassScope(node: TSESTree.Node): Scope;
__nestSwitchScope(node: TSESTree.Node): Scope;
__nestModuleScope(node: TSESTree.Node): Scope;
__nestFunctionExpressionNameScope(node: TSESTree.Node): Scope;
__isES6(): boolean;
}
declare const ScopeManager: new (options: ScopeManagerOptions) => ScopeManager;
export { ScopeManager, ScopeManagerOptions };
//# sourceMappingURL=ScopeManager.d.ts.map