All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dart-jaguar.enum.mustache Maven / Gradle / Ivy

There is a newer version: 3.0.0-rc1
Show newest version
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