diff --git a/packages/babel-helper-create-class-features-plugin/src/fields.js b/packages/babel-helper-create-class-features-plugin/src/fields.js index d52213a92189..0dff4304cd9b 100644 --- a/packages/babel-helper-create-class-features-plugin/src/fields.js +++ b/packages/babel-helper-create-class-features-plugin/src/fields.js @@ -314,35 +314,15 @@ function buildPrivateStaticFieldInitSpec(prop, privateNamesMap) { initAdded: true, }); - if (getId && setId) { - return template.statement.ast` - var ${id.name} = { - // configurable is false by default - // enumerable is false by default - // writable is false by default - get: ${getId.name}, - set: ${setId.name} - } - `; - } else if (getId && !setId) { - return template.statement.ast` - var ${id.name} = { - // configurable is false by default - // enumerable is false by default - // writable is false by default - get: ${getId.name} - } - `; - } else if (!getId && setId) { - return template.statement.ast` - var ${id.name} = { - // configurable is false by default - // enumerable is false by default - // writable is false by default - set: ${setId.name} - } - `; - } + return template.statement.ast` + var ${id.name} = { + // configurable is false by default + // enumerable is false by default + // writable is false by default + get: ${getId ? getId.name : "null"}, + set: ${setId ? setId.name : "null"} + } + `; } const value = prop.node.value || prop.scope.buildUndefinedNode(); diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/get-only-setter/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/get-only-setter/output.js index 36075fd22e62..aff5135c8ed5 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/get-only-setter/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/get-only-setter/output.js @@ -14,5 +14,6 @@ var _PRIVATE_STATIC_FIELD = { value: 0 }; var _privateStaticFieldValue = { + get: null, set: _set_privateStaticFieldValue }; diff --git a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/set-only-getter/output.js b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/set-only-getter/output.js index 7160682ebe44..b58651007e0d 100644 --- a/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/set-only-getter/output.js +++ b/packages/babel-plugin-proposal-private-methods/test/fixtures/static-accessors/set-only-getter/output.js @@ -14,5 +14,6 @@ var _PRIVATE_STATIC_FIELD = { value: 0 }; var _privateStaticFieldValue = { - get: _get_privateStaticFieldValue + get: _get_privateStaticFieldValue, + set: null };