@@ -38,35 +38,50 @@ namespace {{ spec.title | caseUcfirst }}.Models
3838 {%~ endif %}
3939 }
4040
41- public static {{ definition .name | caseUcfirst | overrideIdentifier }} From(Dictionary<string , object > map) => new {{ definition .name | caseUcfirst | overrideIdentifier }}(
42- {%- for property in definition .properties -%}
43- {{ property .name | caseCamel | escapeKeyword | removeDollarSign }}: {%- if property .sub_schema -%}
44- {%- if property .type == ' array' -%}
45- ((JArray)map["{{ property .name }}"]).ToObject<List <Dictionary <string , object >>>().Select(it => {{property .sub_schema | caseUcfirst | overrideIdentifier }}.From(map: it)).ToList()
46- {%- else -%}
47- {{property .sub_schema | caseUcfirst | overrideIdentifier }}.From(map: ((JObject)map["{{ property .name }}"]).ToObject<Dictionary <string , object >>()!)
48- {%- endif -%}
49- {%- else -%}
50- {%- if property .type == ' array' -%}
41+ public static {{ definition .name | caseUcfirst | overrideIdentifier }} From(Dictionary<string , object > map) => new {{ definition .name | caseUcfirst | overrideIdentifier }}(
42+ {%- for property in definition .properties %}
43+ {{ property .name | caseCamel | escapeKeyword | removeDollarSign }}:
44+ {%- if property .sub_schema %}
45+ {%- if property .type == ' array' %}
46+ ((JArray)map["{{ property .name }}"])
47+ .ToObject<List <Dictionary <string , object >>>()
48+ .Select(it => {{ property .sub_schema | caseUcfirst | overrideIdentifier }}.From(map: it))
49+ .ToList()
50+ {%- else %}
51+ {{ property .sub_schema | caseUcfirst | overrideIdentifier }}.From(
52+ map: ((JObject)map["{{ property .name }}"])
53+ .ToObject<Dictionary <string , object >>()!
54+ )
55+ {%- endif %}
56+ {%- else %}
57+ {%- if property .type == ' array' %}
5158 ((JArray)map["{{ property .name }}"]).ToObject< {{ property | typeName }}>()
52- {%- else -%}
53- {%- if property .type == " integer" or property .type == " number" -%}
54- {%- if not property .required -%}map["{{ property .name }}"] == null ? null : {%- endif -%}
55- Convert.To{%- if property .type == " integer" -%}Int64{%- else -%}Double{%- endif -%}(map["{{ property .name }}"])
56- {%- else -%}
57- {%- if property .type == " boolean" -%}
58- ({{ property | typeName }}{%- if not property .required -%}?{%- endif -%})map["{{ property .name }}"]
59- {%- else -%}
60- map{%- if not property .required -%}.TryGetValue("{{ property .name }}", out var {{ property .name | caseCamel | escapeKeyword | removeDollarSign }}) ? {{ property .name | caseCamel | escapeKeyword | removeDollarSign }}?.ToString() : null{%- else -%}["{{ property .name }}"]{%- if not property .required -%}?{%- endif -%}.ToString()
61- {%- endif -%}
62- {%- endif -%}
63- {%- endif -%}
64- {%- endif -%}
65- {%- if not loop .last or (loop .last and definition .additionalProperties ) -%},{%- endif -%}
66- {%- endfor -%}
67- {%- if definition .additionalProperties -%}
59+ {%- else %}
60+ {%- if property .type == " integer" or property .type == " number" %}
61+ {%- if not property .required %}
62+ map["{{ property .name }}"] == null ? null :
63+ {%- endif %}
64+ Convert.To{% if property .type == " integer" %}Int64{% else %}Double{% endif %}(map["{{ property .name }}"])
65+ {%- else %}
66+ {%- if property .type == " boolean" %}
67+ ({{ property | typeName }}{% if not property .required %}?{% endif %})map["{{ property .name }}"]
68+ {%- else %}
69+ map
70+ {%- if not property .required %}
71+ .TryGetValue("{{ property .name }}", out var {{ property .name | caseCamel | escapeKeyword | removeDollarSign }}) ?
72+ {{ property .name | caseCamel | escapeKeyword | removeDollarSign }}?.ToString() : null
73+ {%- else %}
74+ ["{{ property .name }}"]{% if not property .required %}?{% endif %}.ToString()
75+ {%- endif %}
76+ {%- endif %}
77+ {%- endif %}
78+ {%- endif %}
79+ {%- endif %}
80+ {%- if not loop .last or (loop .last and definition .additionalProperties ) %},{% endif %}
81+ {%- endfor %}
82+ {%- if definition .additionalProperties %}
6883 data: map
69- {%- endif - %}
84+ {%- endif %}
7085 );
7186
7287 public Dictionary<string , object ?> ToMap() => new Dictionary<string , object ?>()
0 commit comments