33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
const babel = require("./babel-core.cjs");
|
|
const maybeParse = require("./maybeParse.cjs");
|
|
const astInfo = require("./ast-info.cjs");
|
|
const config = require("./configuration.cjs");
|
|
const Clients = require("../client.cjs");
|
|
var ACTIONS = Clients.ACTIONS;
|
|
module.exports = function handleMessage(action, payload) {
|
|
switch (action) {
|
|
case ACTIONS.GET_VERSION:
|
|
return babel.version;
|
|
case ACTIONS.GET_TYPES_INFO:
|
|
return {
|
|
FLOW_FLIPPED_ALIAS_KEYS: babel.types.FLIPPED_ALIAS_KEYS.Flow,
|
|
VISITOR_KEYS: babel.types.VISITOR_KEYS
|
|
};
|
|
case ACTIONS.GET_TOKEN_LABELS:
|
|
return astInfo.getTokLabels();
|
|
case ACTIONS.GET_VISITOR_KEYS:
|
|
return astInfo.getVisitorKeys();
|
|
case ACTIONS.MAYBE_PARSE:
|
|
return config.normalizeBabelParseConfig(payload.options).then(options => maybeParse(payload.code, options));
|
|
case ACTIONS.MAYBE_PARSE_SYNC:
|
|
{
|
|
return maybeParse(payload.code, config.normalizeBabelParseConfigSync(payload.options));
|
|
}
|
|
}
|
|
throw new Error(`Unknown internal parser worker action: ${action}`);
|
|
};
|
|
|
|
//# sourceMappingURL=handle-message.cjs.map
|