BugFix: Dart-lang template bugs (#567)

* BugFix: [Dart] Cannot get/set data from json when underscore("_") is included in spec.yaml's property name

Because the property name is always lowerCamelCase

* BugFix: When type is "Date", it is not correctly output
This commit is contained in:
くろねこまいける 2018-07-24 00:48:20 +09:00 committed by William Cheng
parent 2e6bec7345
commit 2e1add83e7

View File

@ -17,30 +17,35 @@ class {{classname}} {
if (json == null) return;
{{#vars}}
{{#isDateTime}}
{{name}} = json['{{name}}'] == null ? null : DateTime.parse(json['{{name}}']);
{{name}} = json['{{baseName}}'] == null ? null : DateTime.parse(json['{{baseName}}']);
{{/isDateTime}}
{{#isDate}}
{{name}} = json['{{baseName}}'] == null ? null : DateTime.parse(json['{{baseName}}']);
{{/isDate}}
{{^isDateTime}}
{{^isDate}}
{{#complexType}}
{{#isListContainer}}
{{name}} = {{complexType}}.listFromJson(json['{{name}}']);
{{name}} = {{complexType}}.listFromJson(json['{{baseName}}']);
{{/isListContainer}}
{{^isListContainer}}
{{#isMapContainer}}
{{name}} = {{complexType}}.mapFromJson(json['{{name}}']);
{{name}} = {{complexType}}.mapFromJson(json['{{baseName}}']);
{{/isMapContainer}}
{{^isMapContainer}}
{{name}} = new {{complexType}}.fromJson(json['{{name}}']);
{{name}} = new {{complexType}}.fromJson(json['{{baseName}}']);
{{/isMapContainer}}
{{/isListContainer}}
{{/complexType}}
{{^complexType}}
{{#isListContainer}}
{{name}} = (json['{{name}}'] as List).map((item) => item as {{items.datatype}}).toList();
{{name}} = (json['{{baseName}}'] as List).map((item) => item as {{items.datatype}}).toList();
{{/isListContainer}}
{{^isListContainer}}
{{name}} = json['{{name}}'];
{{name}} = json['{{baseName}}'];
{{/isListContainer}}
{{/complexType}}
{{/isDate}}
{{/isDateTime}}
{{/vars}}
}
@ -49,10 +54,15 @@ class {{classname}} {
return {
{{#vars}}
{{#isDateTime}}
'{{name}}': {{name}} == null ? '' : {{name}}.toUtc().toIso8601String(){{^-last}},{{/-last}}
'{{baseName}}': {{name}} == null ? '' : {{name}}.toUtc().toIso8601String(){{^-last}},{{/-last}}
{{/isDateTime}}
{{#isDate}}
'{{baseName}}': {{name}} == null ? '' : {{name}}.toUtc().toIso8601String(){{^-last}},{{/-last}}
{{/isDate}}
{{^isDateTime}}
'{{name}}': {{name}}{{^-last}},{{/-last}}
{{^isDate}}
'{{baseName}}': {{name}}{{^-last}},{{/-last}}
{{/isDate}}
{{/isDateTime}}
{{/vars}}
};