{"ScriptPreparationCode":null,"TestCases":[{"Name":"reduce with spread","Code":" parts.reduce((result, { type, value }) =\u003E ({ ...result, [type]: value }), {});","IsDeferred":false},{"Name":"reduce with assign","Code":" parts.reduce((result, { type, value }) =\u003E {\r\n result[type] = value;\r\n return result;\r\n }, {});","IsDeferred":false},{"Name":"reduce with mapped assign","Code":" parts.reduce((result, { type, value }) =\u003E {\r\n switch (type) {\r\n case \u0027currency\u0027:\r\n result.currencySign = value;\r\n break;\r\n case \u0027decimal\u0027:\r\n result.decimalSeparator = value;\r\n break;\r\n case \u0027group\u0027:\r\n result.thousandSeparator = value;\r\n break;\r\n default:\r\n break;\r\n }\r\n return result;\r\n }, {});","IsDeferred":false},{"Name":"reduce with mapped assign (compact)","Code":"const METADATA = {\r\n currency: \u0027currencySign\u0027,\r\n decimal: \u0027decimalSeparator\u0027,\r\n group: \u0027thousandSeparator\u0027,\r\n};\r\n\r\n parts.reduce((result, { type, value }) =\u003E {\r\n if (METADATA[type]) result[METADATA[type]] = value;\r\n return result;\r\n }, {});","IsDeferred":false},{"Name":"reduce with mapped assign (if-else)","Code":" parts.reduce((result, { type, value }) =\u003E {\r\n if (type === \u0027currency\u0027) result.currencySign = value \r\n else if (type === \u0027decimal\u0027) result.decimalSeparator = value \r\n else if (type === \u0027group\u0027) result.thousandSeparator = value \r\n return result;\r\n }, {});","IsDeferred":false}]}