dart-jaguar.enum.mustache Maven / Gradle / Ivy
part '{{classFilename}}.jser.dart';
class {{classname}} {
/// The underlying value of this enum member.
final {{dataType}} value;
const {{classname}}._internal(this.value);
{{#allowableValues}}
{{#enumVars}}
{{#description}}
/// {{description}}
{{/description}}
static const {{classname}} {{name}} = const {{classname}}._internal({{{value}}});
{{/enumVars}}
{{/allowableValues}}
}
class {{classname}}TypeTransformer {
dynamic encode({{classname}} data) {
return data.value;
}
{{classname}} decode(dynamic data) {
switch (data) {
{{#allowableValues}}
{{#enumVars}}
case {{{value}}}: return {{classname}}.{{name}};
{{/enumVars}}
{{/allowableValues}}
default: throw('Unknown enum value to decode: $data');
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy