{"ScriptPreparationCode":"let shouldTrack = false;\r\n\r\nfunction preactive(obj) {\r\n obj.v = reactive(obj)\r\n return obj;\r\n}\r\n\r\nfunction reactive(obj) {\r\n return new Proxy(obj, {\r\n get(target, key) {\r\n if (shouldTrack) {\r\n console.log(\u0022tracking\u0022)\r\n };\r\n return target[key]\r\n }\r\n })\r\n}\r\n\r\nfunction getPreactive() {\r\n return preactive({\r\n a: \u0022a\u0022,\r\n b: \u0022h\u0022,\r\n c: \u0022i\u0022,\r\n d: \u0022j\u0022,\r\n e: \u0022k\u0022,\r\n f: \u0022l\u0022,\r\n g: \u0022m\u0022,\r\n });\r\n}\r\n\r\nfunction getReactive() {\r\n return reactive({\r\n a: \u0022a\u0022,\r\n b: \u0022h\u0022,\r\n c: \u0022i\u0022,\r\n d: \u0022j\u0022,\r\n e: \u0022k\u0022,\r\n f: \u0022l\u0022,\r\n g: \u0022m\u0022,\r\n });\r\n}\r\n\r\n\r\nfunction preactiveNoTrack() {\r\n const foo = getPreactive();\r\n const vFo_ = getReactive();\r\n foo.a;\r\n foo.b;\r\n foo.c;\r\n foo.d;\r\n foo.e;\r\n foo.f;\r\n foo.g;\r\n}\r\n\r\nfunction preactiveTrack() {\r\n const foo = getPreactive();\r\n const vFo_ = getReactive();\r\n foo.v.a;\r\n foo.v.b;\r\n foo.v.c;\r\n foo.v.d;\r\n foo.v.e;\r\n foo.v.f;\r\n foo.v.g;\r\n}\r\n\r\n\r\nfunction reactiveTrack() {\r\n const foo = getPreactive();\r\n const vFoo = getReactive();\r\n vFoo.a;\r\n vFoo.b;\r\n vFoo.c;\r\n vFoo.d;\r\n vFoo.e;\r\n vFoo.f;\r\n vFoo.g;\r\n}","TestCases":[{"Name":"preactive - no track","Code":"preactiveNoTrack();","IsDeferred":false},{"Name":"reactive - track \u0026 no track","Code":"reactiveTrack();","IsDeferred":false},{"Name":"Preactive - track","Code":"preactiveTrack();","IsDeferred":false},{"Name":"init reactive","Code":"getReactive();","IsDeferred":false},{"Name":"init preactive","Code":"getPreactive();","IsDeferred":false}]}