{"ScriptPreparationCode":"function signal() {\r\n var a = Math.random(),\r\n b = Math.random();\r\n return [\r\n function () {\r\n return a;\r\n },\r\n function () {\r\n return b;\r\n },\r\n ];\r\n}\r\nfunction wrap(a) {\r\n return function () {\r\n console.log(\u0022start\u0022);\r\n var b = a();\r\n console.log(\u0022end\u0022);\r\n return b;\r\n };\r\n}\r\n\r\nfunction destructureAndNewArray() {\r\n const [get, set] = signal();\r\n return [wrap(get), wrap(set)];\r\n}\r\n\r\nfunction c(a) {\r\n var b = 0;\r\n return function () {\r\n return b \u003C a.length ? { done: !1, value: a[b\u002B\u002B] } : { done: !0 };\r\n };\r\n}\r\nfunction polyfilledDestructureAndNewArray() {\r\n var a = signal();\r\n var b = typeof Symbol != \u0022undefined\u0022 \u0026\u0026 Symbol.iterator \u0026\u0026 a[Symbol.iterator];\r\n if (b) a = b.call(a);\r\n else if (typeof a.length == \u0022number\u0022) a = { next: c(a) };\r\n else throw Error(String(a) \u002B \u0022 is not an iterable or ArrayLike\u0022);\r\n b = a;\r\n a = b.next().value;\r\n b = b.next().value;\r\n return [wrap(a), wrap(b)];\r\n}\r\nfunction newArray() {\r\n var a = signal();\r\n return [wrap(a[0]), wrap(a[1])];\r\n}\r\nfunction mutateArray() {\r\n var a = signal();\r\n a[0] = wrap(a[0]);\r\n a[1] = wrap(a[1]);\r\n return a;\r\n}","TestCases":[{"Name":"destructureAndNewArray","Code":"destructureAndNewArray();","IsDeferred":false},{"Name":"polyfilledDestructureAndNewArray","Code":"polyfilledDestructureAndNewArray();","IsDeferred":false},{"Name":"newArray","Code":"newArray();","IsDeferred":false},{"Name":"mutateArray","Code":"mutateArray();","IsDeferred":false}]}