⬅️ Back to Table of Contents
📄 ReferenceTracker.ts
📊 Analysis Summary
Metric |
Count |
📦 Imports |
1 |
📊 Variables & Constants |
5 |
📐 Interfaces |
4 |
📑 Type Aliases |
6 |
📚 Table of Contents
🛠️ File Location:
📂 packages/utils/src/ast-utils/eslint-utils/ReferenceTracker.ts
📦 Imports
Name |
Source |
TSESTree |
../../ts-estree |
Variables & Constants
Name |
Type |
Kind |
Value |
Exported |
ReferenceTrackerREAD |
unique symbol |
const |
eslintUtils.ReferenceTracker.READ |
✗ |
ReferenceTrackerCALL |
unique symbol |
const |
eslintUtils.ReferenceTracker.CALL |
✗ |
ReferenceTrackerCONSTRUCT |
unique symbol |
const |
eslintUtils.ReferenceTracker.CONSTRUCT |
✗ |
ReferenceTrackerESM |
unique symbol |
const |
eslintUtils.ReferenceTracker.ESM |
✗ |
ReferenceTracker |
ReferenceTrackerStatic |
const |
eslintUtils.ReferenceTracker as ReferenceTrackerStatic |
✓ |
Interfaces
ReferenceTracker
Interface Code
interface ReferenceTracker {
/**
* Iterate the references that the given `traceMap` determined.
* This method starts to search from `require()` expression.
*
* @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#tracker-iteratecjsreferences}
*/
iterateCjsReferences<T>(
traceMap: ReferenceTracker.TraceMap<T>,
): IterableIterator<ReferenceTracker.FoundReference<T>>;
/**
* Iterate the references that the given `traceMap` determined.
* This method starts to search from `import`/`export` declarations.
*
* @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#tracker-iterateesmreferences}
*/
iterateEsmReferences<T>(
traceMap: ReferenceTracker.TraceMap<T>,
): IterableIterator<ReferenceTracker.FoundReference<T>>;
/**
* Iterate the references that the given `traceMap` determined.
* This method starts to search from global variables.
*
* @see {@link https://eslint-community.github.io/eslint-utils/api/scope-utils.html#tracker-iterateglobalreferences}
*/
iterateGlobalReferences<T>(
traceMap: ReferenceTracker.TraceMap<T>,
): IterableIterator<ReferenceTracker.FoundReference<T>>;
}
ReferenceTrackerStatic
Interface Code
interface ReferenceTrackerStatic {
readonly CALL: typeof ReferenceTrackerCALL;
readonly CONSTRUCT: typeof ReferenceTrackerCONSTRUCT;
readonly ESM: typeof ReferenceTrackerESM;
new (
globalScope: TSESLint.Scope.Scope,
options?: {
/**
* The name list of Global Object. Optional. Default is `["global", "globalThis", "self", "window"]`.
*/
globalObjectNames?: readonly string[];
/**
* The mode which determines how the `tracker.iterateEsmReferences()` method scans CommonJS modules.
* If this is `"strict"`, the method binds CommonJS modules to the default export. Otherwise, the method binds
* CommonJS modules to both the default export and named exports. Optional. Default is `"strict"`.
*/
mode?: 'legacy' | 'strict';
},
): ReferenceTracker;
readonly READ: typeof ReferenceTrackerREAD;
}
Properties
Name |
Type |
Optional |
Description |
CALL |
typeof ReferenceTrackerCALL |
✗ |
|
CONSTRUCT |
typeof ReferenceTrackerCONSTRUCT |
✗ |
|
ESM |
typeof ReferenceTrackerESM |
✗ |
|
READ |
typeof ReferenceTrackerREAD |
✗ |
|
TraceMapElement<T>
Interface Code
export interface TraceMapElement<T> {
[key: string]: TraceMapElement<T>;
[ReferenceTrackerCALL]?: T;
[ReferenceTrackerCONSTRUCT]?: T;
[ReferenceTrackerESM]?: true;
[ReferenceTrackerREAD]?: T;
}
Properties
Name |
Type |
Optional |
Description |
[ReferenceTrackerCALL] |
T |
✓ |
|
[ReferenceTrackerCONSTRUCT] |
T |
✓ |
|
[ReferenceTrackerESM] |
true |
✓ |
|
[ReferenceTrackerREAD] |
T |
✓ |
|
FoundReference<T = any>
Interface Code
export interface FoundReference<T = any> {
info: T;
node: TSESTree.Node;
path: readonly string[];
type: ReferenceType;
}
Properties
Name |
Type |
Optional |
Description |
info |
T |
✗ |
|
node |
TSESTree.Node |
✗ |
|
path |
readonly string[] |
✗ |
|
type |
ReferenceType |
✗ |
|
Type Aliases
READ
type READ = ReferenceTrackerStatic['READ'];
CALL
type CALL = ReferenceTrackerStatic['CALL'];
CONSTRUCT
type CONSTRUCT = ReferenceTrackerStatic['CONSTRUCT'];
ESM
type ESM = ReferenceTrackerStatic['ESM'];
ReferenceType
type ReferenceType = CALL | CONSTRUCT | READ;
TraceMap<T = any = any>
type TraceMap<T = any = any> = Record<string, TraceMapElement<T>>;