forked from loafle/openapi-generator-original
manage enum properly on jaguar generator (#3654)
This commit is contained in:
parent
ceccb4f83a
commit
f4d3df762a
@ -19,7 +19,7 @@ import 'package:jaguar_mimetype/jaguar_mimetype.dart';
|
||||
|
||||
{{#jsonFormat}}
|
||||
final _jsonJaguarRepo = JsonRepo()
|
||||
{{#models}}{{#model}}..add({{classname}}Serializer())
|
||||
{{#models}}{{#model}}{{^isEnum}}..add({{classname}}Serializer()){{/isEnum}}
|
||||
{{/model}}{{/models}};
|
||||
final Map<String, CodecRepo> defaultConverters = {
|
||||
MimeTypes.json: _jsonJaguarRepo,
|
||||
@ -97,4 +97,4 @@ class {{clientName}} {
|
||||
}
|
||||
|
||||
{{/apis}}{{/apiInfo}}
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,12 @@ part '{{classFilename}}.jser.dart';
|
||||
|
||||
class {{classname}} {
|
||||
{{#vars}}{{#description}} /* {{{description}}} */{{/description}}
|
||||
@Alias('{{{baseName}}}', isNullable:{{#isNullable}} true{{/isNullable}}{{^isNullable}} false{{/isNullable}})
|
||||
@Alias('{{{baseName}}}', isNullable:{{#isNullable}} true{{/isNullable}}{{^isNullable}} false{{/isNullable}},{{#allowableValues}}
|
||||
{{^enumVars.empty}}{{^isString}}{{! isString because inline enums are not handled for now }}
|
||||
processor: const {{{datatype}}}FieldProcessor(),
|
||||
{{/isString}}{{/enumVars.empty}}
|
||||
{{/allowableValues}}
|
||||
)
|
||||
final {{{datatype}}} {{name}};
|
||||
{{#allowableValues}}{{#min}} // range from {{min}} to {{max}}{{/min}}//{{^min}}enum {{name}}Enum { {{#values}} {{.}}, {{/values}} };{{/min}}{{/allowableValues}}{{/vars}}
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
part '{{classFilename}}.jser.dart';
|
||||
|
||||
@Entity()
|
||||
{{#jsonFormat}}
|
||||
class {{classname}} {
|
||||
/// The underlying value of this enum member.
|
||||
final {{dataType}} value;
|
||||
@ -12,27 +11,27 @@ class {{classname}} {
|
||||
{{#description}}
|
||||
/// {{description}}
|
||||
{{/description}}
|
||||
static const {{classname}} {{{name}}}} = const {{classname}}._internal({{{value}}});
|
||||
static const {{classname}} {{{name}}} = const {{classname}}._internal({{{value}}});
|
||||
{{/enumVars}}
|
||||
{{/allowableValues}}
|
||||
}
|
||||
|
||||
class {{classname}}TypeTransformer extends TypeTransformer<{{classname}}> {
|
||||
class {{classname}}FieldProcessor implements FieldProcessor<{{classname}}, {{dataType}}> {
|
||||
const {{classname}}FieldProcessor();
|
||||
|
||||
@override
|
||||
dynamic encode({{classname}} data) {
|
||||
return data.value;
|
||||
}
|
||||
|
||||
@override
|
||||
{{classname}} decode(dynamic data) {
|
||||
switch (data) {
|
||||
{{#allowableValues}}
|
||||
{{#enumVars}}
|
||||
case {{{value}}}: return {{classname}}.{{{name}}}};
|
||||
{{/enumVars}}
|
||||
{{/allowableValues}}
|
||||
default: throw('Unknown enum value to decode: $data');
|
||||
{{classname}} deserialize({{dataType}} data) {
|
||||
switch (data) {
|
||||
{{#allowableValues}}
|
||||
{{#enumVars}}
|
||||
case {{{value}}}: return {{classname}}.{{{name}}};
|
||||
{{/enumVars}}
|
||||
{{/allowableValues}}
|
||||
default: throw('Unknown enum value to decode: $data');
|
||||
}
|
||||
}
|
||||
|
||||
{{dataType}} serialize({{classname}} item) {
|
||||
return item.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
{{/jsonFormat}}
|
||||
|
@ -5,13 +5,13 @@ part 'api_response.jser.dart';
|
||||
|
||||
class ApiResponse {
|
||||
|
||||
@Alias('code', isNullable: false)
|
||||
@Alias('code', isNullable: false, )
|
||||
final int code;
|
||||
|
||||
@Alias('type', isNullable: false)
|
||||
@Alias('type', isNullable: false, )
|
||||
final String type;
|
||||
|
||||
@Alias('message', isNullable: false)
|
||||
@Alias('message', isNullable: false, )
|
||||
final String message;
|
||||
|
||||
|
||||
|
@ -5,10 +5,10 @@ part 'category.jser.dart';
|
||||
|
||||
class Category {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('name', isNullable: false)
|
||||
@Alias('name', isNullable: false, )
|
||||
final String name;
|
||||
|
||||
|
||||
|
@ -5,22 +5,24 @@ part 'order.jser.dart';
|
||||
|
||||
class Order {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('petId', isNullable: false)
|
||||
@Alias('petId', isNullable: false, )
|
||||
final int petId;
|
||||
|
||||
@Alias('quantity', isNullable: false)
|
||||
@Alias('quantity', isNullable: false, )
|
||||
final int quantity;
|
||||
|
||||
@Alias('shipDate', isNullable: false)
|
||||
@Alias('shipDate', isNullable: false, )
|
||||
final DateTime shipDate;
|
||||
/* Order Status */
|
||||
@Alias('status', isNullable: false)
|
||||
@Alias('status', isNullable: false,
|
||||
processor: const StringFieldProcessor(),
|
||||
)
|
||||
final String status;
|
||||
//enum statusEnum { placed, approved, delivered, };
|
||||
@Alias('complete', isNullable: false)
|
||||
@Alias('complete', isNullable: false, )
|
||||
final bool complete;
|
||||
|
||||
|
||||
|
@ -9,22 +9,24 @@ part 'pet.jser.dart';
|
||||
|
||||
class Pet {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('category', isNullable: false)
|
||||
@Alias('category', isNullable: false, )
|
||||
final Category category;
|
||||
|
||||
@Alias('name', isNullable: false)
|
||||
@Alias('name', isNullable: false, )
|
||||
final String name;
|
||||
|
||||
@Alias('photoUrls', isNullable: false)
|
||||
@Alias('photoUrls', isNullable: false, )
|
||||
final List<String> photoUrls;
|
||||
|
||||
@Alias('tags', isNullable: false)
|
||||
@Alias('tags', isNullable: false, )
|
||||
final List<Tag> tags;
|
||||
/* pet status in the store */
|
||||
@Alias('status', isNullable: false)
|
||||
@Alias('status', isNullable: false,
|
||||
processor: const StringFieldProcessor(),
|
||||
)
|
||||
final String status;
|
||||
//enum statusEnum { available, pending, sold, };
|
||||
|
||||
|
@ -5,10 +5,10 @@ part 'tag.jser.dart';
|
||||
|
||||
class Tag {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('name', isNullable: false)
|
||||
@Alias('name', isNullable: false, )
|
||||
final String name;
|
||||
|
||||
|
||||
|
@ -5,28 +5,28 @@ part 'user.jser.dart';
|
||||
|
||||
class User {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('username', isNullable: false)
|
||||
@Alias('username', isNullable: false, )
|
||||
final String username;
|
||||
|
||||
@Alias('firstName', isNullable: false)
|
||||
@Alias('firstName', isNullable: false, )
|
||||
final String firstName;
|
||||
|
||||
@Alias('lastName', isNullable: false)
|
||||
@Alias('lastName', isNullable: false, )
|
||||
final String lastName;
|
||||
|
||||
@Alias('email', isNullable: false)
|
||||
@Alias('email', isNullable: false, )
|
||||
final String email;
|
||||
|
||||
@Alias('password', isNullable: false)
|
||||
@Alias('password', isNullable: false, )
|
||||
final String password;
|
||||
|
||||
@Alias('phone', isNullable: false)
|
||||
@Alias('phone', isNullable: false, )
|
||||
final String phone;
|
||||
/* User Status */
|
||||
@Alias('userStatus', isNullable: false)
|
||||
@Alias('userStatus', isNullable: false, )
|
||||
final int userStatus;
|
||||
|
||||
|
||||
|
@ -1 +1 @@
|
||||
4.1.2-SNAPSHOT
|
||||
4.1.2-SNAPSHOT
|
||||
|
@ -5,13 +5,13 @@ part 'api_response.jser.dart';
|
||||
|
||||
class ApiResponse {
|
||||
|
||||
@Alias('code', isNullable: false)
|
||||
@Alias('code', isNullable: false, )
|
||||
final int code;
|
||||
|
||||
@Alias('type', isNullable: false)
|
||||
@Alias('type', isNullable: false, )
|
||||
final String type;
|
||||
|
||||
@Alias('message', isNullable: false)
|
||||
@Alias('message', isNullable: false, )
|
||||
final String message;
|
||||
|
||||
|
||||
|
@ -5,10 +5,10 @@ part 'category.jser.dart';
|
||||
|
||||
class Category {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('name', isNullable: false)
|
||||
@Alias('name', isNullable: false, )
|
||||
final String name;
|
||||
|
||||
|
||||
|
@ -5,22 +5,24 @@ part 'order.jser.dart';
|
||||
|
||||
class Order {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('petId', isNullable: false)
|
||||
@Alias('petId', isNullable: false, )
|
||||
final int petId;
|
||||
|
||||
@Alias('quantity', isNullable: false)
|
||||
@Alias('quantity', isNullable: false, )
|
||||
final int quantity;
|
||||
|
||||
@Alias('shipDate', isNullable: false)
|
||||
@Alias('shipDate', isNullable: false, )
|
||||
final DateTime shipDate;
|
||||
/* Order Status */
|
||||
@Alias('status', isNullable: false)
|
||||
@Alias('status', isNullable: false,
|
||||
|
||||
)
|
||||
final String status;
|
||||
//enum statusEnum { placed, approved, delivered, };
|
||||
@Alias('complete', isNullable: false)
|
||||
@Alias('complete', isNullable: false, )
|
||||
final bool complete;
|
||||
|
||||
|
||||
|
@ -9,22 +9,24 @@ part 'pet.jser.dart';
|
||||
|
||||
class Pet {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('category', isNullable: false)
|
||||
@Alias('category', isNullable: false, )
|
||||
final Category category;
|
||||
|
||||
@Alias('name', isNullable: false)
|
||||
@Alias('name', isNullable: false, )
|
||||
final String name;
|
||||
|
||||
@Alias('photoUrls', isNullable: false)
|
||||
@Alias('photoUrls', isNullable: false, )
|
||||
final List<String> photoUrls;
|
||||
|
||||
@Alias('tags', isNullable: false)
|
||||
@Alias('tags', isNullable: false, )
|
||||
final List<Tag> tags;
|
||||
/* pet status in the store */
|
||||
@Alias('status', isNullable: false)
|
||||
@Alias('status', isNullable: false,
|
||||
|
||||
)
|
||||
final String status;
|
||||
//enum statusEnum { available, pending, sold, };
|
||||
|
||||
|
@ -5,10 +5,10 @@ part 'tag.jser.dart';
|
||||
|
||||
class Tag {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('name', isNullable: false)
|
||||
@Alias('name', isNullable: false, )
|
||||
final String name;
|
||||
|
||||
|
||||
|
@ -5,28 +5,28 @@ part 'user.jser.dart';
|
||||
|
||||
class User {
|
||||
|
||||
@Alias('id', isNullable: false)
|
||||
@Alias('id', isNullable: false, )
|
||||
final int id;
|
||||
|
||||
@Alias('username', isNullable: false)
|
||||
@Alias('username', isNullable: false, )
|
||||
final String username;
|
||||
|
||||
@Alias('firstName', isNullable: false)
|
||||
@Alias('firstName', isNullable: false, )
|
||||
final String firstName;
|
||||
|
||||
@Alias('lastName', isNullable: false)
|
||||
@Alias('lastName', isNullable: false, )
|
||||
final String lastName;
|
||||
|
||||
@Alias('email', isNullable: false)
|
||||
@Alias('email', isNullable: false, )
|
||||
final String email;
|
||||
|
||||
@Alias('password', isNullable: false)
|
||||
@Alias('password', isNullable: false, )
|
||||
final String password;
|
||||
|
||||
@Alias('phone', isNullable: false)
|
||||
@Alias('phone', isNullable: false, )
|
||||
final String phone;
|
||||
/* User Status */
|
||||
@Alias('userStatus', isNullable: false)
|
||||
@Alias('userStatus', isNullable: false, )
|
||||
final int userStatus;
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user