{"ScriptPreparationCode":"const readonly = (prop) =\u003E typeof prop === \u0027function\u0027\r\n ? { configurable: false, enumerable: true, get: prop }\r\n : { configurable: false, enumerable: true, value: prop, writable: false };\r\nconst readonlyExpand = (props) =\u003E Object.entries(props).reduce((prev, [k, v]) =\u003E {\r\n prev[k] = readonly(v);\r\n return prev;\r\n}, {});\r\n\r\nfunction test1() {\r\n return {\r\n a: \u0027a\u0027,\r\n b: \u0027b\u0027,\r\n c: \u0027c\u0027,\r\n d: \u0027d\u0027,\r\n e: \u0027e\u0027,\r\n f: \u0027f\u0027\r\n };\r\n}\r\n\r\nclass Test2Class {\r\n constructor() {\r\n this.a = \u0027a\u0027;\r\n this.b = \u0027b\u0027;\r\n this.c = \u0027c\u0027;\r\n this.d = \u0027d\u0027;\r\n this.e = \u0027e\u0027;\r\n this.f = \u0027f\u0027;\r\n }\r\n}\r\n\r\nfunction test2() {\r\n return new Test2Class();\r\n}\r\n\r\nfunction test3() {\r\n return Object.defineProperties({\r\n a: \u0027a\u0027,\r\n b: \u0027b\u0027,\r\n c: \u0027c\u0027,\r\n d: \u0027d\u0027,\r\n e: \u0027e\u0027,\r\n f: \u0027f\u0027\r\n }, {});\r\n}\r\n\r\nfunction test4() {\r\n return Object.defineProperties({}, readonlyExpand({\r\n a: \u0027a\u0027,\r\n b: \u0027b\u0027,\r\n c: \u0027c\u0027,\r\n d: \u0027d\u0027,\r\n e: \u0027e\u0027,\r\n f: \u0027f\u0027\r\n }));\r\n}\r\n\r\nfunction test5() {\r\n return Object.assign({}, {\r\n a: \u0027a\u0027,\r\n b: \u0027b\u0027,\r\n c: \u0027c\u0027,\r\n d: \u0027d\u0027,\r\n e: \u0027e\u0027,\r\n f: \u0027f\u0027\r\n });\r\n}\r\n\r\nfunction test6() {\r\n return Object.assign({\r\n a: \u0027a\u0027,\r\n b: \u0027b\u0027,\r\n c: \u0027c\u0027,\r\n d: \u0027d\u0027,\r\n e: \u0027e\u0027,\r\n f: \u0027f\u0027\r\n });\r\n}\r\n\r\nfunction test7() {\r\n return Object.defineProperties({}, {\r\n a: readonly(\u0027a\u0027),\r\n b: readonly(\u0027b\u0027),\r\n c: readonly(\u0027c\u0027),\r\n d: readonly(\u0027d\u0027),\r\n e: readonly(\u0027e\u0027),\r\n f: readonly(\u0027f\u0027)\r\n });\r\n}\r\n\r\nclass Test8 {\r\n constructor() {\r\n }\r\n\r\n get a() {\r\n return \u0027a\u0027;\r\n }\r\n\r\n get b() {\r\n return \u0027b\u0027;\r\n }\r\n\r\n get c() {\r\n return \u0027c\u0027;\r\n }\r\n\r\n get d() {\r\n return \u0027d\u0027;\r\n }\r\n\r\n get e() {\r\n return \u0027e\u0027;\r\n }\r\n\r\n get f() {\r\n return \u0027f\u0027;\r\n }\r\n}\r\n\r\nfunction test8() {\r\n return new Test8();\r\n}\r\n\r\nfunction test9() {\r\n return {\r\n get a() {\r\n return \u0027a\u0027;\r\n },\r\n\r\n get b() {\r\n return \u0027b\u0027;\r\n },\r\n\r\n get c() {\r\n return \u0027c\u0027;\r\n },\r\n\r\n get d() {\r\n return \u0027d\u0027;\r\n },\r\n\r\n get e() {\r\n return \u0027e\u0027;\r\n },\r\n\r\n get f() {\r\n return \u0027f\u0027;\r\n },\r\n };\r\n}\r\n","TestCases":[{"Name":"test1","Code":"test1();","IsDeferred":false},{"Name":"test2","Code":"test2();","IsDeferred":false},{"Name":"test3","Code":"test3();","IsDeferred":false},{"Name":"test4","Code":"test4();","IsDeferred":false},{"Name":"test5","Code":"test5();","IsDeferred":false},{"Name":"test6","Code":"test6();","IsDeferred":false},{"Name":"test7","Code":"test7()","IsDeferred":false},{"Name":"test8","Code":"test8();","IsDeferred":false},{"Name":"test9","Code":"test9();","IsDeferred":false}]}