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
@@ -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
|
+
//
|