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,4 +1,4 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.ThrowStatement = exports.BreakStatement = exports.ReturnStatement = exports.ContinueStatement = exports.ForOfStatement = exports.ForInStatement = undefined;
|
@@ -8,54 +8,45 @@ var _getIterator2 = require("babel-runtime/core-js/get-iterator");
|
|
8
8
|
var _getIterator3 = _interopRequireDefault(_getIterator2);
|
9
9
|
|
10
10
|
exports.WithStatement = WithStatement;
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
var
|
25
|
-
|
26
|
-
/*istanbul ignore next*/
|
27
|
-
var _repeat2 = _interopRequireDefault(_repeat);
|
28
|
-
|
29
|
-
var /*istanbul ignore next*/_babelTypes = require("babel-types");
|
30
|
-
|
31
|
-
/*istanbul ignore next*/
|
11
|
+
exports.IfStatement = IfStatement;
|
12
|
+
exports.ForStatement = ForStatement;
|
13
|
+
exports.WhileStatement = WhileStatement;
|
14
|
+
exports.DoWhileStatement = DoWhileStatement;
|
15
|
+
exports.LabeledStatement = LabeledStatement;
|
16
|
+
exports.TryStatement = TryStatement;
|
17
|
+
exports.CatchClause = CatchClause;
|
18
|
+
exports.SwitchStatement = SwitchStatement;
|
19
|
+
exports.SwitchCase = SwitchCase;
|
20
|
+
exports.DebuggerStatement = DebuggerStatement;
|
21
|
+
exports.VariableDeclaration = VariableDeclaration;
|
22
|
+
exports.VariableDeclarator = VariableDeclarator;
|
23
|
+
|
24
|
+
var _babelTypes = require("babel-types");
|
25
|
+
|
32
26
|
var t = _interopRequireWildcard(_babelTypes);
|
33
27
|
|
34
|
-
/*istanbul ignore next*/
|
35
28
|
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; } }
|
36
29
|
|
37
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
38
31
|
|
39
|
-
var NON_ALPHABETIC_UNARY_OPERATORS = t.UPDATE_OPERATORS.concat(t.NUMBER_UNARY_OPERATORS).concat(["!"]);
|
40
|
-
|
41
32
|
function WithStatement(node) {
|
42
33
|
this.keyword("with");
|
43
|
-
this.
|
34
|
+
this.token("(");
|
44
35
|
this.print(node.object, node);
|
45
|
-
this.
|
36
|
+
this.token(")");
|
46
37
|
this.printBlock(node);
|
47
38
|
}
|
48
39
|
|
49
40
|
function IfStatement(node) {
|
50
41
|
this.keyword("if");
|
51
|
-
this.
|
42
|
+
this.token("(");
|
52
43
|
this.print(node.test, node);
|
53
|
-
this.
|
44
|
+
this.token(")");
|
54
45
|
this.space();
|
55
46
|
|
56
47
|
var needsBlock = node.alternate && t.isIfStatement(getLastStatement(node.consequent));
|
57
48
|
if (needsBlock) {
|
58
|
-
this.
|
49
|
+
this.token("{");
|
59
50
|
this.newline();
|
60
51
|
this.indent();
|
61
52
|
}
|
@@ -65,12 +56,13 @@ function IfStatement(node) {
|
|
65
56
|
if (needsBlock) {
|
66
57
|
this.dedent();
|
67
58
|
this.newline();
|
68
|
-
this.
|
59
|
+
this.token("}");
|
69
60
|
}
|
70
61
|
|
71
62
|
if (node.alternate) {
|
72
|
-
if (this.
|
73
|
-
this.
|
63
|
+
if (this.endsWith("}")) this.space();
|
64
|
+
this.word("else");
|
65
|
+
this.space();
|
74
66
|
this.printAndIndentOnComments(node.alternate, node);
|
75
67
|
}
|
76
68
|
}
|
@@ -83,72 +75,74 @@ function getLastStatement(statement) {
|
|
83
75
|
|
84
76
|
function ForStatement(node) {
|
85
77
|
this.keyword("for");
|
86
|
-
this.
|
78
|
+
this.token("(");
|
87
79
|
|
88
80
|
this._inForStatementInitCounter++;
|
89
81
|
this.print(node.init, node);
|
90
82
|
this._inForStatementInitCounter--;
|
91
|
-
this.
|
83
|
+
this.token(";");
|
92
84
|
|
93
85
|
if (node.test) {
|
94
86
|
this.space();
|
95
87
|
this.print(node.test, node);
|
96
88
|
}
|
97
|
-
this.
|
89
|
+
this.token(";");
|
98
90
|
|
99
91
|
if (node.update) {
|
100
92
|
this.space();
|
101
93
|
this.print(node.update, node);
|
102
94
|
}
|
103
95
|
|
104
|
-
this.
|
96
|
+
this.token(")");
|
105
97
|
this.printBlock(node);
|
106
98
|
}
|
107
99
|
|
108
100
|
function WhileStatement(node) {
|
109
101
|
this.keyword("while");
|
110
|
-
this.
|
102
|
+
this.token("(");
|
111
103
|
this.print(node.test, node);
|
112
|
-
this.
|
104
|
+
this.token(")");
|
113
105
|
this.printBlock(node);
|
114
106
|
}
|
115
107
|
|
116
108
|
var buildForXStatement = function buildForXStatement(op) {
|
117
109
|
return function (node) {
|
118
110
|
this.keyword("for");
|
119
|
-
this.
|
111
|
+
this.token("(");
|
120
112
|
this.print(node.left, node);
|
121
|
-
this.
|
113
|
+
this.space();
|
114
|
+
this.word(op);
|
115
|
+
this.space();
|
122
116
|
this.print(node.right, node);
|
123
|
-
this.
|
117
|
+
this.token(")");
|
124
118
|
this.printBlock(node);
|
125
119
|
};
|
126
120
|
};
|
127
121
|
|
128
|
-
var ForInStatement =
|
129
|
-
var ForOfStatement =
|
122
|
+
var ForInStatement = exports.ForInStatement = buildForXStatement("in");
|
123
|
+
var ForOfStatement = exports.ForOfStatement = buildForXStatement("of");
|
130
124
|
|
131
125
|
function DoWhileStatement(node) {
|
132
|
-
this.
|
126
|
+
this.word("do");
|
127
|
+
this.space();
|
133
128
|
this.print(node.body, node);
|
134
129
|
this.space();
|
135
130
|
this.keyword("while");
|
136
|
-
this.
|
131
|
+
this.token("(");
|
137
132
|
this.print(node.test, node);
|
138
|
-
this.
|
133
|
+
this.token(")");
|
134
|
+
this.semicolon();
|
139
135
|
}
|
140
136
|
|
141
137
|
function buildLabelStatement(prefix) {
|
142
|
-
|
138
|
+
var key = arguments.length <= 1 || arguments[1] === undefined ? "label" : arguments[1];
|
143
139
|
|
144
140
|
return function (node) {
|
145
|
-
this.
|
141
|
+
this.word(prefix);
|
146
142
|
|
147
143
|
var label = node[key];
|
148
144
|
if (label) {
|
149
|
-
|
150
|
-
this.push(" ");
|
151
|
-
}
|
145
|
+
this.space();
|
152
146
|
|
153
147
|
var terminatorState = this.startTerminatorless();
|
154
148
|
this.print(label, node);
|
@@ -159,14 +153,15 @@ function buildLabelStatement(prefix) {
|
|
159
153
|
};
|
160
154
|
}
|
161
155
|
|
162
|
-
var ContinueStatement =
|
163
|
-
var ReturnStatement =
|
164
|
-
var BreakStatement =
|
165
|
-
var ThrowStatement =
|
156
|
+
var ContinueStatement = exports.ContinueStatement = buildLabelStatement("continue");
|
157
|
+
var ReturnStatement = exports.ReturnStatement = buildLabelStatement("return", "argument");
|
158
|
+
var BreakStatement = exports.BreakStatement = buildLabelStatement("break");
|
159
|
+
var ThrowStatement = exports.ThrowStatement = buildLabelStatement("throw", "argument");
|
166
160
|
|
167
161
|
function LabeledStatement(node) {
|
168
162
|
this.print(node.label, node);
|
169
|
-
this.
|
163
|
+
this.token(":");
|
164
|
+
this.space();
|
170
165
|
this.print(node.body, node);
|
171
166
|
}
|
172
167
|
|
@@ -186,45 +181,48 @@ function TryStatement(node) {
|
|
186
181
|
|
187
182
|
if (node.finalizer) {
|
188
183
|
this.space();
|
189
|
-
this.
|
184
|
+
this.word("finally");
|
185
|
+
this.space();
|
190
186
|
this.print(node.finalizer, node);
|
191
187
|
}
|
192
188
|
}
|
193
189
|
|
194
190
|
function CatchClause(node) {
|
195
191
|
this.keyword("catch");
|
196
|
-
this.
|
192
|
+
this.token("(");
|
197
193
|
this.print(node.param, node);
|
198
|
-
this.
|
194
|
+
this.token(")");
|
199
195
|
this.space();
|
200
196
|
this.print(node.body, node);
|
201
197
|
}
|
202
198
|
|
203
199
|
function SwitchStatement(node) {
|
204
200
|
this.keyword("switch");
|
205
|
-
this.
|
201
|
+
this.token("(");
|
206
202
|
this.print(node.discriminant, node);
|
207
|
-
this.
|
203
|
+
this.token(")");
|
208
204
|
this.space();
|
209
|
-
this.
|
205
|
+
this.token("{");
|
210
206
|
|
211
207
|
this.printSequence(node.cases, node, {
|
212
208
|
indent: true,
|
213
|
-
|
209
|
+
addNewlines: function addNewlines(leading, cas) {
|
214
210
|
if (!leading && node.cases[node.cases.length - 1] === cas) return -1;
|
215
211
|
}
|
216
212
|
});
|
217
213
|
|
218
|
-
this.
|
214
|
+
this.token("}");
|
219
215
|
}
|
220
216
|
|
221
217
|
function SwitchCase(node) {
|
222
218
|
if (node.test) {
|
223
|
-
this.
|
219
|
+
this.word("case");
|
220
|
+
this.space();
|
224
221
|
this.print(node.test, node);
|
225
|
-
this.
|
222
|
+
this.token(":");
|
226
223
|
} else {
|
227
|
-
this.
|
224
|
+
this.word("default");
|
225
|
+
this.token(":");
|
228
226
|
}
|
229
227
|
|
230
228
|
if (node.consequent.length) {
|
@@ -234,17 +232,36 @@ function SwitchCase(node) {
|
|
234
232
|
}
|
235
233
|
|
236
234
|
function DebuggerStatement() {
|
237
|
-
this.
|
235
|
+
this.word("debugger");
|
236
|
+
this.semicolon();
|
237
|
+
}
|
238
|
+
|
239
|
+
function variableDeclarationIdent() {
|
240
|
+
// "let " or "var " indentation.
|
241
|
+
this.token(",");
|
242
|
+
this.push("\n");
|
243
|
+
for (var i = 0; i < 4; i++) {
|
244
|
+
this.push(" ");
|
245
|
+
}
|
246
|
+
}
|
247
|
+
|
248
|
+
function constDeclarationIdent() {
|
249
|
+
// "const " indentation.
|
250
|
+
this.token(",");
|
251
|
+
this.push("\n");
|
252
|
+
for (var i = 0; i < 6; i++) {
|
253
|
+
this.push(" ");
|
254
|
+
}
|
238
255
|
}
|
239
256
|
|
240
257
|
function VariableDeclaration(node, parent) {
|
241
|
-
this.
|
258
|
+
this.word(node.kind);
|
259
|
+
this.space();
|
242
260
|
|
243
261
|
var hasInits = false;
|
244
262
|
// don't add whitespace to loop heads
|
245
263
|
if (!t.isFor(parent)) {
|
246
|
-
for (
|
247
|
-
/*istanbul ignore next*/
|
264
|
+
for (var _iterator = node.declarations, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {
|
248
265
|
var _ref;
|
249
266
|
|
250
267
|
if (_isArray) {
|
@@ -277,14 +294,14 @@ function VariableDeclaration(node, parent) {
|
|
277
294
|
// bar = "foo";
|
278
295
|
//
|
279
296
|
|
280
|
-
var
|
297
|
+
var separator = void 0;
|
281
298
|
if (!this.format.compact && !this.format.concise && hasInits && !this.format.retainLines) {
|
282
|
-
|
299
|
+
separator = node.kind === "const" ? constDeclarationIdent : variableDeclarationIdent;
|
283
300
|
}
|
284
301
|
|
285
302
|
//
|
286
303
|
|
287
|
-
this.printList(node.declarations, node, { separator:
|
304
|
+
this.printList(node.declarations, node, { separator: separator });
|
288
305
|
|
289
306
|
if (t.isFor(parent)) {
|
290
307
|
// don't give semicolons to these nodes since they'll be inserted in the parent generator
|
@@ -299,7 +316,7 @@ function VariableDeclarator(node) {
|
|
299
316
|
this.print(node.id.typeAnnotation, node);
|
300
317
|
if (node.init) {
|
301
318
|
this.space();
|
302
|
-
this.
|
319
|
+
this.token("=");
|
303
320
|
this.space();
|
304
321
|
this.print(node.init, node);
|
305
322
|
}
|
@@ -1,32 +1,33 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.TaggedTemplateExpression = TaggedTemplateExpression;
|
5
|
-
|
6
|
-
|
5
|
+
exports.TemplateElement = TemplateElement;
|
6
|
+
exports.TemplateLiteral = TemplateLiteral;
|
7
7
|
function TaggedTemplateExpression(node) {
|
8
8
|
this.print(node.tag, node);
|
9
9
|
this.print(node.quasi, node);
|
10
10
|
}
|
11
11
|
|
12
|
-
function TemplateElement(node) {
|
13
|
-
|
12
|
+
function TemplateElement(node, parent) {
|
13
|
+
var isFirst = parent.quasis[0] === node;
|
14
|
+
var isLast = parent.quasis[parent.quasis.length - 1] === node;
|
15
|
+
|
16
|
+
var value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${");
|
17
|
+
|
18
|
+
if (!isFirst) this.space();
|
19
|
+
this.token(value);
|
20
|
+
if (!isLast) this.space();
|
14
21
|
}
|
15
22
|
|
16
23
|
function TemplateLiteral(node) {
|
17
|
-
this.push("`");
|
18
|
-
|
19
24
|
var quasis = node.quasis;
|
20
25
|
|
21
26
|
for (var i = 0; i < quasis.length; i++) {
|
22
27
|
this.print(quasis[i], node);
|
23
28
|
|
24
29
|
if (i + 1 < quasis.length) {
|
25
|
-
this._push("${ ");
|
26
30
|
this.print(node.expressions[i], node);
|
27
|
-
this.push(" }");
|
28
31
|
}
|
29
32
|
}
|
30
|
-
|
31
|
-
this._push("`");
|
32
33
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.ArrayPattern = exports.ObjectPattern = exports.RestProperty = exports.SpreadProperty = exports.SpreadElement = undefined;
|
@@ -8,24 +8,21 @@ var _stringify = require("babel-runtime/core-js/json/stringify");
|
|
8
8
|
var _stringify2 = _interopRequireDefault(_stringify);
|
9
9
|
|
10
10
|
exports.Identifier = Identifier;
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
/*istanbul ignore next*/
|
11
|
+
exports.RestElement = RestElement;
|
12
|
+
exports.ObjectExpression = ObjectExpression;
|
13
|
+
exports.ObjectMethod = ObjectMethod;
|
14
|
+
exports.ObjectProperty = ObjectProperty;
|
15
|
+
exports.ArrayExpression = ArrayExpression;
|
16
|
+
exports.RegExpLiteral = RegExpLiteral;
|
17
|
+
exports.BooleanLiteral = BooleanLiteral;
|
18
|
+
exports.NullLiteral = NullLiteral;
|
19
|
+
exports.NumericLiteral = NumericLiteral;
|
20
|
+
exports.StringLiteral = StringLiteral;
|
21
|
+
|
22
|
+
var _babelTypes = require("babel-types");
|
23
|
+
|
26
24
|
var t = _interopRequireWildcard(_babelTypes);
|
27
25
|
|
28
|
-
/*istanbul ignore next*/
|
29
26
|
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; } }
|
30
27
|
|
31
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -35,28 +32,30 @@ function Identifier(node) {
|
|
35
32
|
// This is a terrible hack, but changing type annotations to use a new,
|
36
33
|
// dedicated node would be a breaking change. This should be cleaned up in
|
37
34
|
// the next major.
|
38
|
-
if (node.variance
|
39
|
-
|
40
|
-
|
41
|
-
|
35
|
+
if (node.variance) {
|
36
|
+
if (node.variance === "plus") {
|
37
|
+
this.token("+");
|
38
|
+
} else if (node.variance === "minus") {
|
39
|
+
this.token("-");
|
40
|
+
}
|
42
41
|
}
|
43
42
|
|
44
|
-
this.
|
43
|
+
this.word(node.name);
|
45
44
|
} /* eslint max-len: 0 */
|
46
45
|
/* eslint quotes: 0 */
|
47
46
|
|
48
47
|
function RestElement(node) {
|
49
|
-
this.
|
48
|
+
this.token("...");
|
50
49
|
this.print(node.argument, node);
|
51
50
|
}
|
52
51
|
|
53
|
-
|
54
|
-
|
55
|
-
|
52
|
+
exports.SpreadElement = RestElement;
|
53
|
+
exports.SpreadProperty = RestElement;
|
54
|
+
exports.RestProperty = RestElement;
|
56
55
|
function ObjectExpression(node) {
|
57
56
|
var props = node.properties;
|
58
57
|
|
59
|
-
this.
|
58
|
+
this.token("{");
|
60
59
|
this.printInnerComments(node);
|
61
60
|
|
62
61
|
if (props.length) {
|
@@ -65,22 +64,22 @@ function ObjectExpression(node) {
|
|
65
64
|
this.space();
|
66
65
|
}
|
67
66
|
|
68
|
-
this.
|
67
|
+
this.token("}");
|
69
68
|
}
|
70
69
|
|
71
|
-
|
70
|
+
exports.ObjectPattern = ObjectExpression;
|
72
71
|
function ObjectMethod(node) {
|
73
|
-
this.printJoin(node.decorators, node
|
72
|
+
this.printJoin(node.decorators, node);
|
74
73
|
this._method(node);
|
75
74
|
}
|
76
75
|
|
77
76
|
function ObjectProperty(node) {
|
78
|
-
this.printJoin(node.decorators, node
|
77
|
+
this.printJoin(node.decorators, node);
|
79
78
|
|
80
79
|
if (node.computed) {
|
81
|
-
this.
|
80
|
+
this.token("[");
|
82
81
|
this.print(node.key, node);
|
83
|
-
this.
|
82
|
+
this.token("]");
|
84
83
|
} else {
|
85
84
|
// print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});`
|
86
85
|
if (t.isAssignmentPattern(node.value) && t.isIdentifier(node.key) && node.key.name === node.value.left.name) {
|
@@ -96,7 +95,7 @@ function ObjectProperty(node) {
|
|
96
95
|
}
|
97
96
|
}
|
98
97
|
|
99
|
-
this.
|
98
|
+
this.token(":");
|
100
99
|
this.space();
|
101
100
|
this.print(node.value, node);
|
102
101
|
}
|
@@ -105,7 +104,7 @@ function ArrayExpression(node) {
|
|
105
104
|
var elems = node.elements;
|
106
105
|
var len = elems.length;
|
107
106
|
|
108
|
-
this.
|
107
|
+
this.token("[");
|
109
108
|
this.printInnerComments(node);
|
110
109
|
|
111
110
|
for (var i = 0; i < elems.length; i++) {
|
@@ -113,43 +112,51 @@ function ArrayExpression(node) {
|
|
113
112
|
if (elem) {
|
114
113
|
if (i > 0) this.space();
|
115
114
|
this.print(elem, node);
|
116
|
-
if (i < len - 1) this.
|
115
|
+
if (i < len - 1) this.token(",");
|
117
116
|
} else {
|
118
117
|
// If the array expression ends with a hole, that hole
|
119
118
|
// will be ignored by the interpreter, but if it ends with
|
120
119
|
// two (or more) holes, we need to write out two (or more)
|
121
120
|
// commas so that the resulting code is interpreted with
|
122
121
|
// both (all) of the holes.
|
123
|
-
this.
|
122
|
+
this.token(",");
|
124
123
|
}
|
125
124
|
}
|
126
125
|
|
127
|
-
this.
|
126
|
+
this.token("]");
|
128
127
|
}
|
129
128
|
|
130
|
-
|
129
|
+
exports.ArrayPattern = ArrayExpression;
|
131
130
|
function RegExpLiteral(node) {
|
132
|
-
this.
|
131
|
+
this.word("/" + node.pattern + "/" + node.flags);
|
133
132
|
}
|
134
133
|
|
135
134
|
function BooleanLiteral(node) {
|
136
|
-
this.
|
135
|
+
this.word(node.value ? "true" : "false");
|
137
136
|
}
|
138
137
|
|
139
138
|
function NullLiteral() {
|
140
|
-
this.
|
139
|
+
this.word("null");
|
141
140
|
}
|
142
141
|
|
143
142
|
function NumericLiteral(node) {
|
144
|
-
this.
|
143
|
+
var raw = this.getPossibleRaw(node);
|
144
|
+
if (raw != null) {
|
145
|
+
this.word(raw);
|
146
|
+
return;
|
147
|
+
}
|
148
|
+
|
149
|
+
this.word(node.value + "");
|
145
150
|
}
|
146
151
|
|
147
152
|
function StringLiteral(node, parent) {
|
148
|
-
this.
|
149
|
-
|
153
|
+
var raw = this.getPossibleRaw(node);
|
154
|
+
if (raw != null) {
|
155
|
+
this.token(raw);
|
156
|
+
return;
|
157
|
+
}
|
150
158
|
|
151
|
-
|
152
|
-
val = /*istanbul ignore next*/(0, _stringify2.default)(val);
|
159
|
+
var val = (0, _stringify2.default)(node.value);
|
153
160
|
|
154
161
|
// escape illegal js but valid json unicode characters
|
155
162
|
val = val.replace(/[\u000A\u000D\u2028\u2029]/g, function (c) {
|
@@ -167,8 +174,8 @@ function _stringLiteral(val, parent) {
|
|
167
174
|
val = val.replace(/'/g, "\\'");
|
168
175
|
|
169
176
|
// add single quotes
|
170
|
-
val =
|
177
|
+
val = "'" + val + "'";
|
171
178
|
}
|
172
179
|
|
173
|
-
return val;
|
180
|
+
return this.token(val);
|
174
181
|
}
|