1234567891011121314151617181920212223242526272829303132 |
- discard """
- output: '''
- Original: (kind: P, pChildren: @[(kind: Text, textStr: "mychild"), (kind: Br)])
- jsonNode: {"kind":"P","pChildren":[{"kind":"Text","textStr":"mychild"},{"kind":"Br"}]}
- Reversed: (kind: P, pChildren: @[(kind: Text, textStr: "mychild"), (kind: Br)])
- '''
- """
- import json
- type
- ContentNodeKind* = enum
- P,
- Br,
- Text,
- ContentNode* = object
- case kind*: ContentNodeKind
- of P: pChildren*: seq[ContentNode]
- of Br: nil
- of Text: textStr*: string
- let mynode = ContentNode(kind: P, pChildren: @[
- ContentNode(kind: Text, textStr: "mychild"),
- ContentNode(kind: Br)
- ])
-
- echo "Original: " & $mynode
- let jsonNode = %*mynode
- echo "jsonNode: " & $jsonNode
- echo "Reversed: " & $jsonNode.to(ContentNode)
|