Implement assumptions defined in the babel/rfcs#5 RFC
- `mutableTemplateObject` and `ignoreToPrimitiveHint` (#12408) - `setClassMethods` (#12407) - `setComputedProperties` (#12490) - `ignoreFunctionLength` (#12491) - `noDocumentAll` (#12481) - `iterableIsArray` and `arrayLikeIsIterable` (#12489) - `pureGetters` (#12504) - `skipForOfIteratorClosing` (#12496) - `objectRestNoSymbols`, `setSpreadProperties` and `pureGetters` (#12505) - `noNewArrows` (#12613, #12793) - `setPublicClassFields` and `privateFieldsAsProperties` (#12497) - `constantReexports` and `enumerableModuleMeta` (#12618) - `constantSuper`, `superIsCallableConstructor` and `noClassCalls` (#12726) Co-authored-by: Justin Ridgewell <justin@ridgewell.name> Co-authored-by: Huáng Jùnliàng <JLHwung@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
var p2 = { 0: "a", 2: "c", length: 3 };
|
||||
|
||||
var arr = [];
|
||||
for (var x of p2) arr.push(x);
|
||||
|
||||
expect(arr).toEqual(["a", undefined, "c"]);
|
||||
expect(1 in arr).toBe(true); // Not holey
|
||||
@@ -0,0 +1,6 @@
|
||||
var p2 = { 0: "b", 1: "c", 2: "d", length: 2 };
|
||||
|
||||
var arr = [];
|
||||
for (var x of p2) arr.push(x);
|
||||
|
||||
expect(arr).toEqual(["b", "c"]);
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"plugins": [
|
||||
["external-helpers", { "helperVersion": "7.100.0" }],
|
||||
"transform-for-of"
|
||||
],
|
||||
"assumptions": {
|
||||
"arrayLikeIsIterable": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
var p2 = { 0: "b", 1: "c", 2: "d", length: 3 };
|
||||
|
||||
var arr = [];
|
||||
for (var x of p2) arr.push(x);
|
||||
|
||||
expect(arr).toEqual(["b", "c", "d"]);
|
||||
@@ -0,0 +1 @@
|
||||
for (var x of p2) arr.push(x);
|
||||
@@ -0,0 +1,13 @@
|
||||
var _iterator = babelHelpers.createForOfIteratorHelper(p2, true),
|
||||
_step;
|
||||
|
||||
try {
|
||||
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
||||
var x = _step.value;
|
||||
arr.push(x);
|
||||
}
|
||||
} catch (err) {
|
||||
_iterator.e(err);
|
||||
} finally {
|
||||
_iterator.f();
|
||||
}
|
||||
Reference in New Issue
Block a user