52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.transformSync = transformSync;
|
||
|
exports.transformAsync = transformAsync;
|
||
|
exports.transform = void 0;
|
||
|
|
||
|
var _config = _interopRequireDefault(require("./config"));
|
||
|
|
||
|
var _transformation = require("./transformation");
|
||
|
|
||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
|
||
|
const transform = function transform(code, opts, callback) {
|
||
|
if (typeof opts === "function") {
|
||
|
callback = opts;
|
||
|
opts = undefined;
|
||
|
}
|
||
|
|
||
|
if (callback === undefined) return transformSync(code, opts);
|
||
|
const cb = callback;
|
||
|
process.nextTick(() => {
|
||
|
let cfg;
|
||
|
|
||
|
try {
|
||
|
cfg = (0, _config.default)(opts);
|
||
|
if (cfg === null) return cb(null, null);
|
||
|
} catch (err) {
|
||
|
return cb(err);
|
||
|
}
|
||
|
|
||
|
(0, _transformation.runAsync)(cfg, code, null, cb);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
exports.transform = transform;
|
||
|
|
||
|
function transformSync(code, opts) {
|
||
|
const config = (0, _config.default)(opts);
|
||
|
if (config === null) return null;
|
||
|
return (0, _transformation.runSync)(config, code);
|
||
|
}
|
||
|
|
||
|
function transformAsync(code, opts) {
|
||
|
return new Promise((res, rej) => {
|
||
|
transform(code, opts, (err, result) => {
|
||
|
if (err == null) res(result);else rej(err);
|
||
|
});
|
||
|
});
|
||
|
}
|