handle-message.cjs 1.1 KB

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