match json.toPretty style with NodeJS's stringify (#5406)

This commit is contained in:
Emery Hemingway 2017-02-21 20:24:55 +01:00 • committed by Andreas Rumpf
commit 2ba374f9ab

View file

@ -952,7 +952,7 @@ proc newIndent(curr, indent: int, ml: bool): int =
else: return indent else: return indent
proc nl(s: var string, ml: bool) = proc nl(s: var string, ml: bool) =
if ml: s.add("\n") s.add(if ml: "\n" else: " ")
proc escapeJson*(s: string; result: var string) = proc escapeJson*(s: string; result: var string) =
## Converts a string `s` to its JSON representation. ## Converts a string `s` to its JSON representation.
@ -986,8 +986,7 @@ proc toPretty(result: var string, node: JsonNode, indent = 2, ml = true,
lstArr = false, currIndent = 0) = lstArr = false, currIndent = 0) =
case node.kind case node.kind
of JObject: of JObject:
if currIndent != 0 and not lstArr: result.nl(ml) if lstArr: result.indent(currIndent) # Indentation
result.indent(currIndent) # Indentation
if node.fields.len > 0: if node.fields.len > 0:
result.add("{") result.add("{")
result.nl(ml) # New line result.nl(ml) # New line