Skip to content

Commit ce18254

Browse files
committed
optimize __createBinding
When the binding is itself one that was created by `__createBinding`, re-use its descriptor, which avoids piling multiple levels of getters in the case of multiple levels of exports. In addition, reuse a descriptor if the bindings is marked as non-writable and non-configurable, which makes a getter not necessary. (This can be done manually if needed, even though tsc doesn't do it now.) Also related to #46744 and to microsoft/tslib#165.
1 parent 42ea5ec commit ce18254

File tree

155 files changed

+1175
-235
lines changed

Some content is hidden

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

155 files changed

+1175
-235
lines changed

src/compiler/factory/emitHelpers.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -783,7 +783,11 @@ namespace ts {
783783
text: `
784784
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
785785
if (k2 === undefined) k2 = k;
786-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
786+
var desc = Object.getOwnPropertyDescriptor(m, k);
787+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
788+
desc = { enumerable: true, get: function() { return m[k]; } };
789+
}
790+
Object.defineProperty(o, k2, desc);
787791
}) : (function(o, m, k, k2) {
788792
if (k2 === undefined) k2 = k;
789793
o[k2] = m[k];

tests/baselines/reference/ambientShorthand_reExport.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ x($);
2020
"use strict";
2121
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2222
if (k2 === undefined) k2 = k;
23-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
23+
var desc = Object.getOwnPropertyDescriptor(m, k);
24+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
25+
desc = { enumerable: true, get: function() { return m[k]; } };
26+
}
27+
Object.defineProperty(o, k2, desc);
2428
}) : (function(o, m, k, k2) {
2529
if (k2 === undefined) k2 = k;
2630
o[k2] = m[k];
@@ -33,7 +37,11 @@ __createBinding(exports, jquery_1, "x");
3337
"use strict";
3438
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3539
if (k2 === undefined) k2 = k;
36-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
40+
var desc = Object.getOwnPropertyDescriptor(m, k);
41+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
42+
desc = { enumerable: true, get: function() { return m[k]; } };
43+
}
44+
Object.defineProperty(o, k2, desc);
3745
}) : (function(o, m, k, k2) {
3846
if (k2 === undefined) k2 = k;
3947
o[k2] = m[k];

tests/baselines/reference/constEnumPreserveEmitReexport.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ exports["default"] = ConstEnum_1.MyConstEnum;
3030
"use strict";
3131
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3232
if (k2 === undefined) k2 = k;
33-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
33+
var desc = Object.getOwnPropertyDescriptor(m, k);
34+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
35+
desc = { enumerable: true, get: function() { return m[k]; } };
36+
}
37+
Object.defineProperty(o, k2, desc);
3438
}) : (function(o, m, k, k2) {
3539
if (k2 === undefined) k2 = k;
3640
o[k2] = m[k];

tests/baselines/reference/declarationEmitAliasExportStar.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ exports.__esModule = true;
1616
"use strict";
1717
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1818
if (k2 === undefined) k2 = k;
19-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
19+
var desc = Object.getOwnPropertyDescriptor(m, k);
20+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21+
desc = { enumerable: true, get: function() { return m[k]; } };
22+
}
23+
Object.defineProperty(o, k2, desc);
2024
}) : (function(o, m, k, k2) {
2125
if (k2 === undefined) k2 = k;
2226
o[k2] = m[k];

tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,11 @@ exports.obj = {
5959
"use strict";
6060
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6161
if (k2 === undefined) k2 = k;
62-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
62+
var desc = Object.getOwnPropertyDescriptor(m, k);
63+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
64+
desc = { enumerable: true, get: function() { return m[k]; } };
65+
}
66+
Object.defineProperty(o, k2, desc);
6367
}) : (function(o, m, k, k2) {
6468
if (k2 === undefined) k2 = k;
6569
o[k2] = m[k];

tests/baselines/reference/declarationEmitReexportedSymlinkReference.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,11 @@ exports.ADMIN = pkg2_1.MetadataAccessor.create('1');
5353
"use strict";
5454
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5555
if (k2 === undefined) k2 = k;
56-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
56+
var desc = Object.getOwnPropertyDescriptor(m, k);
57+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
58+
desc = { enumerable: true, get: function() { return m[k]; } };
59+
}
60+
Object.defineProperty(o, k2, desc);
5761
}) : (function(o, m, k, k2) {
5862
if (k2 === undefined) k2 = k;
5963
o[k2] = m[k];

tests/baselines/reference/declarationEmitReexportedSymlinkReference2.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ exports.ADMIN = pkg2_1.MetadataAccessor.create('1');
5656
"use strict";
5757
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5858
if (k2 === undefined) k2 = k;
59-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
59+
var desc = Object.getOwnPropertyDescriptor(m, k);
60+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
61+
desc = { enumerable: true, get: function() { return m[k]; } };
62+
}
63+
Object.defineProperty(o, k2, desc);
6064
}) : (function(o, m, k, k2) {
6165
if (k2 === undefined) k2 = k;
6266
o[k2] = m[k];

tests/baselines/reference/declarationEmitReexportedSymlinkReference3.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,11 @@ exports.ADMIN = pkg2_1.MetadataAccessor.create('1');
5353
"use strict";
5454
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5555
if (k2 === undefined) k2 = k;
56-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
56+
var desc = Object.getOwnPropertyDescriptor(m, k);
57+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
58+
desc = { enumerable: true, get: function() { return m[k]; } };
59+
}
60+
Object.defineProperty(o, k2, desc);
5761
}) : (function(o, m, k, k2) {
5862
if (k2 === undefined) k2 = k;
5963
o[k2] = m[k];

tests/baselines/reference/doubleUnderscoreExportStarConflict.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ exports.__foo = __foo;
2727
"use strict";
2828
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2929
if (k2 === undefined) k2 = k;
30-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
30+
var desc = Object.getOwnPropertyDescriptor(m, k);
31+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32+
desc = { enumerable: true, get: function() { return m[k]; } };
33+
}
34+
Object.defineProperty(o, k2, desc);
3135
}) : (function(o, m, k, k2) {
3236
if (k2 === undefined) k2 = k;
3337
o[k2] = m[k];

tests/baselines/reference/es6ExportAllInEs5.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ exports.x = 10;
3434
"use strict";
3535
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3636
if (k2 === undefined) k2 = k;
37-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
37+
var desc = Object.getOwnPropertyDescriptor(m, k);
38+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
39+
desc = { enumerable: true, get: function() { return m[k]; } };
40+
}
41+
Object.defineProperty(o, k2, desc);
3842
}) : (function(o, m, k, k2) {
3943
if (k2 === undefined) k2 = k;
4044
o[k2] = m[k];

tests/baselines/reference/es6ExportEqualsInterop.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,11 @@ export * from "class-module";
211211
/// <reference path="modules.d.ts"/>
212212
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
213213
if (k2 === undefined) k2 = k;
214-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
214+
var desc = Object.getOwnPropertyDescriptor(m, k);
215+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
216+
desc = { enumerable: true, get: function() { return m[k]; } };
217+
}
218+
Object.defineProperty(o, k2, desc);
215219
}) : (function(o, m, k, k2) {
216220
if (k2 === undefined) k2 = k;
217221
o[k2] = m[k];

tests/baselines/reference/esModuleInterop.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ fs;
2222
"use strict";
2323
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2424
if (k2 === undefined) k2 = k;
25-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
25+
var desc = Object.getOwnPropertyDescriptor(m, k);
26+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27+
desc = { enumerable: true, get: function() { return m[k]; } };
28+
}
29+
Object.defineProperty(o, k2, desc);
2630
}) : (function(o, m, k, k2) {
2731
if (k2 === undefined) k2 = k;
2832
o[k2] = m[k];

tests/baselines/reference/esModuleInteropImportCall.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@ import("./foo").then(f => {
1313
//// [index.js]
1414
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1515
if (k2 === undefined) k2 = k;
16-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16+
var desc = Object.getOwnPropertyDescriptor(m, k);
17+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18+
desc = { enumerable: true, get: function() { return m[k]; } };
19+
}
20+
Object.defineProperty(o, k2, desc);
1721
}) : (function(o, m, k, k2) {
1822
if (k2 === undefined) k2 = k;
1923
o[k2] = m[k];

tests/baselines/reference/esModuleInteropImportNamespace.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ foo.default;
1414
"use strict";
1515
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1616
if (k2 === undefined) k2 = k;
17-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
17+
var desc = Object.getOwnPropertyDescriptor(m, k);
18+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19+
desc = { enumerable: true, get: function() { return m[k]; } };
20+
}
21+
Object.defineProperty(o, k2, desc);
1822
}) : (function(o, m, k, k2) {
1923
if (k2 === undefined) k2 = k;
2024
o[k2] = m[k];

tests/baselines/reference/esModuleInteropNamedDefaultImports.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ exports.Bar = Bar;
3232
"use strict";
3333
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3434
if (k2 === undefined) k2 = k;
35-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
35+
var desc = Object.getOwnPropertyDescriptor(m, k);
36+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
37+
desc = { enumerable: true, get: function() { return m[k]; } };
38+
}
39+
Object.defineProperty(o, k2, desc);
3640
}) : (function(o, m, k, k2) {
3741
if (k2 === undefined) k2 = k;
3842
o[k2] = m[k];

tests/baselines/reference/esModuleInteropPrettyErrorRelatedInformation.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ invoke(foo);
1414
"use strict";
1515
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1616
if (k2 === undefined) k2 = k;
17-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
17+
var desc = Object.getOwnPropertyDescriptor(m, k);
18+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19+
desc = { enumerable: true, get: function() { return m[k]; } };
20+
}
21+
Object.defineProperty(o, k2, desc);
1822
}) : (function(o, m, k, k2) {
1923
if (k2 === undefined) k2 = k;
2024
o[k2] = m[k];

tests/baselines/reference/esModuleInteropUsesExportStarWhenDefaultPlusNames.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ void var2;
77
"use strict";
88
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
99
if (k2 === undefined) k2 = k;
10-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
10+
var desc = Object.getOwnPropertyDescriptor(m, k);
11+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12+
desc = { enumerable: true, get: function() { return m[k]; } };
13+
}
14+
Object.defineProperty(o, k2, desc);
1115
}) : (function(o, m, k, k2) {
1216
if (k2 === undefined) k2 = k;
1317
o[k2] = m[k];

tests/baselines/reference/esModuleInteropWithExportStar(target=es3).js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ export {x as y} from "./fs";
1616
"use strict";
1717
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1818
if (k2 === undefined) k2 = k;
19-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
19+
var desc = Object.getOwnPropertyDescriptor(m, k);
20+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21+
desc = { enumerable: true, get: function() { return m[k]; } };
22+
}
23+
Object.defineProperty(o, k2, desc);
2024
}) : (function(o, m, k, k2) {
2125
if (k2 === undefined) k2 = k;
2226
o[k2] = m[k];

tests/baselines/reference/esModuleInteropWithExportStar(target=es5).js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ export {x as y} from "./fs";
1616
"use strict";
1717
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1818
if (k2 === undefined) k2 = k;
19-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
19+
var desc = Object.getOwnPropertyDescriptor(m, k);
20+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21+
desc = { enumerable: true, get: function() { return m[k]; } };
22+
}
23+
Object.defineProperty(o, k2, desc);
2024
}) : (function(o, m, k, k2) {
2125
if (k2 === undefined) k2 = k;
2226
o[k2] = m[k];

tests/baselines/reference/esModuleIntersectionCrash.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ mod.b;
1616
"use strict";
1717
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1818
if (k2 === undefined) k2 = k;
19-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
19+
var desc = Object.getOwnPropertyDescriptor(m, k);
20+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21+
desc = { enumerable: true, get: function() { return m[k]; } };
22+
}
23+
Object.defineProperty(o, k2, desc);
2024
}) : (function(o, m, k, k2) {
2125
if (k2 === undefined) k2 = k;
2226
o[k2] = m[k];

tests/baselines/reference/exportAsNamespace2(module=amd).js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ define(["require", "exports"], function (require, exports) {
2626
//// [1.js]
2727
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2828
if (k2 === undefined) k2 = k;
29-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
29+
var desc = Object.getOwnPropertyDescriptor(m, k);
30+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
31+
desc = { enumerable: true, get: function() { return m[k]; } };
32+
}
33+
Object.defineProperty(o, k2, desc);
3034
}) : (function(o, m, k, k2) {
3135
if (k2 === undefined) k2 = k;
3236
o[k2] = m[k];
@@ -54,7 +58,11 @@ define(["require", "exports", "./0"], function (require, exports, ns) {
5458
//// [2.js]
5559
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5660
if (k2 === undefined) k2 = k;
57-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
61+
var desc = Object.getOwnPropertyDescriptor(m, k);
62+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
63+
desc = { enumerable: true, get: function() { return m[k]; } };
64+
}
65+
Object.defineProperty(o, k2, desc);
5866
}) : (function(o, m, k, k2) {
5967
if (k2 === undefined) k2 = k;
6068
o[k2] = m[k];

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@ exports.b = 2;
2525
"use strict";
2626
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2727
if (k2 === undefined) k2 = k;
28-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
28+
var desc = Object.getOwnPropertyDescriptor(m, k);
29+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
30+
desc = { enumerable: true, get: function() { return m[k]; } };
31+
}
32+
Object.defineProperty(o, k2, desc);
2933
}) : (function(o, m, k, k2) {
3034
if (k2 === undefined) k2 = k;
3135
o[k2] = m[k];
@@ -51,7 +55,11 @@ ns.b;
5155
"use strict";
5256
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5357
if (k2 === undefined) k2 = k;
54-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
58+
var desc = Object.getOwnPropertyDescriptor(m, k);
59+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
60+
desc = { enumerable: true, get: function() { return m[k]; } };
61+
}
62+
Object.defineProperty(o, k2, desc);
5563
}) : (function(o, m, k, k2) {
5664
if (k2 === undefined) k2 = k;
5765
o[k2] = m[k];

tests/baselines/reference/exportAsNamespace2(module=umd).js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ foo.ns.b;
3434
//// [1.js]
3535
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3636
if (k2 === undefined) k2 = k;
37-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
37+
var desc = Object.getOwnPropertyDescriptor(m, k);
38+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
39+
desc = { enumerable: true, get: function() { return m[k]; } };
40+
}
41+
Object.defineProperty(o, k2, desc);
3842
}) : (function(o, m, k, k2) {
3943
if (k2 === undefined) k2 = k;
4044
o[k2] = m[k];
@@ -70,7 +74,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
7074
//// [2.js]
7175
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7276
if (k2 === undefined) k2 = k;
73-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
77+
var desc = Object.getOwnPropertyDescriptor(m, k);
78+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
79+
desc = { enumerable: true, get: function() { return m[k]; } };
80+
}
81+
Object.defineProperty(o, k2, desc);
7482
}) : (function(o, m, k, k2) {
7583
if (k2 === undefined) k2 = k;
7684
o[k2] = m[k];

tests/baselines/reference/exportAsNamespace3(module=amd).js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ define(["require", "exports"], function (require, exports) {
2929
//// [1.js]
3030
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3131
if (k2 === undefined) k2 = k;
32-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
32+
var desc = Object.getOwnPropertyDescriptor(m, k);
33+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
34+
desc = { enumerable: true, get: function() { return m[k]; } };
35+
}
36+
Object.defineProperty(o, k2, desc);
3337
}) : (function(o, m, k, k2) {
3438
if (k2 === undefined) k2 = k;
3539
o[k2] = m[k];
@@ -60,7 +64,11 @@ define(["require", "exports", "./0"], function (require, exports, ns) {
6064
//// [2.js]
6165
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6266
if (k2 === undefined) k2 = k;
63-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
67+
var desc = Object.getOwnPropertyDescriptor(m, k);
68+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
69+
desc = { enumerable: true, get: function() { return m[k]; } };
70+
}
71+
Object.defineProperty(o, k2, desc);
6472
}) : (function(o, m, k, k2) {
6573
if (k2 === undefined) k2 = k;
6674
o[k2] = m[k];

0 commit comments

Comments
 (0)