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
"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; |