{"ScriptPreparationCode":"var input = new Array(100).fill().map((v, i) =\u003E i);\r\nvar proxyHandlers = {\r\n get(target, prop, receiver) {\r\n return Reflect.get(target, prop, receiver);\r\n },\r\n set(target, prop, value) {\r\n return Reflect.set(target, prop, value);\r\n },\r\n defineProperty(target, prop, descriptor) {\r\n return Reflect.defineProperty(target, prop, descriptor);\r\n }, \r\n};","TestCases":[{"Name":"Object.defineProperty","Code":"const output = input.reduce((acc, value) =\u003E Object.defineProperty(acc, \u0060key${value}\u0060, { value }), {});","IsDeferred":false},{"Name":"Object.assign (immutable)","Code":"const output = input.reduce((acc, value) =\u003E Object.assign({}, acc, { [\u0060key${value}\u0060]: value }), {});","IsDeferred":false},{"Name":"Object.assign (mutable)","Code":"const output = input.reduce((acc, value) =\u003E Object.assign(acc, { [\u0060key${value}\u0060]: value }), {});","IsDeferred":false},{"Name":"Object.defineProperty on Proxy","Code":"const output = input.reduce((acc, value) =\u003E Object.defineProperty(acc, \u0060key${value}\u0060, { value }), new Proxy({}, proxyHandlers));","IsDeferred":false},{"Name":"Property direct on Proxy","Code":"const output = input.reduce((acc, value) =\u003E { acc[\u0060key${value}\u0060] = value; return acc; }, new Proxy({}, proxyHandlers));","IsDeferred":false},{"Name":"Direct Object Property","Code":"const output = input.reduce((acc, value) =\u003E { acc[\u0060key${value}\u0060] = value; return acc; }, {});","IsDeferred":false},{"Name":"Object.defineProperty with getter and setter","Code":"const output = input.reduce((acc, value) =\u003E Object.defineProperty(acc, \u0060key${value}\u0060, { get(){return value}, set(v) {} }), {});","IsDeferred":false},{"Name":"Object.defineProperties (plural) with getter and setter","Code":"const output = input.reduce((acc, value) =\u003E Object.defineProperties(acc, {[\u0060key${value}\u0060]: { get(){return value}, set(v) {} }}), {});","IsDeferred":false},{"Name":"Object.defineProperty on Proxy with getter and setter","Code":"const output = input.reduce((acc, value) =\u003E Object.defineProperty(acc, \u0060key${value}\u0060, { get(){return value}, set(v) {} }), new Proxy({}, proxyHandlers));","IsDeferred":false},{"Name":"Object.assign on Proxy (mutable)","Code":"const output = input.reduce((acc, value) =\u003E Object.assign(acc, { [\u0060key${value}\u0060]: value }), new Proxy({}, proxyHandlers));","IsDeferred":false}]}