Improved InitializeDefinerProperty (babel-helper) to correctly handle properties with get/setters. (This is revision 2 of a fix...)
This commit is contained in:
parent
a8e859bb05
commit
05dfb60683
@ -1056,6 +1056,20 @@ helpers.initializerDefineProperty = helper("7.0.0-beta.0")`
|
|||||||
export default function _initializerDefineProperty(target, property, descriptor, context){
|
export default function _initializerDefineProperty(target, property, descriptor, context){
|
||||||
if (!descriptor) return;
|
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, {
|
Object.defineProperty(target, property, {
|
||||||
enumerable: descriptor.enumerable,
|
enumerable: descriptor.enumerable,
|
||||||
configurable: descriptor.configurable,
|
configurable: descriptor.configurable,
|
||||||
@ -1063,6 +1077,7 @@ helpers.initializerDefineProperty = helper("7.0.0-beta.0")`
|
|||||||
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,
|
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user