babel-schmooze-sprockets 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/console +14 -0
- data/bin/export-external-helpers +3 -0
- data/bin/setup +6 -0
- data/bin/update-npm-deps +8 -0
- data/examples/myapp/Gemfile +4 -5
- data/examples/myapp/Gemfile.lock +69 -93
- data/examples/myapp/app/assets/javascripts/code/hello.es6 +5 -1
- data/examples/myapp/app/views/layouts/application.html.erb +1 -0
- data/examples/myapp/app/views/site/home.html.erb +0 -1
- data/lib/babel-schmooze-sprockets/babel_processor.rb +6 -4
- data/lib/babel-schmooze-sprockets/engine.rb +1 -4
- data/lib/babel-schmooze-sprockets/version.rb +1 -1
- data/node_modules/amdefine/package.json +8 -1
- data/node_modules/babel-core/node_modules/babel-runtime/package.json +9 -5
- data/node_modules/babel-core/node_modules/babel-traverse/.npmignore +3 -0
- data/node_modules/babel-core/node_modules/babel-traverse/README.md +1 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/cache.js +20 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/context.js +219 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/hub.js +19 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/index.js +250 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/ancestry.js +317 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/comments.js +55 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/context.js +297 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/conversion.js +48 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/evaluation.js +406 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/family.js +168 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/index.js +245 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/index.js +151 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/inferer-reference.js +225 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/inferers.js +198 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/introspection.js +518 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/hoister.js +166 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/removal-hooks.js +64 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/virtual-types.js +141 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/modification.js +293 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/removal.js +72 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/path/replacement.js +302 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/binding.js +105 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/index.js +1222 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/lib/renamer.js +154 -0
- data/node_modules/babel-core/node_modules/babel-traverse/lib/visitors.js +360 -0
- data/node_modules/babel-core/node_modules/babel-traverse/package.json +107 -0
- data/node_modules/babel-core/node_modules/core-js/package.json +20 -2
- data/node_modules/babel-core/package.json +31 -24
- data/node_modules/babel-generator/lib/buffer.js +69 -70
- data/node_modules/babel-generator/lib/generators/base.js +16 -12
- data/node_modules/babel-generator/lib/generators/classes.js +28 -19
- data/node_modules/babel-generator/lib/generators/expressions.js +76 -99
- data/node_modules/babel-generator/lib/generators/flow.js +178 -119
- data/node_modules/babel-generator/lib/generators/jsx.js +38 -29
- data/node_modules/babel-generator/lib/generators/methods.js +34 -25
- data/node_modules/babel-generator/lib/generators/modules.js +67 -40
- data/node_modules/babel-generator/lib/generators/statements.js +93 -76
- data/node_modules/babel-generator/lib/generators/template-literals.js +12 -11
- data/node_modules/babel-generator/lib/generators/types.js +56 -49
- data/node_modules/babel-generator/lib/index.js +52 -39
- data/node_modules/babel-generator/lib/node/index.js +12 -18
- data/node_modules/babel-generator/lib/node/parentheses.js +23 -27
- data/node_modules/babel-generator/lib/node/whitespace.js +20 -26
- data/node_modules/babel-generator/lib/position.js +5 -5
- data/node_modules/babel-generator/lib/printer.js +52 -81
- data/node_modules/babel-generator/lib/source-map.js +9 -11
- data/node_modules/babel-generator/lib/whitespace.js +13 -13
- data/node_modules/babel-generator/node_modules/babel-runtime/package.json +19 -6
- data/node_modules/babel-generator/node_modules/babel-types/.npmignore +3 -0
- data/node_modules/babel-generator/node_modules/babel-types/README.md +1141 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/constants.js +40 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/converters.js +378 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/core.js +704 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/es2015.js +354 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/experimental.js +85 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/flow.js +319 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/index.js +247 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/init.js +15 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/jsx.js +137 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/misc.js +21 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/flow.js +129 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/index.js +848 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/react.js +83 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/retrievers.js +123 -0
- data/node_modules/babel-generator/node_modules/babel-types/lib/validators.js +276 -0
- data/node_modules/babel-generator/node_modules/babel-types/package.json +103 -0
- data/node_modules/babel-generator/node_modules/core-js/package.json +10 -5
- data/node_modules/babel-generator/package.json +19 -16
- data/node_modules/babel-helpers/node_modules/babel-runtime/package.json +19 -3
- data/node_modules/babel-helpers/node_modules/core-js/package.json +20 -4
- data/node_modules/babel-helpers/package.json +8 -1
- data/node_modules/babel-register/node_modules/babel-runtime/package.json +19 -3
- data/node_modules/babel-register/node_modules/core-js/package.json +20 -4
- data/node_modules/babel-register/package.json +8 -1
- data/node_modules/balanced-match/package.json +8 -1
- data/node_modules/brace-expansion/package.json +19 -12
- data/node_modules/concat-map/package.json +9 -2
- data/node_modules/convert-source-map/package.json +8 -1
- data/node_modules/detect-indent/package.json +8 -1
- data/node_modules/get-stdin/package.json +8 -1
- data/node_modules/home-or-tmp/package.json +9 -2
- data/node_modules/is-finite/package.json +8 -2
- data/node_modules/json5/package.json +8 -1
- data/node_modules/minimatch/README.md +2 -9
- data/node_modules/minimatch/minimatch.js +15 -3
- data/node_modules/minimatch/package.json +29 -21
- data/node_modules/minimist/package.json +8 -1
- data/node_modules/mkdirp/node_modules/minimist/package.json +8 -1
- data/node_modules/mkdirp/package.json +8 -1
- data/node_modules/number-is-nan/package.json +8 -1
- data/node_modules/os-tmpdir/package.json +8 -1
- data/node_modules/path-exists/package.json +8 -1
- data/node_modules/path-is-absolute/package.json +8 -1
- data/node_modules/repeating/package.json +15 -11
- data/node_modules/shebang-regex/package.json +8 -1
- data/node_modules/slash/package.json +8 -1
- data/node_modules/source-map-support/node_modules/source-map/package.json +8 -1
- data/node_modules/source-map-support/package.json +8 -1
- data/node_modules/source-map/package.json +8 -1
- data/node_modules/user-home/package.json +8 -1
- data/package.json +1 -1
- metadata +54 -6
- data/node_modules/brace-expansion/.npmignore +0 -3
- data/node_modules/brace-expansion/example.js +0 -8
- data/node_modules/minimatch/browser.js +0 -1159
@@ -1,12 +1,20 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.File = File;
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
exports.Program = Program;
|
6
|
+
exports.BlockStatement = BlockStatement;
|
7
|
+
exports.Noop = Noop;
|
8
|
+
exports.Directive = Directive;
|
9
|
+
|
10
|
+
var _types = require("./types");
|
11
|
+
|
12
|
+
Object.defineProperty(exports, "DirectiveLiteral", {
|
13
|
+
enumerable: true,
|
14
|
+
get: function get() {
|
15
|
+
return _types.StringLiteral;
|
16
|
+
}
|
17
|
+
});
|
10
18
|
function File(node) {
|
11
19
|
this.print(node.program, node);
|
12
20
|
}
|
@@ -21,7 +29,7 @@ function Program(node) {
|
|
21
29
|
}
|
22
30
|
|
23
31
|
function BlockStatement(node) {
|
24
|
-
this.
|
32
|
+
this.token("{");
|
25
33
|
this.printInnerComments(node);
|
26
34
|
if (node.body.length) {
|
27
35
|
this.newline();
|
@@ -36,7 +44,7 @@ function BlockStatement(node) {
|
|
36
44
|
this.rightBrace();
|
37
45
|
} else {
|
38
46
|
this.source("end", node.loc);
|
39
|
-
this.
|
47
|
+
this.token("}");
|
40
48
|
}
|
41
49
|
}
|
42
50
|
|
@@ -45,8 +53,4 @@ function Noop() {}
|
|
45
53
|
function Directive(node) {
|
46
54
|
this.print(node.value, node);
|
47
55
|
this.semicolon();
|
48
|
-
}
|
49
|
-
|
50
|
-
function DirectiveLiteral(node) {
|
51
|
-
this.push(this._stringLiteral(node.value));
|
52
56
|
}
|
@@ -1,42 +1,46 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.ClassDeclaration = ClassDeclaration;
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
exports.ClassBody = ClassBody;
|
6
|
+
exports.ClassProperty = ClassProperty;
|
7
|
+
exports.ClassMethod = ClassMethod;
|
8
8
|
function ClassDeclaration(node) {
|
9
|
-
this.printJoin(node.decorators, node
|
10
|
-
this.
|
9
|
+
this.printJoin(node.decorators, node);
|
10
|
+
this.word("class");
|
11
11
|
|
12
12
|
if (node.id) {
|
13
|
-
this.
|
13
|
+
this.space();
|
14
14
|
this.print(node.id, node);
|
15
15
|
}
|
16
16
|
|
17
17
|
this.print(node.typeParameters, node);
|
18
18
|
|
19
19
|
if (node.superClass) {
|
20
|
-
this.
|
20
|
+
this.space();
|
21
|
+
this.word("extends");
|
22
|
+
this.space();
|
21
23
|
this.print(node.superClass, node);
|
22
24
|
this.print(node.superTypeParameters, node);
|
23
25
|
}
|
24
26
|
|
25
27
|
if (node.implements) {
|
26
|
-
this.
|
27
|
-
this.
|
28
|
+
this.space();
|
29
|
+
this.word("implements");
|
30
|
+
this.space();
|
31
|
+
this.printList(node.implements, node);
|
28
32
|
}
|
29
33
|
|
30
34
|
this.space();
|
31
35
|
this.print(node.body, node);
|
32
36
|
}
|
33
37
|
|
34
|
-
|
38
|
+
exports.ClassExpression = ClassDeclaration;
|
35
39
|
function ClassBody(node) {
|
36
|
-
this.
|
40
|
+
this.token("{");
|
37
41
|
this.printInnerComments(node);
|
38
42
|
if (node.body.length === 0) {
|
39
|
-
this.
|
43
|
+
this.token("}");
|
40
44
|
} else {
|
41
45
|
this.newline();
|
42
46
|
|
@@ -49,14 +53,17 @@ function ClassBody(node) {
|
|
49
53
|
}
|
50
54
|
|
51
55
|
function ClassProperty(node) {
|
52
|
-
this.printJoin(node.decorators, node
|
56
|
+
this.printJoin(node.decorators, node);
|
53
57
|
|
54
|
-
if (node.static)
|
58
|
+
if (node.static) {
|
59
|
+
this.word("static");
|
60
|
+
this.space();
|
61
|
+
}
|
55
62
|
this.print(node.key, node);
|
56
63
|
this.print(node.typeAnnotation, node);
|
57
64
|
if (node.value) {
|
58
65
|
this.space();
|
59
|
-
this.
|
66
|
+
this.token("=");
|
60
67
|
this.space();
|
61
68
|
this.print(node.value, node);
|
62
69
|
}
|
@@ -64,14 +71,16 @@ function ClassProperty(node) {
|
|
64
71
|
}
|
65
72
|
|
66
73
|
function ClassMethod(node) {
|
67
|
-
this.printJoin(node.decorators, node
|
74
|
+
this.printJoin(node.decorators, node);
|
68
75
|
|
69
76
|
if (node.static) {
|
70
|
-
this.
|
77
|
+
this.word("static");
|
78
|
+
this.space();
|
71
79
|
}
|
72
80
|
|
73
81
|
if (node.kind === "constructorCall") {
|
74
|
-
this.
|
82
|
+
this.word("call");
|
83
|
+
this.space();
|
75
84
|
}
|
76
85
|
|
77
86
|
this._method(node);
|
@@ -1,47 +1,42 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.LogicalExpression = exports.BinaryExpression = exports.AwaitExpression = exports.YieldExpression = undefined;
|
5
5
|
exports.UnaryExpression = UnaryExpression;
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
var
|
25
|
-
|
26
|
-
/*istanbul ignore next*/
|
6
|
+
exports.DoExpression = DoExpression;
|
7
|
+
exports.ParenthesizedExpression = ParenthesizedExpression;
|
8
|
+
exports.UpdateExpression = UpdateExpression;
|
9
|
+
exports.ConditionalExpression = ConditionalExpression;
|
10
|
+
exports.NewExpression = NewExpression;
|
11
|
+
exports.SequenceExpression = SequenceExpression;
|
12
|
+
exports.ThisExpression = ThisExpression;
|
13
|
+
exports.Super = Super;
|
14
|
+
exports.Decorator = Decorator;
|
15
|
+
exports.CallExpression = CallExpression;
|
16
|
+
exports.EmptyStatement = EmptyStatement;
|
17
|
+
exports.ExpressionStatement = ExpressionStatement;
|
18
|
+
exports.AssignmentPattern = AssignmentPattern;
|
19
|
+
exports.AssignmentExpression = AssignmentExpression;
|
20
|
+
exports.BindExpression = BindExpression;
|
21
|
+
exports.MemberExpression = MemberExpression;
|
22
|
+
exports.MetaProperty = MetaProperty;
|
23
|
+
|
24
|
+
var _isInteger = require("lodash/isInteger");
|
25
|
+
|
27
26
|
var _isInteger2 = _interopRequireDefault(_isInteger);
|
28
27
|
|
29
|
-
var
|
28
|
+
var _isNumber = require("lodash/isNumber");
|
30
29
|
|
31
|
-
/*istanbul ignore next*/
|
32
30
|
var _isNumber2 = _interopRequireDefault(_isNumber);
|
33
31
|
|
34
|
-
var
|
32
|
+
var _babelTypes = require("babel-types");
|
35
33
|
|
36
|
-
/*istanbul ignore next*/
|
37
34
|
var t = _interopRequireWildcard(_babelTypes);
|
38
35
|
|
39
|
-
var
|
36
|
+
var _node = require("../node");
|
40
37
|
|
41
|
-
/*istanbul ignore next*/
|
42
38
|
var n = _interopRequireWildcard(_node);
|
43
39
|
|
44
|
-
/*istanbul ignore next*/
|
45
40
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
46
41
|
|
47
42
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -53,64 +48,59 @@ var ZERO_DECIMAL_INTEGER = /\.0+$/;
|
|
53
48
|
var NON_DECIMAL_LITERAL = /^0[box]/;
|
54
49
|
|
55
50
|
function UnaryExpression(node) {
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
}
|
62
|
-
|
63
|
-
if (t.isUnaryExpression(arg) && arg.operator === "!") {
|
64
|
-
needsSpace = false;
|
51
|
+
if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof") {
|
52
|
+
this.word(node.operator);
|
53
|
+
this.space();
|
54
|
+
} else {
|
55
|
+
this.token(node.operator);
|
65
56
|
}
|
66
57
|
|
67
|
-
this.push(node.operator);
|
68
|
-
if (needsSpace) this.push(" ");
|
69
58
|
this.print(node.argument, node);
|
70
59
|
}
|
71
60
|
|
72
61
|
function DoExpression(node) {
|
73
|
-
this.
|
62
|
+
this.word("do");
|
74
63
|
this.space();
|
75
64
|
this.print(node.body, node);
|
76
65
|
}
|
77
66
|
|
78
67
|
function ParenthesizedExpression(node) {
|
79
|
-
this.
|
68
|
+
this.token("(");
|
80
69
|
this.print(node.expression, node);
|
81
|
-
this.
|
70
|
+
this.token(")");
|
82
71
|
}
|
83
72
|
|
84
73
|
function UpdateExpression(node) {
|
85
74
|
if (node.prefix) {
|
86
|
-
this.
|
75
|
+
this.token(node.operator);
|
87
76
|
this.print(node.argument, node);
|
88
77
|
} else {
|
89
78
|
this.print(node.argument, node);
|
90
|
-
this.
|
79
|
+
this.token(node.operator);
|
91
80
|
}
|
92
81
|
}
|
93
82
|
|
94
83
|
function ConditionalExpression(node) {
|
95
84
|
this.print(node.test, node);
|
96
85
|
this.space();
|
97
|
-
this.
|
86
|
+
this.token("?");
|
98
87
|
this.space();
|
99
88
|
this.print(node.consequent, node);
|
100
89
|
this.space();
|
101
|
-
this.
|
90
|
+
this.token(":");
|
102
91
|
this.space();
|
103
92
|
this.print(node.alternate, node);
|
104
93
|
}
|
105
94
|
|
106
95
|
function NewExpression(node, parent) {
|
107
|
-
this.
|
96
|
+
this.word("new");
|
97
|
+
this.space();
|
108
98
|
this.print(node.callee, node);
|
109
99
|
if (node.arguments.length === 0 && this.format.minified && !t.isCallExpression(parent, { callee: node }) && !t.isMemberExpression(parent) && !t.isNewExpression(parent)) return;
|
110
100
|
|
111
|
-
this.
|
101
|
+
this.token("(");
|
112
102
|
this.printList(node.arguments, node);
|
113
|
-
this.
|
103
|
+
this.token(")");
|
114
104
|
}
|
115
105
|
|
116
106
|
function SequenceExpression(node) {
|
@@ -118,30 +108,35 @@ function SequenceExpression(node) {
|
|
118
108
|
}
|
119
109
|
|
120
110
|
function ThisExpression() {
|
121
|
-
this.
|
111
|
+
this.word("this");
|
122
112
|
}
|
123
113
|
|
124
114
|
function Super() {
|
125
|
-
this.
|
115
|
+
this.word("super");
|
126
116
|
}
|
127
117
|
|
128
118
|
function Decorator(node) {
|
129
|
-
this.
|
119
|
+
this.token("@");
|
130
120
|
this.print(node.expression, node);
|
131
121
|
this.newline();
|
132
122
|
}
|
133
123
|
|
124
|
+
function commaSeparatorNewline() {
|
125
|
+
this.token(",");
|
126
|
+
this.push("\n");
|
127
|
+
}
|
128
|
+
|
134
129
|
function CallExpression(node) {
|
135
130
|
this.print(node.callee, node);
|
136
131
|
if (node.loc) this.printAuxAfterComment();
|
137
132
|
|
138
|
-
this.
|
133
|
+
this.token("(");
|
139
134
|
|
140
135
|
var isPrettyCall = node._prettyCall && !this.format.retainLines && !this.format.compact;
|
141
136
|
|
142
|
-
var separator =
|
137
|
+
var separator = void 0;
|
143
138
|
if (isPrettyCall) {
|
144
|
-
separator =
|
139
|
+
separator = commaSeparatorNewline;
|
145
140
|
this.newline();
|
146
141
|
this.indent();
|
147
142
|
}
|
@@ -153,19 +148,19 @@ function CallExpression(node) {
|
|
153
148
|
this.dedent();
|
154
149
|
}
|
155
150
|
|
156
|
-
this.
|
151
|
+
this.token(")");
|
157
152
|
}
|
158
153
|
|
159
154
|
function buildYieldAwait(keyword) {
|
160
155
|
return function (node) {
|
161
|
-
this.
|
156
|
+
this.word(keyword);
|
162
157
|
|
163
158
|
if (node.delegate) {
|
164
|
-
this.
|
159
|
+
this.token("*");
|
165
160
|
}
|
166
161
|
|
167
162
|
if (node.argument) {
|
168
|
-
this.
|
163
|
+
this.space();
|
169
164
|
var terminatorState = this.startTerminatorless();
|
170
165
|
this.print(node.argument, node);
|
171
166
|
this.endTerminatorless(terminatorState);
|
@@ -173,8 +168,8 @@ function buildYieldAwait(keyword) {
|
|
173
168
|
};
|
174
169
|
}
|
175
170
|
|
176
|
-
var YieldExpression =
|
177
|
-
var AwaitExpression =
|
171
|
+
var YieldExpression = exports.YieldExpression = buildYieldAwait("yield");
|
172
|
+
var AwaitExpression = exports.AwaitExpression = buildYieldAwait("await");
|
178
173
|
|
179
174
|
function EmptyStatement() {
|
180
175
|
this._lastPrintedIsEmptyStatement = true;
|
@@ -189,7 +184,7 @@ function ExpressionStatement(node) {
|
|
189
184
|
function AssignmentPattern(node) {
|
190
185
|
this.print(node.left, node);
|
191
186
|
this.space();
|
192
|
-
this.
|
187
|
+
this.token("=");
|
193
188
|
this.space();
|
194
189
|
this.print(node.right, node);
|
195
190
|
}
|
@@ -200,45 +195,34 @@ function AssignmentExpression(node, parent) {
|
|
200
195
|
var parens = this._inForStatementInitCounter && node.operator === "in" && !n.needsParens(node, parent);
|
201
196
|
|
202
197
|
if (parens) {
|
203
|
-
this.
|
198
|
+
this.token("(");
|
204
199
|
}
|
205
200
|
|
206
201
|
this.print(node.left, node);
|
207
202
|
|
208
|
-
|
209
|
-
if (
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
if (!spaces) {
|
214
|
-
// space is mandatory to avoid outputting <!--
|
215
|
-
// http://javascript.spec.whatwg.org/#comment-syntax
|
216
|
-
spaces = node.operator === "<" && t.isUnaryExpression(node.right, { prefix: true, operator: "!" }) && t.isUnaryExpression(node.right.argument, { prefix: true, operator: "--" });
|
217
|
-
|
218
|
-
// Need spaces for operators of the same kind to avoid: `a+++b`
|
219
|
-
if (!spaces) {
|
220
|
-
var right = getLeftMost(node.right);
|
221
|
-
spaces = t.isUnaryExpression(right, { prefix: true, operator: node.operator }) || t.isUpdateExpression(right, { prefix: true, operator: node.operator + node.operator });
|
222
|
-
}
|
203
|
+
this.space();
|
204
|
+
if (node.operator === "in" || node.operator === "instanceof") {
|
205
|
+
this.word(node.operator);
|
206
|
+
} else {
|
207
|
+
this.token(node.operator);
|
223
208
|
}
|
224
|
-
|
225
|
-
if (spaces) this.push(" ");
|
209
|
+
this.space();
|
226
210
|
|
227
211
|
this.print(node.right, node);
|
228
212
|
|
229
213
|
if (parens) {
|
230
|
-
this.
|
214
|
+
this.token(")");
|
231
215
|
}
|
232
216
|
}
|
233
217
|
|
234
218
|
function BindExpression(node) {
|
235
219
|
this.print(node.object, node);
|
236
|
-
this.
|
220
|
+
this.token("::");
|
237
221
|
this.print(node.callee, node);
|
238
222
|
}
|
239
223
|
|
240
|
-
|
241
|
-
|
224
|
+
exports.BinaryExpression = AssignmentExpression;
|
225
|
+
exports.LogicalExpression = AssignmentExpression;
|
242
226
|
function MemberExpression(node) {
|
243
227
|
this.print(node.object, node);
|
244
228
|
|
@@ -247,36 +231,29 @@ function MemberExpression(node) {
|
|
247
231
|
}
|
248
232
|
|
249
233
|
var computed = node.computed;
|
250
|
-
if (t.isLiteral(node.property) &&
|
234
|
+
if (t.isLiteral(node.property) && (0, _isNumber2.default)(node.property.value)) {
|
251
235
|
computed = true;
|
252
236
|
}
|
253
237
|
|
254
238
|
if (computed) {
|
255
|
-
this.
|
239
|
+
this.token("[");
|
256
240
|
this.print(node.property, node);
|
257
|
-
this.
|
241
|
+
this.token("]");
|
258
242
|
} else {
|
259
243
|
if (t.isNumericLiteral(node.object)) {
|
260
244
|
var val = this.getPossibleRaw(node.object) || node.object.value;
|
261
|
-
if (
|
262
|
-
this.
|
245
|
+
if ((0, _isInteger2.default)(+val) && !NON_DECIMAL_LITERAL.test(val) && !SCIENTIFIC_NOTATION.test(val) && !ZERO_DECIMAL_INTEGER.test(val) && !this.endsWith(".")) {
|
246
|
+
this.token(".");
|
263
247
|
}
|
264
248
|
}
|
265
249
|
|
266
|
-
this.
|
250
|
+
this.token(".");
|
267
251
|
this.print(node.property, node);
|
268
252
|
}
|
269
253
|
}
|
270
254
|
|
271
255
|
function MetaProperty(node) {
|
272
256
|
this.print(node.meta, node);
|
273
|
-
this.
|
257
|
+
this.token(".");
|
274
258
|
this.print(node.property, node);
|
275
|
-
}
|
276
|
-
|
277
|
-
function getLeftMost(binaryExpr) {
|
278
|
-
if (!t.isBinaryExpression(binaryExpr)) {
|
279
|
-
return binaryExpr;
|
280
|
-
}
|
281
|
-
return getLeftMost(binaryExpr.left);
|
282
259
|
}
|