// Please do not edit this file. It has been generated automatically // from `src/module/json.wren` using `util/wren_to_c_string.py` static const char* jsonModuleSource = "// retoor \n" "\n" "import \"strutil\" for Str\n" "\n" "class Json {\n" " foreign static parse(string)\n" "\n" " static stringify(value) { stringify_(value, \"\") }\n" "\n" " static stringify(value, indent) {\n" " var indentStr = \"\"\n" " if (indent is Num && indent > 0) {\n" " for (i in 0...indent) {\n" " indentStr = indentStr + \" \"\n" " }\n" " } else if (indent is String) {\n" " indentStr = indent\n" " }\n" " return stringify_(value, indentStr)\n" " }\n" "\n" " static stringify_(value, indent) {\n" " return stringifyValue_(value, indent, \"\")\n" " }\n" "\n" " static stringifyValue_(value, indent, currentIndent) {\n" " if (value == null) return \"null\"\n" " if (value is Bool) return value ? \"true\" : \"false\"\n" " if (value is Num) {\n" " if (value.isInfinity || value.isNan) return \"null\"\n" " if (value == value.truncate) return value.truncate.toString\n" " return value.toString\n" " }\n" " if (value is String) return escapeString_(value)\n" " if (value is List) return stringifyList_(value, indent, currentIndent)\n" " if (value is Map) return stringifyMap_(value, indent, currentIndent)\n" " return \"null\"\n" " }\n" "\n" " static escapeString_(s) { Str.escapeJson(s) }\n" "\n" " static stringifyList_(list, indent, currentIndent) {\n" " if (list.count == 0) return \"[]\"\n" "\n" " var nextIndent = currentIndent + indent\n" " var parts = []\n" " for (item in list) {\n" " parts.add(stringifyValue_(item, indent, nextIndent))\n" " }\n" "\n" " if (indent == \"\") {\n" " return \"[\" + parts.join(\",\") + \"]\"\n" " }\n" "\n" " return \"[\\n\" + nextIndent + parts.join(\",\\n\" + nextIndent) + \"\\n\" + currentIndent + \"]\"\n" " }\n" "\n" " static stringifyMap_(map, indent, currentIndent) {\n" " if (map.count == 0) return \"{}\"\n" "\n" " var nextIndent = currentIndent + indent\n" " var parts = []\n" " for (key in map.keys) {\n" " var keyStr = escapeString_(key.toString)\n" " var valueStr = stringifyValue_(map[key], indent, nextIndent)\n" " if (indent == \"\") {\n" " parts.add(keyStr + \":\" + valueStr)\n" " } else {\n" " parts.add(keyStr + \": \" + valueStr)\n" " }\n" " }\n" "\n" " if (indent == \"\") {\n" " return \"{\" + parts.join(\",\") + \"}\"\n" " }\n" "\n" " return \"{\\n\" + nextIndent + parts.join(\",\\n\" + nextIndent) + \"\\n\" + currentIndent + \"}\"\n" " }\n" "}\n";