From c8c6ff7c4c62a5e90d00aa90c0b841a1d4a835cb Mon Sep 17 00:00:00 2001
From: Miel Truyen
+ + WARNING This is a fork of babel to test a fix for initializer-variables with class-properties (proposals-stuff) + +
+The compiler for writing next generation JavaScript.
+
diff --git a/packages/babel-helpers/src/helpers.js b/packages/babel-helpers/src/helpers.js
index d235cf3285..b03a1553f4 100644
--- a/packages/babel-helpers/src/helpers.js
+++ b/packages/babel-helpers/src/helpers.js
@@ -1053,16 +1053,20 @@ helpers.initializerWarningHelper = helper("7.0.0-beta.0")`
* Add a helper to call as a replacement for class property definition.
*/
helpers.initializerDefineProperty = helper("7.0.0-beta.0")`
- export default function _initializerDefineProperty(target, property, descriptor, context){
- if (!descriptor) return;
-
- Object.defineProperty(target, property, {
- enumerable: descriptor.enumerable,
- configurable: descriptor.configurable,
- writable: descriptor.writable,
- value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,
- });
- }
+ export default function _initializerDefineProperty(target, property, descriptor, context) {
+ if (!descriptor) return;
+
+ if(descriptor.initializer){
+ if(descriptor.set){
+ descriptor.set.call(context, descriptor.initializer.call(context));
+ }else{
+ descriptor.value = descriptor.initializer.call(context);
+ }
+ delete descriptor.initializer;
+ }
+
+ Object.defineProperty(target, property, descriptor);
+ }
`;
/**