Skip to content

Commit b40b542

Browse files
authored
Merge pull request #29676 from NicholasLYang/fixObjectRestEnumeration
Fix object rest enumeration
2 parents 8c07b40 + 61e1009 commit b40b542

File tree

47 files changed

+4034
-3798
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+4034
-3798
lines changed

src/compiler/transformers/destructuring.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -521,8 +521,10 @@ namespace ts {
521521
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
522522
t[p] = s[p];
523523
if (s != null && typeof Object.getOwnPropertySymbols === "function")
524-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
525-
t[p[i]] = s[p[i]];
524+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
525+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
526+
t[p[i]] = s[p[i]];
527+
}
526528
return t;
527529
};`
528530
};

tests/baselines/reference/asyncFunctionTempVariableScoping.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,10 @@ var __rest = (this && this.__rest) || function (s, e) {
4545
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4646
t[p] = s[p];
4747
if (s != null && typeof Object.getOwnPropertySymbols === "function")
48-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
49-
t[p[i]] = s[p[i]];
48+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
49+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
50+
t[p[i]] = s[p[i]];
51+
}
5052
return t;
5153
};
5254
var _this = this;

tests/baselines/reference/destructuringAssignmentWithStrictNullChecks.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ var __rest = (this && this.__rest) || function (s, e) {
99
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1010
t[p] = s[p];
1111
if (s != null && typeof Object.getOwnPropertySymbols === "function")
12-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
13-
t[p[i]] = s[p[i]];
12+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
13+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
14+
t[p[i]] = s[p[i]];
15+
}
1416
return t;
1517
};
1618
var bar;

tests/baselines/reference/destructuringInitializerContextualTypeFromContext.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ var __rest = (this && this.__rest) || function (s, e) {
4343
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4444
t[p] = s[p];
4545
if (s != null && typeof Object.getOwnPropertySymbols === "function")
46-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
47-
t[p[i]] = s[p[i]];
46+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
47+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
48+
t[p[i]] = s[p[i]];
49+
}
4850
return t;
4951
};
5052
var Parent = function (_a) {

tests/baselines/reference/destructuringObjectBindingPatternAndAssignment5.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ var __rest = (this && this.__rest) || function (s, e) {
1212
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1313
t[p] = s[p];
1414
if (s != null && typeof Object.getOwnPropertySymbols === "function")
15-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
16-
t[p[i]] = s[p[i]];
15+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17+
t[p[i]] = s[p[i]];
18+
}
1719
return t;
1820
};
1921
function a() {

tests/baselines/reference/forLoopWithDestructuringDoesNotElideFollowingStatement.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ var __rest = (this && this.__rest) || function (s, e) {
99
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1010
t[p] = s[p];
1111
if (s != null && typeof Object.getOwnPropertySymbols === "function")
12-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
13-
t[p[i]] = s[p[i]];
12+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
13+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
14+
t[p[i]] = s[p[i]];
15+
}
1416
return t;
1517
};
1618
var array = [{ a: 0, b: 1 }];

tests/baselines/reference/genericIsNeverEmptyObject.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2929
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
3030
t[p] = s[p];
3131
if (s != null && typeof Object.getOwnPropertySymbols === "function")
32-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
33-
t[p[i]] = s[p[i]];
32+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
33+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
34+
t[p[i]] = s[p[i]];
35+
}
3436
return t;
3537
};
3638
function test(obj) {

tests/baselines/reference/genericObjectRest.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@ var __rest = (this && this.__rest) || function (s, e) {
3535
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
3636
t[p] = s[p];
3737
if (s != null && typeof Object.getOwnPropertySymbols === "function")
38-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
39-
t[p[i]] = s[p[i]];
38+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
39+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
40+
t[p[i]] = s[p[i]];
41+
}
4042
return t;
4143
};
4244
const a = 'a';

tests/baselines/reference/literalTypeWidening.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,10 @@ var __rest = (this && this.__rest) || function (s, e) {
156156
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
157157
t[p] = s[p];
158158
if (s != null && typeof Object.getOwnPropertySymbols === "function")
159-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
160-
t[p[i]] = s[p[i]];
159+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
160+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
161+
t[p[i]] = s[p[i]];
162+
}
161163
return t;
162164
};
163165
exports.__esModule = true;

tests/baselines/reference/mappedTypeConstraints.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ var __rest = (this && this.__rest) || function (s, e) {
4242
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4343
t[p] = s[p];
4444
if (s != null && typeof Object.getOwnPropertySymbols === "function")
45-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
46-
t[p[i]] = s[p[i]];
45+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
46+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
47+
t[p[i]] = s[p[i]];
48+
}
4749
return t;
4850
};
4951
function f0(obj) {

tests/baselines/reference/nonPrimitiveAccessProperty.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ var __rest = (this && this.__rest) || function (s, e) {
1313
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1414
t[p] = s[p];
1515
if (s != null && typeof Object.getOwnPropertySymbols === "function")
16-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
17-
t[p[i]] = s[p[i]];
16+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18+
t[p[i]] = s[p[i]];
19+
}
1820
return t;
1921
};
2022
var a;

tests/baselines/reference/objectBindingPattern_restElementWithPropertyName.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ var __rest = (this && this.__rest) || function (s, e) {
88
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
99
t[p] = s[p];
1010
if (s != null && typeof Object.getOwnPropertySymbols === "function")
11-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
12-
t[p[i]] = s[p[i]];
11+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
12+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
13+
t[p[i]] = s[p[i]];
14+
}
1315
return t;
1416
};
1517
var b = __rest({}, []);

tests/baselines/reference/objectRest.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ var __rest = (this && this.__rest) || function (s, e) {
5353
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5454
t[p] = s[p];
5555
if (s != null && typeof Object.getOwnPropertySymbols === "function")
56-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
57-
t[p[i]] = s[p[i]];
56+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
57+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
58+
t[p[i]] = s[p[i]];
59+
}
5860
return t;
5961
};
6062
var _a, _b, _c, _d, _e;

tests/baselines/reference/objectRestAssignment.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2020
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2121
t[p] = s[p];
2222
if (s != null && typeof Object.getOwnPropertySymbols === "function")
23-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
24-
t[p[i]] = s[p[i]];
23+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
24+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
25+
t[p[i]] = s[p[i]];
26+
}
2527
return t;
2628
};
2729
var _a, _b, _c;

tests/baselines/reference/objectRestForOf.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2020
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2121
t[p] = s[p];
2222
if (s != null && typeof Object.getOwnPropertySymbols === "function")
23-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
24-
t[p[i]] = s[p[i]];
23+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
24+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
25+
t[p[i]] = s[p[i]];
26+
}
2527
return t;
2628
};
2729
let array;

tests/baselines/reference/objectRestNegative.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2424
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2525
t[p] = s[p];
2626
if (s != null && typeof Object.getOwnPropertySymbols === "function")
27-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
28-
t[p[i]] = s[p[i]];
27+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
28+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
29+
t[p[i]] = s[p[i]];
30+
}
2931
return t;
3032
};
3133
var o = { a: 1, b: 'no' };

tests/baselines/reference/objectRestParameter.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2727
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2828
t[p] = s[p];
2929
if (s != null && typeof Object.getOwnPropertySymbols === "function")
30-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
31-
t[p[i]] = s[p[i]];
30+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32+
t[p[i]] = s[p[i]];
33+
}
3234
return t;
3335
};
3436
function cloneAgain(_a) {

tests/baselines/reference/objectRestParameterES5.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2727
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2828
t[p] = s[p];
2929
if (s != null && typeof Object.getOwnPropertySymbols === "function")
30-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
31-
t[p[i]] = s[p[i]];
30+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32+
t[p[i]] = s[p[i]];
33+
}
3234
return t;
3335
};
3436
function cloneAgain(_a) {

tests/baselines/reference/objectRestReadonly.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2323
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2424
t[p] = s[p];
2525
if (s != null && typeof Object.getOwnPropertySymbols === "function")
26-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
27-
t[p[i]] = s[p[i]];
26+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
27+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
28+
t[p[i]] = s[p[i]];
29+
}
2830
return t;
2931
};
3032
var obj = {

tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2626
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2727
t[p] = s[p];
2828
if (s != null && typeof Object.getOwnPropertySymbols === "function")
29-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
30-
t[p[i]] = s[p[i]];
29+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
30+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
31+
t[p[i]] = s[p[i]];
32+
}
3133
return t;
3234
};
3335
function foobar(_a) {

tests/baselines/reference/restIntersection.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ var __rest = (this && this.__rest) || function (s, e) {
1111
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1212
t[p] = s[p];
1313
if (s != null && typeof Object.getOwnPropertySymbols === "function")
14-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
15-
t[p[i]] = s[p[i]];
14+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
15+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
16+
t[p[i]] = s[p[i]];
17+
}
1618
return t;
1719
};
1820
var intersection;

tests/baselines/reference/restInvalidArgumentType.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,10 @@ var __rest = (this && this.__rest) || function (s, e) {
6161
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
6262
t[p] = s[p];
6363
if (s != null && typeof Object.getOwnPropertySymbols === "function")
64-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
65-
t[p[i]] = s[p[i]];
64+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
65+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
66+
t[p[i]] = s[p[i]];
67+
}
6668
return t;
6769
};
6870
var E;

tests/baselines/reference/restParameterWithBindingPattern3.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ var __rest = (this && this.__rest) || function (s, e) {
1515
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1616
t[p] = s[p];
1717
if (s != null && typeof Object.getOwnPropertySymbols === "function")
18-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
19-
t[p[i]] = s[p[i]];
18+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20+
t[p[i]] = s[p[i]];
21+
}
2022
return t;
2123
};
2224
function a() {

tests/baselines/reference/restPropertyWithBindingPattern.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ var __rest = (this && this.__rest) || function (s, e) {
1010
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1111
t[p] = s[p];
1212
if (s != null && typeof Object.getOwnPropertySymbols === "function")
13-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
14-
t[p[i]] = s[p[i]];
13+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
14+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
15+
t[p[i]] = s[p[i]];
16+
}
1517
return t;
1618
};
1719
var _a, _b;

tests/baselines/reference/restUnion.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ var __rest = (this && this.__rest) || function (s, e) {
2121
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2222
t[p] = s[p];
2323
if (s != null && typeof Object.getOwnPropertySymbols === "function")
24-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
25-
t[p[i]] = s[p[i]];
24+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
25+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
26+
t[p[i]] = s[p[i]];
27+
}
2628
return t;
2729
};
2830
var union;

tests/baselines/reference/restUnion2.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ var __rest = (this && this.__rest) || function (s, e) {
1515
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1616
t[p] = s[p];
1717
if (s != null && typeof Object.getOwnPropertySymbols === "function")
18-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
19-
t[p[i]] = s[p[i]];
18+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20+
t[p[i]] = s[p[i]];
21+
}
2022
return t;
2123
};
2224
var rest2;

tests/baselines/reference/restUnion3.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ var __rest = (this && this.__rest) || function (s, e) {
1515
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1616
t[p] = s[p];
1717
if (s != null && typeof Object.getOwnPropertySymbols === "function")
18-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
19-
t[p[i]] = s[p[i]];
18+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20+
t[p[i]] = s[p[i]];
21+
}
2022
return t;
2123
};
2224
var rest4;

tests/baselines/reference/trailingCommasInBindingPatterns.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ var __rest = (this && this.__rest) || function (s, e) {
1919
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
2020
t[p] = s[p];
2121
if (s != null && typeof Object.getOwnPropertySymbols === "function")
22-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
23-
t[p[i]] = s[p[i]];
22+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
24+
t[p[i]] = s[p[i]];
25+
}
2426
return t;
2527
};
2628
var a = [].slice(0);

0 commit comments

Comments
 (0)