{"ScriptPreparationCode":"const treedboxToJson = async (data) =\u003E {\r\n let splited = data.split(\u0022\\n\u0022);\r\n let reduce = splited.reduce(\r\n (acc, curr) =\u003E {\r\n let arr = curr.split(\u0022 \u0022);\r\n let position = arr.length;\r\n let data = arr[arr.length - 1].split(\u0022 \u0022);\r\n let key = data[0];\r\n let value = data[1] ? data[1] : \u0022\u0022;\r\n let id = Date.now() \u002B Math.random() \u002B Math.random();\r\n let parent =\r\n acc._last \u0026\u0026 acc._last.position \u003C position ? acc._last.id : \u0022\u0022;\r\n let siblings =\r\n acc._last \u0026\u0026 acc._last[position] ? acc._last[position] : \u0022\u0022;\r\n let obj = {\r\n [id]: {\r\n key,\r\n value,\r\n parent,\r\n siblings\r\n }\r\n };\r\n return {\r\n ...acc,\r\n ...obj,\r\n _last: {\r\n ...acc._last,\r\n id,\r\n position,\r\n [position]: id\r\n }\r\n };\r\n },\r\n {\r\n _last: 0\r\n }\r\n );\r\n delete reduce._last;\r\n return JSON.stringify(reduce);\r\n};\r\n\r\nconst data = \u0060pages\r\n default\r\n title\r\n nav\r\n pages\r\n main\r\n footer\r\n home\r\n main\r\n articles\r\n about\r\n main\r\n article 5\r\n single\r\n article 2\u0060;\r\n\r\ntreedboxToJson(data);","TestCases":[{"Name":"sdsdsdasdasfdasfafas","Code":"const treedboxToJson = async (data) =\u003E {\r\n const splited = data.split(\u0022\\n\u0022);\r\n const reduce = splited.reduce(\r\n (acc, curr) =\u003E {\r\n const arr = curr.split(\u0022 \u0022);\r\n const position = arr.length;\r\n const data = arr[arr.length - 1].split(\u0022 \u0022);\r\n const key = data[0];\r\n const value = data[1] ? data[1] : \u0022\u0022;\r\n const id = Date.now() \u002B Math.random() \u002B Math.random();\r\n const parent =\r\n acc._last \u0026\u0026 acc._last.position \u003C position ? acc._last.id : \u0022\u0022;\r\n const siblings =\r\n acc._last \u0026\u0026 acc._last[position] ? acc._last[position] : \u0022\u0022;\r\n const obj = {\r\n [id]: {\r\n key,\r\n value,\r\n parent,\r\n siblings\r\n }\r\n };\r\n return {\r\n ...acc,\r\n ...obj,\r\n _last: {\r\n ...acc._last,\r\n id,\r\n position,\r\n [position]: id\r\n }\r\n };\r\n },\r\n {\r\n _last: 0\r\n }\r\n );\r\n delete reduce._last;\r\n return JSON.stringify(reduce);\r\n};\r\n\r\nconst data = \u0060pages\r\n default\r\n title\r\n nav\r\n pages\r\n main\r\n footer\r\n home\r\n main\r\n articles\r\n about\r\n main\r\n article 5\r\n single\r\n article 2\u0060;\r\n\r\ntreedboxToJson(data);","IsDeferred":false},{"Name":"asdasdasfsafsaf","Code":"const treedboxToJson = async (data) =\u003E {\r\n let splited = data.split(\u0022\\n\u0022);\r\n let reduce = splited.reduce(\r\n (acc, curr) =\u003E {\r\n let arr = curr.split(\u0022 \u0022);\r\n let position = arr.length;\r\n let data = arr[arr.length - 1].split(\u0022 \u0022);\r\n let key = data[0];\r\n let value = data[1] ? data[1] : \u0022\u0022;\r\n let id = Date.now() \u002B Math.random() \u002B Math.random();\r\n let parent =\r\n acc._last \u0026\u0026 acc._last.position \u003C position ? acc._last.id : \u0022\u0022;\r\n let siblings =\r\n acc._last \u0026\u0026 acc._last[position] ? acc._last[position] : \u0022\u0022;\r\n let obj = {\r\n [id]: {\r\n key,\r\n value,\r\n parent,\r\n siblings\r\n }\r\n };\r\n return {\r\n ...acc,\r\n ...obj,\r\n _last: {\r\n ...acc._last,\r\n id,\r\n position,\r\n [position]: id\r\n }\r\n };\r\n },\r\n {\r\n _last: 0\r\n }\r\n );\r\n delete reduce._last;\r\n return JSON.stringify(reduce);\r\n};\r\n\r\nconst data = \u0060pages\r\n default\r\n title\r\n nav\r\n pages\r\n main\r\n footer\r\n home\r\n main\r\n articles\r\n about\r\n main\r\n article 5\r\n single\r\n article 2\u0060;\r\n\r\ntreedboxToJson(data);","IsDeferred":false}]}