{"ScriptPreparationCode":"const queryResults = {\r\n a: {},\r\n b: [2, 3, 4],\r\n c: 3,\r\n d: {\r\n a: 1,\r\n b: [],\r\n },\r\n};\r\n\r\nwindow.queryResults = queryResults;\r\n\r\nwindow.trackedResultsProxy = new Proxy(queryResults, {\r\n get(target, prop, receiver) {\r\n return Reflect.get(target, prop, receiver);\r\n }\r\n});\r\n\r\nwindow.trackedResultsDefineProperty = {};\r\nfor (const key of Object.keys(queryResults)) {\r\n Object.defineProperty(trackedResultsDefineProperty, key, {\r\n configurable: false,\r\n enumerable: true,\r\n get() {\r\n return queryResults[key];\r\n },\r\n });\r\n}\r\n\r\nwindow.trackedResultsGetter = {\r\n get d() {\r\n return queryResults.d;\r\n }\r\n}","TestCases":[{"Name":"Proxy","Code":"window.trackedResultsProxy.d.a \u002B 5","IsDeferred":false},{"Name":"defineProperty","Code":"window.trackedResultsDefineProperty.d.a \u002B 5","IsDeferred":false},{"Name":"getter","Code":"window.trackedResultsGetter.d.a \u002B 5","IsDeferred":false},{"Name":"Control (plain object access)","Code":"window.queryResults.d.a \u002B 5","IsDeferred":false}]}