Abstracted out common code into `innerTransform`
As per feedback brought common logic from both `transform` and `transformAsObject` into its own `innerTransform` function.
Anthony van der Hoorn committed
Jul 6, 2014 at 16:23 UTC
5c4e4510544afa19894ea356e08f1c12e659edba
1 file changed
+17
-16
main.js
+17
-16
@@ -6,34 +6,35 @@ var Buffer = require('buffer').Buffer;
6
7
module.exports = {
8
transform: function(input, options) {
9
- options = options || {};
10
- var visitorList = getVisitors(options.harmony);
11
- var result = transform(visitorList, input, options);
12
- var output = result.code;
13
- if (options.sourceMap) {
9
+ var output = innerTransform(input, options);
10
+ var result = output.code;
11
+ if (options && options.sourceMap) {
12
var map = inlineSourceMap(
15
- result.sourceMap,
13
+ output.sourceMap,
14
input,
15
options.sourceFilename
16
);
19
- output += '\n' + map;
17
+ result += '\n' + map;
18
}
21
- return output;
19
+ return result;
20
},
21
transformAsObject: function(input, options) {
24
- options = options || {};
25
- var visitorList = getVisitors(options.harmony);
26
- var resultRaw = transform(visitorList, input, options);
27
- var result = {
28
- code: resultRaw.code
29
- };
30
- if (options.sourceMap) {
31
- result.sourceMap = resultRaw.sourceMap;
22
+ var output = innerTransform(input, options);
23
+ var result = {};
24
+ result.code = output.code;
25
+ if (options && options.sourceMap) {
26
+ result.sourceMap = output.sourceMap;
27
}
28
return result;
29
}
30
};
31
32
+function innerTransform(input, options) {
33
+ options = options || {};
34
+ var visitorList = getVisitors(options.harmony);
35
+ return transform(visitorList, input, options);
36
+}
37
+
38
function getVisitors(harmony) {
39
if (harmony) {
40
return visitors.getAllVisitors();