diff options
Diffstat (limited to 'ddl/templates/data.cs.ede')
-rw-r--r-- | ddl/templates/data.cs.ede | 46 |
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 | } |