Copy getters and setters correctly in interopWildcard (#6850)
This commit is contained in:
parent
18b91a8388
commit
9d9710c765
@ -449,7 +449,16 @@ helpers.interopRequireWildcard = defineHelper(`
|
||||
var newObj = {};
|
||||
if (obj != null) {
|
||||
for (var key in obj) {
|
||||
if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
|
||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor
|
||||
? Object.getOwnPropertyDescriptor(obj, key)
|
||||
: {};
|
||||
if (desc.get || desc.set) {
|
||||
Object.defineProperty(newObj, key, desc);
|
||||
} else {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
newObj.default = obj;
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
import * as foo from "./moduleWithGetter";
|
||||
|
||||
export { foo };
|
||||
@ -0,0 +1,5 @@
|
||||
import * as foo from "./moduleWithGetter";
|
||||
|
||||
assert.throws(() => foo.boo);
|
||||
|
||||
// No exception should be thrown
|
||||
@ -0,0 +1,12 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.foo = void 0;
|
||||
|
||||
var foo = _interopRequireWildcard(require("./moduleWithGetter"));
|
||||
|
||||
exports.foo = foo;
|
||||
|
||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
||||
@ -0,0 +1,6 @@
|
||||
var Obj = {
|
||||
baz: 123,
|
||||
get boo() { throw new Error('Should never be triggered'); }
|
||||
}
|
||||
|
||||
module.exports = Obj;
|
||||
@ -0,0 +1,3 @@
|
||||
import Foo, { baz } from "./moduleWithGetter";
|
||||
|
||||
export { Foo, baz };
|
||||
@ -0,0 +1,3 @@
|
||||
import Foo, { baz } from "./moduleWithGetter";
|
||||
|
||||
// No exception should be thrown
|
||||
@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "Foo", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _moduleWithGetter.default;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "baz", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _moduleWithGetter.baz;
|
||||
}
|
||||
});
|
||||
|
||||
var _moduleWithGetter = _interopRequireWildcard(require("./moduleWithGetter"));
|
||||
|
||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
||||
@ -0,0 +1,6 @@
|
||||
var Obj = {
|
||||
baz: 123,
|
||||
get boo() { throw new Error('Should never be triggered'); }
|
||||
}
|
||||
|
||||
module.exports = Obj;
|
||||
@ -6,7 +6,7 @@ var Bar = _interopRequireWildcard(require("bar"));
|
||||
|
||||
var _baz = require("baz");
|
||||
|
||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user