{"ScriptPreparationCode":"class Signal {\r\n constructor(state) {\r\n this.value = state;\r\n }\r\n\r\n get() {\r\n return this.value; \r\n }\r\n set(newValue) {\r\n if (newValue !== this.value) {\r\n this.value = newValue;\r\n }\r\n }\r\n}\r\n\r\nfunction createSignal(value) {\r\n const v = new Signal(value);\r\n return [v.get.bind(v), v.set.bind(v)];\r\n}\r\nvar [sigData, setData] = createSignal({\r\n value: \u0027data\u0027\r\n});\r\nvar mObject = {_value:\u0027data\u0027};\r\nObject.defineProperty(mObject, \u0027value\u0027, {\r\n set: function (nv) {\r\n this._value = nv;\r\n },\r\n get: function() {\r\n return this._value;\r\n }\r\n});\r\nvar object = {\r\n value: \u0027data\u0027\r\n};\r\nvar proxy = new Proxy(object, {})\r\nvar proxyWithHandler = new Proxy(object, {\r\n get(target, prop, receiver) {\r\n return Reflect.get(target, prop, receiver)\r\n }\r\n})","TestCases":[{"Name":"Proxy access","Code":"proxy.value","IsDeferred":false},{"Name":"Signal access","Code":"sigData().value","IsDeferred":false},{"Name":"object define properties","Code":"mObject.value","IsDeferred":false}]}