UNPKG

666 BJavaScriptView Raw
1var escodegen = require("escodegen");
2
3module.exports = generate;
4
5function generate(ast, options, sourceContent){
6 var sourceMaps = options && options.sourceMaps;
7 var opts = { comment: true };
8 if(sourceMaps) {
9 var includeContent = !!options.sourceMapsContent;
10
11 opts.sourceMap = includeContent ? options.sourceMapFileName : true;
12 opts.sourceMapWithCode = true;
13 if(options.sourceRoot) {
14 opts.sourceMapRoot = options.sourceRoot;
15 }
16 if(includeContent) {
17 opts.sourceContent = sourceContent;
18 }
19 }
20 var result = escodegen.generate(ast, opts);
21 if(typeof result === "string") {
22 result = {
23 code: result
24 };
25 }
26 result.ast = ast;
27 return result;
28}