diff options
Diffstat (limited to 'src/ext_depends/D-YAML/examples/tojson/source/app.d')
-rw-r--r-- | src/ext_depends/D-YAML/examples/tojson/source/app.d | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/ext_depends/D-YAML/examples/tojson/source/app.d b/src/ext_depends/D-YAML/examples/tojson/source/app.d deleted file mode 100644 index 654274f..0000000 --- a/src/ext_depends/D-YAML/examples/tojson/source/app.d +++ /dev/null @@ -1,54 +0,0 @@ -module dyaml.tojson; -import std.datetime; -import std.json; -import std.stdio; -import dyaml; - -void main() -{ - auto doc = Loader.fromFile(stdin).load(); - auto json = doc.toJSON; - writeln(json.toPrettyString); -} - -JSONValue toJSON(Node node) -{ - JSONValue output; - final switch (node.type) - { - case NodeType.sequence: - output = JSONValue(string[].init); - foreach (Node seqNode; node) - { - output.array ~= seqNode.toJSON(); - } - break; - case NodeType.mapping: - output = JSONValue(string[string].init); - foreach (Node keyNode, Node valueNode; node) - { - output[keyNode.as!string] = valueNode.toJSON(); - } - break; - case NodeType.string: - output = node.as!string; - break; - case NodeType.integer: - output = node.as!long; - break; - case NodeType.decimal: - output = node.as!real; - break; - case NodeType.boolean: - output = node.as!bool; - break; - case NodeType.timestamp: - output = node.as!SysTime.toISOExtString(); - break; - case NodeType.merge: - case NodeType.null_: - case NodeType.binary: - case NodeType.invalid: - } - return output; -} |