condenser 1.3 → 1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/condenser/asset.rb +103 -25
- data/lib/condenser/build_cache.rb +23 -8
- data/lib/condenser/cache/file_store.rb +1 -0
- data/lib/condenser/cache/memory_store.rb +1 -0
- data/lib/condenser/cache/null_store.rb +1 -0
- data/lib/condenser/cache_store.rb +1 -0
- data/lib/condenser/context.rb +1 -0
- data/lib/condenser/encoding_utils.rb +2 -0
- data/lib/condenser/environment.rb +2 -0
- data/lib/condenser/errors.rb +2 -0
- data/lib/condenser/export.rb +11 -6
- data/lib/condenser/helpers/parse_helpers.rb +23 -1
- data/lib/condenser/manifest.rb +3 -1
- data/lib/condenser/minifiers/sass_minifier.rb +2 -0
- data/lib/condenser/minifiers/terser_minifier.rb +2 -0
- data/lib/condenser/minifiers/uglify_minifier.rb +2 -0
- data/lib/condenser/pipeline.rb +2 -0
- data/lib/condenser/processors/babel_processor.rb +19 -16
- data/lib/condenser/processors/css_media_combiner_processor.rb +7 -5
- data/lib/condenser/processors/js_analyzer.rb +149 -42
- data/lib/condenser/processors/node_processor.rb +3 -0
- data/lib/condenser/processors/purgecss_processor.rb +2 -0
- data/lib/condenser/processors/rollup_processor.rb +289 -136
- data/lib/condenser/resolve.rb +41 -10
- data/lib/condenser/server.rb +22 -20
- data/lib/condenser/templating_engine/ejs.rb +2 -0
- data/lib/condenser/templating_engine/erb.rb +2 -0
- data/lib/condenser/transformers/dart_sass_transformer.rb +5 -3
- data/lib/condenser/transformers/jst_transformer.rb +2 -0
- data/lib/condenser/transformers/sass/functions.rb +2 -0
- data/lib/condenser/transformers/sass/importer.rb +2 -0
- data/lib/condenser/transformers/sass.rb +2 -0
- data/lib/condenser/transformers/sass_transformer.rb +2 -0
- data/lib/condenser/transformers/svg_transformer/base.rb +2 -0
- data/lib/condenser/transformers/svg_transformer/tag.rb +2 -0
- data/lib/condenser/transformers/svg_transformer/template.rb +3 -1
- data/lib/condenser/transformers/svg_transformer/template_error.rb +2 -0
- data/lib/condenser/transformers/svg_transformer/value.rb +2 -0
- data/lib/condenser/transformers/svg_transformer/var_generator.rb +2 -0
- data/lib/condenser/transformers/svg_transformer.rb +2 -0
- data/lib/condenser/utils.rb +2 -0
- data/lib/condenser/version.rb +3 -1
- data/lib/condenser/writers/brotli_writer.rb +2 -0
- data/lib/condenser/writers/file_writer.rb +2 -0
- data/lib/condenser/writers/zlib_writer.rb +2 -0
- data/lib/condenser.rb +2 -0
- data/lib/rake/condensertask.rb +2 -0
- data/test/cache_test.rb +115 -20
- data/test/dependency_test.rb +51 -2
- data/test/manifest_test.rb +17 -2
- data/test/postprocessors/css_media_combiner_test.rb +9 -12
- data/test/preprocessor/babel_test.rb +876 -349
- data/test/preprocessor/js_analyzer_test.rb +208 -4
- data/test/processors/rollup/dynamic_import_test.rb +358 -0
- data/test/processors/rollup_test.rb +37 -56
- data/test/resolve_test.rb +14 -9
- data/test/server_test.rb +10 -9
- data/test/test_helper.rb +6 -3
- data/test/transformers/dart_scss_test.rb +2 -2
- data/test/transformers/scss_test.rb +2 -2
- metadata +6 -11
- data/lib/condenser/minifiers/package-lock.json +0 -25
@@ -28,6 +28,28 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
28
28
|
JS
|
29
29
|
end
|
30
30
|
|
31
|
+
test "dependency tracking for a export from" do
|
32
|
+
file 'c.js', <<~JS
|
33
|
+
function c() { return 'ok'; }
|
34
|
+
|
35
|
+
export {c}
|
36
|
+
JS
|
37
|
+
|
38
|
+
file 'b.js', <<~JS
|
39
|
+
export {c} from 'c';
|
40
|
+
|
41
|
+
JS
|
42
|
+
|
43
|
+
file 'a.js', <<~JS
|
44
|
+
import {c} from 'b'
|
45
|
+
|
46
|
+
console.log(c());
|
47
|
+
JS
|
48
|
+
|
49
|
+
asset = assert_file 'a.js', 'application/javascript'
|
50
|
+
assert_equal ['/a.js', '/b.js', '/c.js'], asset.all_export_dependencies.map { |path| path.delete_prefix(@path) }
|
51
|
+
end
|
52
|
+
|
31
53
|
test "error" do
|
32
54
|
file 'error.js', <<~JS
|
33
55
|
console.log('this file has an error');
|
@@ -47,6 +69,7 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
47
69
|
| ^
|
48
70
|
4 |
|
49
71
|
ERROR
|
72
|
+
assert_equal '/assets/error.js', e.path
|
50
73
|
end
|
51
74
|
|
52
75
|
test 'not duplicating polyfills' do
|
@@ -69,148 +92,230 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
69
92
|
JS
|
70
93
|
|
71
94
|
assert_exported_file 'c.js', 'application/javascript', <<~JS
|
72
|
-
|
73
|
-
'use strict';
|
95
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
74
96
|
|
75
|
-
|
97
|
+
function getDefaultExportFromCjs (x) {
|
98
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
99
|
+
}
|
76
100
|
|
77
|
-
|
78
|
-
|
79
|
-
|
101
|
+
var es_object_assign = {};
|
102
|
+
|
103
|
+
var globalThis_1;
|
104
|
+
var hasRequiredGlobalThis;
|
80
105
|
|
106
|
+
function requireGlobalThis () {
|
107
|
+
if (hasRequiredGlobalThis) return globalThis_1;
|
108
|
+
hasRequiredGlobalThis = 1;
|
81
109
|
var check = function (it) {
|
82
110
|
return it && it.Math === Math && it;
|
83
111
|
};
|
84
112
|
|
85
113
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
86
|
-
|
114
|
+
globalThis_1 =
|
87
115
|
// eslint-disable-next-line es/no-global-this -- safe
|
88
116
|
check(typeof globalThis == 'object' && globalThis) ||
|
89
117
|
check(typeof window == 'object' && window) ||
|
90
118
|
// eslint-disable-next-line no-restricted-globals -- safe
|
91
119
|
check(typeof self == 'object' && self) ||
|
92
120
|
check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
|
93
|
-
check(typeof
|
121
|
+
check(typeof globalThis_1 == 'object' && globalThis_1) ||
|
94
122
|
// eslint-disable-next-line no-new-func -- fallback
|
95
123
|
(function () { return this; })() || Function('return this')();
|
124
|
+
return globalThis_1;
|
125
|
+
}
|
126
|
+
|
127
|
+
var fails;
|
128
|
+
var hasRequiredFails;
|
96
129
|
|
97
|
-
|
130
|
+
function requireFails () {
|
131
|
+
if (hasRequiredFails) return fails;
|
132
|
+
hasRequiredFails = 1;
|
133
|
+
fails = function (exec) {
|
98
134
|
try {
|
99
135
|
return !!exec();
|
100
136
|
} catch (error) {
|
101
137
|
return true;
|
102
138
|
}
|
103
139
|
};
|
140
|
+
return fails;
|
141
|
+
}
|
142
|
+
|
143
|
+
var functionBindNative;
|
144
|
+
var hasRequiredFunctionBindNative;
|
104
145
|
|
105
|
-
|
146
|
+
function requireFunctionBindNative () {
|
147
|
+
if (hasRequiredFunctionBindNative) return functionBindNative;
|
148
|
+
hasRequiredFunctionBindNative = 1;
|
149
|
+
var fails = requireFails();
|
106
150
|
|
107
|
-
|
151
|
+
functionBindNative = !fails(function () {
|
108
152
|
// eslint-disable-next-line es/no-function-prototype-bind -- safe
|
109
153
|
var test = (function () { /* empty */ }).bind();
|
110
154
|
// eslint-disable-next-line no-prototype-builtins -- safe
|
111
155
|
return typeof test != 'function' || test.hasOwnProperty('prototype');
|
112
156
|
});
|
157
|
+
return functionBindNative;
|
158
|
+
}
|
113
159
|
|
114
|
-
|
160
|
+
var functionApply;
|
161
|
+
var hasRequiredFunctionApply;
|
115
162
|
|
116
|
-
|
117
|
-
|
118
|
-
|
163
|
+
function requireFunctionApply () {
|
164
|
+
if (hasRequiredFunctionApply) return functionApply;
|
165
|
+
hasRequiredFunctionApply = 1;
|
166
|
+
var NATIVE_BIND = requireFunctionBindNative();
|
167
|
+
|
168
|
+
var FunctionPrototype = Function.prototype;
|
169
|
+
var apply = FunctionPrototype.apply;
|
170
|
+
var call = FunctionPrototype.call;
|
119
171
|
|
120
|
-
// eslint-disable-next-line es/no-reflect -- safe
|
121
|
-
|
122
|
-
return call
|
172
|
+
// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe
|
173
|
+
functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
|
174
|
+
return call.apply(apply, arguments);
|
123
175
|
});
|
176
|
+
return functionApply;
|
177
|
+
}
|
178
|
+
|
179
|
+
var functionUncurryThis;
|
180
|
+
var hasRequiredFunctionUncurryThis;
|
124
181
|
|
125
|
-
|
182
|
+
function requireFunctionUncurryThis () {
|
183
|
+
if (hasRequiredFunctionUncurryThis) return functionUncurryThis;
|
184
|
+
hasRequiredFunctionUncurryThis = 1;
|
185
|
+
var NATIVE_BIND = requireFunctionBindNative();
|
126
186
|
|
127
187
|
var FunctionPrototype = Function.prototype;
|
128
|
-
var call
|
129
|
-
|
188
|
+
var call = FunctionPrototype.call;
|
189
|
+
// eslint-disable-next-line es/no-function-prototype-bind -- safe
|
190
|
+
var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
|
130
191
|
|
131
|
-
|
192
|
+
functionUncurryThis = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
|
132
193
|
return function () {
|
133
|
-
return call
|
194
|
+
return call.apply(fn, arguments);
|
134
195
|
};
|
135
196
|
};
|
197
|
+
return functionUncurryThis;
|
198
|
+
}
|
136
199
|
|
137
|
-
|
200
|
+
var classofRaw;
|
201
|
+
var hasRequiredClassofRaw;
|
138
202
|
|
139
|
-
|
140
|
-
|
203
|
+
function requireClassofRaw () {
|
204
|
+
if (hasRequiredClassofRaw) return classofRaw;
|
205
|
+
hasRequiredClassofRaw = 1;
|
206
|
+
var uncurryThis = requireFunctionUncurryThis();
|
141
207
|
|
142
|
-
var
|
143
|
-
|
208
|
+
var toString = uncurryThis({}.toString);
|
209
|
+
var stringSlice = uncurryThis(''.slice);
|
210
|
+
|
211
|
+
classofRaw = function (it) {
|
212
|
+
return stringSlice(toString(it), 8, -1);
|
144
213
|
};
|
214
|
+
return classofRaw;
|
215
|
+
}
|
216
|
+
|
217
|
+
var functionUncurryThisClause;
|
218
|
+
var hasRequiredFunctionUncurryThisClause;
|
145
219
|
|
146
|
-
|
147
|
-
|
220
|
+
function requireFunctionUncurryThisClause () {
|
221
|
+
if (hasRequiredFunctionUncurryThisClause) return functionUncurryThisClause;
|
222
|
+
hasRequiredFunctionUncurryThisClause = 1;
|
223
|
+
var classofRaw = requireClassofRaw();
|
224
|
+
var uncurryThis = requireFunctionUncurryThis();
|
148
225
|
|
149
|
-
|
226
|
+
functionUncurryThisClause = function (fn) {
|
150
227
|
// Nashorn bug:
|
151
228
|
// https://github.com/zloirock/core-js/issues/1128
|
152
229
|
// https://github.com/zloirock/core-js/issues/1130
|
153
|
-
if (classofRaw(fn) === 'Function') return uncurryThis
|
230
|
+
if (classofRaw(fn) === 'Function') return uncurryThis(fn);
|
154
231
|
};
|
232
|
+
return functionUncurryThisClause;
|
233
|
+
}
|
155
234
|
|
156
|
-
|
235
|
+
var isCallable;
|
236
|
+
var hasRequiredIsCallable;
|
157
237
|
|
238
|
+
function requireIsCallable () {
|
239
|
+
if (hasRequiredIsCallable) return isCallable;
|
240
|
+
hasRequiredIsCallable = 1;
|
158
241
|
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
|
159
|
-
|
160
|
-
var IS_HTMLDDA = typeof documentAll$2 == 'undefined' && documentAll$2 !== undefined;
|
161
|
-
|
162
|
-
var documentAll_1 = {
|
163
|
-
all: documentAll$2,
|
164
|
-
IS_HTMLDDA: IS_HTMLDDA
|
165
|
-
};
|
166
|
-
|
167
|
-
var $documentAll$1 = documentAll_1;
|
168
|
-
|
169
|
-
var documentAll$1 = $documentAll$1.all;
|
242
|
+
var documentAll = typeof document == 'object' && document.all;
|
170
243
|
|
171
244
|
// `IsCallable` abstract operation
|
172
245
|
// https://tc39.es/ecma262/#sec-iscallable
|
173
|
-
|
174
|
-
|
246
|
+
// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
|
247
|
+
isCallable = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
|
248
|
+
return typeof argument == 'function' || argument === documentAll;
|
175
249
|
} : function (argument) {
|
176
250
|
return typeof argument == 'function';
|
177
251
|
};
|
252
|
+
return isCallable;
|
253
|
+
}
|
178
254
|
|
179
|
-
|
255
|
+
var objectGetOwnPropertyDescriptor = {};
|
180
256
|
|
181
|
-
|
257
|
+
var descriptors;
|
258
|
+
var hasRequiredDescriptors;
|
259
|
+
|
260
|
+
function requireDescriptors () {
|
261
|
+
if (hasRequiredDescriptors) return descriptors;
|
262
|
+
hasRequiredDescriptors = 1;
|
263
|
+
var fails = requireFails();
|
182
264
|
|
183
265
|
// Detect IE8's incomplete defineProperty implementation
|
184
|
-
|
266
|
+
descriptors = !fails(function () {
|
185
267
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
186
268
|
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
|
187
269
|
});
|
270
|
+
return descriptors;
|
271
|
+
}
|
188
272
|
|
189
|
-
|
273
|
+
var functionCall;
|
274
|
+
var hasRequiredFunctionCall;
|
190
275
|
|
191
|
-
|
276
|
+
function requireFunctionCall () {
|
277
|
+
if (hasRequiredFunctionCall) return functionCall;
|
278
|
+
hasRequiredFunctionCall = 1;
|
279
|
+
var NATIVE_BIND = requireFunctionBindNative();
|
192
280
|
|
193
|
-
var
|
194
|
-
|
281
|
+
var call = Function.prototype.call;
|
282
|
+
// eslint-disable-next-line es/no-function-prototype-bind -- safe
|
283
|
+
functionCall = NATIVE_BIND ? call.bind(call) : function () {
|
284
|
+
return call.apply(call, arguments);
|
195
285
|
};
|
286
|
+
return functionCall;
|
287
|
+
}
|
196
288
|
|
197
|
-
|
289
|
+
var objectPropertyIsEnumerable = {};
|
198
290
|
|
291
|
+
var hasRequiredObjectPropertyIsEnumerable;
|
292
|
+
|
293
|
+
function requireObjectPropertyIsEnumerable () {
|
294
|
+
if (hasRequiredObjectPropertyIsEnumerable) return objectPropertyIsEnumerable;
|
295
|
+
hasRequiredObjectPropertyIsEnumerable = 1;
|
199
296
|
var $propertyIsEnumerable = {}.propertyIsEnumerable;
|
200
297
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
201
|
-
var getOwnPropertyDescriptor
|
298
|
+
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
202
299
|
|
203
300
|
// Nashorn ~ JDK8 bug
|
204
|
-
var NASHORN_BUG = getOwnPropertyDescriptor
|
301
|
+
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
|
205
302
|
|
206
303
|
// `Object.prototype.propertyIsEnumerable` method implementation
|
207
304
|
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
|
208
305
|
objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
209
|
-
var descriptor = getOwnPropertyDescriptor
|
306
|
+
var descriptor = getOwnPropertyDescriptor(this, V);
|
210
307
|
return !!descriptor && descriptor.enumerable;
|
211
308
|
} : $propertyIsEnumerable;
|
309
|
+
return objectPropertyIsEnumerable;
|
310
|
+
}
|
311
|
+
|
312
|
+
var createPropertyDescriptor;
|
313
|
+
var hasRequiredCreatePropertyDescriptor;
|
212
314
|
|
213
|
-
|
315
|
+
function requireCreatePropertyDescriptor () {
|
316
|
+
if (hasRequiredCreatePropertyDescriptor) return createPropertyDescriptor;
|
317
|
+
hasRequiredCreatePropertyDescriptor = 1;
|
318
|
+
createPropertyDescriptor = function (bitmap, value) {
|
214
319
|
return {
|
215
320
|
enumerable: !(bitmap & 1),
|
216
321
|
configurable: !(bitmap & 2),
|
@@ -218,85 +323,165 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
218
323
|
value: value
|
219
324
|
};
|
220
325
|
};
|
326
|
+
return createPropertyDescriptor;
|
327
|
+
}
|
328
|
+
|
329
|
+
var indexedObject;
|
330
|
+
var hasRequiredIndexedObject;
|
221
331
|
|
222
|
-
|
223
|
-
|
224
|
-
|
332
|
+
function requireIndexedObject () {
|
333
|
+
if (hasRequiredIndexedObject) return indexedObject;
|
334
|
+
hasRequiredIndexedObject = 1;
|
335
|
+
var uncurryThis = requireFunctionUncurryThis();
|
336
|
+
var fails = requireFails();
|
337
|
+
var classof = requireClassofRaw();
|
225
338
|
|
226
|
-
var $Object
|
227
|
-
var split = uncurryThis
|
339
|
+
var $Object = Object;
|
340
|
+
var split = uncurryThis(''.split);
|
228
341
|
|
229
342
|
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
230
|
-
|
343
|
+
indexedObject = fails(function () {
|
231
344
|
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
232
345
|
// eslint-disable-next-line no-prototype-builtins -- safe
|
233
|
-
return !$Object
|
346
|
+
return !$Object('z').propertyIsEnumerable(0);
|
234
347
|
}) ? function (it) {
|
235
|
-
return classof(it) === 'String' ? split(it, '') : $Object
|
236
|
-
} : $Object
|
348
|
+
return classof(it) === 'String' ? split(it, '') : $Object(it);
|
349
|
+
} : $Object;
|
350
|
+
return indexedObject;
|
351
|
+
}
|
352
|
+
|
353
|
+
var isNullOrUndefined;
|
354
|
+
var hasRequiredIsNullOrUndefined;
|
237
355
|
|
356
|
+
function requireIsNullOrUndefined () {
|
357
|
+
if (hasRequiredIsNullOrUndefined) return isNullOrUndefined;
|
358
|
+
hasRequiredIsNullOrUndefined = 1;
|
238
359
|
// we can't use just `it == null` since of `document.all` special case
|
239
360
|
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
|
240
|
-
|
361
|
+
isNullOrUndefined = function (it) {
|
241
362
|
return it === null || it === undefined;
|
242
363
|
};
|
364
|
+
return isNullOrUndefined;
|
365
|
+
}
|
366
|
+
|
367
|
+
var requireObjectCoercible;
|
368
|
+
var hasRequiredRequireObjectCoercible;
|
243
369
|
|
244
|
-
|
370
|
+
function requireRequireObjectCoercible () {
|
371
|
+
if (hasRequiredRequireObjectCoercible) return requireObjectCoercible;
|
372
|
+
hasRequiredRequireObjectCoercible = 1;
|
373
|
+
var isNullOrUndefined = requireIsNullOrUndefined();
|
245
374
|
|
246
|
-
var $TypeError
|
375
|
+
var $TypeError = TypeError;
|
247
376
|
|
248
377
|
// `RequireObjectCoercible` abstract operation
|
249
378
|
// https://tc39.es/ecma262/#sec-requireobjectcoercible
|
250
|
-
|
251
|
-
if (isNullOrUndefined
|
379
|
+
requireObjectCoercible = function (it) {
|
380
|
+
if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it);
|
252
381
|
return it;
|
253
382
|
};
|
383
|
+
return requireObjectCoercible;
|
384
|
+
}
|
385
|
+
|
386
|
+
var toIndexedObject;
|
387
|
+
var hasRequiredToIndexedObject;
|
254
388
|
|
389
|
+
function requireToIndexedObject () {
|
390
|
+
if (hasRequiredToIndexedObject) return toIndexedObject;
|
391
|
+
hasRequiredToIndexedObject = 1;
|
255
392
|
// toObject with fallback for non-array-like ES3 strings
|
256
|
-
var IndexedObject
|
257
|
-
var requireObjectCoercible
|
393
|
+
var IndexedObject = requireIndexedObject();
|
394
|
+
var requireObjectCoercible = requireRequireObjectCoercible();
|
258
395
|
|
259
|
-
|
260
|
-
return IndexedObject
|
396
|
+
toIndexedObject = function (it) {
|
397
|
+
return IndexedObject(requireObjectCoercible(it));
|
261
398
|
};
|
399
|
+
return toIndexedObject;
|
400
|
+
}
|
262
401
|
|
263
|
-
|
264
|
-
|
402
|
+
var isObject;
|
403
|
+
var hasRequiredIsObject;
|
265
404
|
|
266
|
-
|
405
|
+
function requireIsObject () {
|
406
|
+
if (hasRequiredIsObject) return isObject;
|
407
|
+
hasRequiredIsObject = 1;
|
408
|
+
var isCallable = requireIsCallable();
|
267
409
|
|
268
|
-
|
269
|
-
return typeof it == 'object' ? it !== null : isCallable
|
270
|
-
} : function (it) {
|
271
|
-
return typeof it == 'object' ? it !== null : isCallable$6(it);
|
410
|
+
isObject = function (it) {
|
411
|
+
return typeof it == 'object' ? it !== null : isCallable(it);
|
272
412
|
};
|
413
|
+
return isObject;
|
414
|
+
}
|
273
415
|
|
274
|
-
|
416
|
+
var path;
|
417
|
+
var hasRequiredPath;
|
275
418
|
|
276
|
-
|
277
|
-
|
278
|
-
|
419
|
+
function requirePath () {
|
420
|
+
if (hasRequiredPath) return path;
|
421
|
+
hasRequiredPath = 1;
|
422
|
+
path = {};
|
423
|
+
return path;
|
424
|
+
}
|
425
|
+
|
426
|
+
var getBuiltIn;
|
427
|
+
var hasRequiredGetBuiltIn;
|
428
|
+
|
429
|
+
function requireGetBuiltIn () {
|
430
|
+
if (hasRequiredGetBuiltIn) return getBuiltIn;
|
431
|
+
hasRequiredGetBuiltIn = 1;
|
432
|
+
var path = requirePath();
|
433
|
+
var globalThis = requireGlobalThis();
|
434
|
+
var isCallable = requireIsCallable();
|
279
435
|
|
280
436
|
var aFunction = function (variable) {
|
281
|
-
return isCallable
|
437
|
+
return isCallable(variable) ? variable : undefined;
|
282
438
|
};
|
283
439
|
|
284
|
-
|
285
|
-
return arguments.length < 2 ? aFunction(path
|
286
|
-
: path
|
440
|
+
getBuiltIn = function (namespace, method) {
|
441
|
+
return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])
|
442
|
+
: path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];
|
287
443
|
};
|
444
|
+
return getBuiltIn;
|
445
|
+
}
|
288
446
|
|
289
|
-
|
447
|
+
var objectIsPrototypeOf;
|
448
|
+
var hasRequiredObjectIsPrototypeOf;
|
449
|
+
|
450
|
+
function requireObjectIsPrototypeOf () {
|
451
|
+
if (hasRequiredObjectIsPrototypeOf) return objectIsPrototypeOf;
|
452
|
+
hasRequiredObjectIsPrototypeOf = 1;
|
453
|
+
var uncurryThis = requireFunctionUncurryThis();
|
454
|
+
|
455
|
+
objectIsPrototypeOf = uncurryThis({}.isPrototypeOf);
|
456
|
+
return objectIsPrototypeOf;
|
457
|
+
}
|
290
458
|
|
291
|
-
|
459
|
+
var environmentUserAgent;
|
460
|
+
var hasRequiredEnvironmentUserAgent;
|
292
461
|
|
293
|
-
|
462
|
+
function requireEnvironmentUserAgent () {
|
463
|
+
if (hasRequiredEnvironmentUserAgent) return environmentUserAgent;
|
464
|
+
hasRequiredEnvironmentUserAgent = 1;
|
465
|
+
var globalThis = requireGlobalThis();
|
294
466
|
|
295
|
-
var
|
296
|
-
var userAgent =
|
467
|
+
var navigator = globalThis.navigator;
|
468
|
+
var userAgent = navigator && navigator.userAgent;
|
297
469
|
|
298
|
-
|
299
|
-
|
470
|
+
environmentUserAgent = userAgent ? String(userAgent) : '';
|
471
|
+
return environmentUserAgent;
|
472
|
+
}
|
473
|
+
|
474
|
+
var environmentV8Version;
|
475
|
+
var hasRequiredEnvironmentV8Version;
|
476
|
+
|
477
|
+
function requireEnvironmentV8Version () {
|
478
|
+
if (hasRequiredEnvironmentV8Version) return environmentV8Version;
|
479
|
+
hasRequiredEnvironmentV8Version = 1;
|
480
|
+
var globalThis = requireGlobalThis();
|
481
|
+
var userAgent = requireEnvironmentUserAgent();
|
482
|
+
|
483
|
+
var process = globalThis.process;
|
484
|
+
var Deno = globalThis.Deno;
|
300
485
|
var versions = process && process.versions || Deno && Deno.version;
|
301
486
|
var v8 = versions && versions.v8;
|
302
487
|
var match, version;
|
@@ -318,333 +503,531 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
318
503
|
}
|
319
504
|
}
|
320
505
|
|
321
|
-
|
506
|
+
environmentV8Version = version;
|
507
|
+
return environmentV8Version;
|
508
|
+
}
|
322
509
|
|
510
|
+
var symbolConstructorDetection;
|
511
|
+
var hasRequiredSymbolConstructorDetection;
|
512
|
+
|
513
|
+
function requireSymbolConstructorDetection () {
|
514
|
+
if (hasRequiredSymbolConstructorDetection) return symbolConstructorDetection;
|
515
|
+
hasRequiredSymbolConstructorDetection = 1;
|
323
516
|
/* eslint-disable es/no-symbol -- required for testing */
|
324
|
-
var V8_VERSION =
|
325
|
-
var fails
|
326
|
-
var
|
517
|
+
var V8_VERSION = requireEnvironmentV8Version();
|
518
|
+
var fails = requireFails();
|
519
|
+
var globalThis = requireGlobalThis();
|
327
520
|
|
328
|
-
var $String
|
521
|
+
var $String = globalThis.String;
|
329
522
|
|
330
523
|
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
|
331
|
-
|
524
|
+
symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails(function () {
|
332
525
|
var symbol = Symbol('symbol detection');
|
333
526
|
// Chrome 38 Symbol has incorrect toString conversion
|
334
527
|
// `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
|
335
528
|
// nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,
|
336
529
|
// of course, fail.
|
337
|
-
return !$String
|
530
|
+
return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||
|
338
531
|
// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
|
339
532
|
!Symbol.sham && V8_VERSION && V8_VERSION < 41;
|
340
533
|
});
|
534
|
+
return symbolConstructorDetection;
|
535
|
+
}
|
536
|
+
|
537
|
+
var useSymbolAsUid;
|
538
|
+
var hasRequiredUseSymbolAsUid;
|
341
539
|
|
540
|
+
function requireUseSymbolAsUid () {
|
541
|
+
if (hasRequiredUseSymbolAsUid) return useSymbolAsUid;
|
542
|
+
hasRequiredUseSymbolAsUid = 1;
|
342
543
|
/* eslint-disable es/no-symbol -- required for testing */
|
343
|
-
var NATIVE_SYMBOL
|
544
|
+
var NATIVE_SYMBOL = requireSymbolConstructorDetection();
|
344
545
|
|
345
|
-
|
346
|
-
|
347
|
-
|
546
|
+
useSymbolAsUid = NATIVE_SYMBOL &&
|
547
|
+
!Symbol.sham &&
|
548
|
+
typeof Symbol.iterator == 'symbol';
|
549
|
+
return useSymbolAsUid;
|
550
|
+
}
|
551
|
+
|
552
|
+
var isSymbol;
|
553
|
+
var hasRequiredIsSymbol;
|
348
554
|
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
var
|
555
|
+
function requireIsSymbol () {
|
556
|
+
if (hasRequiredIsSymbol) return isSymbol;
|
557
|
+
hasRequiredIsSymbol = 1;
|
558
|
+
var getBuiltIn = requireGetBuiltIn();
|
559
|
+
var isCallable = requireIsCallable();
|
560
|
+
var isPrototypeOf = requireObjectIsPrototypeOf();
|
561
|
+
var USE_SYMBOL_AS_UID = requireUseSymbolAsUid();
|
353
562
|
|
354
|
-
var $Object
|
563
|
+
var $Object = Object;
|
355
564
|
|
356
|
-
|
565
|
+
isSymbol = USE_SYMBOL_AS_UID ? function (it) {
|
357
566
|
return typeof it == 'symbol';
|
358
567
|
} : function (it) {
|
359
568
|
var $Symbol = getBuiltIn('Symbol');
|
360
|
-
return isCallable
|
569
|
+
return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
|
361
570
|
};
|
571
|
+
return isSymbol;
|
572
|
+
}
|
573
|
+
|
574
|
+
var tryToString;
|
575
|
+
var hasRequiredTryToString;
|
362
576
|
|
363
|
-
|
577
|
+
function requireTryToString () {
|
578
|
+
if (hasRequiredTryToString) return tryToString;
|
579
|
+
hasRequiredTryToString = 1;
|
580
|
+
var $String = String;
|
364
581
|
|
365
|
-
|
582
|
+
tryToString = function (argument) {
|
366
583
|
try {
|
367
|
-
return $String
|
584
|
+
return $String(argument);
|
368
585
|
} catch (error) {
|
369
586
|
return 'Object';
|
370
587
|
}
|
371
588
|
};
|
589
|
+
return tryToString;
|
590
|
+
}
|
591
|
+
|
592
|
+
var aCallable;
|
593
|
+
var hasRequiredACallable;
|
372
594
|
|
373
|
-
|
374
|
-
|
595
|
+
function requireACallable () {
|
596
|
+
if (hasRequiredACallable) return aCallable;
|
597
|
+
hasRequiredACallable = 1;
|
598
|
+
var isCallable = requireIsCallable();
|
599
|
+
var tryToString = requireTryToString();
|
375
600
|
|
376
|
-
var $TypeError
|
601
|
+
var $TypeError = TypeError;
|
377
602
|
|
378
603
|
// `Assert: IsCallable(argument) is true`
|
379
|
-
|
380
|
-
if (isCallable
|
381
|
-
throw new $TypeError
|
604
|
+
aCallable = function (argument) {
|
605
|
+
if (isCallable(argument)) return argument;
|
606
|
+
throw new $TypeError(tryToString(argument) + ' is not a function');
|
382
607
|
};
|
608
|
+
return aCallable;
|
609
|
+
}
|
610
|
+
|
611
|
+
var getMethod;
|
612
|
+
var hasRequiredGetMethod;
|
383
613
|
|
384
|
-
|
385
|
-
|
614
|
+
function requireGetMethod () {
|
615
|
+
if (hasRequiredGetMethod) return getMethod;
|
616
|
+
hasRequiredGetMethod = 1;
|
617
|
+
var aCallable = requireACallable();
|
618
|
+
var isNullOrUndefined = requireIsNullOrUndefined();
|
386
619
|
|
387
620
|
// `GetMethod` abstract operation
|
388
621
|
// https://tc39.es/ecma262/#sec-getmethod
|
389
|
-
|
622
|
+
getMethod = function (V, P) {
|
390
623
|
var func = V[P];
|
391
|
-
return isNullOrUndefined(func) ? undefined : aCallable
|
624
|
+
return isNullOrUndefined(func) ? undefined : aCallable(func);
|
392
625
|
};
|
626
|
+
return getMethod;
|
627
|
+
}
|
628
|
+
|
629
|
+
var ordinaryToPrimitive;
|
630
|
+
var hasRequiredOrdinaryToPrimitive;
|
393
631
|
|
394
|
-
|
395
|
-
|
396
|
-
|
632
|
+
function requireOrdinaryToPrimitive () {
|
633
|
+
if (hasRequiredOrdinaryToPrimitive) return ordinaryToPrimitive;
|
634
|
+
hasRequiredOrdinaryToPrimitive = 1;
|
635
|
+
var call = requireFunctionCall();
|
636
|
+
var isCallable = requireIsCallable();
|
637
|
+
var isObject = requireIsObject();
|
397
638
|
|
398
|
-
var $TypeError
|
639
|
+
var $TypeError = TypeError;
|
399
640
|
|
400
641
|
// `OrdinaryToPrimitive` abstract operation
|
401
642
|
// https://tc39.es/ecma262/#sec-ordinarytoprimitive
|
402
|
-
|
643
|
+
ordinaryToPrimitive = function (input, pref) {
|
403
644
|
var fn, val;
|
404
|
-
if (pref === 'string' && isCallable
|
405
|
-
if (isCallable
|
406
|
-
if (pref !== 'string' && isCallable
|
407
|
-
throw new $TypeError
|
645
|
+
if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
|
646
|
+
if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
|
647
|
+
if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
|
648
|
+
throw new $TypeError("Can't convert object to primitive value");
|
408
649
|
};
|
650
|
+
return ordinaryToPrimitive;
|
651
|
+
}
|
652
|
+
|
653
|
+
var sharedStore = {exports: {}};
|
654
|
+
|
655
|
+
var isPure;
|
656
|
+
var hasRequiredIsPure;
|
657
|
+
|
658
|
+
function requireIsPure () {
|
659
|
+
if (hasRequiredIsPure) return isPure;
|
660
|
+
hasRequiredIsPure = 1;
|
661
|
+
isPure = true;
|
662
|
+
return isPure;
|
663
|
+
}
|
409
664
|
|
410
|
-
|
665
|
+
var defineGlobalProperty;
|
666
|
+
var hasRequiredDefineGlobalProperty;
|
411
667
|
|
412
|
-
|
668
|
+
function requireDefineGlobalProperty () {
|
669
|
+
if (hasRequiredDefineGlobalProperty) return defineGlobalProperty;
|
670
|
+
hasRequiredDefineGlobalProperty = 1;
|
671
|
+
var globalThis = requireGlobalThis();
|
413
672
|
|
414
673
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
415
|
-
var defineProperty
|
674
|
+
var defineProperty = Object.defineProperty;
|
416
675
|
|
417
|
-
|
676
|
+
defineGlobalProperty = function (key, value) {
|
418
677
|
try {
|
419
|
-
defineProperty
|
678
|
+
defineProperty(globalThis, key, { value: value, configurable: true, writable: true });
|
420
679
|
} catch (error) {
|
421
|
-
|
680
|
+
globalThis[key] = value;
|
422
681
|
} return value;
|
423
682
|
};
|
683
|
+
return defineGlobalProperty;
|
684
|
+
}
|
424
685
|
|
425
|
-
|
426
|
-
var defineGlobalProperty = defineGlobalProperty$1;
|
427
|
-
|
428
|
-
var SHARED = '__core-js_shared__';
|
429
|
-
var store$1 = global$4[SHARED] || defineGlobalProperty(SHARED, {});
|
686
|
+
var hasRequiredSharedStore;
|
430
687
|
|
431
|
-
|
688
|
+
function requireSharedStore () {
|
689
|
+
if (hasRequiredSharedStore) return sharedStore.exports;
|
690
|
+
hasRequiredSharedStore = 1;
|
691
|
+
var IS_PURE = requireIsPure();
|
692
|
+
var globalThis = requireGlobalThis();
|
693
|
+
var defineGlobalProperty = requireDefineGlobalProperty();
|
432
694
|
|
433
|
-
var
|
695
|
+
var SHARED = '__core-js_shared__';
|
696
|
+
var store = sharedStore.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
|
434
697
|
|
435
|
-
(
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
|
441
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE',
|
698
|
+
(store.versions || (store.versions = [])).push({
|
699
|
+
version: '3.44.0',
|
700
|
+
mode: IS_PURE ? 'pure' : 'global',
|
701
|
+
copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',
|
702
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE',
|
442
703
|
source: 'https://github.com/zloirock/core-js'
|
443
704
|
});
|
705
|
+
return sharedStore.exports;
|
706
|
+
}
|
444
707
|
|
445
|
-
|
708
|
+
var shared;
|
709
|
+
var hasRequiredShared;
|
446
710
|
|
447
|
-
|
711
|
+
function requireShared () {
|
712
|
+
if (hasRequiredShared) return shared;
|
713
|
+
hasRequiredShared = 1;
|
714
|
+
var store = requireSharedStore();
|
715
|
+
|
716
|
+
shared = function (key, value) {
|
717
|
+
return store[key] || (store[key] = value || {});
|
718
|
+
};
|
719
|
+
return shared;
|
720
|
+
}
|
721
|
+
|
722
|
+
var toObject;
|
723
|
+
var hasRequiredToObject;
|
724
|
+
|
725
|
+
function requireToObject () {
|
726
|
+
if (hasRequiredToObject) return toObject;
|
727
|
+
hasRequiredToObject = 1;
|
728
|
+
var requireObjectCoercible = requireRequireObjectCoercible();
|
448
729
|
|
449
730
|
var $Object = Object;
|
450
731
|
|
451
732
|
// `ToObject` abstract operation
|
452
733
|
// https://tc39.es/ecma262/#sec-toobject
|
453
|
-
|
734
|
+
toObject = function (argument) {
|
454
735
|
return $Object(requireObjectCoercible(argument));
|
455
736
|
};
|
737
|
+
return toObject;
|
738
|
+
}
|
456
739
|
|
457
|
-
|
458
|
-
|
740
|
+
var hasOwnProperty_1;
|
741
|
+
var hasRequiredHasOwnProperty;
|
459
742
|
|
460
|
-
|
743
|
+
function requireHasOwnProperty () {
|
744
|
+
if (hasRequiredHasOwnProperty) return hasOwnProperty_1;
|
745
|
+
hasRequiredHasOwnProperty = 1;
|
746
|
+
var uncurryThis = requireFunctionUncurryThis();
|
747
|
+
var toObject = requireToObject();
|
748
|
+
|
749
|
+
var hasOwnProperty = uncurryThis({}.hasOwnProperty);
|
461
750
|
|
462
751
|
// `HasOwnProperty` abstract operation
|
463
752
|
// https://tc39.es/ecma262/#sec-hasownproperty
|
464
753
|
// eslint-disable-next-line es/no-object-hasown -- safe
|
465
|
-
|
466
|
-
return hasOwnProperty(toObject
|
754
|
+
hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
|
755
|
+
return hasOwnProperty(toObject(it), key);
|
467
756
|
};
|
757
|
+
return hasOwnProperty_1;
|
758
|
+
}
|
759
|
+
|
760
|
+
var uid;
|
761
|
+
var hasRequiredUid;
|
468
762
|
|
469
|
-
|
763
|
+
function requireUid () {
|
764
|
+
if (hasRequiredUid) return uid;
|
765
|
+
hasRequiredUid = 1;
|
766
|
+
var uncurryThis = requireFunctionUncurryThis();
|
470
767
|
|
471
768
|
var id = 0;
|
472
769
|
var postfix = Math.random();
|
473
|
-
var toString = uncurryThis
|
770
|
+
var toString = uncurryThis(1.1.toString);
|
474
771
|
|
475
|
-
|
772
|
+
uid = function (key) {
|
476
773
|
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
|
477
774
|
};
|
775
|
+
return uid;
|
776
|
+
}
|
777
|
+
|
778
|
+
var wellKnownSymbol;
|
779
|
+
var hasRequiredWellKnownSymbol;
|
478
780
|
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
var
|
483
|
-
var
|
484
|
-
var
|
781
|
+
function requireWellKnownSymbol () {
|
782
|
+
if (hasRequiredWellKnownSymbol) return wellKnownSymbol;
|
783
|
+
hasRequiredWellKnownSymbol = 1;
|
784
|
+
var globalThis = requireGlobalThis();
|
785
|
+
var shared = requireShared();
|
786
|
+
var hasOwn = requireHasOwnProperty();
|
787
|
+
var uid = requireUid();
|
788
|
+
var NATIVE_SYMBOL = requireSymbolConstructorDetection();
|
789
|
+
var USE_SYMBOL_AS_UID = requireUseSymbolAsUid();
|
485
790
|
|
486
|
-
var Symbol
|
791
|
+
var Symbol = globalThis.Symbol;
|
487
792
|
var WellKnownSymbolsStore = shared('wks');
|
488
|
-
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol
|
793
|
+
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
|
489
794
|
|
490
|
-
|
491
|
-
if (!hasOwn
|
492
|
-
WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn
|
493
|
-
? Symbol
|
795
|
+
wellKnownSymbol = function (name) {
|
796
|
+
if (!hasOwn(WellKnownSymbolsStore, name)) {
|
797
|
+
WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)
|
798
|
+
? Symbol[name]
|
494
799
|
: createWellKnownSymbol('Symbol.' + name);
|
495
800
|
} return WellKnownSymbolsStore[name];
|
496
801
|
};
|
802
|
+
return wellKnownSymbol;
|
803
|
+
}
|
497
804
|
|
498
|
-
|
499
|
-
|
500
|
-
var isSymbol$1 = isSymbol$2;
|
501
|
-
var getMethod = getMethod$1;
|
502
|
-
var ordinaryToPrimitive = ordinaryToPrimitive$1;
|
503
|
-
var wellKnownSymbol = wellKnownSymbol$1;
|
805
|
+
var toPrimitive;
|
806
|
+
var hasRequiredToPrimitive;
|
504
807
|
|
505
|
-
|
808
|
+
function requireToPrimitive () {
|
809
|
+
if (hasRequiredToPrimitive) return toPrimitive;
|
810
|
+
hasRequiredToPrimitive = 1;
|
811
|
+
var call = requireFunctionCall();
|
812
|
+
var isObject = requireIsObject();
|
813
|
+
var isSymbol = requireIsSymbol();
|
814
|
+
var getMethod = requireGetMethod();
|
815
|
+
var ordinaryToPrimitive = requireOrdinaryToPrimitive();
|
816
|
+
var wellKnownSymbol = requireWellKnownSymbol();
|
817
|
+
|
818
|
+
var $TypeError = TypeError;
|
506
819
|
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
507
820
|
|
508
821
|
// `ToPrimitive` abstract operation
|
509
822
|
// https://tc39.es/ecma262/#sec-toprimitive
|
510
|
-
|
511
|
-
if (!isObject
|
823
|
+
toPrimitive = function (input, pref) {
|
824
|
+
if (!isObject(input) || isSymbol(input)) return input;
|
512
825
|
var exoticToPrim = getMethod(input, TO_PRIMITIVE);
|
513
826
|
var result;
|
514
827
|
if (exoticToPrim) {
|
515
828
|
if (pref === undefined) pref = 'default';
|
516
|
-
result = call
|
517
|
-
if (!isObject
|
518
|
-
throw new $TypeError
|
829
|
+
result = call(exoticToPrim, input, pref);
|
830
|
+
if (!isObject(result) || isSymbol(result)) return result;
|
831
|
+
throw new $TypeError("Can't convert object to primitive value");
|
519
832
|
}
|
520
833
|
if (pref === undefined) pref = 'number';
|
521
834
|
return ordinaryToPrimitive(input, pref);
|
522
835
|
};
|
836
|
+
return toPrimitive;
|
837
|
+
}
|
523
838
|
|
524
|
-
|
525
|
-
|
839
|
+
var toPropertyKey;
|
840
|
+
var hasRequiredToPropertyKey;
|
841
|
+
|
842
|
+
function requireToPropertyKey () {
|
843
|
+
if (hasRequiredToPropertyKey) return toPropertyKey;
|
844
|
+
hasRequiredToPropertyKey = 1;
|
845
|
+
var toPrimitive = requireToPrimitive();
|
846
|
+
var isSymbol = requireIsSymbol();
|
526
847
|
|
527
848
|
// `ToPropertyKey` abstract operation
|
528
849
|
// https://tc39.es/ecma262/#sec-topropertykey
|
529
|
-
|
850
|
+
toPropertyKey = function (argument) {
|
530
851
|
var key = toPrimitive(argument, 'string');
|
531
852
|
return isSymbol(key) ? key : key + '';
|
532
853
|
};
|
854
|
+
return toPropertyKey;
|
855
|
+
}
|
533
856
|
|
534
|
-
|
535
|
-
|
857
|
+
var documentCreateElement;
|
858
|
+
var hasRequiredDocumentCreateElement;
|
536
859
|
|
537
|
-
|
860
|
+
function requireDocumentCreateElement () {
|
861
|
+
if (hasRequiredDocumentCreateElement) return documentCreateElement;
|
862
|
+
hasRequiredDocumentCreateElement = 1;
|
863
|
+
var globalThis = requireGlobalThis();
|
864
|
+
var isObject = requireIsObject();
|
865
|
+
|
866
|
+
var document = globalThis.document;
|
538
867
|
// typeof document.createElement is 'object' in old IE
|
539
|
-
var EXISTS = isObject
|
868
|
+
var EXISTS = isObject(document) && isObject(document.createElement);
|
540
869
|
|
541
|
-
|
542
|
-
return EXISTS ? document
|
870
|
+
documentCreateElement = function (it) {
|
871
|
+
return EXISTS ? document.createElement(it) : {};
|
543
872
|
};
|
873
|
+
return documentCreateElement;
|
874
|
+
}
|
875
|
+
|
876
|
+
var ie8DomDefine;
|
877
|
+
var hasRequiredIe8DomDefine;
|
544
878
|
|
545
|
-
|
546
|
-
|
547
|
-
|
879
|
+
function requireIe8DomDefine () {
|
880
|
+
if (hasRequiredIe8DomDefine) return ie8DomDefine;
|
881
|
+
hasRequiredIe8DomDefine = 1;
|
882
|
+
var DESCRIPTORS = requireDescriptors();
|
883
|
+
var fails = requireFails();
|
884
|
+
var createElement = requireDocumentCreateElement();
|
548
885
|
|
549
886
|
// Thanks to IE8 for its funny defineProperty
|
550
|
-
|
887
|
+
ie8DomDefine = !DESCRIPTORS && !fails(function () {
|
551
888
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
552
889
|
return Object.defineProperty(createElement('div'), 'a', {
|
553
890
|
get: function () { return 7; }
|
554
891
|
}).a !== 7;
|
555
892
|
});
|
893
|
+
return ie8DomDefine;
|
894
|
+
}
|
895
|
+
|
896
|
+
var hasRequiredObjectGetOwnPropertyDescriptor;
|
556
897
|
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
var
|
561
|
-
var
|
562
|
-
var
|
563
|
-
var
|
564
|
-
var
|
898
|
+
function requireObjectGetOwnPropertyDescriptor () {
|
899
|
+
if (hasRequiredObjectGetOwnPropertyDescriptor) return objectGetOwnPropertyDescriptor;
|
900
|
+
hasRequiredObjectGetOwnPropertyDescriptor = 1;
|
901
|
+
var DESCRIPTORS = requireDescriptors();
|
902
|
+
var call = requireFunctionCall();
|
903
|
+
var propertyIsEnumerableModule = requireObjectPropertyIsEnumerable();
|
904
|
+
var createPropertyDescriptor = requireCreatePropertyDescriptor();
|
905
|
+
var toIndexedObject = requireToIndexedObject();
|
906
|
+
var toPropertyKey = requireToPropertyKey();
|
907
|
+
var hasOwn = requireHasOwnProperty();
|
908
|
+
var IE8_DOM_DEFINE = requireIe8DomDefine();
|
565
909
|
|
566
910
|
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
567
|
-
var $getOwnPropertyDescriptor
|
911
|
+
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
568
912
|
|
569
913
|
// `Object.getOwnPropertyDescriptor` method
|
570
914
|
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
|
571
|
-
objectGetOwnPropertyDescriptor.f = DESCRIPTORS
|
572
|
-
O = toIndexedObject
|
573
|
-
P = toPropertyKey
|
574
|
-
if (IE8_DOM_DEFINE
|
575
|
-
return $getOwnPropertyDescriptor
|
915
|
+
objectGetOwnPropertyDescriptor.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
916
|
+
O = toIndexedObject(O);
|
917
|
+
P = toPropertyKey(P);
|
918
|
+
if (IE8_DOM_DEFINE) try {
|
919
|
+
return $getOwnPropertyDescriptor(O, P);
|
576
920
|
} catch (error) { /* empty */ }
|
577
|
-
if (hasOwn
|
921
|
+
if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
|
578
922
|
};
|
923
|
+
return objectGetOwnPropertyDescriptor;
|
924
|
+
}
|
579
925
|
|
580
|
-
|
581
|
-
|
926
|
+
var isForced_1;
|
927
|
+
var hasRequiredIsForced;
|
928
|
+
|
929
|
+
function requireIsForced () {
|
930
|
+
if (hasRequiredIsForced) return isForced_1;
|
931
|
+
hasRequiredIsForced = 1;
|
932
|
+
var fails = requireFails();
|
933
|
+
var isCallable = requireIsCallable();
|
582
934
|
|
583
935
|
var replacement = /#|\\.prototype\\./;
|
584
936
|
|
585
|
-
var isForced
|
937
|
+
var isForced = function (feature, detection) {
|
586
938
|
var value = data[normalize(feature)];
|
587
939
|
return value === POLYFILL ? true
|
588
940
|
: value === NATIVE ? false
|
589
|
-
: isCallable
|
941
|
+
: isCallable(detection) ? fails(detection)
|
590
942
|
: !!detection;
|
591
943
|
};
|
592
944
|
|
593
|
-
var normalize = isForced
|
945
|
+
var normalize = isForced.normalize = function (string) {
|
594
946
|
return String(string).replace(replacement, '.').toLowerCase();
|
595
947
|
};
|
596
948
|
|
597
|
-
var data = isForced
|
598
|
-
var NATIVE = isForced
|
599
|
-
var POLYFILL = isForced
|
949
|
+
var data = isForced.data = {};
|
950
|
+
var NATIVE = isForced.NATIVE = 'N';
|
951
|
+
var POLYFILL = isForced.POLYFILL = 'P';
|
952
|
+
|
953
|
+
isForced_1 = isForced;
|
954
|
+
return isForced_1;
|
955
|
+
}
|
600
956
|
|
601
|
-
|
957
|
+
var functionBindContext;
|
958
|
+
var hasRequiredFunctionBindContext;
|
602
959
|
|
603
|
-
|
604
|
-
|
605
|
-
|
960
|
+
function requireFunctionBindContext () {
|
961
|
+
if (hasRequiredFunctionBindContext) return functionBindContext;
|
962
|
+
hasRequiredFunctionBindContext = 1;
|
963
|
+
var uncurryThis = requireFunctionUncurryThisClause();
|
964
|
+
var aCallable = requireACallable();
|
965
|
+
var NATIVE_BIND = requireFunctionBindNative();
|
606
966
|
|
607
|
-
var bind
|
967
|
+
var bind = uncurryThis(uncurryThis.bind);
|
608
968
|
|
609
969
|
// optional / simple context binding
|
610
|
-
|
970
|
+
functionBindContext = function (fn, that) {
|
611
971
|
aCallable(fn);
|
612
|
-
return that === undefined ? fn : NATIVE_BIND ? bind
|
972
|
+
return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
|
613
973
|
return fn.apply(that, arguments);
|
614
974
|
};
|
615
975
|
};
|
976
|
+
return functionBindContext;
|
977
|
+
}
|
978
|
+
|
979
|
+
var objectDefineProperty = {};
|
616
980
|
|
617
|
-
|
981
|
+
var v8PrototypeDefineBug;
|
982
|
+
var hasRequiredV8PrototypeDefineBug;
|
618
983
|
|
619
|
-
|
620
|
-
|
984
|
+
function requireV8PrototypeDefineBug () {
|
985
|
+
if (hasRequiredV8PrototypeDefineBug) return v8PrototypeDefineBug;
|
986
|
+
hasRequiredV8PrototypeDefineBug = 1;
|
987
|
+
var DESCRIPTORS = requireDescriptors();
|
988
|
+
var fails = requireFails();
|
621
989
|
|
622
990
|
// V8 ~ Chrome 36-
|
623
991
|
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
|
624
|
-
|
992
|
+
v8PrototypeDefineBug = DESCRIPTORS && fails(function () {
|
625
993
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
626
994
|
return Object.defineProperty(function () { /* empty */ }, 'prototype', {
|
627
995
|
value: 42,
|
628
996
|
writable: false
|
629
997
|
}).prototype !== 42;
|
630
998
|
});
|
999
|
+
return v8PrototypeDefineBug;
|
1000
|
+
}
|
1001
|
+
|
1002
|
+
var anObject;
|
1003
|
+
var hasRequiredAnObject;
|
631
1004
|
|
632
|
-
|
1005
|
+
function requireAnObject () {
|
1006
|
+
if (hasRequiredAnObject) return anObject;
|
1007
|
+
hasRequiredAnObject = 1;
|
1008
|
+
var isObject = requireIsObject();
|
633
1009
|
|
634
1010
|
var $String = String;
|
635
|
-
var $TypeError
|
1011
|
+
var $TypeError = TypeError;
|
636
1012
|
|
637
1013
|
// `Assert: Type(argument) is Object`
|
638
|
-
|
1014
|
+
anObject = function (argument) {
|
639
1015
|
if (isObject(argument)) return argument;
|
640
|
-
throw new $TypeError
|
1016
|
+
throw new $TypeError($String(argument) + ' is not an object');
|
641
1017
|
};
|
1018
|
+
return anObject;
|
1019
|
+
}
|
1020
|
+
|
1021
|
+
var hasRequiredObjectDefineProperty;
|
642
1022
|
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
var
|
647
|
-
var
|
1023
|
+
function requireObjectDefineProperty () {
|
1024
|
+
if (hasRequiredObjectDefineProperty) return objectDefineProperty;
|
1025
|
+
hasRequiredObjectDefineProperty = 1;
|
1026
|
+
var DESCRIPTORS = requireDescriptors();
|
1027
|
+
var IE8_DOM_DEFINE = requireIe8DomDefine();
|
1028
|
+
var V8_PROTOTYPE_DEFINE_BUG = requireV8PrototypeDefineBug();
|
1029
|
+
var anObject = requireAnObject();
|
1030
|
+
var toPropertyKey = requireToPropertyKey();
|
648
1031
|
|
649
1032
|
var $TypeError = TypeError;
|
650
1033
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
@@ -657,7 +1040,7 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
657
1040
|
|
658
1041
|
// `Object.defineProperty` method
|
659
1042
|
// https://tc39.es/ecma262/#sec-object.defineproperty
|
660
|
-
objectDefineProperty.f = DESCRIPTORS
|
1043
|
+
objectDefineProperty.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
|
661
1044
|
anObject(O);
|
662
1045
|
P = toPropertyKey(P);
|
663
1046
|
anObject(Attributes);
|
@@ -683,28 +1066,46 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
683
1066
|
if ('value' in Attributes) O[P] = Attributes.value;
|
684
1067
|
return O;
|
685
1068
|
};
|
1069
|
+
return objectDefineProperty;
|
1070
|
+
}
|
686
1071
|
|
687
|
-
|
688
|
-
|
689
|
-
var createPropertyDescriptor = createPropertyDescriptor$2;
|
1072
|
+
var createNonEnumerableProperty;
|
1073
|
+
var hasRequiredCreateNonEnumerableProperty;
|
690
1074
|
|
691
|
-
|
1075
|
+
function requireCreateNonEnumerableProperty () {
|
1076
|
+
if (hasRequiredCreateNonEnumerableProperty) return createNonEnumerableProperty;
|
1077
|
+
hasRequiredCreateNonEnumerableProperty = 1;
|
1078
|
+
var DESCRIPTORS = requireDescriptors();
|
1079
|
+
var definePropertyModule = requireObjectDefineProperty();
|
1080
|
+
var createPropertyDescriptor = requireCreatePropertyDescriptor();
|
1081
|
+
|
1082
|
+
createNonEnumerableProperty = DESCRIPTORS ? function (object, key, value) {
|
692
1083
|
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
|
693
1084
|
} : function (object, key, value) {
|
694
1085
|
object[key] = value;
|
695
1086
|
return object;
|
696
1087
|
};
|
1088
|
+
return createNonEnumerableProperty;
|
1089
|
+
}
|
697
1090
|
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
var
|
705
|
-
var
|
706
|
-
var
|
707
|
-
var
|
1091
|
+
var _export;
|
1092
|
+
var hasRequired_export;
|
1093
|
+
|
1094
|
+
function require_export () {
|
1095
|
+
if (hasRequired_export) return _export;
|
1096
|
+
hasRequired_export = 1;
|
1097
|
+
var globalThis = requireGlobalThis();
|
1098
|
+
var apply = requireFunctionApply();
|
1099
|
+
var uncurryThis = requireFunctionUncurryThisClause();
|
1100
|
+
var isCallable = requireIsCallable();
|
1101
|
+
var getOwnPropertyDescriptor = requireObjectGetOwnPropertyDescriptor().f;
|
1102
|
+
var isForced = requireIsForced();
|
1103
|
+
var path = requirePath();
|
1104
|
+
var bind = requireFunctionBindContext();
|
1105
|
+
var createNonEnumerableProperty = requireCreateNonEnumerableProperty();
|
1106
|
+
var hasOwn = requireHasOwnProperty();
|
1107
|
+
// add debugging info
|
1108
|
+
requireSharedStore();
|
708
1109
|
|
709
1110
|
var wrapConstructor = function (NativeConstructor) {
|
710
1111
|
var Wrapper = function (a, b, c) {
|
@@ -735,15 +1136,15 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
735
1136
|
options.dontCallGetSet - prevent calling a getter on target
|
736
1137
|
options.name - the .name of the function if it does not match the key
|
737
1138
|
*/
|
738
|
-
|
1139
|
+
_export = function (options, source) {
|
739
1140
|
var TARGET = options.target;
|
740
1141
|
var GLOBAL = options.global;
|
741
1142
|
var STATIC = options.stat;
|
742
1143
|
var PROTO = options.proto;
|
743
1144
|
|
744
|
-
var nativeSource = GLOBAL ?
|
1145
|
+
var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;
|
745
1146
|
|
746
|
-
var target = GLOBAL ? path
|
1147
|
+
var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];
|
747
1148
|
var targetPrototype = target.prototype;
|
748
1149
|
|
749
1150
|
var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;
|
@@ -752,7 +1153,7 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
752
1153
|
for (key in source) {
|
753
1154
|
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
|
754
1155
|
// contains in native
|
755
|
-
USE_NATIVE = !FORCED && nativeSource && hasOwn
|
1156
|
+
USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);
|
756
1157
|
|
757
1158
|
targetProperty = target[key];
|
758
1159
|
|
@@ -764,14 +1165,14 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
764
1165
|
// export native or implementation
|
765
1166
|
sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];
|
766
1167
|
|
767
|
-
if (
|
1168
|
+
if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;
|
768
1169
|
|
769
1170
|
// bind methods to global for calling from export context
|
770
|
-
if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty,
|
1171
|
+
if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);
|
771
1172
|
// wrap global constructors for prevent changes in this version
|
772
1173
|
else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);
|
773
1174
|
// make static versions for prototype methods
|
774
|
-
else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis
|
1175
|
+
else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);
|
775
1176
|
// default case
|
776
1177
|
else resultProperty = sourceProperty;
|
777
1178
|
|
@@ -784,11 +1185,11 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
784
1185
|
|
785
1186
|
if (PROTO) {
|
786
1187
|
VIRTUAL_PROTOTYPE = TARGET + 'Prototype';
|
787
|
-
if (!hasOwn
|
788
|
-
createNonEnumerableProperty(path
|
1188
|
+
if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {
|
1189
|
+
createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});
|
789
1190
|
}
|
790
1191
|
// export virtual prototype methods
|
791
|
-
createNonEnumerableProperty(path
|
1192
|
+
createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);
|
792
1193
|
// export real prototype methods
|
793
1194
|
if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {
|
794
1195
|
createNonEnumerableProperty(targetPrototype, key, sourceProperty);
|
@@ -796,68 +1197,118 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
796
1197
|
}
|
797
1198
|
}
|
798
1199
|
};
|
1200
|
+
return _export;
|
1201
|
+
}
|
1202
|
+
|
1203
|
+
var mathTrunc;
|
1204
|
+
var hasRequiredMathTrunc;
|
799
1205
|
|
1206
|
+
function requireMathTrunc () {
|
1207
|
+
if (hasRequiredMathTrunc) return mathTrunc;
|
1208
|
+
hasRequiredMathTrunc = 1;
|
800
1209
|
var ceil = Math.ceil;
|
801
1210
|
var floor = Math.floor;
|
802
1211
|
|
803
1212
|
// `Math.trunc` method
|
804
1213
|
// https://tc39.es/ecma262/#sec-math.trunc
|
805
1214
|
// eslint-disable-next-line es/no-math-trunc -- safe
|
806
|
-
|
1215
|
+
mathTrunc = Math.trunc || function trunc(x) {
|
807
1216
|
var n = +x;
|
808
1217
|
return (n > 0 ? floor : ceil)(n);
|
809
1218
|
};
|
1219
|
+
return mathTrunc;
|
1220
|
+
}
|
810
1221
|
|
811
|
-
|
1222
|
+
var toIntegerOrInfinity;
|
1223
|
+
var hasRequiredToIntegerOrInfinity;
|
1224
|
+
|
1225
|
+
function requireToIntegerOrInfinity () {
|
1226
|
+
if (hasRequiredToIntegerOrInfinity) return toIntegerOrInfinity;
|
1227
|
+
hasRequiredToIntegerOrInfinity = 1;
|
1228
|
+
var trunc = requireMathTrunc();
|
812
1229
|
|
813
1230
|
// `ToIntegerOrInfinity` abstract operation
|
814
1231
|
// https://tc39.es/ecma262/#sec-tointegerorinfinity
|
815
|
-
|
1232
|
+
toIntegerOrInfinity = function (argument) {
|
816
1233
|
var number = +argument;
|
817
1234
|
// eslint-disable-next-line no-self-compare -- NaN check
|
818
1235
|
return number !== number || number === 0 ? 0 : trunc(number);
|
819
1236
|
};
|
1237
|
+
return toIntegerOrInfinity;
|
1238
|
+
}
|
1239
|
+
|
1240
|
+
var toAbsoluteIndex;
|
1241
|
+
var hasRequiredToAbsoluteIndex;
|
820
1242
|
|
821
|
-
|
1243
|
+
function requireToAbsoluteIndex () {
|
1244
|
+
if (hasRequiredToAbsoluteIndex) return toAbsoluteIndex;
|
1245
|
+
hasRequiredToAbsoluteIndex = 1;
|
1246
|
+
var toIntegerOrInfinity = requireToIntegerOrInfinity();
|
822
1247
|
|
823
1248
|
var max = Math.max;
|
824
|
-
var min
|
1249
|
+
var min = Math.min;
|
825
1250
|
|
826
1251
|
// Helper for a popular repeating case of the spec:
|
827
1252
|
// Let integer be ? ToInteger(index).
|
828
1253
|
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
|
829
|
-
|
830
|
-
var integer = toIntegerOrInfinity
|
831
|
-
return integer < 0 ? max(integer + length, 0) : min
|
1254
|
+
toAbsoluteIndex = function (index, length) {
|
1255
|
+
var integer = toIntegerOrInfinity(index);
|
1256
|
+
return integer < 0 ? max(integer + length, 0) : min(integer, length);
|
832
1257
|
};
|
1258
|
+
return toAbsoluteIndex;
|
1259
|
+
}
|
1260
|
+
|
1261
|
+
var toLength;
|
1262
|
+
var hasRequiredToLength;
|
833
1263
|
|
834
|
-
|
1264
|
+
function requireToLength () {
|
1265
|
+
if (hasRequiredToLength) return toLength;
|
1266
|
+
hasRequiredToLength = 1;
|
1267
|
+
var toIntegerOrInfinity = requireToIntegerOrInfinity();
|
835
1268
|
|
836
1269
|
var min = Math.min;
|
837
1270
|
|
838
1271
|
// `ToLength` abstract operation
|
839
1272
|
// https://tc39.es/ecma262/#sec-tolength
|
840
|
-
|
841
|
-
|
1273
|
+
toLength = function (argument) {
|
1274
|
+
var len = toIntegerOrInfinity(argument);
|
1275
|
+
return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
842
1276
|
};
|
1277
|
+
return toLength;
|
1278
|
+
}
|
1279
|
+
|
1280
|
+
var lengthOfArrayLike;
|
1281
|
+
var hasRequiredLengthOfArrayLike;
|
843
1282
|
|
844
|
-
|
1283
|
+
function requireLengthOfArrayLike () {
|
1284
|
+
if (hasRequiredLengthOfArrayLike) return lengthOfArrayLike;
|
1285
|
+
hasRequiredLengthOfArrayLike = 1;
|
1286
|
+
var toLength = requireToLength();
|
845
1287
|
|
846
1288
|
// `LengthOfArrayLike` abstract operation
|
847
1289
|
// https://tc39.es/ecma262/#sec-lengthofarraylike
|
848
|
-
|
1290
|
+
lengthOfArrayLike = function (obj) {
|
849
1291
|
return toLength(obj.length);
|
850
1292
|
};
|
1293
|
+
return lengthOfArrayLike;
|
1294
|
+
}
|
1295
|
+
|
1296
|
+
var arrayIncludes;
|
1297
|
+
var hasRequiredArrayIncludes;
|
851
1298
|
|
852
|
-
|
853
|
-
|
854
|
-
|
1299
|
+
function requireArrayIncludes () {
|
1300
|
+
if (hasRequiredArrayIncludes) return arrayIncludes;
|
1301
|
+
hasRequiredArrayIncludes = 1;
|
1302
|
+
var toIndexedObject = requireToIndexedObject();
|
1303
|
+
var toAbsoluteIndex = requireToAbsoluteIndex();
|
1304
|
+
var lengthOfArrayLike = requireLengthOfArrayLike();
|
855
1305
|
|
856
1306
|
// `Array.prototype.{ indexOf, includes }` methods implementation
|
857
1307
|
var createMethod = function (IS_INCLUDES) {
|
858
1308
|
return function ($this, el, fromIndex) {
|
859
|
-
var O = toIndexedObject
|
1309
|
+
var O = toIndexedObject($this);
|
860
1310
|
var length = lengthOfArrayLike(O);
|
1311
|
+
if (length === 0) return !IS_INCLUDES && -1;
|
861
1312
|
var index = toAbsoluteIndex(fromIndex, length);
|
862
1313
|
var value;
|
863
1314
|
// Array#includes uses SameValueZero equality algorithm
|
@@ -873,7 +1324,7 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
873
1324
|
};
|
874
1325
|
};
|
875
1326
|
|
876
|
-
|
1327
|
+
arrayIncludes = {
|
877
1328
|
// `Array.prototype.includes` method
|
878
1329
|
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
879
1330
|
includes: createMethod(true),
|
@@ -881,18 +1332,34 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
881
1332
|
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
882
1333
|
indexOf: createMethod(false)
|
883
1334
|
};
|
1335
|
+
return arrayIncludes;
|
1336
|
+
}
|
1337
|
+
|
1338
|
+
var hiddenKeys;
|
1339
|
+
var hasRequiredHiddenKeys;
|
1340
|
+
|
1341
|
+
function requireHiddenKeys () {
|
1342
|
+
if (hasRequiredHiddenKeys) return hiddenKeys;
|
1343
|
+
hasRequiredHiddenKeys = 1;
|
1344
|
+
hiddenKeys = {};
|
1345
|
+
return hiddenKeys;
|
1346
|
+
}
|
884
1347
|
|
885
|
-
|
1348
|
+
var objectKeysInternal;
|
1349
|
+
var hasRequiredObjectKeysInternal;
|
886
1350
|
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
var
|
891
|
-
var
|
1351
|
+
function requireObjectKeysInternal () {
|
1352
|
+
if (hasRequiredObjectKeysInternal) return objectKeysInternal;
|
1353
|
+
hasRequiredObjectKeysInternal = 1;
|
1354
|
+
var uncurryThis = requireFunctionUncurryThis();
|
1355
|
+
var hasOwn = requireHasOwnProperty();
|
1356
|
+
var toIndexedObject = requireToIndexedObject();
|
1357
|
+
var indexOf = requireArrayIncludes().indexOf;
|
1358
|
+
var hiddenKeys = requireHiddenKeys();
|
892
1359
|
|
893
|
-
var push = uncurryThis
|
1360
|
+
var push = uncurryThis([].push);
|
894
1361
|
|
895
|
-
|
1362
|
+
objectKeysInternal = function (object, names) {
|
896
1363
|
var O = toIndexedObject(object);
|
897
1364
|
var i = 0;
|
898
1365
|
var result = [];
|
@@ -904,9 +1371,17 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
904
1371
|
}
|
905
1372
|
return result;
|
906
1373
|
};
|
1374
|
+
return objectKeysInternal;
|
1375
|
+
}
|
1376
|
+
|
1377
|
+
var enumBugKeys;
|
1378
|
+
var hasRequiredEnumBugKeys;
|
907
1379
|
|
1380
|
+
function requireEnumBugKeys () {
|
1381
|
+
if (hasRequiredEnumBugKeys) return enumBugKeys;
|
1382
|
+
hasRequiredEnumBugKeys = 1;
|
908
1383
|
// IE8- don't enum bug keys
|
909
|
-
|
1384
|
+
enumBugKeys = [
|
910
1385
|
'constructor',
|
911
1386
|
'hasOwnProperty',
|
912
1387
|
'isPrototypeOf',
|
@@ -915,31 +1390,54 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
915
1390
|
'toString',
|
916
1391
|
'valueOf'
|
917
1392
|
];
|
1393
|
+
return enumBugKeys;
|
1394
|
+
}
|
918
1395
|
|
919
|
-
|
920
|
-
|
1396
|
+
var objectKeys;
|
1397
|
+
var hasRequiredObjectKeys;
|
1398
|
+
|
1399
|
+
function requireObjectKeys () {
|
1400
|
+
if (hasRequiredObjectKeys) return objectKeys;
|
1401
|
+
hasRequiredObjectKeys = 1;
|
1402
|
+
var internalObjectKeys = requireObjectKeysInternal();
|
1403
|
+
var enumBugKeys = requireEnumBugKeys();
|
921
1404
|
|
922
1405
|
// `Object.keys` method
|
923
1406
|
// https://tc39.es/ecma262/#sec-object.keys
|
924
1407
|
// eslint-disable-next-line es/no-object-keys -- safe
|
925
|
-
|
1408
|
+
objectKeys = Object.keys || function keys(O) {
|
926
1409
|
return internalObjectKeys(O, enumBugKeys);
|
927
1410
|
};
|
1411
|
+
return objectKeys;
|
1412
|
+
}
|
928
1413
|
|
929
|
-
|
1414
|
+
var objectGetOwnPropertySymbols = {};
|
930
1415
|
|
1416
|
+
var hasRequiredObjectGetOwnPropertySymbols;
|
1417
|
+
|
1418
|
+
function requireObjectGetOwnPropertySymbols () {
|
1419
|
+
if (hasRequiredObjectGetOwnPropertySymbols) return objectGetOwnPropertySymbols;
|
1420
|
+
hasRequiredObjectGetOwnPropertySymbols = 1;
|
931
1421
|
// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
|
932
1422
|
objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
|
1423
|
+
return objectGetOwnPropertySymbols;
|
1424
|
+
}
|
933
1425
|
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
var
|
941
|
-
var
|
942
|
-
var
|
1426
|
+
var objectAssign;
|
1427
|
+
var hasRequiredObjectAssign;
|
1428
|
+
|
1429
|
+
function requireObjectAssign () {
|
1430
|
+
if (hasRequiredObjectAssign) return objectAssign;
|
1431
|
+
hasRequiredObjectAssign = 1;
|
1432
|
+
var DESCRIPTORS = requireDescriptors();
|
1433
|
+
var uncurryThis = requireFunctionUncurryThis();
|
1434
|
+
var call = requireFunctionCall();
|
1435
|
+
var fails = requireFails();
|
1436
|
+
var objectKeys = requireObjectKeys();
|
1437
|
+
var getOwnPropertySymbolsModule = requireObjectGetOwnPropertySymbols();
|
1438
|
+
var propertyIsEnumerableModule = requireObjectPropertyIsEnumerable();
|
1439
|
+
var toObject = requireToObject();
|
1440
|
+
var IndexedObject = requireIndexedObject();
|
943
1441
|
|
944
1442
|
// eslint-disable-next-line es/no-object-assign -- safe
|
945
1443
|
var $assign = Object.assign;
|
@@ -949,7 +1447,7 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
949
1447
|
|
950
1448
|
// `Object.assign` method
|
951
1449
|
// https://tc39.es/ecma262/#sec-object.assign
|
952
|
-
|
1450
|
+
objectAssign = !$assign || fails(function () {
|
953
1451
|
// should have correct order of operations (Edge bug)
|
954
1452
|
if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
|
955
1453
|
enumerable: true,
|
@@ -967,6 +1465,7 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
967
1465
|
var symbol = Symbol('assign detection');
|
968
1466
|
var alphabet = 'abcdefghijklmnopqrst';
|
969
1467
|
A[symbol] = 7;
|
1468
|
+
// eslint-disable-next-line es/no-array-prototype-foreach -- safe
|
970
1469
|
alphabet.split('').forEach(function (chr) { B[chr] = chr; });
|
971
1470
|
return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;
|
972
1471
|
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
|
@@ -987,45 +1486,78 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
987
1486
|
}
|
988
1487
|
} return T;
|
989
1488
|
} : $assign;
|
1489
|
+
return objectAssign;
|
1490
|
+
}
|
990
1491
|
|
991
|
-
|
992
|
-
|
1492
|
+
var hasRequiredEs_object_assign;
|
1493
|
+
|
1494
|
+
function requireEs_object_assign () {
|
1495
|
+
if (hasRequiredEs_object_assign) return es_object_assign;
|
1496
|
+
hasRequiredEs_object_assign = 1;
|
1497
|
+
var $ = require_export();
|
1498
|
+
var assign = requireObjectAssign();
|
993
1499
|
|
994
1500
|
// `Object.assign` method
|
995
1501
|
// https://tc39.es/ecma262/#sec-object.assign
|
996
1502
|
// eslint-disable-next-line es/no-object-assign -- required for testing
|
997
|
-
$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign
|
998
|
-
assign: assign
|
1503
|
+
$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
|
1504
|
+
assign: assign
|
999
1505
|
});
|
1506
|
+
return es_object_assign;
|
1507
|
+
}
|
1000
1508
|
|
1001
|
-
|
1509
|
+
var assign$2;
|
1510
|
+
var hasRequiredAssign$2;
|
1002
1511
|
|
1003
|
-
|
1512
|
+
function requireAssign$2 () {
|
1513
|
+
if (hasRequiredAssign$2) return assign$2;
|
1514
|
+
hasRequiredAssign$2 = 1;
|
1515
|
+
requireEs_object_assign();
|
1516
|
+
var path = requirePath();
|
1004
1517
|
|
1005
|
-
|
1518
|
+
assign$2 = path.Object.assign;
|
1519
|
+
return assign$2;
|
1520
|
+
}
|
1006
1521
|
|
1007
|
-
|
1522
|
+
var assign$1;
|
1523
|
+
var hasRequiredAssign$1;
|
1008
1524
|
|
1009
|
-
|
1525
|
+
function requireAssign$1 () {
|
1526
|
+
if (hasRequiredAssign$1) return assign$1;
|
1527
|
+
hasRequiredAssign$1 = 1;
|
1528
|
+
var parent = requireAssign$2();
|
1010
1529
|
|
1011
|
-
|
1530
|
+
assign$1 = parent;
|
1531
|
+
return assign$1;
|
1532
|
+
}
|
1012
1533
|
|
1013
|
-
|
1014
|
-
|
1015
|
-
a: 1
|
1016
|
-
}));
|
1017
|
-
}
|
1534
|
+
var assign;
|
1535
|
+
var hasRequiredAssign;
|
1018
1536
|
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1537
|
+
function requireAssign () {
|
1538
|
+
if (hasRequiredAssign) return assign;
|
1539
|
+
hasRequiredAssign = 1;
|
1540
|
+
assign = requireAssign$1();
|
1541
|
+
return assign;
|
1542
|
+
}
|
1543
|
+
|
1544
|
+
var assignExports = requireAssign();
|
1545
|
+
const _Object$assign = /*@__PURE__*/getDefaultExportFromCjs(assignExports);
|
1024
1546
|
|
1025
|
-
|
1026
|
-
|
1547
|
+
function a () {
|
1548
|
+
console.log(_Object$assign({}, {
|
1549
|
+
a: 1
|
1550
|
+
}));
|
1551
|
+
}
|
1552
|
+
|
1553
|
+
function b () {
|
1554
|
+
console.log(_Object$assign({}, {
|
1555
|
+
b: 1
|
1556
|
+
}));
|
1557
|
+
}
|
1027
1558
|
|
1028
|
-
|
1559
|
+
a();
|
1560
|
+
b();
|
1029
1561
|
JS
|
1030
1562
|
end
|
1031
1563
|
|
@@ -1042,17 +1574,12 @@ class CondenserBabelTest < ActiveSupport::TestCase
|
|
1042
1574
|
JS
|
1043
1575
|
|
1044
1576
|
assert_exported_file 'name.js', 'application/javascript', <<~JS
|
1045
|
-
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
var d = {};
|
1053
|
-
console.log(x(d === null || d === void 0 ? void 0 : d.z));
|
1054
|
-
|
1055
|
-
})();
|
1577
|
+
function x(y) {
|
1578
|
+
return y === null || y === void 0 ? void 0 : y.z;
|
1579
|
+
}
|
1580
|
+
|
1581
|
+
var d = {};
|
1582
|
+
console.log(x(d === null || d === void 0 ? void 0 : d.z));
|
1056
1583
|
JS
|
1057
1584
|
|
1058
1585
|
end
|