Skip to content

Commit 2e4f2c7

Browse files
authored
Include non-enumerable keys in __importStar helper (#60262)
1 parent 54732f6 commit 2e4f2c7

File tree

79 files changed

+1584
-654
lines changed

Some content is hidden

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

79 files changed

+1584
-654
lines changed

src/compiler/factory/emitHelpers.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,13 +1188,23 @@ const importStarHelper: UnscopedEmitHelper = {
11881188
dependencies: [createBindingHelper, setModuleDefaultHelper],
11891189
priority: 2,
11901190
text: `
1191-
var __importStar = (this && this.__importStar) || function (mod) {
1192-
if (mod && mod.__esModule) return mod;
1193-
var result = {};
1194-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
1195-
__setModuleDefault(result, mod);
1196-
return result;
1197-
};`,
1191+
var __importStar = (this && this.__importStar) || (function () {
1192+
var ownKeys = function(o) {
1193+
ownKeys = Object.getOwnPropertyNames || function (o) {
1194+
var ar = [];
1195+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
1196+
return ar;
1197+
};
1198+
return ownKeys(o);
1199+
};
1200+
return function (mod) {
1201+
if (mod && mod.__esModule) return mod;
1202+
var result = {};
1203+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
1204+
__setModuleDefault(result, mod);
1205+
return result;
1206+
};
1207+
})();`,
11981208
};
11991209

12001210
// emit helper for `import Name from "foo"`

tests/baselines/reference/arbitraryModuleNamespaceIdentifiers_module(module=node16).js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
5050
}) : function(o, v) {
5151
o["default"] = v;
5252
});
53-
var __importStar = (this && this.__importStar) || function (mod) {
54-
if (mod && mod.__esModule) return mod;
55-
var result = {};
56-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
57-
__setModuleDefault(result, mod);
58-
return result;
59-
};
53+
var __importStar = (this && this.__importStar) || (function () {
54+
var ownKeys = function(o) {
55+
ownKeys = Object.getOwnPropertyNames || function (o) {
56+
var ar = [];
57+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
58+
return ar;
59+
};
60+
return ownKeys(o);
61+
};
62+
return function (mod) {
63+
if (mod && mod.__esModule) return mod;
64+
var result = {};
65+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
66+
__setModuleDefault(result, mod);
67+
return result;
68+
};
69+
})();
6070
Object.defineProperty(exports, "__esModule", { value: true });
6171
exports["<Z>"] = exports["<Y>"] = exports["<X>"] = void 0;
6272
const someValue = "someValue";

tests/baselines/reference/arbitraryModuleNamespaceIdentifiers_module(module=nodenext).js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
5050
}) : function(o, v) {
5151
o["default"] = v;
5252
});
53-
var __importStar = (this && this.__importStar) || function (mod) {
54-
if (mod && mod.__esModule) return mod;
55-
var result = {};
56-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
57-
__setModuleDefault(result, mod);
58-
return result;
59-
};
53+
var __importStar = (this && this.__importStar) || (function () {
54+
var ownKeys = function(o) {
55+
ownKeys = Object.getOwnPropertyNames || function (o) {
56+
var ar = [];
57+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
58+
return ar;
59+
};
60+
return ownKeys(o);
61+
};
62+
return function (mod) {
63+
if (mod && mod.__esModule) return mod;
64+
var result = {};
65+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
66+
__setModuleDefault(result, mod);
67+
return result;
68+
};
69+
})();
6070
Object.defineProperty(exports, "__esModule", { value: true });
6171
exports["<Z>"] = exports["<Y>"] = exports["<X>"] = void 0;
6272
const someValue = "someValue";

tests/baselines/reference/elidedJSImport2(module=commonjs).js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
4646
}) : function(o, v) {
4747
o["default"] = v;
4848
});
49-
var __importStar = (this && this.__importStar) || function (mod) {
50-
if (mod && mod.__esModule) return mod;
51-
var result = {};
52-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
53-
__setModuleDefault(result, mod);
54-
return result;
55-
};
49+
var __importStar = (this && this.__importStar) || (function () {
50+
var ownKeys = function(o) {
51+
ownKeys = Object.getOwnPropertyNames || function (o) {
52+
var ar = [];
53+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
54+
return ar;
55+
};
56+
return ownKeys(o);
57+
};
58+
return function (mod) {
59+
if (mod && mod.__esModule) return mod;
60+
var result = {};
61+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
62+
__setModuleDefault(result, mod);
63+
return result;
64+
};
65+
})();
5666
var __importDefault = (this && this.__importDefault) || function (mod) {
5767
return (mod && mod.__esModule) ? mod : { "default": mod };
5868
};

tests/baselines/reference/esModuleInterop.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
3636
}) : function(o, v) {
3737
o["default"] = v;
3838
});
39-
var __importStar = (this && this.__importStar) || function (mod) {
40-
if (mod && mod.__esModule) return mod;
41-
var result = {};
42-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
43-
__setModuleDefault(result, mod);
44-
return result;
45-
};
39+
var __importStar = (this && this.__importStar) || (function () {
40+
var ownKeys = function(o) {
41+
ownKeys = Object.getOwnPropertyNames || function (o) {
42+
var ar = [];
43+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
44+
return ar;
45+
};
46+
return ownKeys(o);
47+
};
48+
return function (mod) {
49+
if (mod && mod.__esModule) return mod;
50+
var result = {};
51+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
52+
__setModuleDefault(result, mod);
53+
return result;
54+
};
55+
})();
4656
var __importDefault = (this && this.__importDefault) || function (mod) {
4757
return (mod && mod.__esModule) ? mod : { "default": mod };
4858
};

tests/baselines/reference/esModuleInteropDefaultImports.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
6262
}) : function(o, v) {
6363
o["default"] = v;
6464
});
65-
var __importStar = (this && this.__importStar) || function (mod) {
66-
if (mod && mod.__esModule) return mod;
67-
var result = {};
68-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
69-
__setModuleDefault(result, mod);
70-
return result;
71-
};
65+
var __importStar = (this && this.__importStar) || (function () {
66+
var ownKeys = function(o) {
67+
ownKeys = Object.getOwnPropertyNames || function (o) {
68+
var ar = [];
69+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
70+
return ar;
71+
};
72+
return ownKeys(o);
73+
};
74+
return function (mod) {
75+
if (mod && mod.__esModule) return mod;
76+
var result = {};
77+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
78+
__setModuleDefault(result, mod);
79+
return result;
80+
};
81+
})();
7282
var __importDefault = (this && this.__importDefault) || function (mod) {
7383
return (mod && mod.__esModule) ? mod : { "default": mod };
7484
};

tests/baselines/reference/esModuleInteropImportCall.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
2727
}) : function(o, v) {
2828
o["default"] = v;
2929
});
30-
var __importStar = (this && this.__importStar) || function (mod) {
31-
if (mod && mod.__esModule) return mod;
32-
var result = {};
33-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
34-
__setModuleDefault(result, mod);
35-
return result;
36-
};
30+
var __importStar = (this && this.__importStar) || (function () {
31+
var ownKeys = function(o) {
32+
ownKeys = Object.getOwnPropertyNames || function (o) {
33+
var ar = [];
34+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35+
return ar;
36+
};
37+
return ownKeys(o);
38+
};
39+
return function (mod) {
40+
if (mod && mod.__esModule) return mod;
41+
var result = {};
42+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43+
__setModuleDefault(result, mod);
44+
return result;
45+
};
46+
})();
3747
Promise.resolve().then(function () { return __importStar(require("./foo")); }).then(function (f) {
3848
f.default;
3949
});

tests/baselines/reference/esModuleInteropImportNamespace.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
2828
}) : function(o, v) {
2929
o["default"] = v;
3030
});
31-
var __importStar = (this && this.__importStar) || function (mod) {
32-
if (mod && mod.__esModule) return mod;
33-
var result = {};
34-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
35-
__setModuleDefault(result, mod);
36-
return result;
37-
};
31+
var __importStar = (this && this.__importStar) || (function () {
32+
var ownKeys = function(o) {
33+
ownKeys = Object.getOwnPropertyNames || function (o) {
34+
var ar = [];
35+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36+
return ar;
37+
};
38+
return ownKeys(o);
39+
};
40+
return function (mod) {
41+
if (mod && mod.__esModule) return mod;
42+
var result = {};
43+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44+
__setModuleDefault(result, mod);
45+
return result;
46+
};
47+
})();
3848
Object.defineProperty(exports, "__esModule", { value: true });
3949
var foo = __importStar(require("./foo"));
4050
foo.default;

tests/baselines/reference/esModuleInteropNamedDefaultImports.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
4646
}) : function(o, v) {
4747
o["default"] = v;
4848
});
49-
var __importStar = (this && this.__importStar) || function (mod) {
50-
if (mod && mod.__esModule) return mod;
51-
var result = {};
52-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
53-
__setModuleDefault(result, mod);
54-
return result;
55-
};
49+
var __importStar = (this && this.__importStar) || (function () {
50+
var ownKeys = function(o) {
51+
ownKeys = Object.getOwnPropertyNames || function (o) {
52+
var ar = [];
53+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
54+
return ar;
55+
};
56+
return ownKeys(o);
57+
};
58+
return function (mod) {
59+
if (mod && mod.__esModule) return mod;
60+
var result = {};
61+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
62+
__setModuleDefault(result, mod);
63+
return result;
64+
};
65+
})();
5666
var __importDefault = (this && this.__importDefault) || function (mod) {
5767
return (mod && mod.__esModule) ? mod : { "default": mod };
5868
};

tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
2828
}) : function(o, v) {
2929
o["default"] = v;
3030
});
31-
var __importStar = (this && this.__importStar) || function (mod) {
32-
if (mod && mod.__esModule) return mod;
33-
var result = {};
34-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
35-
__setModuleDefault(result, mod);
36-
return result;
37-
};
31+
var __importStar = (this && this.__importStar) || (function () {
32+
var ownKeys = function(o) {
33+
ownKeys = Object.getOwnPropertyNames || function (o) {
34+
var ar = [];
35+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36+
return ar;
37+
};
38+
return ownKeys(o);
39+
};
40+
return function (mod) {
41+
if (mod && mod.__esModule) return mod;
42+
var result = {};
43+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44+
__setModuleDefault(result, mod);
45+
return result;
46+
};
47+
})();
3848
Object.defineProperty(exports, "__esModule", { value: true });
3949
var foo = __importStar(require("./foo"));
4050
function invoke(f) { f(); }

tests/baselines/reference/esModuleInteropUsesExportStarWhenDefaultPlusNames.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
2323
}) : function(o, v) {
2424
o["default"] = v;
2525
});
26-
var __importStar = (this && this.__importStar) || function (mod) {
27-
if (mod && mod.__esModule) return mod;
28-
var result = {};
29-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
30-
__setModuleDefault(result, mod);
31-
return result;
32-
};
26+
var __importStar = (this && this.__importStar) || (function () {
27+
var ownKeys = function(o) {
28+
ownKeys = Object.getOwnPropertyNames || function (o) {
29+
var ar = [];
30+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31+
return ar;
32+
};
33+
return ownKeys(o);
34+
};
35+
return function (mod) {
36+
if (mod && mod.__esModule) return mod;
37+
var result = {};
38+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39+
__setModuleDefault(result, mod);
40+
return result;
41+
};
42+
})();
3343
Object.defineProperty(exports, "__esModule", { value: true });
3444
var dep_1 = __importStar(require("./dep"));
3545
void dep_1.default;

tests/baselines/reference/esModuleInteropWithExportStar.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
3030
}) : function(o, v) {
3131
o["default"] = v;
3232
});
33-
var __importStar = (this && this.__importStar) || function (mod) {
34-
if (mod && mod.__esModule) return mod;
35-
var result = {};
36-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37-
__setModuleDefault(result, mod);
38-
return result;
39-
};
33+
var __importStar = (this && this.__importStar) || (function () {
34+
var ownKeys = function(o) {
35+
ownKeys = Object.getOwnPropertyNames || function (o) {
36+
var ar = [];
37+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
38+
return ar;
39+
};
40+
return ownKeys(o);
41+
};
42+
return function (mod) {
43+
if (mod && mod.__esModule) return mod;
44+
var result = {};
45+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46+
__setModuleDefault(result, mod);
47+
return result;
48+
};
49+
})();
4050
var __exportStar = (this && this.__exportStar) || function(m, exports) {
4151
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4252
};

0 commit comments

Comments
 (0)