Add basic config dictionary

This commit is contained in:
Mike Bierlee 2022-09-23 23:34:46 +03:00
parent 525e82410f
commit 5ab78d08d6
2 changed files with 56 additions and 0 deletions

View file

@ -0,0 +1,54 @@
module poodinis.config.dictionary;
interface ConfigNode {
}
class NodeValue : ConfigNode {
string value;
this() {
}
this(string value) {
this.value = value;
}
}
class NodeObject : ConfigNode {
ConfigNode[string] children;
this() {
}
this(ConfigNode[string] children) {
this.children = children;
}
}
class NodeArray : ConfigNode {
ConfigNode[] children;
this() {
}
this(ConfigNode[] children...) {
this.children = children;
}
}
class ConfigDictionary {
ConfigNode rootNode;
}
version (unittest) {
@("Dictionary creation")
unittest {
auto root = new NodeObject([
"english": new NodeArray([new NodeValue("one"), new NodeValue("two")]),
"spanish": new NodeArray(new NodeValue("uno"), new NodeValue("dos"))
]);
auto dictionary = new ConfigDictionary();
dictionary.rootNode = root;
}
}

View file

@ -8,3 +8,5 @@
*/
module poodinis.config;
public import poodinis.config.dictionary;