dart2-v3template.enum.mustache Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openapi-dart-generator Show documentation
Show all versions of openapi-dart-generator Show documentation
dart2 generator from openapi 3.x spec files.
enum {{classname}} {
{{#allowableValues}}
{{#enumVars}}{{{name}}}{{^-last}}, {{/-last}}{{/enumVars}}
{{/allowableValues}}
}
class {{classname}}TypeTransformer {
static Map fromJsonMap = { {{#allowableValues}}
{{#enumVars}}{{{value}}}:{{classname}}.{{{name}}}{{^-last}}, {{/-last}}{{/enumVars}}
{{/allowableValues}} };
static Map<{{classname}}, String> toJsonMap = { {{#allowableValues}}
{{#enumVars}}{{classname}}.{{{name}}}:{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}
{{/allowableValues}} };
static {{classname}} fromJson(dynamic data) {
var found = fromJsonMap[data];
if (found == null) {
throw('Unknown enum value to decode: $data');
}
return found;
}
static dynamic toJson({{classname}} data) {
return toJsonMap[data];
}
static List<{{classname}}> listFromJson(List json) {
return json == null ? <{{classname}}>[] : json.map((value) => fromJson(value)).toList();
}
static {{classname}} copyWith({{classname}} instance) {
return instance;
}
static Map mapFromJson(Map json) {
final map = {};
if (json != null && json.isNotEmpty) {
json.forEach((String key, dynamic value) => map[key] = fromJson(value));
}
return map;
}
}