123456789101112131415161718192021222324252627282930313233343536373839404142 |
- const babel = require("./babel-core.cjs");
- const maybeParse = require("./maybeParse.cjs");
- const {
- getVisitorKeys,
- getTokLabels
- } = require("./ast-info.cjs");
- const {
- normalizeBabelParseConfig,
- normalizeBabelParseConfigSync
- } = require("./configuration.cjs");
- module.exports = function handleMessage(action, payload) {
- switch (action) {
- case "GET_VERSION":
- return babel.version;
- case "GET_TYPES_INFO":
- return {
- FLOW_FLIPPED_ALIAS_KEYS: babel.types.FLIPPED_ALIAS_KEYS.Flow,
- VISITOR_KEYS: babel.types.VISITOR_KEYS
- };
- case "GET_TOKEN_LABELS":
- return getTokLabels();
- case "GET_VISITOR_KEYS":
- return getVisitorKeys();
- case "MAYBE_PARSE":
- return normalizeBabelParseConfig(payload.options).then(options => maybeParse(payload.code, options));
- case "MAYBE_PARSE_SYNC":
- {
- return maybeParse(payload.code, normalizeBabelParseConfigSync(payload.options));
- }
- }
- throw new Error(`Unknown internal parser worker action: ${action}`);
- };
|