mirror of
https://github.com/swc-project/swc.git
synced 2024-12-18 11:11:30 +03:00
a13a78e3fe
**BREAKING CHANGE:** Breaking changes for `@swc/helpers`. A new major version `0.5.0` is required. **Related issue:** - Closes https://github.com/swc-project/swc/issues/7157
29 lines
957 B
JavaScript
29 lines
957 B
JavaScript
export function _class_apply_descriptor_update(receiver, descriptor) {
|
|
if (descriptor.set) {
|
|
if (!descriptor.get) throw new TypeError("attempted to read set only private field");
|
|
|
|
if (!("__destrWrapper" in descriptor)) {
|
|
descriptor.__destrWrapper = {
|
|
set value(v) {
|
|
descriptor.set.call(receiver, v);
|
|
},
|
|
get value() {
|
|
return descriptor.get.call(receiver);
|
|
}
|
|
};
|
|
}
|
|
|
|
return descriptor.__destrWrapper;
|
|
} else {
|
|
if (!descriptor.writable) {
|
|
// This should only throw in strict mode, but class bodies are
|
|
// always strict and private fields can only be used inside
|
|
// class bodies.
|
|
throw new TypeError("attempted to set read only private field");
|
|
}
|
|
|
|
return descriptor;
|
|
}
|
|
}
|
|
export { _class_apply_descriptor_update as _ };
|