const { ref, trigger, track } = VueReactivity;
let r1 = ref(0);
let r2 = (function(val) {
const r = { isRef: true };
Object.defineProperty(r, "value", {
get() { track(this, "GET", "value"); return val; },
set(v) { val = v; trigger(this, "value", v); },
});
return r;
})(0);
let r3 = (function (val) {
const ref = function (v) {
if (!arguments.length) {
track(ref, "GET", "value");
return val;
} else {
val = v;
trigger(ref, "value", v);
}
};
Object.defineProperty(ref, "value", {
get: ref,
set: ref,
reconfigurable: false
});
ref.isRef = true;
return ref;
})(0);
let r4 = new class {
constructor(v) {
this.val = v;
}
get value() {
track(this, "GET", "value");
return this.val;
}
set value(v) {
this.val = v;
trigger(this, "value", v);
}
get isRef() { return true; }
}(0);
let r5 = Object.create({
get value() {
track(this, "GET", "value");
return this.val;
},
set value(v) {
this.val = v;
trigger(this, "value", v);
},
get isRef() { return true; }
});
r5.val = 0;