@@ -39,13 +39,34 @@ namespace {{ spec.title | caseUcfirst }}.Models
3939 }
4040
4141 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 %}{% if property.type == 'array' %}((JArray)map["{{ property.name }}"]).ToObject<List<Dictionary<string, object>>>().Select(it => {{property.sub_schema | caseUcfirst | overrideIdentifier}}.From(map: it)).ToList(){% else %}{{property.sub_schema | caseUcfirst | overrideIdentifier}}.From(map: ((JObject)map["{{ property.name }}"]).ToObject<Dictionary<string, object>>()!){% endif %}{% else %}{% if property.type == 'array' %}((JArray)map["{{ property.name }}"]).ToObject<{{ property | typeName }}>(){% else %}{% if property.type == "integer" or property.type == "number" %}{% if not property.required %}map["{{ property.name }}"] == null ? null : {% endif %}Convert.To{% if property.type == "integer" %}Int64{% else %}Double{% endif %}(map["{{ property.name }}"]){% else %}{% if property.type == "boolean" %}({{ property | typeName }}{% if not property.required %}?{% endif %})map["{{ property.name }}"]{% else %}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(){% endif %}{% endif %}{% endif %}{% endif %}{% endif %}{% if not loop.last or (loop.last and definition.additionalProperties) %},{% endif %}
44-
45- {%~ endfor %}
46- {%~ if definition .additionalProperties %}
47- data: map
48- {%~ endif %}
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' -%}
51+ ((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 -%}
68+ data: map
69+ {%- endif -%}
4970 );
5071
5172 public Dictionary<string , object ?> ToMap() => new Dictionary<string , object ?>()
0 commit comments