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.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/bin/console +14 -0
  3. data/bin/export-external-helpers +3 -0
  4. data/bin/setup +6 -0
  5. data/bin/update-npm-deps +8 -0
  6. data/examples/myapp/Gemfile +4 -5
  7. data/examples/myapp/Gemfile.lock +69 -93
  8. data/examples/myapp/app/assets/javascripts/code/hello.es6 +5 -1
  9. data/examples/myapp/app/views/layouts/application.html.erb +1 -0
  10. data/examples/myapp/app/views/site/home.html.erb +0 -1
  11. data/lib/babel-schmooze-sprockets/babel_processor.rb +6 -4
  12. data/lib/babel-schmooze-sprockets/engine.rb +1 -4
  13. data/lib/babel-schmooze-sprockets/version.rb +1 -1
  14. data/node_modules/amdefine/package.json +8 -1
  15. data/node_modules/babel-core/node_modules/babel-runtime/package.json +9 -5
  16. data/node_modules/babel-core/node_modules/babel-traverse/.npmignore +3 -0
  17. data/node_modules/babel-core/node_modules/babel-traverse/README.md +1 -0
  18. data/node_modules/babel-core/node_modules/babel-traverse/lib/cache.js +20 -0
  19. data/node_modules/babel-core/node_modules/babel-traverse/lib/context.js +219 -0
  20. data/node_modules/babel-core/node_modules/babel-traverse/lib/hub.js +19 -0
  21. data/node_modules/babel-core/node_modules/babel-traverse/lib/index.js +250 -0
  22. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/ancestry.js +317 -0
  23. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/comments.js +55 -0
  24. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/context.js +297 -0
  25. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/conversion.js +48 -0
  26. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/evaluation.js +406 -0
  27. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/family.js +168 -0
  28. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/index.js +245 -0
  29. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/index.js +151 -0
  30. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/inferer-reference.js +225 -0
  31. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/inference/inferers.js +198 -0
  32. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/introspection.js +518 -0
  33. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/hoister.js +166 -0
  34. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/removal-hooks.js +64 -0
  35. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/lib/virtual-types.js +141 -0
  36. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/modification.js +293 -0
  37. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/removal.js +72 -0
  38. data/node_modules/babel-core/node_modules/babel-traverse/lib/path/replacement.js +302 -0
  39. data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/binding.js +105 -0
  40. data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/index.js +1222 -0
  41. data/node_modules/babel-core/node_modules/babel-traverse/lib/scope/lib/renamer.js +154 -0
  42. data/node_modules/babel-core/node_modules/babel-traverse/lib/visitors.js +360 -0
  43. data/node_modules/babel-core/node_modules/babel-traverse/package.json +107 -0
  44. data/node_modules/babel-core/node_modules/core-js/package.json +20 -2
  45. data/node_modules/babel-core/package.json +31 -24
  46. data/node_modules/babel-generator/lib/buffer.js +69 -70
  47. data/node_modules/babel-generator/lib/generators/base.js +16 -12
  48. data/node_modules/babel-generator/lib/generators/classes.js +28 -19
  49. data/node_modules/babel-generator/lib/generators/expressions.js +76 -99
  50. data/node_modules/babel-generator/lib/generators/flow.js +178 -119
  51. data/node_modules/babel-generator/lib/generators/jsx.js +38 -29
  52. data/node_modules/babel-generator/lib/generators/methods.js +34 -25
  53. data/node_modules/babel-generator/lib/generators/modules.js +67 -40
  54. data/node_modules/babel-generator/lib/generators/statements.js +93 -76
  55. data/node_modules/babel-generator/lib/generators/template-literals.js +12 -11
  56. data/node_modules/babel-generator/lib/generators/types.js +56 -49
  57. data/node_modules/babel-generator/lib/index.js +52 -39
  58. data/node_modules/babel-generator/lib/node/index.js +12 -18
  59. data/node_modules/babel-generator/lib/node/parentheses.js +23 -27
  60. data/node_modules/babel-generator/lib/node/whitespace.js +20 -26
  61. data/node_modules/babel-generator/lib/position.js +5 -5
  62. data/node_modules/babel-generator/lib/printer.js +52 -81
  63. data/node_modules/babel-generator/lib/source-map.js +9 -11
  64. data/node_modules/babel-generator/lib/whitespace.js +13 -13
  65. data/node_modules/babel-generator/node_modules/babel-runtime/package.json +19 -6
  66. data/node_modules/babel-generator/node_modules/babel-types/.npmignore +3 -0
  67. data/node_modules/babel-generator/node_modules/babel-types/README.md +1141 -0
  68. data/node_modules/babel-generator/node_modules/babel-types/lib/constants.js +40 -0
  69. data/node_modules/babel-generator/node_modules/babel-types/lib/converters.js +378 -0
  70. data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/core.js +704 -0
  71. data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/es2015.js +354 -0
  72. data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/experimental.js +85 -0
  73. data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/flow.js +319 -0
  74. data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/index.js +247 -0
  75. data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/init.js +15 -0
  76. data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/jsx.js +137 -0
  77. data/node_modules/babel-generator/node_modules/babel-types/lib/definitions/misc.js +21 -0
  78. data/node_modules/babel-generator/node_modules/babel-types/lib/flow.js +129 -0
  79. data/node_modules/babel-generator/node_modules/babel-types/lib/index.js +848 -0
  80. data/node_modules/babel-generator/node_modules/babel-types/lib/react.js +83 -0
  81. data/node_modules/babel-generator/node_modules/babel-types/lib/retrievers.js +123 -0
  82. data/node_modules/babel-generator/node_modules/babel-types/lib/validators.js +276 -0
  83. data/node_modules/babel-generator/node_modules/babel-types/package.json +103 -0
  84. data/node_modules/babel-generator/node_modules/core-js/package.json +10 -5
  85. data/node_modules/babel-generator/package.json +19 -16
  86. data/node_modules/babel-helpers/node_modules/babel-runtime/package.json +19 -3
  87. data/node_modules/babel-helpers/node_modules/core-js/package.json +20 -4
  88. data/node_modules/babel-helpers/package.json +8 -1
  89. data/node_modules/babel-register/node_modules/babel-runtime/package.json +19 -3
  90. data/node_modules/babel-register/node_modules/core-js/package.json +20 -4
  91. data/node_modules/babel-register/package.json +8 -1
  92. data/node_modules/balanced-match/package.json +8 -1
  93. data/node_modules/brace-expansion/package.json +19 -12
  94. data/node_modules/concat-map/package.json +9 -2
  95. data/node_modules/convert-source-map/package.json +8 -1
  96. data/node_modules/detect-indent/package.json +8 -1
  97. data/node_modules/get-stdin/package.json +8 -1
  98. data/node_modules/home-or-tmp/package.json +9 -2
  99. data/node_modules/is-finite/package.json +8 -2
  100. data/node_modules/json5/package.json +8 -1
  101. data/node_modules/minimatch/README.md +2 -9
  102. data/node_modules/minimatch/minimatch.js +15 -3
  103. data/node_modules/minimatch/package.json +29 -21
  104. data/node_modules/minimist/package.json +8 -1
  105. data/node_modules/mkdirp/node_modules/minimist/package.json +8 -1
  106. data/node_modules/mkdirp/package.json +8 -1
  107. data/node_modules/number-is-nan/package.json +8 -1
  108. data/node_modules/os-tmpdir/package.json +8 -1
  109. data/node_modules/path-exists/package.json +8 -1
  110. data/node_modules/path-is-absolute/package.json +8 -1
  111. data/node_modules/repeating/package.json +15 -11
  112. data/node_modules/shebang-regex/package.json +8 -1
  113. data/node_modules/slash/package.json +8 -1
  114. data/node_modules/source-map-support/node_modules/source-map/package.json +8 -1
  115. data/node_modules/source-map-support/package.json +8 -1
  116. data/node_modules/source-map/package.json +8 -1
  117. data/node_modules/user-home/package.json +8 -1
  118. data/package.json +1 -1
  119. metadata +54 -6
  120. data/node_modules/brace-expansion/.npmignore +0 -3
  121. data/node_modules/brace-expansion/example.js +0 -8
  122. data/node_modules/minimatch/browser.js +0 -1159
@@ -0,0 +1,848 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.createTypeAnnotationBasedOnTypeof = exports.removeTypeDuplicates = exports.createUnionTypeAnnotation = exports.valueToNode = exports.toBlock = exports.toExpression = exports.toStatement = exports.toBindingIdentifierName = exports.toIdentifier = exports.toKeyAlias = exports.toSequenceExpression = exports.toComputedKey = exports.isImmutable = exports.isScope = exports.isSpecifierDefault = exports.isVar = exports.isBlockScoped = exports.isLet = exports.isValidIdentifier = exports.isReferenced = exports.isBinding = exports.getOuterBindingIdentifiers = exports.getBindingIdentifiers = exports.TYPES = exports.react = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = exports.NOT_LOCAL_BINDING = exports.BLOCK_SCOPED_SYMBOL = exports.INHERIT_KEYS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = exports.BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.UPDATE_OPERATORS = exports.LOGICAL_OPERATORS = exports.COMMENT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = undefined;
5
+
6
+ var _getIterator2 = require("babel-runtime/core-js/get-iterator");
7
+
8
+ var _getIterator3 = _interopRequireDefault(_getIterator2);
9
+
10
+ var _keys = require("babel-runtime/core-js/object/keys");
11
+
12
+ var _keys2 = _interopRequireDefault(_keys);
13
+
14
+ var _stringify = require("babel-runtime/core-js/json/stringify");
15
+
16
+ var _stringify2 = _interopRequireDefault(_stringify);
17
+
18
+ var _constants = require("./constants");
19
+
20
+ Object.defineProperty(exports, "STATEMENT_OR_BLOCK_KEYS", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _constants.STATEMENT_OR_BLOCK_KEYS;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "FLATTENABLE_KEYS", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _constants.FLATTENABLE_KEYS;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "FOR_INIT_KEYS", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _constants.FOR_INIT_KEYS;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "COMMENT_KEYS", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _constants.COMMENT_KEYS;
42
+ }
43
+ });
44
+ Object.defineProperty(exports, "LOGICAL_OPERATORS", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _constants.LOGICAL_OPERATORS;
48
+ }
49
+ });
50
+ Object.defineProperty(exports, "UPDATE_OPERATORS", {
51
+ enumerable: true,
52
+ get: function get() {
53
+ return _constants.UPDATE_OPERATORS;
54
+ }
55
+ });
56
+ Object.defineProperty(exports, "BOOLEAN_NUMBER_BINARY_OPERATORS", {
57
+ enumerable: true,
58
+ get: function get() {
59
+ return _constants.BOOLEAN_NUMBER_BINARY_OPERATORS;
60
+ }
61
+ });
62
+ Object.defineProperty(exports, "EQUALITY_BINARY_OPERATORS", {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _constants.EQUALITY_BINARY_OPERATORS;
66
+ }
67
+ });
68
+ Object.defineProperty(exports, "COMPARISON_BINARY_OPERATORS", {
69
+ enumerable: true,
70
+ get: function get() {
71
+ return _constants.COMPARISON_BINARY_OPERATORS;
72
+ }
73
+ });
74
+ Object.defineProperty(exports, "BOOLEAN_BINARY_OPERATORS", {
75
+ enumerable: true,
76
+ get: function get() {
77
+ return _constants.BOOLEAN_BINARY_OPERATORS;
78
+ }
79
+ });
80
+ Object.defineProperty(exports, "NUMBER_BINARY_OPERATORS", {
81
+ enumerable: true,
82
+ get: function get() {
83
+ return _constants.NUMBER_BINARY_OPERATORS;
84
+ }
85
+ });
86
+ Object.defineProperty(exports, "BINARY_OPERATORS", {
87
+ enumerable: true,
88
+ get: function get() {
89
+ return _constants.BINARY_OPERATORS;
90
+ }
91
+ });
92
+ Object.defineProperty(exports, "BOOLEAN_UNARY_OPERATORS", {
93
+ enumerable: true,
94
+ get: function get() {
95
+ return _constants.BOOLEAN_UNARY_OPERATORS;
96
+ }
97
+ });
98
+ Object.defineProperty(exports, "NUMBER_UNARY_OPERATORS", {
99
+ enumerable: true,
100
+ get: function get() {
101
+ return _constants.NUMBER_UNARY_OPERATORS;
102
+ }
103
+ });
104
+ Object.defineProperty(exports, "STRING_UNARY_OPERATORS", {
105
+ enumerable: true,
106
+ get: function get() {
107
+ return _constants.STRING_UNARY_OPERATORS;
108
+ }
109
+ });
110
+ Object.defineProperty(exports, "UNARY_OPERATORS", {
111
+ enumerable: true,
112
+ get: function get() {
113
+ return _constants.UNARY_OPERATORS;
114
+ }
115
+ });
116
+ Object.defineProperty(exports, "INHERIT_KEYS", {
117
+ enumerable: true,
118
+ get: function get() {
119
+ return _constants.INHERIT_KEYS;
120
+ }
121
+ });
122
+ Object.defineProperty(exports, "BLOCK_SCOPED_SYMBOL", {
123
+ enumerable: true,
124
+ get: function get() {
125
+ return _constants.BLOCK_SCOPED_SYMBOL;
126
+ }
127
+ });
128
+ Object.defineProperty(exports, "NOT_LOCAL_BINDING", {
129
+ enumerable: true,
130
+ get: function get() {
131
+ return _constants.NOT_LOCAL_BINDING;
132
+ }
133
+ });
134
+ exports.is = is;
135
+ exports.isType = isType;
136
+ exports.validate = validate;
137
+ exports.shallowEqual = shallowEqual;
138
+ exports.appendToMemberExpression = appendToMemberExpression;
139
+ exports.prependToMemberExpression = prependToMemberExpression;
140
+ exports.ensureBlock = ensureBlock;
141
+ exports.clone = clone;
142
+ exports.cloneWithoutLoc = cloneWithoutLoc;
143
+ exports.cloneDeep = cloneDeep;
144
+ exports.buildMatchMemberExpression = buildMatchMemberExpression;
145
+ exports.removeComments = removeComments;
146
+ exports.inheritsComments = inheritsComments;
147
+ exports.inheritTrailingComments = inheritTrailingComments;
148
+ exports.inheritLeadingComments = inheritLeadingComments;
149
+ exports.inheritInnerComments = inheritInnerComments;
150
+ exports.inherits = inherits;
151
+ exports.assertNode = assertNode;
152
+ exports.isNode = isNode;
153
+
154
+ var _retrievers = require("./retrievers");
155
+
156
+ Object.defineProperty(exports, "getBindingIdentifiers", {
157
+ enumerable: true,
158
+ get: function get() {
159
+ return _retrievers.getBindingIdentifiers;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, "getOuterBindingIdentifiers", {
163
+ enumerable: true,
164
+ get: function get() {
165
+ return _retrievers.getOuterBindingIdentifiers;
166
+ }
167
+ });
168
+
169
+ var _validators = require("./validators");
170
+
171
+ Object.defineProperty(exports, "isBinding", {
172
+ enumerable: true,
173
+ get: function get() {
174
+ return _validators.isBinding;
175
+ }
176
+ });
177
+ Object.defineProperty(exports, "isReferenced", {
178
+ enumerable: true,
179
+ get: function get() {
180
+ return _validators.isReferenced;
181
+ }
182
+ });
183
+ Object.defineProperty(exports, "isValidIdentifier", {
184
+ enumerable: true,
185
+ get: function get() {
186
+ return _validators.isValidIdentifier;
187
+ }
188
+ });
189
+ Object.defineProperty(exports, "isLet", {
190
+ enumerable: true,
191
+ get: function get() {
192
+ return _validators.isLet;
193
+ }
194
+ });
195
+ Object.defineProperty(exports, "isBlockScoped", {
196
+ enumerable: true,
197
+ get: function get() {
198
+ return _validators.isBlockScoped;
199
+ }
200
+ });
201
+ Object.defineProperty(exports, "isVar", {
202
+ enumerable: true,
203
+ get: function get() {
204
+ return _validators.isVar;
205
+ }
206
+ });
207
+ Object.defineProperty(exports, "isSpecifierDefault", {
208
+ enumerable: true,
209
+ get: function get() {
210
+ return _validators.isSpecifierDefault;
211
+ }
212
+ });
213
+ Object.defineProperty(exports, "isScope", {
214
+ enumerable: true,
215
+ get: function get() {
216
+ return _validators.isScope;
217
+ }
218
+ });
219
+ Object.defineProperty(exports, "isImmutable", {
220
+ enumerable: true,
221
+ get: function get() {
222
+ return _validators.isImmutable;
223
+ }
224
+ });
225
+
226
+ var _converters = require("./converters");
227
+
228
+ Object.defineProperty(exports, "toComputedKey", {
229
+ enumerable: true,
230
+ get: function get() {
231
+ return _converters.toComputedKey;
232
+ }
233
+ });
234
+ Object.defineProperty(exports, "toSequenceExpression", {
235
+ enumerable: true,
236
+ get: function get() {
237
+ return _converters.toSequenceExpression;
238
+ }
239
+ });
240
+ Object.defineProperty(exports, "toKeyAlias", {
241
+ enumerable: true,
242
+ get: function get() {
243
+ return _converters.toKeyAlias;
244
+ }
245
+ });
246
+ Object.defineProperty(exports, "toIdentifier", {
247
+ enumerable: true,
248
+ get: function get() {
249
+ return _converters.toIdentifier;
250
+ }
251
+ });
252
+ Object.defineProperty(exports, "toBindingIdentifierName", {
253
+ enumerable: true,
254
+ get: function get() {
255
+ return _converters.toBindingIdentifierName;
256
+ }
257
+ });
258
+ Object.defineProperty(exports, "toStatement", {
259
+ enumerable: true,
260
+ get: function get() {
261
+ return _converters.toStatement;
262
+ }
263
+ });
264
+ Object.defineProperty(exports, "toExpression", {
265
+ enumerable: true,
266
+ get: function get() {
267
+ return _converters.toExpression;
268
+ }
269
+ });
270
+ Object.defineProperty(exports, "toBlock", {
271
+ enumerable: true,
272
+ get: function get() {
273
+ return _converters.toBlock;
274
+ }
275
+ });
276
+ Object.defineProperty(exports, "valueToNode", {
277
+ enumerable: true,
278
+ get: function get() {
279
+ return _converters.valueToNode;
280
+ }
281
+ });
282
+
283
+ var _flow = require("./flow");
284
+
285
+ Object.defineProperty(exports, "createUnionTypeAnnotation", {
286
+ enumerable: true,
287
+ get: function get() {
288
+ return _flow.createUnionTypeAnnotation;
289
+ }
290
+ });
291
+ Object.defineProperty(exports, "removeTypeDuplicates", {
292
+ enumerable: true,
293
+ get: function get() {
294
+ return _flow.removeTypeDuplicates;
295
+ }
296
+ });
297
+ Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", {
298
+ enumerable: true,
299
+ get: function get() {
300
+ return _flow.createTypeAnnotationBasedOnTypeof;
301
+ }
302
+ });
303
+
304
+ var _toFastProperties = require("to-fast-properties");
305
+
306
+ var _toFastProperties2 = _interopRequireDefault(_toFastProperties);
307
+
308
+ var _compact = require("lodash/compact");
309
+
310
+ var _compact2 = _interopRequireDefault(_compact);
311
+
312
+ var _clone = require("lodash/clone");
313
+
314
+ var _clone2 = _interopRequireDefault(_clone);
315
+
316
+ var _each = require("lodash/each");
317
+
318
+ var _each2 = _interopRequireDefault(_each);
319
+
320
+ var _uniq = require("lodash/uniq");
321
+
322
+ var _uniq2 = _interopRequireDefault(_uniq);
323
+
324
+ require("./definitions/init");
325
+
326
+ var _definitions = require("./definitions");
327
+
328
+ var _react2 = require("./react");
329
+
330
+ var _react = _interopRequireWildcard(_react2);
331
+
332
+ 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; } }
333
+
334
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
335
+
336
+ var t = exports;
337
+
338
+ /**
339
+ * Registers `is[Type]` and `assert[Type]` generated functions for a given `type`.
340
+ * Pass `skipAliasCheck` to force it to directly compare `node.type` with `type`.
341
+ */
342
+
343
+ function registerType(type) {
344
+ var is = t["is" + type];
345
+ if (!is) {
346
+ is = t["is" + type] = function (node, opts) {
347
+ return t.is(type, node, opts);
348
+ };
349
+ }
350
+
351
+ t["assert" + type] = function (node, opts) {
352
+ opts = opts || {};
353
+ if (!is(node, opts)) {
354
+ throw new Error("Expected type " + (0, _stringify2.default)(type) + " with option " + (0, _stringify2.default)(opts));
355
+ }
356
+ };
357
+ }
358
+
359
+ //
360
+
361
+ exports.VISITOR_KEYS = _definitions.VISITOR_KEYS;
362
+ exports.ALIAS_KEYS = _definitions.ALIAS_KEYS;
363
+ exports.NODE_FIELDS = _definitions.NODE_FIELDS;
364
+ exports.BUILDER_KEYS = _definitions.BUILDER_KEYS;
365
+ exports.DEPRECATED_KEYS = _definitions.DEPRECATED_KEYS;
366
+ exports.react = _react;
367
+
368
+ /**
369
+ * Registers `is[Type]` and `assert[Type]` for all types.
370
+ */
371
+
372
+ for (var type in t.VISITOR_KEYS) {
373
+ registerType(type);
374
+ }
375
+
376
+ /**
377
+ * Flip `ALIAS_KEYS` for faster access in the reverse direction.
378
+ */
379
+
380
+ t.FLIPPED_ALIAS_KEYS = {};
381
+
382
+ (0, _each2.default)(t.ALIAS_KEYS, function (aliases, type) {
383
+ (0, _each2.default)(aliases, function (alias) {
384
+ var types = t.FLIPPED_ALIAS_KEYS[alias] = t.FLIPPED_ALIAS_KEYS[alias] || [];
385
+ types.push(type);
386
+ });
387
+ });
388
+
389
+ /**
390
+ * Registers `is[Alias]` and `assert[Alias]` functions for all aliases.
391
+ */
392
+
393
+ (0, _each2.default)(t.FLIPPED_ALIAS_KEYS, function (types, type) {
394
+ t[type.toUpperCase() + "_TYPES"] = types;
395
+ registerType(type);
396
+ });
397
+
398
+ var TYPES = exports.TYPES = (0, _keys2.default)(t.VISITOR_KEYS).concat((0, _keys2.default)(t.FLIPPED_ALIAS_KEYS)).concat((0, _keys2.default)(t.DEPRECATED_KEYS));
399
+
400
+ /**
401
+ * Returns whether `node` is of given `type`.
402
+ *
403
+ * For better performance, use this instead of `is[Type]` when `type` is unknown.
404
+ * Optionally, pass `skipAliasCheck` to directly compare `node.type` with `type`.
405
+ */
406
+
407
+ function is(type, node, opts) {
408
+ if (!node) return false;
409
+
410
+ var matches = isType(node.type, type);
411
+ if (!matches) return false;
412
+
413
+ if (typeof opts === "undefined") {
414
+ return true;
415
+ } else {
416
+ return t.shallowEqual(node, opts);
417
+ }
418
+ }
419
+
420
+ /**
421
+ * Test if a `nodeType` is a `targetType` or if `targetType` is an alias of `nodeType`.
422
+ */
423
+
424
+ function isType(nodeType, targetType) {
425
+ if (nodeType === targetType) return true;
426
+
427
+ // This is a fast-path. If the test above failed, but an alias key is found, then the
428
+ // targetType was a primary node type, so there's no need to check the aliases.
429
+ if (t.ALIAS_KEYS[targetType]) return false;
430
+
431
+ var aliases = t.FLIPPED_ALIAS_KEYS[targetType];
432
+ if (aliases) {
433
+ if (aliases[0] === nodeType) return true;
434
+
435
+ for (var _iterator = aliases, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator);;) {
436
+ var _ref;
437
+
438
+ if (_isArray) {
439
+ if (_i >= _iterator.length) break;
440
+ _ref = _iterator[_i++];
441
+ } else {
442
+ _i = _iterator.next();
443
+ if (_i.done) break;
444
+ _ref = _i.value;
445
+ }
446
+
447
+ var alias = _ref;
448
+
449
+ if (nodeType === alias) return true;
450
+ }
451
+ }
452
+
453
+ return false;
454
+ }
455
+
456
+ /**
457
+ * Description
458
+ */
459
+
460
+ (0, _each2.default)(t.BUILDER_KEYS, function (keys, type) {
461
+ function builder() {
462
+ if (arguments.length > keys.length) {
463
+ throw new Error("t." + type + ": Too many arguments passed. Received " + arguments.length + " but can receive " + ("no more than " + keys.length));
464
+ }
465
+
466
+ var node = {};
467
+ node.type = type;
468
+
469
+ var i = 0;
470
+
471
+ for (var _iterator2 = keys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : (0, _getIterator3.default)(_iterator2);;) {
472
+ var _ref2;
473
+
474
+ if (_isArray2) {
475
+ if (_i2 >= _iterator2.length) break;
476
+ _ref2 = _iterator2[_i2++];
477
+ } else {
478
+ _i2 = _iterator2.next();
479
+ if (_i2.done) break;
480
+ _ref2 = _i2.value;
481
+ }
482
+
483
+ var _key = _ref2;
484
+
485
+ var field = t.NODE_FIELDS[type][_key];
486
+
487
+ var arg = arguments[i++];
488
+ if (arg === undefined) arg = (0, _clone2.default)(field.default);
489
+
490
+ node[_key] = arg;
491
+ }
492
+
493
+ for (var key in node) {
494
+ validate(node, key, node[key]);
495
+ }
496
+
497
+ return node;
498
+ }
499
+
500
+ t[type] = builder;
501
+ t[type[0].toLowerCase() + type.slice(1)] = builder;
502
+ });
503
+
504
+ /**
505
+ * Description
506
+ */
507
+
508
+ var _loop = function _loop(_type) {
509
+ var newType = t.DEPRECATED_KEYS[_type];
510
+
511
+ function proxy(fn) {
512
+ return function () {
513
+ console.trace("The node type " + _type + " has been renamed to " + newType);
514
+ return fn.apply(this, arguments);
515
+ };
516
+ }
517
+
518
+ t[_type] = t[_type[0].toLowerCase() + _type.slice(1)] = proxy(t[newType]);
519
+ t["is" + _type] = proxy(t["is" + newType]);
520
+ t["assert" + _type] = proxy(t["assert" + newType]);
521
+ };
522
+
523
+ for (var _type in t.DEPRECATED_KEYS) {
524
+ _loop(_type);
525
+ }
526
+
527
+ /**
528
+ * Description
529
+ */
530
+
531
+ function validate(node, key, val) {
532
+ if (!node) return;
533
+
534
+ var fields = t.NODE_FIELDS[node.type];
535
+ if (!fields) return;
536
+
537
+ var field = fields[key];
538
+ if (!field || !field.validate) return;
539
+ if (field.optional && val == null) return;
540
+
541
+ field.validate(node, key, val);
542
+ }
543
+
544
+ /**
545
+ * Test if an object is shallowly equal.
546
+ */
547
+
548
+ function shallowEqual(actual, expected) {
549
+ var keys = (0, _keys2.default)(expected);
550
+
551
+ for (var _iterator3 = keys, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : (0, _getIterator3.default)(_iterator3);;) {
552
+ var _ref3;
553
+
554
+ if (_isArray3) {
555
+ if (_i3 >= _iterator3.length) break;
556
+ _ref3 = _iterator3[_i3++];
557
+ } else {
558
+ _i3 = _iterator3.next();
559
+ if (_i3.done) break;
560
+ _ref3 = _i3.value;
561
+ }
562
+
563
+ var key = _ref3;
564
+
565
+ if (actual[key] !== expected[key]) {
566
+ return false;
567
+ }
568
+ }
569
+
570
+ return true;
571
+ }
572
+
573
+ /**
574
+ * Append a node to a member expression.
575
+ */
576
+
577
+ function appendToMemberExpression(member, append, computed) {
578
+ member.object = t.memberExpression(member.object, member.property, member.computed);
579
+ member.property = append;
580
+ member.computed = !!computed;
581
+ return member;
582
+ }
583
+
584
+ /**
585
+ * Prepend a node to a member expression.
586
+ */
587
+
588
+ function prependToMemberExpression(member, prepend) {
589
+ member.object = t.memberExpression(prepend, member.object);
590
+ return member;
591
+ }
592
+
593
+ /**
594
+ * Ensure the `key` (defaults to "body") of a `node` is a block.
595
+ * Casting it to a block if it is not.
596
+ */
597
+
598
+ function ensureBlock(node) {
599
+ var key = arguments.length <= 1 || arguments[1] === undefined ? "body" : arguments[1];
600
+
601
+ return node[key] = t.toBlock(node[key], node);
602
+ }
603
+
604
+ /**
605
+ * Create a shallow clone of a `node` excluding `_private` properties.
606
+ */
607
+
608
+ function clone(node) {
609
+ var newNode = {};
610
+ for (var key in node) {
611
+ if (key[0] === "_") continue;
612
+ newNode[key] = node[key];
613
+ }
614
+ return newNode;
615
+ }
616
+
617
+ /**
618
+ * Create a shallow clone of a `node` excluding `_private` and location properties.
619
+ */
620
+
621
+ function cloneWithoutLoc(node) {
622
+ var newNode = clone(node);
623
+ delete newNode.loc;
624
+ return newNode;
625
+ }
626
+
627
+ /**
628
+ * Create a deep clone of a `node` and all of it's child nodes
629
+ * exluding `_private` properties.
630
+ */
631
+
632
+ function cloneDeep(node) {
633
+ var newNode = {};
634
+
635
+ for (var key in node) {
636
+ if (key[0] === "_") continue;
637
+
638
+ var val = node[key];
639
+
640
+ if (val) {
641
+ if (val.type) {
642
+ val = t.cloneDeep(val);
643
+ } else if (Array.isArray(val)) {
644
+ val = val.map(t.cloneDeep);
645
+ }
646
+ }
647
+
648
+ newNode[key] = val;
649
+ }
650
+
651
+ return newNode;
652
+ }
653
+
654
+ /**
655
+ * Build a function that when called will return whether or not the
656
+ * input `node` `MemberExpression` matches the input `match`.
657
+ *
658
+ * For example, given the match `React.createClass` it would match the
659
+ * parsed nodes of `React.createClass` and `React["createClass"]`.
660
+ */
661
+
662
+ function buildMatchMemberExpression(match, allowPartial) {
663
+ var parts = match.split(".");
664
+
665
+ return function (member) {
666
+ // not a member expression
667
+ if (!t.isMemberExpression(member)) return false;
668
+
669
+ var search = [member];
670
+ var i = 0;
671
+
672
+ while (search.length) {
673
+ var node = search.shift();
674
+
675
+ if (allowPartial && i === parts.length) {
676
+ return true;
677
+ }
678
+
679
+ if (t.isIdentifier(node)) {
680
+ // this part doesn't match
681
+ if (parts[i] !== node.name) return false;
682
+ } else if (t.isStringLiteral(node)) {
683
+ // this part doesn't match
684
+ if (parts[i] !== node.value) return false;
685
+ } else if (t.isMemberExpression(node)) {
686
+ if (node.computed && !t.isStringLiteral(node.property)) {
687
+ // we can't deal with this
688
+ return false;
689
+ } else {
690
+ search.push(node.object);
691
+ search.push(node.property);
692
+ continue;
693
+ }
694
+ } else {
695
+ // we can't deal with this
696
+ return false;
697
+ }
698
+
699
+ // too many parts
700
+ if (++i > parts.length) {
701
+ return false;
702
+ }
703
+ }
704
+
705
+ return true;
706
+ };
707
+ }
708
+
709
+ /**
710
+ * Remove comment properties from a node.
711
+ */
712
+
713
+ function removeComments(node) {
714
+ for (var _iterator4 = t.COMMENT_KEYS, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : (0, _getIterator3.default)(_iterator4);;) {
715
+ var _ref4;
716
+
717
+ if (_isArray4) {
718
+ if (_i4 >= _iterator4.length) break;
719
+ _ref4 = _iterator4[_i4++];
720
+ } else {
721
+ _i4 = _iterator4.next();
722
+ if (_i4.done) break;
723
+ _ref4 = _i4.value;
724
+ }
725
+
726
+ var key = _ref4;
727
+
728
+ delete node[key];
729
+ }
730
+ return node;
731
+ }
732
+
733
+ /**
734
+ * Inherit all unique comments from `parent` node to `child` node.
735
+ */
736
+
737
+ function inheritsComments(child, parent) {
738
+ inheritTrailingComments(child, parent);
739
+ inheritLeadingComments(child, parent);
740
+ inheritInnerComments(child, parent);
741
+ return child;
742
+ }
743
+
744
+ function inheritTrailingComments(child, parent) {
745
+ _inheritComments("trailingComments", child, parent);
746
+ }
747
+
748
+ function inheritLeadingComments(child, parent) {
749
+ _inheritComments("leadingComments", child, parent);
750
+ }
751
+
752
+ function inheritInnerComments(child, parent) {
753
+ _inheritComments("innerComments", child, parent);
754
+ }
755
+
756
+ function _inheritComments(key, child, parent) {
757
+ if (child && parent) {
758
+ child[key] = (0, _uniq2.default)((0, _compact2.default)([].concat(child[key], parent[key])));
759
+ }
760
+ }
761
+
762
+ // Can't use import because of cyclic dependency between babel-traverse
763
+ // and this module (babel-types). This require needs to appear after
764
+ // we export the TYPES constant, so we lazy-initialize it before use.
765
+ var traverse = void 0;
766
+
767
+ /**
768
+ * Inherit all contextual properties from `parent` node to `child` node.
769
+ */
770
+
771
+ function inherits(child, parent) {
772
+ if (!traverse) traverse = require("babel-traverse").default;
773
+
774
+ if (!child || !parent) return child;
775
+
776
+ // optionally inherit specific properties if not null
777
+ for (var _iterator5 = t.INHERIT_KEYS.optional, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : (0, _getIterator3.default)(_iterator5);;) {
778
+ var _ref5;
779
+
780
+ if (_isArray5) {
781
+ if (_i5 >= _iterator5.length) break;
782
+ _ref5 = _iterator5[_i5++];
783
+ } else {
784
+ _i5 = _iterator5.next();
785
+ if (_i5.done) break;
786
+ _ref5 = _i5.value;
787
+ }
788
+
789
+ var _key2 = _ref5;
790
+
791
+ if (child[_key2] == null) {
792
+ child[_key2] = parent[_key2];
793
+ }
794
+ }
795
+
796
+ // force inherit "private" properties
797
+ for (var key in parent) {
798
+ if (key[0] === "_") child[key] = parent[key];
799
+ }
800
+
801
+ // force inherit select properties
802
+ for (var _iterator6 = t.INHERIT_KEYS.force, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : (0, _getIterator3.default)(_iterator6);;) {
803
+ var _ref6;
804
+
805
+ if (_isArray6) {
806
+ if (_i6 >= _iterator6.length) break;
807
+ _ref6 = _iterator6[_i6++];
808
+ } else {
809
+ _i6 = _iterator6.next();
810
+ if (_i6.done) break;
811
+ _ref6 = _i6.value;
812
+ }
813
+
814
+ var _key3 = _ref6;
815
+
816
+ child[_key3] = parent[_key3];
817
+ }
818
+
819
+ t.inheritsComments(child, parent);
820
+ traverse.copyCache(parent, child);
821
+
822
+ return child;
823
+ }
824
+
825
+ /**
826
+ * TODO
827
+ */
828
+
829
+ function assertNode(node) {
830
+ if (!isNode(node)) {
831
+ // $FlowFixMe
832
+ throw new TypeError("Not a valid node " + (node && node.type));
833
+ }
834
+ }
835
+
836
+ /**
837
+ * TODO
838
+ */
839
+
840
+ function isNode(node) {
841
+ return !!(node && _definitions.VISITOR_KEYS[node.type]);
842
+ }
843
+
844
+ // Optimize property access.
845
+ (0, _toFastProperties2.default)(t);
846
+ (0, _toFastProperties2.default)(t.VISITOR_KEYS);
847
+
848
+ //