handle-message.cjs 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. "use strict";
  2. const babel = require("./babel-core.cjs");
  3. const maybeParse = require("./maybeParse.cjs");
  4. const maybeParseSync = require("./maybeParseSync.cjs");
  5. const astInfo = require("./ast-info.cjs");
  6. const config = require("./configuration.cjs");
  7. const Clients = require("../client.cjs");
  8. var ACTIONS = Clients.ACTIONS;
  9. module.exports = function handleMessage(action, payload) {
  10. switch (action) {
  11. case ACTIONS.GET_VERSION:
  12. return babel.version;
  13. case ACTIONS.GET_TYPES_INFO:
  14. return {
  15. FLOW_FLIPPED_ALIAS_KEYS: babel.types.FLIPPED_ALIAS_KEYS.Flow,
  16. VISITOR_KEYS: babel.types.VISITOR_KEYS
  17. };
  18. case ACTIONS.GET_TOKEN_LABELS:
  19. return astInfo.getTokLabels();
  20. case ACTIONS.GET_VISITOR_KEYS:
  21. return astInfo.getVisitorKeys();
  22. case ACTIONS.MAYBE_PARSE:
  23. return config.normalizeBabelParseConfig(payload.options).then(options => maybeParse(payload.code, options));
  24. case ACTIONS.MAYBE_PARSE_SYNC:
  25. {
  26. return maybeParseSync(payload.code, config.normalizeBabelParseConfigSync(payload.options));
  27. }
  28. }
  29. throw new Error(`Unknown internal parser worker action: ${action}`);
  30. };
  31. //# sourceMappingURL=handle-message.cjs.map