walker_factory.js 706 B

1234567891011121314
  1. import { DummyWalker } from './dummy_walker.js';
  2. import { SemanticWalker } from './semantic_walker.js';
  3. import { SyntaxWalker } from './syntax_walker.js';
  4. import { TableWalker } from './table_walker.js';
  5. export function walker(type, node, generator, highlighter, xml) {
  6. const constructor = walkerMapping[type.toLowerCase()] || walkerMapping['dummy'];
  7. return constructor(node, generator, highlighter, xml);
  8. }
  9. const walkerMapping = {
  10. dummy: (p1, p2, p3, p4) => new DummyWalker(p1, p2, p3, p4),
  11. semantic: (p1, p2, p3, p4) => new SemanticWalker(p1, p2, p3, p4),
  12. syntax: (p1, p2, p3, p4) => new SyntaxWalker(p1, p2, p3, p4),
  13. table: (p1, p2, p3, p4) => new TableWalker(p1, p2, p3, p4)
  14. };