Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

há 3 anos
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _h2xTypes = require("h2x-types");
  7. var _TraversalContext = _interopRequireDefault(require("./TraversalContext"));
  8. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  9. /* eslint-disable no-restricted-syntax */
  10. function traverse(ast, opts = {}, state = {}) {
  11. if (!ast) return;
  12. const keys = (0, _h2xTypes.getNodeVisitorKeys)(ast);
  13. if (!keys) return;
  14. const context = new _TraversalContext.default({
  15. opts,
  16. state
  17. });
  18. var _iteratorNormalCompletion = true;
  19. var _didIteratorError = false;
  20. var _iteratorError = undefined;
  21. try {
  22. for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
  23. const key = _step.value;
  24. if (context.visit(ast, key)) return;
  25. }
  26. } catch (err) {
  27. _didIteratorError = true;
  28. _iteratorError = err;
  29. } finally {
  30. try {
  31. if (!_iteratorNormalCompletion && _iterator.return != null) {
  32. _iterator.return();
  33. }
  34. } finally {
  35. if (_didIteratorError) {
  36. throw _iteratorError;
  37. }
  38. }
  39. }
  40. }
  41. var _default = traverse;
  42. exports.default = _default;