mirror of
https://github.com/swc-project/swc.git
synced 2024-12-28 08:04:43 +03:00
24 lines
753 B
JavaScript
24 lines
753 B
JavaScript
export function _class_apply_descriptor_destructure(receiver, descriptor) {
|
|
if (descriptor.set) {
|
|
if (!("__destrObj" in descriptor)) {
|
|
descriptor.__destrObj = {
|
|
set value(v) {
|
|
descriptor.set.call(receiver, v);
|
|
}
|
|
};
|
|
}
|
|
|
|
return descriptor.__destrObj;
|
|
} 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_destructure as _ };
|