@aiot-toolkit/generator
Version:
Generate source code and sourcemap from the AST
43 lines (42 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _sourceMap = require("source-map");
class TypescriptGenerator {
generate(params) {
const {
sourceFilePath,
ast,
targetFilePath,
mapList
} = params;
// 生成写入源码
const code = ast.getFullText();
// 构建 sourcemap 数据生成 sourcemap
const generator = new _sourceMap.SourceMapGenerator({
file: targetFilePath
});
mapList.forEach(item => {
generator.addMapping({
source: sourceFilePath,
name: item.name,
original: {
line: item.source.startLine,
column: item.source.startColumn
},
generated: {
line: item.target.startLine,
column: item.target.startColumn
}
});
});
const sourcemap = generator.toString();
return {
code,
sourcemap
};
}
}
var _default = exports.default = TypescriptGenerator;