IScopeIdentifiersTraverser.ts 1.2 KB

123456789101112131415161718192021222324252627282930
  1. import * as ESTree from 'estree';
  2. import { TScopeIdentifiersTraverserCallback } from '../../types/node/TScopeIdentifiersTraverserCallback';
  3. import { IScopeIdentifiersTraverserCallbackData } from './IScopeIdentifiersTraverserCallbackData';
  4. import { IScopeThroughIdentifiersTraverserCallbackData } from './IScopeThroughIdentifiersTraverserCallbackData';
  5. export interface IScopeIdentifiersTraverser {
  6. /**
  7. * @param {Program} programNode
  8. * @param {Node | null} parentNode
  9. * @param {TScopeIdentifiersTraverserCallback<IScopeIdentifiersTraverserCallbackData>} callback
  10. */
  11. traverseScopeIdentifiers (
  12. programNode: ESTree.Program,
  13. parentNode: ESTree.Node | null,
  14. callback: TScopeIdentifiersTraverserCallback<IScopeIdentifiersTraverserCallbackData>
  15. ): void;
  16. /**
  17. * @param {Node} node
  18. * @param {Node | null} parentNode
  19. * @param {TScopeIdentifiersTraverserCallback<IScopeThroughIdentifiersTraverserCallbackData>} callback
  20. */
  21. traverseScopeThroughIdentifiers (
  22. node: ESTree.Node,
  23. parentNode: ESTree.Node | null,
  24. callback: TScopeIdentifiersTraverserCallback<IScopeThroughIdentifiersTraverserCallbackData>
  25. ): void;
  26. }