UNPKG

s2s

Version:
37 lines (27 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.selectHandler = selectHandler; var _micromatch = _interopRequireDefault(require("micromatch")); var _s2sHandlerBabelNext = _interopRequireDefault(require("s2s-handler-babel-next")); var _s2sHandlerTypescript = _interopRequireDefault(require("s2s-handler-typescript")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const DEFAULT_HANDLE_MAPPER = { '*.(js|jsx)': _s2sHandlerBabelNext.default, '*.(ts|tsx)': _s2sHandlerTypescript.default }; function selectHandler(handlerMapper, handler, filepath) { if (handler) { return handler; } const finalHandlerMapper = Object.keys(handlerMapper).length > 0 ? handlerMapper : DEFAULT_HANDLE_MAPPER; for (const key of Object.keys(finalHandlerMapper)) { if (_micromatch.default.isMatch(filepath, key, { matchBase: true })) { return finalHandlerMapper[key]; } } throw new Error('any handlers not match'); }