walker_factory.js 905 B

1234567891011121314151617
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.walker = walker;
  4. const dummy_walker_js_1 = require("./dummy_walker.js");
  5. const semantic_walker_js_1 = require("./semantic_walker.js");
  6. const syntax_walker_js_1 = require("./syntax_walker.js");
  7. const table_walker_js_1 = require("./table_walker.js");
  8. function walker(type, node, generator, highlighter, xml) {
  9. const constructor = walkerMapping[type.toLowerCase()] || walkerMapping['dummy'];
  10. return constructor(node, generator, highlighter, xml);
  11. }
  12. const walkerMapping = {
  13. dummy: (p1, p2, p3, p4) => new dummy_walker_js_1.DummyWalker(p1, p2, p3, p4),
  14. semantic: (p1, p2, p3, p4) => new semantic_walker_js_1.SemanticWalker(p1, p2, p3, p4),
  15. syntax: (p1, p2, p3, p4) => new syntax_walker_js_1.SyntaxWalker(p1, p2, p3, p4),
  16. table: (p1, p2, p3, p4) => new table_walker_js_1.TableWalker(p1, p2, p3, p4)
  17. };