You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
916 B
35 lines
916 B
2 years ago
|
"use strict";
|
||
|
|
||
|
exports.__esModule = true;
|
||
|
exports.default = void 0;
|
||
|
|
||
|
var _state = require("./state");
|
||
|
|
||
|
var _config = require("./config");
|
||
|
|
||
|
var _plugins = require("./plugins");
|
||
|
|
||
|
function run(code, config, state) {
|
||
|
const expandedState = (0, _state.expandState)(state);
|
||
|
const plugins = (0, _plugins.getPlugins)(config, state).map(_plugins.resolvePlugin);
|
||
|
let nextCode = String(code).replace('\0', ''); // eslint-disable-next-line no-restricted-syntax
|
||
|
|
||
|
for (const plugin of plugins) {
|
||
|
nextCode = plugin(nextCode, config, expandedState);
|
||
|
}
|
||
|
|
||
|
return nextCode;
|
||
|
}
|
||
|
|
||
|
async function convert(code, config = {}, state = {}) {
|
||
|
config = await (0, _config.loadConfig)(config, state);
|
||
|
return run(code, config, state);
|
||
|
}
|
||
|
|
||
|
convert.sync = (code, config = {}, state = {}) => {
|
||
|
config = _config.loadConfig.sync(config, state);
|
||
|
return run(code, config, state);
|
||
|
};
|
||
|
|
||
|
var _default = convert;
|
||
|
exports.default = _default;
|