summaryrefslogtreecommitdiff
path: root/ddl/templates/data.cs.ede
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/templates/data.cs.ede')
-rw-r--r--ddl/templates/data.cs.ede46
1 files changed, 23 insertions, 23 deletions
diff --git a/ddl/templates/data.cs.ede b/ddl/templates/data.cs.ede
index dffad32..74e0dac 100644
--- a/ddl/templates/data.cs.ede
+++ b/ddl/templates/data.cs.ede
@@ -33,7 +33,7 @@ namespace {{ moduleName }} {
33 33
34 // JSON deserializer 34 // JSON deserializer
35 enum Type { {% for t in usedTypes %} 35 enum Type { {% for t in usedTypes %}
36 {{ t.value | csTypeEnum }}{% if !t.last %},{% endif %}{% endfor %} 36 {{ t.value | typeEnum }}{% if !t.last %},{% endif %}{% endfor %}
37 } 37 }
38 38
39 class Loader { 39 class Loader {
@@ -43,52 +43,52 @@ namespace {{ moduleName }} {
43 {% case t.value.tag %} 43 {% case t.value.tag %}
44 {% when "Data" %} 44 {% when "Data" %}
45 {% when "V2" %} 45 {% when "V2" %}
46 case Type.{{ t.value | csTypeEnum }}: 46 case Type.{{ t.value | typeEnum }}:
47 return new {{ t.value | csType }} 47 return new {{ t.value | csType }}
48 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["x"]) 48 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["x"])
49 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["y"]) 49 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["y"])
50 }; 50 };
51 {% when "V3" %} 51 {% when "V3" %}
52 case Type.{{ t.value | csTypeEnum }}: 52 case Type.{{ t.value | typeEnum }}:
53 return new {{ t.value | csType }} 53 return new {{ t.value | csType }}
54 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["x"]) 54 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["x"])
55 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["y"]) 55 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["y"])
56 , z = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["z"]) 56 , z = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["z"])
57 }; 57 };
58 {% when "V4" %} 58 {% when "V4" %}
59 case Type.{{ t.value | csTypeEnum }}: 59 case Type.{{ t.value | typeEnum }}:
60 return new {{ t.value | csType }} 60 return new {{ t.value | csType }}
61 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["x"]) 61 { x = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["x"])
62 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["y"]) 62 , y = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["y"])
63 , z = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["z"]) 63 , z = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["z"])
64 , w = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | csTypeEnum }},obj["w"]) 64 , w = ({{ t.value.type_ | csType }})fromJSON(Type.{{ t.value.type_ | typeEnum }},obj["w"])
65 }; 65 };
66 {% when "Map" %} 66 {% when "Map" %}
67 case Type.{{ t.value | csTypeEnum }}: { 67 case Type.{{ t.value | typeEnum }}: {
68 var map = new {{ t.value | csType }} (); 68 var map = new {{ t.value | csType }} ();
69 foreach(var i in (JObject)obj) { 69 foreach(var i in (JObject)obj) {
70 map.Add( ({{ t.value.key_ | csType }})fromJSON(Type.{{ t.value.key_ | csTypeEnum }},i.Key) 70 map.Add( ({{ t.value.key_ | csType }})fromJSON(Type.{{ t.value.key_ | typeEnum }},i.Key)
71 , ({{ t.value.value_ | csType }})fromJSON(Type.{{ t.value.value_ | csTypeEnum }},i.Value)); 71 , ({{ t.value.value_ | csType }})fromJSON(Type.{{ t.value.value_ | typeEnum }},i.Value));
72 } 72 }
73 return map; 73 return map;
74 } 74 }
75 {% when "Array" %} 75 {% when "Array" %}
76 case Type.{{ t.value | csTypeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | csTypeEnum }}, x)).ToList(); 76 case Type.{{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList();
77 {% when "List" %} 77 {% when "List" %}
78 case Type.{{ t.value | csTypeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | csTypeEnum }}, x)).ToList(); 78 case Type.{{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList();
79 {% when "Maybe" %} 79 {% when "Maybe" %}
80 case Type.{{ t.value | csTypeEnum }}: { 80 case Type.{{ t.value | typeEnum }}: {
81 var m = new {{ t.value | csType }} (); 81 var m = new {{ t.value | csType }} ();
82 if (obj == null || obj.Type == JTokenType.Null) { 82 if (obj == null || obj.Type == JTokenType.Null) {
83 m.valid = false; 83 m.valid = false;
84 } else { 84 } else {
85 m.valid = true; 85 m.valid = true;
86 m.data = ({{ t.value.type_ | csType }})fromJSON (Type.{{ t.value.type_ | csTypeEnum }},obj); 86 m.data = ({{ t.value.type_ | csType }})fromJSON (Type.{{ t.value.type_ | typeEnum }},obj);
87 } 87 }
88 return m; 88 return m;
89 } 89 }
90 {% else %} 90 {% else %}
91 case Type.{{ t.value | csTypeEnum }}: return ({{ t.value | csType }})obj; 91 case Type.{{ t.value | typeEnum }}: return ({{ t.value | csType }})obj;
92 {% endcase %} 92 {% endcase %}
93 {% endfor %} 93 {% endfor %}
94 94
@@ -101,8 +101,8 @@ namespace {{ moduleName }} {
101 tagType = {{ t.value.dataName }}.Tag.{{ c.value.name }}; 101 tagType = {{ t.value.dataName }}.Tag.{{ c.value.name }};
102 {% if !(c.value.fields | empty) %} 102 {% if !(c.value.fields | empty) %}
103 data.{{ c.value.name }} tv = new data.{{ c.value.name }}();{% for f in c.value.fields %}{% if c.value.fields | hasFieldNames %} 103 data.{{ c.value.name }} tv = new data.{{ c.value.name }}();{% for f in c.value.fields %}{% if c.value.fields | hasFieldNames %}
104 tv.{{ f.value.fieldName }} = ({{ f.value.fieldType | csType }})fromJSON(Type.{{ f.value.fieldType | csTypeEnum }},obj["{{ f.value.fieldName }}"]);{% else %} 104 tv.{{ f.value.fieldName }} = ({{ f.value.fieldType | csType }})fromJSON(Type.{{ f.value.fieldType | typeEnum }},obj["{{ f.value.fieldName }}"]);{% else %}
105 tv._{{ f.index0 }} = ({{ f.value.fieldType | csType }})fromJSON(Type.{{ f.value.fieldType | csTypeEnum }},obj["arg{{ f.index0 }}"]);{% endif %}{% endfor %} 105 tv._{{ f.index0 }} = ({{ f.value.fieldType | csType }})fromJSON(Type.{{ f.value.fieldType | typeEnum }},obj["arg{{ f.index0 }}"]);{% endif %}{% endfor %}
106 return tv; 106 return tv;
107 {% endif %} 107 {% endif %}
108 } 108 }