34 lines
646 B
Plaintext
34 lines
646 B
Plaintext
{{>common/file_header}}
|
|
|
|
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
{{#docLines}}
|
|
/// {{.}}
|
|
{{/docLines}}
|
|
@JsonEnum()
|
|
enum {{className}} {
|
|
{{#values}}
|
|
@JsonValue({{value}})
|
|
{{name}}({{value}}),
|
|
{{/values}}
|
|
;
|
|
|
|
const {{className}}(this.value);
|
|
final {{valueType}} value;
|
|
|
|
static {{className}} fromValue(dynamic value) {
|
|
for (final enumValue in {{className}}.values) {
|
|
if (enumValue.value == value) {
|
|
return enumValue;
|
|
}
|
|
}
|
|
throw ArgumentError('Unknown enum value: $value');
|
|
}
|
|
|
|
factory {{className}}.fromJson(dynamic json) {
|
|
return fromValue(json);
|
|
}
|
|
|
|
dynamic toJson() => value;
|
|
}
|