INodeTransformer.d.ts 591 B

123456789101112131415161718192021222324
  1. import * as estraverse from 'estraverse';
  2. import * as ESTree from 'estree';
  3. import { IVisitor } from '../IVisitor';
  4. export interface INodeTransformer {
  5. /**
  6. * @returns {IVisitor}
  7. */
  8. getVisitor (): IVisitor;
  9. /**
  10. * @param {Node} node
  11. * @param {Node} parentNode
  12. */
  13. analyzeNode ? (node: ESTree.Node, parentNode: ESTree.Node): void;
  14. /**
  15. * @param {Node} node
  16. * @param {Node} parentNode
  17. * @returns {Node | VisitorOption}
  18. */
  19. transformNode (node: ESTree.Node, parentNode: ESTree.Node): ESTree.Node | estraverse.VisitorOption;
  20. }