UNPKG

@aiot-toolkit/generator

Version:

Generate source code and sourcemap from the AST

43 lines (42 loc) 1 kB
"use strict"; 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;