Improved InitializeDefinerProperty (babel-helper) to correctly handle properties with get/setters. (This is revision 2 of a fix...)

This commit is contained in:
Miel Truyen 2020-01-21 16:57:39 +01:00
parent a8e859bb05
commit 05dfb60683

View File

@ -1056,6 +1056,20 @@ helpers.initializerDefineProperty = helper("7.0.0-beta.0")`
export default function _initializerDefineProperty(target, property, descriptor, context){
if (!descriptor) return;
if(descriptor.set){
Object.defineProperty(target, property, {
get: descriptor.get,
set: descriptor.set,
configurable: descriptor.configurable,
enumerable: descriptor.enumerable
});
if(descriptor.initializer){
descriptor.set.call(target, descriptor.initializer.call(context));
}else if(descriptor.value!==undefined){
descriptor.set.call(target, descriptor.value);
}
}else{
Object.defineProperty(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
@ -1063,6 +1077,7 @@ helpers.initializerDefineProperty = helper("7.0.0-beta.0")`
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,
});
}
}
`;
/**