{"ScriptPreparationCode":null,"TestCases":[{"Name":"Get/Set","Code":"const obj = {\r\n __value: 0,\r\n get value() {\r\n return this.__value;\r\n },\r\n set value(v) {\r\n this.__value = v;\r\n }\r\n};\r\n\r\nfunction increase() {\r\n obj.value = obj.value \u002B 1;\r\n}\r\n\r\nwhile (obj.value \u003C 1000) {\r\n increase();\r\n}","IsDeferred":false},{"Name":"Function","Code":"const obj = {\r\n __value: 0,\r\n getValue() {\r\n return this.__value;\r\n },\r\n setValue(v) {\r\n this.__value = v;\r\n }\r\n};\r\n\r\nfunction increase() {\r\n obj.setValue(obj.getValue() \u002B 1);\r\n}\r\n\r\nwhile (obj.getValue() \u003C 1000) {\r\n increase();\r\n}","IsDeferred":false},{"Name":"Proxy","Code":"const obj = new Proxy(\r\n { value: 0 },\r\n {\r\n get(obj, key) { return obj[key] },\r\n set(obj, key, value) { obj[key] = value },\r\n }\r\n);\r\n\r\nfunction increase() {\r\n obj.value = obj.value \u002B 1;\r\n}\r\n\r\nwhile (obj.value \u003C 1000) {\r\n increase();\r\n}","IsDeferred":false}]}