-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.js
43 lines (34 loc) · 830 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
'use strict';
var Rx = require('rx');
var escodegen = require('escodegen');
module.exports = function (options) {
options = options || {};
if (typeof options.format === 'string') {
options.format = escodegen[options.format];
}
options.sourceMapWithCode = true;
return function (files) {
return files.flatMap(function (file) {
var result = escodegen.generate(file.program, options);
var code = result.code;
var map = result.map;
var fileName = file.loc.source;
var files = [];
if (map) {
map = result.map.toString();
code += '\n//# sourceMappingURL=' + fileName + '.map';
}
files.push({
path: fileName,
contents: code
});
if (map) {
files.push({
path: fileName + '.map',
contents: map
});
}
return Rx.Observable.fromArray(files);
});
};
};