diff --git a/docs/generators/dart-dio.md b/docs/generators/dart-dio.md index ffff1394c42..ebbc40b5430 100644 --- a/docs/generators/dart-dio.md +++ b/docs/generators/dart-dio.md @@ -12,7 +12,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |disallowAdditionalPropertiesIfNotPresent|If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.|
**false**
The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.
**true**
Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.
|true| |ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true| |legacyDiscriminatorBehavior|Set to true for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default).|
**true**
The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.
**false**
The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.
|true| -|nullableFields|Is the null fields should be in the JSON payload| |null| +|nullableFields|Make all fields nullable in the JSON payload| |null| |prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false| |pubAuthor|Author name in generated pubspec| |null| |pubAuthorEmail|Email address of the author in generated pubspec| |null| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioClientCodegen.java index 66be8bc4184..ef2f04a6a64 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/DartDioClientCodegen.java @@ -40,7 +40,7 @@ public class DartDioClientCodegen extends DartClientCodegen { private static final String CLIENT_NAME = "clientName"; - private boolean nullableFields = true; + private boolean nullableFields = false; private String dateLibrary = "core"; public DartDioClientCodegen() { @@ -49,7 +49,7 @@ public class DartDioClientCodegen extends DartClientCodegen { embeddedTemplateDir = "dart-dio"; this.setTemplateDir(embeddedTemplateDir); - cliOptions.add(new CliOption(NULLABLE_FIELDS, "Is the null fields should be in the JSON payload")); + cliOptions.add(new CliOption(NULLABLE_FIELDS, "Make all fields nullable in the JSON payload")); CliOption dateLibrary = new CliOption(DATE_LIBRARY, "Option. Date library to use").defaultValue(this.getDateLibrary()); Map dateOptions = new HashMap<>(); dateOptions.put("core", "Dart core library (DateTime)"); @@ -284,6 +284,34 @@ public class DartDioClientCodegen extends DartClientCodegen { // enums are generated with built_value and make use of BuiltSet model.imports.add("BuiltSet"); } + + property.getVendorExtensions().put("x-built-value-serializer-type", createBuiltValueSerializerType(property)); + } + + private String createBuiltValueSerializerType(CodegenProperty property) { + final StringBuilder sb = new StringBuilder("const FullType("); + if (property.isContainer) { + appendCollection(sb, property); + } else { + sb.append(property.datatypeWithEnum); + } + sb.append(")"); + return sb.toString(); + } + + private void appendCollection(StringBuilder sb, CodegenProperty property) { + sb.append(property.baseType); + sb.append(", [FullType("); + if (property.isMap) { + // a map always has string keys + sb.append("String), FullType("); + } + if (property.items.isContainer) { + appendCollection(sb, property.items); + } else { + sb.append(property.items.datatypeWithEnum); + } + sb.append(")]"); } @Override diff --git a/modules/openapi-generator/src/main/resources/dart-dio/class.mustache b/modules/openapi-generator/src/main/resources/dart-dio/class.mustache index 02ac659904a..0fce16365a3 100644 --- a/modules/openapi-generator/src/main/resources/dart-dio/class.mustache +++ b/modules/openapi-generator/src/main/resources/dart-dio/class.mustache @@ -9,9 +9,20 @@ abstract class {{classname}} implements Built<{{classname}}, {{classname}}Builde {{#description}} /// {{{description}}} {{/description}} + {{! + A field is @nullable in built_value when it is + nullable || (!required && !defaultValue) in OAS + }} {{#isNullable}} @nullable {{/isNullable}} + {{^isNullable}} + {{^required}} + {{^defaultValue}} + @nullable + {{/defaultValue}} + {{/required}} + {{/isNullable}} @BuiltValueField(wireName: r'{{baseName}}') {{{datatypeWithEnum}}} get {{name}}; {{#allowableValues}} @@ -19,14 +30,89 @@ abstract class {{classname}} implements Built<{{classname}}, {{classname}}Builde {{/allowableValues}} {{/vars}} - // Boilerplate code needed to wire-up generated code {{classname}}._(); static void _initializeBuilder({{{classname}}}Builder b) => b{{#vars}}{{#defaultValue}} ..{{{name}}} = {{#isEnum}}{{^isContainer}}const {{{enumName}}}._({{/isContainer}}{{/isEnum}}{{{defaultValue}}}{{#isEnum}}{{^isContainer}}){{/isContainer}}{{/isEnum}}{{/defaultValue}}{{/vars}}; factory {{classname}}([void updates({{classname}}Builder b)]) = _${{classname}}; - static Serializer<{{classname}}> get serializer => _${{#lambda.camelcase}}{{{classname}}}{{/lambda.camelcase}}Serializer; + + @BuiltValueSerializer(custom: true) + static Serializer<{{classname}}> get serializer => _${{classname}}Serializer(); +} + +{{! + Generate a custom serializer in order to support combinations of required and nullable. + By default built_value does not serialize null fields. +}} +class _${{classname}}Serializer implements StructuredSerializer<{{classname}}> { + + @override + final Iterable types = const [{{classname}}, _${{classname}}]; + @override + final String wireName = r'{{classname}}'; + + @override + Iterable serialize(Serializers serializers, {{{classname}}} object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + {{#vars}} + {{#required}} + {{! + A required property need to always be part of the serialized output. + When it is nullable, null is serialized, otherwise it is an error if it is null. + }} + result + ..add(r'{{baseName}}') + ..add({{#isNullable}}object.{{{name}}} == null ? null : {{/isNullable}}serializers.serialize(object.{{{name}}}, + specifiedType: {{{vendorExtensions.x-built-value-serializer-type}}})); + {{/required}} + {{^required}} + if (object.{{{name}}} != null) { + {{! Non-required properties are only serialized if not null. }} + result + ..add(r'{{baseName}}') + ..add(serializers.serialize(object.{{{name}}}, + specifiedType: {{{vendorExtensions.x-built-value-serializer-type}}})); + } + {{/required}} + {{/vars}} + return result; + } + + @override + {{classname}} deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = {{classname}}Builder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + {{#vars}} + case r'{{baseName}}': + {{#isContainer}} + result.{{{name}}}.replace(serializers.deserialize(value, + specifiedType: {{{vendorExtensions.x-built-value-serializer-type}}}) as {{{datatypeWithEnum}}}); + {{/isContainer}} + {{#isModel}} + result.{{{name}}}.replace(serializers.deserialize(value, + specifiedType: {{{vendorExtensions.x-built-value-serializer-type}}}) as {{{datatypeWithEnum}}}); + {{/isModel}} + {{^isContainer}} + {{^isModel}} + result.{{{name}}} = serializers.deserialize(value, + specifiedType: {{{vendorExtensions.x-built-value-serializer-type}}}) as {{{datatypeWithEnum}}}; + {{/isModel}} + {{/isContainer}} + break; + {{/vars}} + } + } + return result.build(); + } } {{! Generate an enum for any variables that are declared as inline enums diff --git a/modules/openapi-generator/src/main/resources/dart-dio/model_test.mustache b/modules/openapi-generator/src/main/resources/dart-dio/model_test.mustache index 0afdb340155..73a2ef0b7a6 100644 --- a/modules/openapi-generator/src/main/resources/dart-dio/model_test.mustache +++ b/modules/openapi-generator/src/main/resources/dart-dio/model_test.mustache @@ -6,7 +6,9 @@ import 'package:test/test.dart'; // tests for {{{classname}}} void main() { {{^isEnum}} - final instance = {{{classname}}}(); + {{! Due to required vars without default value we can not create a full instance here }} + final instance = {{{classname}}}Builder(); + // TODO add properties to the builder and call build() {{/isEnum}} group({{{classname}}}, () { diff --git a/modules/openapi-generator/src/main/resources/dart2/class.mustache b/modules/openapi-generator/src/main/resources/dart2/class.mustache index 325a9995f51..211b1f45b19 100644 --- a/modules/openapi-generator/src/main/resources/dart2/class.mustache +++ b/modules/openapi-generator/src/main/resources/dart2/class.mustache @@ -2,7 +2,11 @@ class {{{classname}}} { /// Returns a new [{{{classname}}}] instance. {{{classname}}}({ {{#vars}} - {{#required}}{{^defaultValue}}@required {{/defaultValue}}{{/required}}this.{{{name}}}{{^isNullable}}{{#defaultValue}} = {{#isEnum}}{{^isContainer}}const {{{enumName}}}._({{/isContainer}}{{/isEnum}}{{{defaultValue}}}{{#isEnum}}{{^isContainer}}){{/isContainer}}{{/isEnum}}{{/defaultValue}}{{/isNullable}}, + {{! + A field is @required in Dart when it is + required && !nullable && !defaultValue in OAS + }} + {{#required}}{{^isNullable}}{{^defaultValue}}@required {{/defaultValue}}{{/isNullable}}{{/required}}this.{{{name}}}{{^isNullable}}{{#defaultValue}} = {{#isEnum}}{{^isContainer}}const {{{enumName}}}._({{/isContainer}}{{/isEnum}}{{{defaultValue}}}{{#isEnum}}{{^isContainer}}){{/isContainer}}{{/isEnum}}{{/defaultValue}}{{/isNullable}}, {{/vars}} }); @@ -39,33 +43,37 @@ class {{{classname}}} { Map toJson() { final json = {}; {{#vars}} + {{^required}} if ({{{name}}} != null) { + {{/required}} {{#isDateTime}} {{#pattern}} - json[r'{{{baseName}}}'] = _dateEpochMarker == '{{{pattern}}}' + json[r'{{{baseName}}}'] = {{#required}}{{#isNullable}}{{{name}}} == null ? null : {{/isNullable}}{{/required}}_dateEpochMarker == '{{{pattern}}}' ? {{{name}}}.millisecondsSinceEpoch : {{{name}}}.toUtc().toIso8601String(); {{/pattern}} {{^pattern}} - json[r'{{{baseName}}}'] = {{{name}}}.toUtc().toIso8601String(); + json[r'{{{baseName}}}'] = {{#required}}{{#isNullable}}{{{name}}} == null ? null : {{/isNullable}}{{/required}}{{{name}}}.toUtc().toIso8601String(); {{/pattern}} {{/isDateTime}} {{#isDate}} {{#pattern}} - json[r'{{{baseName}}}'] = _dateEpochMarker == '{{{pattern}}}' + json[r'{{{baseName}}}'] = {{#required}}{{#isNullable}}{{{name}}} == null ? null : {{/isNullable}}{{/required}}_dateEpochMarker == '{{{pattern}}}' ? {{{name}}}.millisecondsSinceEpoch : _dateFormatter.format({{{name}}}.toUtc()); {{/pattern}} {{^pattern}} - json[r'{{{baseName}}}'] = _dateFormatter.format({{{name}}}.toUtc()); + json[r'{{{baseName}}}'] = {{#required}}{{#isNullable}}{{{name}}} == null ? null : {{/isNullable}}{{/required}}_dateFormatter.format({{{name}}}.toUtc()); {{/pattern}} {{/isDate}} {{^isDateTime}} {{^isDate}} - json[r'{{{baseName}}}'] = {{{name}}}; + json[r'{{{baseName}}}'] = {{#required}}{{#isNullable}}{{{name}}} == null ? null : {{/isNullable}}{{/required}}{{{name}}}; {{/isDate}} {{/isDateTime}} + {{^required}} } + {{/required}} {{/vars}} return json; } diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/api_response.dart b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/api_response.dart index 71e4a87d963..d1b4f0f3800 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/api_response.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/api_response.dart @@ -24,12 +24,74 @@ abstract class ApiResponse implements Built { @BuiltValueField(wireName: r'message') String get message; - // Boilerplate code needed to wire-up generated code ApiResponse._(); static void _initializeBuilder(ApiResponseBuilder b) => b; factory ApiResponse([void updates(ApiResponseBuilder b)]) = _$ApiResponse; - static Serializer get serializer => _$apiResponseSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ApiResponseSerializer(); +} + +class _$ApiResponseSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ApiResponse, _$ApiResponse]; + @override + final String wireName = r'ApiResponse'; + + @override + Iterable serialize(Serializers serializers, ApiResponse object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.code != null) { + result + ..add(r'code') + ..add(serializers.serialize(object.code, + specifiedType: const FullType(int))); + } + if (object.type != null) { + result + ..add(r'type') + ..add(serializers.serialize(object.type, + specifiedType: const FullType(String))); + } + if (object.message != null) { + result + ..add(r'message') + ..add(serializers.serialize(object.message, + specifiedType: const FullType(String))); + } + return result; + } + + @override + ApiResponse deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ApiResponseBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'code': + result.code = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'type': + result.type = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'message': + result.message = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/category.dart b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/category.dart index 4e47dcd7f67..ddf1cf619b5 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/category.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/category.dart @@ -20,12 +20,64 @@ abstract class Category implements Built { @BuiltValueField(wireName: r'name') String get name; - // Boilerplate code needed to wire-up generated code Category._(); static void _initializeBuilder(CategoryBuilder b) => b; factory Category([void updates(CategoryBuilder b)]) = _$Category; - static Serializer get serializer => _$categorySerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$CategorySerializer(); +} + +class _$CategorySerializer implements StructuredSerializer { + + @override + final Iterable types = const [Category, _$Category]; + @override + final String wireName = r'Category'; + + @override + Iterable serialize(Serializers serializers, Category object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.name != null) { + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Category deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = CategoryBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/order.dart b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/order.dart index dbb8eae93a7..a599897e937 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/order.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/order.dart @@ -35,18 +35,109 @@ abstract class Order implements Built { OrderStatusEnum get status; // enum statusEnum { placed, approved, delivered, }; - @nullable @BuiltValueField(wireName: r'complete') bool get complete; - // Boilerplate code needed to wire-up generated code Order._(); static void _initializeBuilder(OrderBuilder b) => b ..complete = false; factory Order([void updates(OrderBuilder b)]) = _$Order; - static Serializer get serializer => _$orderSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$OrderSerializer(); +} + +class _$OrderSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Order, _$Order]; + @override + final String wireName = r'Order'; + + @override + Iterable serialize(Serializers serializers, Order object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.petId != null) { + result + ..add(r'petId') + ..add(serializers.serialize(object.petId, + specifiedType: const FullType(int))); + } + if (object.quantity != null) { + result + ..add(r'quantity') + ..add(serializers.serialize(object.quantity, + specifiedType: const FullType(int))); + } + if (object.shipDate != null) { + result + ..add(r'shipDate') + ..add(serializers.serialize(object.shipDate, + specifiedType: const FullType(DateTime))); + } + if (object.status != null) { + result + ..add(r'status') + ..add(serializers.serialize(object.status, + specifiedType: const FullType(OrderStatusEnum))); + } + if (object.complete != null) { + result + ..add(r'complete') + ..add(serializers.serialize(object.complete, + specifiedType: const FullType(bool))); + } + return result; + } + + @override + Order deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = OrderBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'petId': + result.petId = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'quantity': + result.quantity = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'shipDate': + result.shipDate = serializers.deserialize(value, + specifiedType: const FullType(DateTime)) as DateTime; + break; + case r'status': + result.status = serializers.deserialize(value, + specifiedType: const FullType(OrderStatusEnum)) as OrderStatusEnum; + break; + case r'complete': + result.complete = serializers.deserialize(value, + specifiedType: const FullType(bool)) as bool; + break; + } + } + return result.build(); + } } class OrderStatusEnum extends EnumClass { diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/pet.dart b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/pet.dart index c59036a4957..e18fe54222c 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/pet.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/pet.dart @@ -23,11 +23,9 @@ abstract class Pet implements Built { @BuiltValueField(wireName: r'category') Category get category; - @nullable @BuiltValueField(wireName: r'name') String get name; - @nullable @BuiltValueField(wireName: r'photoUrls') BuiltList get photoUrls; @@ -41,13 +39,101 @@ abstract class Pet implements Built { PetStatusEnum get status; // enum statusEnum { available, pending, sold, }; - // Boilerplate code needed to wire-up generated code Pet._(); static void _initializeBuilder(PetBuilder b) => b; factory Pet([void updates(PetBuilder b)]) = _$Pet; - static Serializer get serializer => _$petSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$PetSerializer(); +} + +class _$PetSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Pet, _$Pet]; + @override + final String wireName = r'Pet'; + + @override + Iterable serialize(Serializers serializers, Pet object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.category != null) { + result + ..add(r'category') + ..add(serializers.serialize(object.category, + specifiedType: const FullType(Category))); + } + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + result + ..add(r'photoUrls') + ..add(serializers.serialize(object.photoUrls, + specifiedType: const FullType(BuiltList, [FullType(String)]))); + if (object.tags != null) { + result + ..add(r'tags') + ..add(serializers.serialize(object.tags, + specifiedType: const FullType(BuiltList, [FullType(Tag)]))); + } + if (object.status != null) { + result + ..add(r'status') + ..add(serializers.serialize(object.status, + specifiedType: const FullType(PetStatusEnum))); + } + return result; + } + + @override + Pet deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = PetBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'category': + result.category.replace(serializers.deserialize(value, + specifiedType: const FullType(Category)) as Category); + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'photoUrls': + result.photoUrls.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(String)])) as BuiltList); + break; + case r'tags': + result.tags.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(Tag)])) as BuiltList); + break; + case r'status': + result.status = serializers.deserialize(value, + specifiedType: const FullType(PetStatusEnum)) as PetStatusEnum; + break; + } + } + return result.build(); + } } class PetStatusEnum extends EnumClass { diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/tag.dart b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/tag.dart index 853bbc85753..d612fdd0024 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/tag.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/tag.dart @@ -20,12 +20,64 @@ abstract class Tag implements Built { @BuiltValueField(wireName: r'name') String get name; - // Boilerplate code needed to wire-up generated code Tag._(); static void _initializeBuilder(TagBuilder b) => b; factory Tag([void updates(TagBuilder b)]) = _$Tag; - static Serializer get serializer => _$tagSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$TagSerializer(); +} + +class _$TagSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Tag, _$Tag]; + @override + final String wireName = r'Tag'; + + @override + Iterable serialize(Serializers serializers, Tag object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.name != null) { + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Tag deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = TagBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/user.dart b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/user.dart index 93b71f38337..a13b71072c2 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/user.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/lib/model/user.dart @@ -45,12 +45,124 @@ abstract class User implements Built { @BuiltValueField(wireName: r'userStatus') int get userStatus; - // Boilerplate code needed to wire-up generated code User._(); static void _initializeBuilder(UserBuilder b) => b; factory User([void updates(UserBuilder b)]) = _$User; - static Serializer get serializer => _$userSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$UserSerializer(); +} + +class _$UserSerializer implements StructuredSerializer { + + @override + final Iterable types = const [User, _$User]; + @override + final String wireName = r'User'; + + @override + Iterable serialize(Serializers serializers, User object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.username != null) { + result + ..add(r'username') + ..add(serializers.serialize(object.username, + specifiedType: const FullType(String))); + } + if (object.firstName != null) { + result + ..add(r'firstName') + ..add(serializers.serialize(object.firstName, + specifiedType: const FullType(String))); + } + if (object.lastName != null) { + result + ..add(r'lastName') + ..add(serializers.serialize(object.lastName, + specifiedType: const FullType(String))); + } + if (object.email != null) { + result + ..add(r'email') + ..add(serializers.serialize(object.email, + specifiedType: const FullType(String))); + } + if (object.password != null) { + result + ..add(r'password') + ..add(serializers.serialize(object.password, + specifiedType: const FullType(String))); + } + if (object.phone != null) { + result + ..add(r'phone') + ..add(serializers.serialize(object.phone, + specifiedType: const FullType(String))); + } + if (object.userStatus != null) { + result + ..add(r'userStatus') + ..add(serializers.serialize(object.userStatus, + specifiedType: const FullType(int))); + } + return result; + } + + @override + User deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = UserBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'username': + result.username = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'firstName': + result.firstName = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'lastName': + result.lastName = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'email': + result.email = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'password': + result.password = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'phone': + result.phone = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'userStatus': + result.userStatus = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + } + } + return result.build(); + } } diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/test/api_response_test.dart b/samples/client/petstore/dart-dio/petstore_client_lib/test/api_response_test.dart index 39d3ffc2941..cb3253820b5 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/test/api_response_test.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/test/api_response_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ApiResponse void main() { - final instance = ApiResponse(); + final instance = ApiResponseBuilder(); + // TODO add properties to the builder and call build() group(ApiResponse, () { // int code diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/test/category_test.dart b/samples/client/petstore/dart-dio/petstore_client_lib/test/category_test.dart index cf8f893d513..efe01d9b3cb 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/test/category_test.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/test/category_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Category void main() { - final instance = Category(); + final instance = CategoryBuilder(); + // TODO add properties to the builder and call build() group(Category, () { // int id diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/test/order_test.dart b/samples/client/petstore/dart-dio/petstore_client_lib/test/order_test.dart index 25b2cc396f3..0b063de2de5 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/test/order_test.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/test/order_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Order void main() { - final instance = Order(); + final instance = OrderBuilder(); + // TODO add properties to the builder and call build() group(Order, () { // int id diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/test/pet_test.dart b/samples/client/petstore/dart-dio/petstore_client_lib/test/pet_test.dart index 9d5b6e4dd4a..bce1534977e 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/test/pet_test.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/test/pet_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Pet void main() { - final instance = Pet(); + final instance = PetBuilder(); + // TODO add properties to the builder and call build() group(Pet, () { // int id diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/test/tag_test.dart b/samples/client/petstore/dart-dio/petstore_client_lib/test/tag_test.dart index 0dbda6e4986..867b246921c 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/test/tag_test.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/test/tag_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Tag void main() { - final instance = Tag(); + final instance = TagBuilder(); + // TODO add properties to the builder and call build() group(Tag, () { // int id diff --git a/samples/client/petstore/dart-dio/petstore_client_lib/test/user_test.dart b/samples/client/petstore/dart-dio/petstore_client_lib/test/user_test.dart index 09e720b625c..01a3b6f07de 100644 --- a/samples/client/petstore/dart-dio/petstore_client_lib/test/user_test.dart +++ b/samples/client/petstore/dart-dio/petstore_client_lib/test/user_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for User void main() { - final instance = User(); + final instance = UserBuilder(); + // TODO add properties to the builder and call build() group(User, () { // int id diff --git a/samples/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart b/samples/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart index edb8930c11d..ee8c7615986 100644 --- a/samples/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart +++ b/samples/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart @@ -62,12 +62,8 @@ class Pet { if (category != null) { json[r'category'] = category; } - if (name != null) { json[r'name'] = name; - } - if (photoUrls != null) { json[r'photoUrls'] = photoUrls; - } if (tags != null) { json[r'tags'] = tags; } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/api_response.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/api_response.dart index 71e4a87d963..d1b4f0f3800 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/api_response.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/api_response.dart @@ -24,12 +24,74 @@ abstract class ApiResponse implements Built { @BuiltValueField(wireName: r'message') String get message; - // Boilerplate code needed to wire-up generated code ApiResponse._(); static void _initializeBuilder(ApiResponseBuilder b) => b; factory ApiResponse([void updates(ApiResponseBuilder b)]) = _$ApiResponse; - static Serializer get serializer => _$apiResponseSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ApiResponseSerializer(); +} + +class _$ApiResponseSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ApiResponse, _$ApiResponse]; + @override + final String wireName = r'ApiResponse'; + + @override + Iterable serialize(Serializers serializers, ApiResponse object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.code != null) { + result + ..add(r'code') + ..add(serializers.serialize(object.code, + specifiedType: const FullType(int))); + } + if (object.type != null) { + result + ..add(r'type') + ..add(serializers.serialize(object.type, + specifiedType: const FullType(String))); + } + if (object.message != null) { + result + ..add(r'message') + ..add(serializers.serialize(object.message, + specifiedType: const FullType(String))); + } + return result; + } + + @override + ApiResponse deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ApiResponseBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'code': + result.code = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'type': + result.type = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'message': + result.message = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/category.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/category.dart index 4e47dcd7f67..ddf1cf619b5 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/category.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/category.dart @@ -20,12 +20,64 @@ abstract class Category implements Built { @BuiltValueField(wireName: r'name') String get name; - // Boilerplate code needed to wire-up generated code Category._(); static void _initializeBuilder(CategoryBuilder b) => b; factory Category([void updates(CategoryBuilder b)]) = _$Category; - static Serializer get serializer => _$categorySerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$CategorySerializer(); +} + +class _$CategorySerializer implements StructuredSerializer { + + @override + final Iterable types = const [Category, _$Category]; + @override + final String wireName = r'Category'; + + @override + Iterable serialize(Serializers serializers, Category object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.name != null) { + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Category deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = CategoryBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/order.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/order.dart index dbb8eae93a7..a599897e937 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/order.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/order.dart @@ -35,18 +35,109 @@ abstract class Order implements Built { OrderStatusEnum get status; // enum statusEnum { placed, approved, delivered, }; - @nullable @BuiltValueField(wireName: r'complete') bool get complete; - // Boilerplate code needed to wire-up generated code Order._(); static void _initializeBuilder(OrderBuilder b) => b ..complete = false; factory Order([void updates(OrderBuilder b)]) = _$Order; - static Serializer get serializer => _$orderSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$OrderSerializer(); +} + +class _$OrderSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Order, _$Order]; + @override + final String wireName = r'Order'; + + @override + Iterable serialize(Serializers serializers, Order object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.petId != null) { + result + ..add(r'petId') + ..add(serializers.serialize(object.petId, + specifiedType: const FullType(int))); + } + if (object.quantity != null) { + result + ..add(r'quantity') + ..add(serializers.serialize(object.quantity, + specifiedType: const FullType(int))); + } + if (object.shipDate != null) { + result + ..add(r'shipDate') + ..add(serializers.serialize(object.shipDate, + specifiedType: const FullType(DateTime))); + } + if (object.status != null) { + result + ..add(r'status') + ..add(serializers.serialize(object.status, + specifiedType: const FullType(OrderStatusEnum))); + } + if (object.complete != null) { + result + ..add(r'complete') + ..add(serializers.serialize(object.complete, + specifiedType: const FullType(bool))); + } + return result; + } + + @override + Order deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = OrderBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'petId': + result.petId = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'quantity': + result.quantity = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'shipDate': + result.shipDate = serializers.deserialize(value, + specifiedType: const FullType(DateTime)) as DateTime; + break; + case r'status': + result.status = serializers.deserialize(value, + specifiedType: const FullType(OrderStatusEnum)) as OrderStatusEnum; + break; + case r'complete': + result.complete = serializers.deserialize(value, + specifiedType: const FullType(bool)) as bool; + break; + } + } + return result.build(); + } } class OrderStatusEnum extends EnumClass { diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/pet.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/pet.dart index c59036a4957..e18fe54222c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/pet.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/pet.dart @@ -23,11 +23,9 @@ abstract class Pet implements Built { @BuiltValueField(wireName: r'category') Category get category; - @nullable @BuiltValueField(wireName: r'name') String get name; - @nullable @BuiltValueField(wireName: r'photoUrls') BuiltList get photoUrls; @@ -41,13 +39,101 @@ abstract class Pet implements Built { PetStatusEnum get status; // enum statusEnum { available, pending, sold, }; - // Boilerplate code needed to wire-up generated code Pet._(); static void _initializeBuilder(PetBuilder b) => b; factory Pet([void updates(PetBuilder b)]) = _$Pet; - static Serializer get serializer => _$petSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$PetSerializer(); +} + +class _$PetSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Pet, _$Pet]; + @override + final String wireName = r'Pet'; + + @override + Iterable serialize(Serializers serializers, Pet object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.category != null) { + result + ..add(r'category') + ..add(serializers.serialize(object.category, + specifiedType: const FullType(Category))); + } + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + result + ..add(r'photoUrls') + ..add(serializers.serialize(object.photoUrls, + specifiedType: const FullType(BuiltList, [FullType(String)]))); + if (object.tags != null) { + result + ..add(r'tags') + ..add(serializers.serialize(object.tags, + specifiedType: const FullType(BuiltList, [FullType(Tag)]))); + } + if (object.status != null) { + result + ..add(r'status') + ..add(serializers.serialize(object.status, + specifiedType: const FullType(PetStatusEnum))); + } + return result; + } + + @override + Pet deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = PetBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'category': + result.category.replace(serializers.deserialize(value, + specifiedType: const FullType(Category)) as Category); + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'photoUrls': + result.photoUrls.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(String)])) as BuiltList); + break; + case r'tags': + result.tags.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(Tag)])) as BuiltList); + break; + case r'status': + result.status = serializers.deserialize(value, + specifiedType: const FullType(PetStatusEnum)) as PetStatusEnum; + break; + } + } + return result.build(); + } } class PetStatusEnum extends EnumClass { diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/tag.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/tag.dart index 853bbc85753..d612fdd0024 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/tag.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/tag.dart @@ -20,12 +20,64 @@ abstract class Tag implements Built { @BuiltValueField(wireName: r'name') String get name; - // Boilerplate code needed to wire-up generated code Tag._(); static void _initializeBuilder(TagBuilder b) => b; factory Tag([void updates(TagBuilder b)]) = _$Tag; - static Serializer get serializer => _$tagSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$TagSerializer(); +} + +class _$TagSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Tag, _$Tag]; + @override + final String wireName = r'Tag'; + + @override + Iterable serialize(Serializers serializers, Tag object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.name != null) { + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Tag deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = TagBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/user.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/user.dart index 93b71f38337..a13b71072c2 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/user.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/lib/model/user.dart @@ -45,12 +45,124 @@ abstract class User implements Built { @BuiltValueField(wireName: r'userStatus') int get userStatus; - // Boilerplate code needed to wire-up generated code User._(); static void _initializeBuilder(UserBuilder b) => b; factory User([void updates(UserBuilder b)]) = _$User; - static Serializer get serializer => _$userSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$UserSerializer(); +} + +class _$UserSerializer implements StructuredSerializer { + + @override + final Iterable types = const [User, _$User]; + @override + final String wireName = r'User'; + + @override + Iterable serialize(Serializers serializers, User object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.username != null) { + result + ..add(r'username') + ..add(serializers.serialize(object.username, + specifiedType: const FullType(String))); + } + if (object.firstName != null) { + result + ..add(r'firstName') + ..add(serializers.serialize(object.firstName, + specifiedType: const FullType(String))); + } + if (object.lastName != null) { + result + ..add(r'lastName') + ..add(serializers.serialize(object.lastName, + specifiedType: const FullType(String))); + } + if (object.email != null) { + result + ..add(r'email') + ..add(serializers.serialize(object.email, + specifiedType: const FullType(String))); + } + if (object.password != null) { + result + ..add(r'password') + ..add(serializers.serialize(object.password, + specifiedType: const FullType(String))); + } + if (object.phone != null) { + result + ..add(r'phone') + ..add(serializers.serialize(object.phone, + specifiedType: const FullType(String))); + } + if (object.userStatus != null) { + result + ..add(r'userStatus') + ..add(serializers.serialize(object.userStatus, + specifiedType: const FullType(int))); + } + return result; + } + + @override + User deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = UserBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'username': + result.username = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'firstName': + result.firstName = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'lastName': + result.lastName = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'email': + result.email = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'password': + result.password = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'phone': + result.phone = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'userStatus': + result.userStatus = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/api_response_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/api_response_test.dart index 39d3ffc2941..cb3253820b5 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/api_response_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/api_response_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ApiResponse void main() { - final instance = ApiResponse(); + final instance = ApiResponseBuilder(); + // TODO add properties to the builder and call build() group(ApiResponse, () { // int code diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/category_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/category_test.dart index cf8f893d513..efe01d9b3cb 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/category_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/category_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Category void main() { - final instance = Category(); + final instance = CategoryBuilder(); + // TODO add properties to the builder and call build() group(Category, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/order_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/order_test.dart index 25b2cc396f3..0b063de2de5 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/order_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/order_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Order void main() { - final instance = Order(); + final instance = OrderBuilder(); + // TODO add properties to the builder and call build() group(Order, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/pet_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/pet_test.dart index 9d5b6e4dd4a..bce1534977e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/pet_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/pet_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Pet void main() { - final instance = Pet(); + final instance = PetBuilder(); + // TODO add properties to the builder and call build() group(Pet, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/tag_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/tag_test.dart index 0dbda6e4986..867b246921c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/tag_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/tag_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Tag void main() { - final instance = Tag(); + final instance = TagBuilder(); + // TODO add properties to the builder and call build() group(Tag, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/user_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/user_test.dart index 09e720b625c..01a3b6f07de 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/user_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib/test/user_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for User void main() { - final instance = User(); + final instance = UserBuilder(); + // TODO add properties to the builder and call build() group(User, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/additional_properties_class.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/additional_properties_class.dart index 70bd6bc1100..c453e37f171 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/additional_properties_class.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/additional_properties_class.dart @@ -21,12 +21,64 @@ abstract class AdditionalPropertiesClass implements Built> get mapOfMapProperty; - // Boilerplate code needed to wire-up generated code AdditionalPropertiesClass._(); static void _initializeBuilder(AdditionalPropertiesClassBuilder b) => b; factory AdditionalPropertiesClass([void updates(AdditionalPropertiesClassBuilder b)]) = _$AdditionalPropertiesClass; - static Serializer get serializer => _$additionalPropertiesClassSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$AdditionalPropertiesClassSerializer(); +} + +class _$AdditionalPropertiesClassSerializer implements StructuredSerializer { + + @override + final Iterable types = const [AdditionalPropertiesClass, _$AdditionalPropertiesClass]; + @override + final String wireName = r'AdditionalPropertiesClass'; + + @override + Iterable serialize(Serializers serializers, AdditionalPropertiesClass object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.mapProperty != null) { + result + ..add(r'map_property') + ..add(serializers.serialize(object.mapProperty, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(String)]))); + } + if (object.mapOfMapProperty != null) { + result + ..add(r'map_of_map_property') + ..add(serializers.serialize(object.mapOfMapProperty, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(BuiltMap, [FullType(String), FullType(String)])]))); + } + return result; + } + + @override + AdditionalPropertiesClass deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = AdditionalPropertiesClassBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'map_property': + result.mapProperty.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(String)])) as BuiltMap); + break; + case r'map_of_map_property': + result.mapOfMapProperty.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(BuiltMap, [FullType(String), FullType(String)])])) as BuiltMap>); + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/animal.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/animal.dart index 76dbbd896a2..430cb733781 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/animal.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/animal.dart @@ -12,21 +12,69 @@ part 'animal.g.dart'; abstract class Animal implements Built { - @nullable @BuiltValueField(wireName: r'className') String get className; - @nullable @BuiltValueField(wireName: r'color') String get color; - // Boilerplate code needed to wire-up generated code Animal._(); static void _initializeBuilder(AnimalBuilder b) => b ..color = 'red'; factory Animal([void updates(AnimalBuilder b)]) = _$Animal; - static Serializer get serializer => _$animalSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$AnimalSerializer(); +} + +class _$AnimalSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Animal, _$Animal]; + @override + final String wireName = r'Animal'; + + @override + Iterable serialize(Serializers serializers, Animal object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + result + ..add(r'className') + ..add(serializers.serialize(object.className, + specifiedType: const FullType(String))); + if (object.color != null) { + result + ..add(r'color') + ..add(serializers.serialize(object.color, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Animal deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = AnimalBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'className': + result.className = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'color': + result.color = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/api_response.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/api_response.dart index 71e4a87d963..d1b4f0f3800 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/api_response.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/api_response.dart @@ -24,12 +24,74 @@ abstract class ApiResponse implements Built { @BuiltValueField(wireName: r'message') String get message; - // Boilerplate code needed to wire-up generated code ApiResponse._(); static void _initializeBuilder(ApiResponseBuilder b) => b; factory ApiResponse([void updates(ApiResponseBuilder b)]) = _$ApiResponse; - static Serializer get serializer => _$apiResponseSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ApiResponseSerializer(); +} + +class _$ApiResponseSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ApiResponse, _$ApiResponse]; + @override + final String wireName = r'ApiResponse'; + + @override + Iterable serialize(Serializers serializers, ApiResponse object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.code != null) { + result + ..add(r'code') + ..add(serializers.serialize(object.code, + specifiedType: const FullType(int))); + } + if (object.type != null) { + result + ..add(r'type') + ..add(serializers.serialize(object.type, + specifiedType: const FullType(String))); + } + if (object.message != null) { + result + ..add(r'message') + ..add(serializers.serialize(object.message, + specifiedType: const FullType(String))); + } + return result; + } + + @override + ApiResponse deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ApiResponseBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'code': + result.code = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'type': + result.type = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'message': + result.message = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_of_array_of_number_only.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_of_array_of_number_only.dart index 719ae878996..f0556a89a94 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_of_array_of_number_only.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_of_array_of_number_only.dart @@ -17,12 +17,54 @@ abstract class ArrayOfArrayOfNumberOnly implements Built> get arrayArrayNumber; - // Boilerplate code needed to wire-up generated code ArrayOfArrayOfNumberOnly._(); static void _initializeBuilder(ArrayOfArrayOfNumberOnlyBuilder b) => b; factory ArrayOfArrayOfNumberOnly([void updates(ArrayOfArrayOfNumberOnlyBuilder b)]) = _$ArrayOfArrayOfNumberOnly; - static Serializer get serializer => _$arrayOfArrayOfNumberOnlySerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ArrayOfArrayOfNumberOnlySerializer(); +} + +class _$ArrayOfArrayOfNumberOnlySerializer implements StructuredSerializer { + + @override + final Iterable types = const [ArrayOfArrayOfNumberOnly, _$ArrayOfArrayOfNumberOnly]; + @override + final String wireName = r'ArrayOfArrayOfNumberOnly'; + + @override + Iterable serialize(Serializers serializers, ArrayOfArrayOfNumberOnly object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.arrayArrayNumber != null) { + result + ..add(r'ArrayArrayNumber') + ..add(serializers.serialize(object.arrayArrayNumber, + specifiedType: const FullType(BuiltList, [FullType(BuiltList, [FullType(num)])]))); + } + return result; + } + + @override + ArrayOfArrayOfNumberOnly deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ArrayOfArrayOfNumberOnlyBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'ArrayArrayNumber': + result.arrayArrayNumber.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(BuiltList, [FullType(num)])])) as BuiltList>); + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_of_number_only.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_of_number_only.dart index 84b328a5d46..c8d5e3bff19 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_of_number_only.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_of_number_only.dart @@ -17,12 +17,54 @@ abstract class ArrayOfNumberOnly implements Built get arrayNumber; - // Boilerplate code needed to wire-up generated code ArrayOfNumberOnly._(); static void _initializeBuilder(ArrayOfNumberOnlyBuilder b) => b; factory ArrayOfNumberOnly([void updates(ArrayOfNumberOnlyBuilder b)]) = _$ArrayOfNumberOnly; - static Serializer get serializer => _$arrayOfNumberOnlySerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ArrayOfNumberOnlySerializer(); +} + +class _$ArrayOfNumberOnlySerializer implements StructuredSerializer { + + @override + final Iterable types = const [ArrayOfNumberOnly, _$ArrayOfNumberOnly]; + @override + final String wireName = r'ArrayOfNumberOnly'; + + @override + Iterable serialize(Serializers serializers, ArrayOfNumberOnly object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.arrayNumber != null) { + result + ..add(r'ArrayNumber') + ..add(serializers.serialize(object.arrayNumber, + specifiedType: const FullType(BuiltList, [FullType(num)]))); + } + return result; + } + + @override + ArrayOfNumberOnly deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ArrayOfNumberOnlyBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'ArrayNumber': + result.arrayNumber.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(num)])) as BuiltList); + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_test.dart index 255f50f03eb..1864d716857 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/array_test.dart @@ -26,12 +26,74 @@ abstract class ArrayTest implements Built { @BuiltValueField(wireName: r'array_array_of_model') BuiltList> get arrayArrayOfModel; - // Boilerplate code needed to wire-up generated code ArrayTest._(); static void _initializeBuilder(ArrayTestBuilder b) => b; factory ArrayTest([void updates(ArrayTestBuilder b)]) = _$ArrayTest; - static Serializer get serializer => _$arrayTestSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ArrayTestSerializer(); +} + +class _$ArrayTestSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ArrayTest, _$ArrayTest]; + @override + final String wireName = r'ArrayTest'; + + @override + Iterable serialize(Serializers serializers, ArrayTest object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.arrayOfString != null) { + result + ..add(r'array_of_string') + ..add(serializers.serialize(object.arrayOfString, + specifiedType: const FullType(BuiltList, [FullType(String)]))); + } + if (object.arrayArrayOfInteger != null) { + result + ..add(r'array_array_of_integer') + ..add(serializers.serialize(object.arrayArrayOfInteger, + specifiedType: const FullType(BuiltList, [FullType(BuiltList, [FullType(int)])]))); + } + if (object.arrayArrayOfModel != null) { + result + ..add(r'array_array_of_model') + ..add(serializers.serialize(object.arrayArrayOfModel, + specifiedType: const FullType(BuiltList, [FullType(BuiltList, [FullType(ReadOnlyFirst)])]))); + } + return result; + } + + @override + ArrayTest deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ArrayTestBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'array_of_string': + result.arrayOfString.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(String)])) as BuiltList); + break; + case r'array_array_of_integer': + result.arrayArrayOfInteger.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(BuiltList, [FullType(int)])])) as BuiltList>); + break; + case r'array_array_of_model': + result.arrayArrayOfModel.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(BuiltList, [FullType(ReadOnlyFirst)])])) as BuiltList>); + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/capitalization.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/capitalization.dart index 440cae3d5aa..2246c3680d3 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/capitalization.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/capitalization.dart @@ -37,12 +37,104 @@ abstract class Capitalization implements Built b; factory Capitalization([void updates(CapitalizationBuilder b)]) = _$Capitalization; - static Serializer get serializer => _$capitalizationSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$CapitalizationSerializer(); +} + +class _$CapitalizationSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Capitalization, _$Capitalization]; + @override + final String wireName = r'Capitalization'; + + @override + Iterable serialize(Serializers serializers, Capitalization object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.smallCamel != null) { + result + ..add(r'smallCamel') + ..add(serializers.serialize(object.smallCamel, + specifiedType: const FullType(String))); + } + if (object.capitalCamel != null) { + result + ..add(r'CapitalCamel') + ..add(serializers.serialize(object.capitalCamel, + specifiedType: const FullType(String))); + } + if (object.smallSnake != null) { + result + ..add(r'small_Snake') + ..add(serializers.serialize(object.smallSnake, + specifiedType: const FullType(String))); + } + if (object.capitalSnake != null) { + result + ..add(r'Capital_Snake') + ..add(serializers.serialize(object.capitalSnake, + specifiedType: const FullType(String))); + } + if (object.sCAETHFlowPoints != null) { + result + ..add(r'SCA_ETH_Flow_Points') + ..add(serializers.serialize(object.sCAETHFlowPoints, + specifiedType: const FullType(String))); + } + if (object.ATT_NAME != null) { + result + ..add(r'ATT_NAME') + ..add(serializers.serialize(object.ATT_NAME, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Capitalization deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = CapitalizationBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'smallCamel': + result.smallCamel = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'CapitalCamel': + result.capitalCamel = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'small_Snake': + result.smallSnake = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'Capital_Snake': + result.capitalSnake = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'SCA_ETH_Flow_Points': + result.sCAETHFlowPoints = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'ATT_NAME': + result.ATT_NAME = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/cat.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/cat.dart index 7d021e466d6..b2a9054c96a 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/cat.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/cat.dart @@ -14,11 +14,9 @@ part 'cat.g.dart'; abstract class Cat implements Built { - @nullable @BuiltValueField(wireName: r'className') String get className; - @nullable @BuiltValueField(wireName: r'color') String get color; @@ -26,13 +24,73 @@ abstract class Cat implements Built { @BuiltValueField(wireName: r'declawed') bool get declawed; - // Boilerplate code needed to wire-up generated code Cat._(); static void _initializeBuilder(CatBuilder b) => b ..color = 'red'; factory Cat([void updates(CatBuilder b)]) = _$Cat; - static Serializer get serializer => _$catSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$CatSerializer(); +} + +class _$CatSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Cat, _$Cat]; + @override + final String wireName = r'Cat'; + + @override + Iterable serialize(Serializers serializers, Cat object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + result + ..add(r'className') + ..add(serializers.serialize(object.className, + specifiedType: const FullType(String))); + if (object.color != null) { + result + ..add(r'color') + ..add(serializers.serialize(object.color, + specifiedType: const FullType(String))); + } + if (object.declawed != null) { + result + ..add(r'declawed') + ..add(serializers.serialize(object.declawed, + specifiedType: const FullType(bool))); + } + return result; + } + + @override + Cat deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = CatBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'className': + result.className = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'color': + result.color = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'declawed': + result.declawed = serializers.deserialize(value, + specifiedType: const FullType(bool)) as bool; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/cat_all_of.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/cat_all_of.dart index ac25634155f..e598798902e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/cat_all_of.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/cat_all_of.dart @@ -16,12 +16,54 @@ abstract class CatAllOf implements Built { @BuiltValueField(wireName: r'declawed') bool get declawed; - // Boilerplate code needed to wire-up generated code CatAllOf._(); static void _initializeBuilder(CatAllOfBuilder b) => b; factory CatAllOf([void updates(CatAllOfBuilder b)]) = _$CatAllOf; - static Serializer get serializer => _$catAllOfSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$CatAllOfSerializer(); +} + +class _$CatAllOfSerializer implements StructuredSerializer { + + @override + final Iterable types = const [CatAllOf, _$CatAllOf]; + @override + final String wireName = r'CatAllOf'; + + @override + Iterable serialize(Serializers serializers, CatAllOf object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.declawed != null) { + result + ..add(r'declawed') + ..add(serializers.serialize(object.declawed, + specifiedType: const FullType(bool))); + } + return result; + } + + @override + CatAllOf deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = CatAllOfBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'declawed': + result.declawed = serializers.deserialize(value, + specifiedType: const FullType(bool)) as bool; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/category.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/category.dart index 9cf3f0cf4cf..dbdb7fcecd6 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/category.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/category.dart @@ -16,17 +16,66 @@ abstract class Category implements Built { @BuiltValueField(wireName: r'id') int get id; - @nullable @BuiltValueField(wireName: r'name') String get name; - // Boilerplate code needed to wire-up generated code Category._(); static void _initializeBuilder(CategoryBuilder b) => b ..name = 'default-name'; factory Category([void updates(CategoryBuilder b)]) = _$Category; - static Serializer get serializer => _$categorySerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$CategorySerializer(); +} + +class _$CategorySerializer implements StructuredSerializer { + + @override + final Iterable types = const [Category, _$Category]; + @override + final String wireName = r'Category'; + + @override + Iterable serialize(Serializers serializers, Category object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + return result; + } + + @override + Category deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = CategoryBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/class_model.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/class_model.dart index df52d94ce2f..8cafc4a45f7 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/class_model.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/class_model.dart @@ -16,12 +16,54 @@ abstract class ClassModel implements Built { @BuiltValueField(wireName: r'_class') String get class_; - // Boilerplate code needed to wire-up generated code ClassModel._(); static void _initializeBuilder(ClassModelBuilder b) => b; factory ClassModel([void updates(ClassModelBuilder b)]) = _$ClassModel; - static Serializer get serializer => _$classModelSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ClassModelSerializer(); +} + +class _$ClassModelSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ClassModel, _$ClassModel]; + @override + final String wireName = r'ClassModel'; + + @override + Iterable serialize(Serializers serializers, ClassModel object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.class_ != null) { + result + ..add(r'_class') + ..add(serializers.serialize(object.class_, + specifiedType: const FullType(String))); + } + return result; + } + + @override + ClassModel deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ClassModelBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'_class': + result.class_ = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/dog.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/dog.dart index 5040bbfb329..d60aadcf4b6 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/dog.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/dog.dart @@ -14,11 +14,9 @@ part 'dog.g.dart'; abstract class Dog implements Built { - @nullable @BuiltValueField(wireName: r'className') String get className; - @nullable @BuiltValueField(wireName: r'color') String get color; @@ -26,13 +24,73 @@ abstract class Dog implements Built { @BuiltValueField(wireName: r'breed') String get breed; - // Boilerplate code needed to wire-up generated code Dog._(); static void _initializeBuilder(DogBuilder b) => b ..color = 'red'; factory Dog([void updates(DogBuilder b)]) = _$Dog; - static Serializer get serializer => _$dogSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$DogSerializer(); +} + +class _$DogSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Dog, _$Dog]; + @override + final String wireName = r'Dog'; + + @override + Iterable serialize(Serializers serializers, Dog object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + result + ..add(r'className') + ..add(serializers.serialize(object.className, + specifiedType: const FullType(String))); + if (object.color != null) { + result + ..add(r'color') + ..add(serializers.serialize(object.color, + specifiedType: const FullType(String))); + } + if (object.breed != null) { + result + ..add(r'breed') + ..add(serializers.serialize(object.breed, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Dog deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = DogBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'className': + result.className = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'color': + result.color = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'breed': + result.breed = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/dog_all_of.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/dog_all_of.dart index cf1a72508cc..df916db1a16 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/dog_all_of.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/dog_all_of.dart @@ -16,12 +16,54 @@ abstract class DogAllOf implements Built { @BuiltValueField(wireName: r'breed') String get breed; - // Boilerplate code needed to wire-up generated code DogAllOf._(); static void _initializeBuilder(DogAllOfBuilder b) => b; factory DogAllOf([void updates(DogAllOfBuilder b)]) = _$DogAllOf; - static Serializer get serializer => _$dogAllOfSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$DogAllOfSerializer(); +} + +class _$DogAllOfSerializer implements StructuredSerializer { + + @override + final Iterable types = const [DogAllOf, _$DogAllOf]; + @override + final String wireName = r'DogAllOf'; + + @override + Iterable serialize(Serializers serializers, DogAllOf object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.breed != null) { + result + ..add(r'breed') + ..add(serializers.serialize(object.breed, + specifiedType: const FullType(String))); + } + return result; + } + + @override + DogAllOf deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = DogAllOfBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'breed': + result.breed = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/enum_arrays.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/enum_arrays.dart index 77177940ad8..3a5fb62af15 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/enum_arrays.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/enum_arrays.dart @@ -23,13 +23,65 @@ abstract class EnumArrays implements Built { BuiltList get arrayEnum; // enum arrayEnumEnum { fish, crab, }; - // Boilerplate code needed to wire-up generated code EnumArrays._(); static void _initializeBuilder(EnumArraysBuilder b) => b; factory EnumArrays([void updates(EnumArraysBuilder b)]) = _$EnumArrays; - static Serializer get serializer => _$enumArraysSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$EnumArraysSerializer(); +} + +class _$EnumArraysSerializer implements StructuredSerializer { + + @override + final Iterable types = const [EnumArrays, _$EnumArrays]; + @override + final String wireName = r'EnumArrays'; + + @override + Iterable serialize(Serializers serializers, EnumArrays object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.justSymbol != null) { + result + ..add(r'just_symbol') + ..add(serializers.serialize(object.justSymbol, + specifiedType: const FullType(EnumArraysJustSymbolEnum))); + } + if (object.arrayEnum != null) { + result + ..add(r'array_enum') + ..add(serializers.serialize(object.arrayEnum, + specifiedType: const FullType(BuiltList, [FullType(EnumArraysArrayEnumEnum)]))); + } + return result; + } + + @override + EnumArrays deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = EnumArraysBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'just_symbol': + result.justSymbol = serializers.deserialize(value, + specifiedType: const FullType(EnumArraysJustSymbolEnum)) as EnumArraysJustSymbolEnum; + break; + case r'array_enum': + result.arrayEnum.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(EnumArraysArrayEnumEnum)])) as BuiltList); + break; + } + } + return result.build(); + } } class EnumArraysJustSymbolEnum extends EnumClass { diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/enum_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/enum_test.dart index 8a2211cdbd3..4df59b2cc37 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/enum_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/enum_test.dart @@ -22,7 +22,6 @@ abstract class EnumTest implements Built { EnumTestEnumStringEnum get enumString; // enum enumStringEnum { UPPER, lower, , }; - @nullable @BuiltValueField(wireName: r'enum_string_required') EnumTestEnumStringRequiredEnum get enumStringRequired; // enum enumStringRequiredEnum { UPPER, lower, , }; @@ -57,13 +56,123 @@ abstract class EnumTest implements Built { OuterEnumIntegerDefaultValue get outerEnumIntegerDefaultValue; // enum outerEnumIntegerDefaultValueEnum { 0, 1, 2, }; - // Boilerplate code needed to wire-up generated code EnumTest._(); static void _initializeBuilder(EnumTestBuilder b) => b; factory EnumTest([void updates(EnumTestBuilder b)]) = _$EnumTest; - static Serializer get serializer => _$enumTestSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$EnumTestSerializer(); +} + +class _$EnumTestSerializer implements StructuredSerializer { + + @override + final Iterable types = const [EnumTest, _$EnumTest]; + @override + final String wireName = r'EnumTest'; + + @override + Iterable serialize(Serializers serializers, EnumTest object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.enumString != null) { + result + ..add(r'enum_string') + ..add(serializers.serialize(object.enumString, + specifiedType: const FullType(EnumTestEnumStringEnum))); + } + result + ..add(r'enum_string_required') + ..add(serializers.serialize(object.enumStringRequired, + specifiedType: const FullType(EnumTestEnumStringRequiredEnum))); + if (object.enumInteger != null) { + result + ..add(r'enum_integer') + ..add(serializers.serialize(object.enumInteger, + specifiedType: const FullType(EnumTestEnumIntegerEnum))); + } + if (object.enumNumber != null) { + result + ..add(r'enum_number') + ..add(serializers.serialize(object.enumNumber, + specifiedType: const FullType(EnumTestEnumNumberEnum))); + } + if (object.outerEnum != null) { + result + ..add(r'outerEnum') + ..add(serializers.serialize(object.outerEnum, + specifiedType: const FullType(OuterEnum))); + } + if (object.outerEnumInteger != null) { + result + ..add(r'outerEnumInteger') + ..add(serializers.serialize(object.outerEnumInteger, + specifiedType: const FullType(OuterEnumInteger))); + } + if (object.outerEnumDefaultValue != null) { + result + ..add(r'outerEnumDefaultValue') + ..add(serializers.serialize(object.outerEnumDefaultValue, + specifiedType: const FullType(OuterEnumDefaultValue))); + } + if (object.outerEnumIntegerDefaultValue != null) { + result + ..add(r'outerEnumIntegerDefaultValue') + ..add(serializers.serialize(object.outerEnumIntegerDefaultValue, + specifiedType: const FullType(OuterEnumIntegerDefaultValue))); + } + return result; + } + + @override + EnumTest deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = EnumTestBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'enum_string': + result.enumString = serializers.deserialize(value, + specifiedType: const FullType(EnumTestEnumStringEnum)) as EnumTestEnumStringEnum; + break; + case r'enum_string_required': + result.enumStringRequired = serializers.deserialize(value, + specifiedType: const FullType(EnumTestEnumStringRequiredEnum)) as EnumTestEnumStringRequiredEnum; + break; + case r'enum_integer': + result.enumInteger = serializers.deserialize(value, + specifiedType: const FullType(EnumTestEnumIntegerEnum)) as EnumTestEnumIntegerEnum; + break; + case r'enum_number': + result.enumNumber = serializers.deserialize(value, + specifiedType: const FullType(EnumTestEnumNumberEnum)) as EnumTestEnumNumberEnum; + break; + case r'outerEnum': + result.outerEnum = serializers.deserialize(value, + specifiedType: const FullType(OuterEnum)) as OuterEnum; + break; + case r'outerEnumInteger': + result.outerEnumInteger = serializers.deserialize(value, + specifiedType: const FullType(OuterEnumInteger)) as OuterEnumInteger; + break; + case r'outerEnumDefaultValue': + result.outerEnumDefaultValue = serializers.deserialize(value, + specifiedType: const FullType(OuterEnumDefaultValue)) as OuterEnumDefaultValue; + break; + case r'outerEnumIntegerDefaultValue': + result.outerEnumIntegerDefaultValue = serializers.deserialize(value, + specifiedType: const FullType(OuterEnumIntegerDefaultValue)) as OuterEnumIntegerDefaultValue; + break; + } + } + return result.build(); + } } class EnumTestEnumStringEnum extends EnumClass { diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/file_schema_test_class.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/file_schema_test_class.dart index 0a62e4e9c0f..82e4640a8a5 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/file_schema_test_class.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/file_schema_test_class.dart @@ -22,12 +22,64 @@ abstract class FileSchemaTestClass implements Built get files; - // Boilerplate code needed to wire-up generated code FileSchemaTestClass._(); static void _initializeBuilder(FileSchemaTestClassBuilder b) => b; factory FileSchemaTestClass([void updates(FileSchemaTestClassBuilder b)]) = _$FileSchemaTestClass; - static Serializer get serializer => _$fileSchemaTestClassSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$FileSchemaTestClassSerializer(); +} + +class _$FileSchemaTestClassSerializer implements StructuredSerializer { + + @override + final Iterable types = const [FileSchemaTestClass, _$FileSchemaTestClass]; + @override + final String wireName = r'FileSchemaTestClass'; + + @override + Iterable serialize(Serializers serializers, FileSchemaTestClass object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.file != null) { + result + ..add(r'file') + ..add(serializers.serialize(object.file, + specifiedType: const FullType(ModelFile))); + } + if (object.files != null) { + result + ..add(r'files') + ..add(serializers.serialize(object.files, + specifiedType: const FullType(BuiltList, [FullType(ModelFile)]))); + } + return result; + } + + @override + FileSchemaTestClass deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = FileSchemaTestClassBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'file': + result.file.replace(serializers.deserialize(value, + specifiedType: const FullType(ModelFile)) as ModelFile); + break; + case r'files': + result.files.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(ModelFile)])) as BuiltList); + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/foo.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/foo.dart index a51526b1fbe..94e50e4b7c3 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/foo.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/foo.dart @@ -12,17 +12,58 @@ part 'foo.g.dart'; abstract class Foo implements Built { - @nullable @BuiltValueField(wireName: r'bar') String get bar; - // Boilerplate code needed to wire-up generated code Foo._(); static void _initializeBuilder(FooBuilder b) => b ..bar = 'bar'; factory Foo([void updates(FooBuilder b)]) = _$Foo; - static Serializer get serializer => _$fooSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$FooSerializer(); +} + +class _$FooSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Foo, _$Foo]; + @override + final String wireName = r'Foo'; + + @override + Iterable serialize(Serializers serializers, Foo object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.bar != null) { + result + ..add(r'bar') + ..add(serializers.serialize(object.bar, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Foo deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = FooBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'bar': + result.bar = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/format_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/format_test.dart index cfc323bad9c..af7489ec1a2 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/format_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/format_test.dart @@ -25,7 +25,6 @@ abstract class FormatTest implements Built { @BuiltValueField(wireName: r'int64') int get int64; - @nullable @BuiltValueField(wireName: r'number') num get number; @@ -45,7 +44,6 @@ abstract class FormatTest implements Built { @BuiltValueField(wireName: r'string') String get string; - @nullable @BuiltValueField(wireName: r'byte') String get byte; @@ -53,7 +51,6 @@ abstract class FormatTest implements Built { @BuiltValueField(wireName: r'binary') Uint8List get binary; - @nullable @BuiltValueField(wireName: r'date') DateTime get date; @@ -65,7 +62,6 @@ abstract class FormatTest implements Built { @BuiltValueField(wireName: r'uuid') String get uuid; - @nullable @BuiltValueField(wireName: r'password') String get password; @@ -79,12 +75,196 @@ abstract class FormatTest implements Built { @BuiltValueField(wireName: r'pattern_with_digits_and_delimiter') String get patternWithDigitsAndDelimiter; - // Boilerplate code needed to wire-up generated code FormatTest._(); static void _initializeBuilder(FormatTestBuilder b) => b; factory FormatTest([void updates(FormatTestBuilder b)]) = _$FormatTest; - static Serializer get serializer => _$formatTestSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$FormatTestSerializer(); +} + +class _$FormatTestSerializer implements StructuredSerializer { + + @override + final Iterable types = const [FormatTest, _$FormatTest]; + @override + final String wireName = r'FormatTest'; + + @override + Iterable serialize(Serializers serializers, FormatTest object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.integer != null) { + result + ..add(r'integer') + ..add(serializers.serialize(object.integer, + specifiedType: const FullType(int))); + } + if (object.int32 != null) { + result + ..add(r'int32') + ..add(serializers.serialize(object.int32, + specifiedType: const FullType(int))); + } + if (object.int64 != null) { + result + ..add(r'int64') + ..add(serializers.serialize(object.int64, + specifiedType: const FullType(int))); + } + result + ..add(r'number') + ..add(serializers.serialize(object.number, + specifiedType: const FullType(num))); + if (object.float != null) { + result + ..add(r'float') + ..add(serializers.serialize(object.float, + specifiedType: const FullType(double))); + } + if (object.double_ != null) { + result + ..add(r'double') + ..add(serializers.serialize(object.double_, + specifiedType: const FullType(double))); + } + if (object.decimal != null) { + result + ..add(r'decimal') + ..add(serializers.serialize(object.decimal, + specifiedType: const FullType(double))); + } + if (object.string != null) { + result + ..add(r'string') + ..add(serializers.serialize(object.string, + specifiedType: const FullType(String))); + } + result + ..add(r'byte') + ..add(serializers.serialize(object.byte, + specifiedType: const FullType(String))); + if (object.binary != null) { + result + ..add(r'binary') + ..add(serializers.serialize(object.binary, + specifiedType: const FullType(Uint8List))); + } + result + ..add(r'date') + ..add(serializers.serialize(object.date, + specifiedType: const FullType(DateTime))); + if (object.dateTime != null) { + result + ..add(r'dateTime') + ..add(serializers.serialize(object.dateTime, + specifiedType: const FullType(DateTime))); + } + if (object.uuid != null) { + result + ..add(r'uuid') + ..add(serializers.serialize(object.uuid, + specifiedType: const FullType(String))); + } + result + ..add(r'password') + ..add(serializers.serialize(object.password, + specifiedType: const FullType(String))); + if (object.patternWithDigits != null) { + result + ..add(r'pattern_with_digits') + ..add(serializers.serialize(object.patternWithDigits, + specifiedType: const FullType(String))); + } + if (object.patternWithDigitsAndDelimiter != null) { + result + ..add(r'pattern_with_digits_and_delimiter') + ..add(serializers.serialize(object.patternWithDigitsAndDelimiter, + specifiedType: const FullType(String))); + } + return result; + } + + @override + FormatTest deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = FormatTestBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'integer': + result.integer = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'int32': + result.int32 = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'int64': + result.int64 = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'number': + result.number = serializers.deserialize(value, + specifiedType: const FullType(num)) as num; + break; + case r'float': + result.float = serializers.deserialize(value, + specifiedType: const FullType(double)) as double; + break; + case r'double': + result.double_ = serializers.deserialize(value, + specifiedType: const FullType(double)) as double; + break; + case r'decimal': + result.decimal = serializers.deserialize(value, + specifiedType: const FullType(double)) as double; + break; + case r'string': + result.string = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'byte': + result.byte = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'binary': + result.binary = serializers.deserialize(value, + specifiedType: const FullType(Uint8List)) as Uint8List; + break; + case r'date': + result.date = serializers.deserialize(value, + specifiedType: const FullType(DateTime)) as DateTime; + break; + case r'dateTime': + result.dateTime = serializers.deserialize(value, + specifiedType: const FullType(DateTime)) as DateTime; + break; + case r'uuid': + result.uuid = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'password': + result.password = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'pattern_with_digits': + result.patternWithDigits = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'pattern_with_digits_and_delimiter': + result.patternWithDigitsAndDelimiter = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/has_only_read_only.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/has_only_read_only.dart index 7f0603586cf..f4a3a891a4e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/has_only_read_only.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/has_only_read_only.dart @@ -20,12 +20,64 @@ abstract class HasOnlyReadOnly implements Built b; factory HasOnlyReadOnly([void updates(HasOnlyReadOnlyBuilder b)]) = _$HasOnlyReadOnly; - static Serializer get serializer => _$hasOnlyReadOnlySerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$HasOnlyReadOnlySerializer(); +} + +class _$HasOnlyReadOnlySerializer implements StructuredSerializer { + + @override + final Iterable types = const [HasOnlyReadOnly, _$HasOnlyReadOnly]; + @override + final String wireName = r'HasOnlyReadOnly'; + + @override + Iterable serialize(Serializers serializers, HasOnlyReadOnly object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.bar != null) { + result + ..add(r'bar') + ..add(serializers.serialize(object.bar, + specifiedType: const FullType(String))); + } + if (object.foo != null) { + result + ..add(r'foo') + ..add(serializers.serialize(object.foo, + specifiedType: const FullType(String))); + } + return result; + } + + @override + HasOnlyReadOnly deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = HasOnlyReadOnlyBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'bar': + result.bar = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'foo': + result.foo = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/health_check_result.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/health_check_result.dart index 91be80f3c93..a8cf19f4a8e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/health_check_result.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/health_check_result.dart @@ -16,12 +16,54 @@ abstract class HealthCheckResult implements Built b; factory HealthCheckResult([void updates(HealthCheckResultBuilder b)]) = _$HealthCheckResult; - static Serializer get serializer => _$healthCheckResultSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$HealthCheckResultSerializer(); +} + +class _$HealthCheckResultSerializer implements StructuredSerializer { + + @override + final Iterable types = const [HealthCheckResult, _$HealthCheckResult]; + @override + final String wireName = r'HealthCheckResult'; + + @override + Iterable serialize(Serializers serializers, HealthCheckResult object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.nullableMessage != null) { + result + ..add(r'NullableMessage') + ..add(serializers.serialize(object.nullableMessage, + specifiedType: const FullType(String))); + } + return result; + } + + @override + HealthCheckResult deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = HealthCheckResultBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'NullableMessage': + result.nullableMessage = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/inline_response_default.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/inline_response_default.dart index d412f645099..87169882e4b 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/inline_response_default.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/inline_response_default.dart @@ -17,12 +17,54 @@ abstract class InlineResponseDefault implements Built b; factory InlineResponseDefault([void updates(InlineResponseDefaultBuilder b)]) = _$InlineResponseDefault; - static Serializer get serializer => _$inlineResponseDefaultSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$InlineResponseDefaultSerializer(); +} + +class _$InlineResponseDefaultSerializer implements StructuredSerializer { + + @override + final Iterable types = const [InlineResponseDefault, _$InlineResponseDefault]; + @override + final String wireName = r'InlineResponseDefault'; + + @override + Iterable serialize(Serializers serializers, InlineResponseDefault object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.string != null) { + result + ..add(r'string') + ..add(serializers.serialize(object.string, + specifiedType: const FullType(Foo))); + } + return result; + } + + @override + InlineResponseDefault deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = InlineResponseDefaultBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'string': + result.string.replace(serializers.deserialize(value, + specifiedType: const FullType(Foo)) as Foo); + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/map_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/map_test.dart index d4cf11a8cf7..d29919e2f67 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/map_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/map_test.dart @@ -30,13 +30,85 @@ abstract class MapTest implements Built { @BuiltValueField(wireName: r'indirect_map') BuiltMap get indirectMap; - // Boilerplate code needed to wire-up generated code MapTest._(); static void _initializeBuilder(MapTestBuilder b) => b; factory MapTest([void updates(MapTestBuilder b)]) = _$MapTest; - static Serializer get serializer => _$mapTestSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$MapTestSerializer(); +} + +class _$MapTestSerializer implements StructuredSerializer { + + @override + final Iterable types = const [MapTest, _$MapTest]; + @override + final String wireName = r'MapTest'; + + @override + Iterable serialize(Serializers serializers, MapTest object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.mapMapOfString != null) { + result + ..add(r'map_map_of_string') + ..add(serializers.serialize(object.mapMapOfString, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(BuiltMap, [FullType(String), FullType(String)])]))); + } + if (object.mapOfEnumString != null) { + result + ..add(r'map_of_enum_string') + ..add(serializers.serialize(object.mapOfEnumString, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(MapTestMapOfEnumStringEnum)]))); + } + if (object.directMap != null) { + result + ..add(r'direct_map') + ..add(serializers.serialize(object.directMap, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(bool)]))); + } + if (object.indirectMap != null) { + result + ..add(r'indirect_map') + ..add(serializers.serialize(object.indirectMap, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(bool)]))); + } + return result; + } + + @override + MapTest deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = MapTestBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'map_map_of_string': + result.mapMapOfString.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(BuiltMap, [FullType(String), FullType(String)])])) as BuiltMap>); + break; + case r'map_of_enum_string': + result.mapOfEnumString.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(MapTestMapOfEnumStringEnum)])) as BuiltMap); + break; + case r'direct_map': + result.directMap.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(bool)])) as BuiltMap); + break; + case r'indirect_map': + result.indirectMap.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(bool)])) as BuiltMap); + break; + } + } + return result.build(); + } } class MapTestMapOfEnumStringEnum extends EnumClass { diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/mixed_properties_and_additional_properties_class.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/mixed_properties_and_additional_properties_class.dart index edfd665bc6d..d274efde27b 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/mixed_properties_and_additional_properties_class.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/mixed_properties_and_additional_properties_class.dart @@ -26,12 +26,74 @@ abstract class MixedPropertiesAndAdditionalPropertiesClass implements Built get map; - // Boilerplate code needed to wire-up generated code MixedPropertiesAndAdditionalPropertiesClass._(); static void _initializeBuilder(MixedPropertiesAndAdditionalPropertiesClassBuilder b) => b; factory MixedPropertiesAndAdditionalPropertiesClass([void updates(MixedPropertiesAndAdditionalPropertiesClassBuilder b)]) = _$MixedPropertiesAndAdditionalPropertiesClass; - static Serializer get serializer => _$mixedPropertiesAndAdditionalPropertiesClassSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$MixedPropertiesAndAdditionalPropertiesClassSerializer(); +} + +class _$MixedPropertiesAndAdditionalPropertiesClassSerializer implements StructuredSerializer { + + @override + final Iterable types = const [MixedPropertiesAndAdditionalPropertiesClass, _$MixedPropertiesAndAdditionalPropertiesClass]; + @override + final String wireName = r'MixedPropertiesAndAdditionalPropertiesClass'; + + @override + Iterable serialize(Serializers serializers, MixedPropertiesAndAdditionalPropertiesClass object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.uuid != null) { + result + ..add(r'uuid') + ..add(serializers.serialize(object.uuid, + specifiedType: const FullType(String))); + } + if (object.dateTime != null) { + result + ..add(r'dateTime') + ..add(serializers.serialize(object.dateTime, + specifiedType: const FullType(DateTime))); + } + if (object.map != null) { + result + ..add(r'map') + ..add(serializers.serialize(object.map, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(Animal)]))); + } + return result; + } + + @override + MixedPropertiesAndAdditionalPropertiesClass deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = MixedPropertiesAndAdditionalPropertiesClassBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'uuid': + result.uuid = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'dateTime': + result.dateTime = serializers.deserialize(value, + specifiedType: const FullType(DateTime)) as DateTime; + break; + case r'map': + result.map.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(Animal)])) as BuiltMap); + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model200_response.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model200_response.dart index c88b4d4f22f..4ce2e0cc14a 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model200_response.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model200_response.dart @@ -20,12 +20,64 @@ abstract class Model200Response implements Built b; factory Model200Response([void updates(Model200ResponseBuilder b)]) = _$Model200Response; - static Serializer get serializer => _$model200ResponseSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$Model200ResponseSerializer(); +} + +class _$Model200ResponseSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Model200Response, _$Model200Response]; + @override + final String wireName = r'Model200Response'; + + @override + Iterable serialize(Serializers serializers, Model200Response object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.name != null) { + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(int))); + } + if (object.class_ != null) { + result + ..add(r'class') + ..add(serializers.serialize(object.class_, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Model200Response deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = Model200ResponseBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'class': + result.class_ = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_client.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_client.dart index 34ffc8be8cd..c36f247ef4f 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_client.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_client.dart @@ -16,12 +16,54 @@ abstract class ModelClient implements Built { @BuiltValueField(wireName: r'client') String get client; - // Boilerplate code needed to wire-up generated code ModelClient._(); static void _initializeBuilder(ModelClientBuilder b) => b; factory ModelClient([void updates(ModelClientBuilder b)]) = _$ModelClient; - static Serializer get serializer => _$modelClientSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ModelClientSerializer(); +} + +class _$ModelClientSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ModelClient, _$ModelClient]; + @override + final String wireName = r'ModelClient'; + + @override + Iterable serialize(Serializers serializers, ModelClient object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.client != null) { + result + ..add(r'client') + ..add(serializers.serialize(object.client, + specifiedType: const FullType(String))); + } + return result; + } + + @override + ModelClient deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ModelClientBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'client': + result.client = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_file.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_file.dart index cd80b7f1b09..b669a874c09 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_file.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_file.dart @@ -17,12 +17,54 @@ abstract class ModelFile implements Built { @BuiltValueField(wireName: r'sourceURI') String get sourceURI; - // Boilerplate code needed to wire-up generated code ModelFile._(); static void _initializeBuilder(ModelFileBuilder b) => b; factory ModelFile([void updates(ModelFileBuilder b)]) = _$ModelFile; - static Serializer get serializer => _$modelFileSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ModelFileSerializer(); +} + +class _$ModelFileSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ModelFile, _$ModelFile]; + @override + final String wireName = r'ModelFile'; + + @override + Iterable serialize(Serializers serializers, ModelFile object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.sourceURI != null) { + result + ..add(r'sourceURI') + ..add(serializers.serialize(object.sourceURI, + specifiedType: const FullType(String))); + } + return result; + } + + @override + ModelFile deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ModelFileBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'sourceURI': + result.sourceURI = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_list.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_list.dart index 0577f2b4742..5d63c3f645e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_list.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_list.dart @@ -16,12 +16,54 @@ abstract class ModelList implements Built { @BuiltValueField(wireName: r'123-list') String get n123list; - // Boilerplate code needed to wire-up generated code ModelList._(); static void _initializeBuilder(ModelListBuilder b) => b; factory ModelList([void updates(ModelListBuilder b)]) = _$ModelList; - static Serializer get serializer => _$modelListSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ModelListSerializer(); +} + +class _$ModelListSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ModelList, _$ModelList]; + @override + final String wireName = r'ModelList'; + + @override + Iterable serialize(Serializers serializers, ModelList object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.n123list != null) { + result + ..add(r'123-list') + ..add(serializers.serialize(object.n123list, + specifiedType: const FullType(String))); + } + return result; + } + + @override + ModelList deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ModelListBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'123-list': + result.n123list = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_return.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_return.dart index d2a6e2d1af6..0e95cbe483b 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_return.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/model_return.dart @@ -16,12 +16,54 @@ abstract class ModelReturn implements Built { @BuiltValueField(wireName: r'return') int get return_; - // Boilerplate code needed to wire-up generated code ModelReturn._(); static void _initializeBuilder(ModelReturnBuilder b) => b; factory ModelReturn([void updates(ModelReturnBuilder b)]) = _$ModelReturn; - static Serializer get serializer => _$modelReturnSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ModelReturnSerializer(); +} + +class _$ModelReturnSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ModelReturn, _$ModelReturn]; + @override + final String wireName = r'ModelReturn'; + + @override + Iterable serialize(Serializers serializers, ModelReturn object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.return_ != null) { + result + ..add(r'return') + ..add(serializers.serialize(object.return_, + specifiedType: const FullType(int))); + } + return result; + } + + @override + ModelReturn deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ModelReturnBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'return': + result.return_ = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/name.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/name.dart index 25349c81aa8..5853837b0d5 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/name.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/name.dart @@ -12,7 +12,6 @@ part 'name.g.dart'; abstract class Name implements Built { - @nullable @BuiltValueField(wireName: r'name') int get name; @@ -28,12 +27,82 @@ abstract class Name implements Built { @BuiltValueField(wireName: r'123Number') int get n123number; - // Boilerplate code needed to wire-up generated code Name._(); static void _initializeBuilder(NameBuilder b) => b; factory Name([void updates(NameBuilder b)]) = _$Name; - static Serializer get serializer => _$nameSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$NameSerializer(); +} + +class _$NameSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Name, _$Name]; + @override + final String wireName = r'Name'; + + @override + Iterable serialize(Serializers serializers, Name object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(int))); + if (object.snakeCase != null) { + result + ..add(r'snake_case') + ..add(serializers.serialize(object.snakeCase, + specifiedType: const FullType(int))); + } + if (object.property != null) { + result + ..add(r'property') + ..add(serializers.serialize(object.property, + specifiedType: const FullType(String))); + } + if (object.n123number != null) { + result + ..add(r'123Number') + ..add(serializers.serialize(object.n123number, + specifiedType: const FullType(int))); + } + return result; + } + + @override + Name deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = NameBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'snake_case': + result.snakeCase = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'property': + result.property = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'123Number': + result.n123number = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/nullable_class.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/nullable_class.dart index f3afb2f99f9..3da254d297c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/nullable_class.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/nullable_class.dart @@ -62,12 +62,164 @@ abstract class NullableClass implements Built get objectItemsNullable; - // Boilerplate code needed to wire-up generated code NullableClass._(); static void _initializeBuilder(NullableClassBuilder b) => b; factory NullableClass([void updates(NullableClassBuilder b)]) = _$NullableClass; - static Serializer get serializer => _$nullableClassSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$NullableClassSerializer(); +} + +class _$NullableClassSerializer implements StructuredSerializer { + + @override + final Iterable types = const [NullableClass, _$NullableClass]; + @override + final String wireName = r'NullableClass'; + + @override + Iterable serialize(Serializers serializers, NullableClass object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.integerProp != null) { + result + ..add(r'integer_prop') + ..add(serializers.serialize(object.integerProp, + specifiedType: const FullType(int))); + } + if (object.numberProp != null) { + result + ..add(r'number_prop') + ..add(serializers.serialize(object.numberProp, + specifiedType: const FullType(num))); + } + if (object.booleanProp != null) { + result + ..add(r'boolean_prop') + ..add(serializers.serialize(object.booleanProp, + specifiedType: const FullType(bool))); + } + if (object.stringProp != null) { + result + ..add(r'string_prop') + ..add(serializers.serialize(object.stringProp, + specifiedType: const FullType(String))); + } + if (object.dateProp != null) { + result + ..add(r'date_prop') + ..add(serializers.serialize(object.dateProp, + specifiedType: const FullType(DateTime))); + } + if (object.datetimeProp != null) { + result + ..add(r'datetime_prop') + ..add(serializers.serialize(object.datetimeProp, + specifiedType: const FullType(DateTime))); + } + if (object.arrayNullableProp != null) { + result + ..add(r'array_nullable_prop') + ..add(serializers.serialize(object.arrayNullableProp, + specifiedType: const FullType(BuiltList, [FullType(JsonObject)]))); + } + if (object.arrayAndItemsNullableProp != null) { + result + ..add(r'array_and_items_nullable_prop') + ..add(serializers.serialize(object.arrayAndItemsNullableProp, + specifiedType: const FullType(BuiltList, [FullType(JsonObject)]))); + } + if (object.arrayItemsNullable != null) { + result + ..add(r'array_items_nullable') + ..add(serializers.serialize(object.arrayItemsNullable, + specifiedType: const FullType(BuiltList, [FullType(JsonObject)]))); + } + if (object.objectNullableProp != null) { + result + ..add(r'object_nullable_prop') + ..add(serializers.serialize(object.objectNullableProp, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(JsonObject)]))); + } + if (object.objectAndItemsNullableProp != null) { + result + ..add(r'object_and_items_nullable_prop') + ..add(serializers.serialize(object.objectAndItemsNullableProp, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(JsonObject)]))); + } + if (object.objectItemsNullable != null) { + result + ..add(r'object_items_nullable') + ..add(serializers.serialize(object.objectItemsNullable, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(JsonObject)]))); + } + return result; + } + + @override + NullableClass deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = NullableClassBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'integer_prop': + result.integerProp = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'number_prop': + result.numberProp = serializers.deserialize(value, + specifiedType: const FullType(num)) as num; + break; + case r'boolean_prop': + result.booleanProp = serializers.deserialize(value, + specifiedType: const FullType(bool)) as bool; + break; + case r'string_prop': + result.stringProp = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'date_prop': + result.dateProp = serializers.deserialize(value, + specifiedType: const FullType(DateTime)) as DateTime; + break; + case r'datetime_prop': + result.datetimeProp = serializers.deserialize(value, + specifiedType: const FullType(DateTime)) as DateTime; + break; + case r'array_nullable_prop': + result.arrayNullableProp.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(JsonObject)])) as BuiltList); + break; + case r'array_and_items_nullable_prop': + result.arrayAndItemsNullableProp.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(JsonObject)])) as BuiltList); + break; + case r'array_items_nullable': + result.arrayItemsNullable.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(JsonObject)])) as BuiltList); + break; + case r'object_nullable_prop': + result.objectNullableProp.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(JsonObject)])) as BuiltMap); + break; + case r'object_and_items_nullable_prop': + result.objectAndItemsNullableProp.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(JsonObject)])) as BuiltMap); + break; + case r'object_items_nullable': + result.objectItemsNullable.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltMap, [FullType(String), FullType(JsonObject)])) as BuiltMap); + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/number_only.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/number_only.dart index f09f8786878..9f614e876c9 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/number_only.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/number_only.dart @@ -16,12 +16,54 @@ abstract class NumberOnly implements Built { @BuiltValueField(wireName: r'JustNumber') num get justNumber; - // Boilerplate code needed to wire-up generated code NumberOnly._(); static void _initializeBuilder(NumberOnlyBuilder b) => b; factory NumberOnly([void updates(NumberOnlyBuilder b)]) = _$NumberOnly; - static Serializer get serializer => _$numberOnlySerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$NumberOnlySerializer(); +} + +class _$NumberOnlySerializer implements StructuredSerializer { + + @override + final Iterable types = const [NumberOnly, _$NumberOnly]; + @override + final String wireName = r'NumberOnly'; + + @override + Iterable serialize(Serializers serializers, NumberOnly object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.justNumber != null) { + result + ..add(r'JustNumber') + ..add(serializers.serialize(object.justNumber, + specifiedType: const FullType(num))); + } + return result; + } + + @override + NumberOnly deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = NumberOnlyBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'JustNumber': + result.justNumber = serializers.deserialize(value, + specifiedType: const FullType(num)) as num; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/order.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/order.dart index dbb8eae93a7..a599897e937 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/order.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/order.dart @@ -35,18 +35,109 @@ abstract class Order implements Built { OrderStatusEnum get status; // enum statusEnum { placed, approved, delivered, }; - @nullable @BuiltValueField(wireName: r'complete') bool get complete; - // Boilerplate code needed to wire-up generated code Order._(); static void _initializeBuilder(OrderBuilder b) => b ..complete = false; factory Order([void updates(OrderBuilder b)]) = _$Order; - static Serializer get serializer => _$orderSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$OrderSerializer(); +} + +class _$OrderSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Order, _$Order]; + @override + final String wireName = r'Order'; + + @override + Iterable serialize(Serializers serializers, Order object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.petId != null) { + result + ..add(r'petId') + ..add(serializers.serialize(object.petId, + specifiedType: const FullType(int))); + } + if (object.quantity != null) { + result + ..add(r'quantity') + ..add(serializers.serialize(object.quantity, + specifiedType: const FullType(int))); + } + if (object.shipDate != null) { + result + ..add(r'shipDate') + ..add(serializers.serialize(object.shipDate, + specifiedType: const FullType(DateTime))); + } + if (object.status != null) { + result + ..add(r'status') + ..add(serializers.serialize(object.status, + specifiedType: const FullType(OrderStatusEnum))); + } + if (object.complete != null) { + result + ..add(r'complete') + ..add(serializers.serialize(object.complete, + specifiedType: const FullType(bool))); + } + return result; + } + + @override + Order deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = OrderBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'petId': + result.petId = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'quantity': + result.quantity = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'shipDate': + result.shipDate = serializers.deserialize(value, + specifiedType: const FullType(DateTime)) as DateTime; + break; + case r'status': + result.status = serializers.deserialize(value, + specifiedType: const FullType(OrderStatusEnum)) as OrderStatusEnum; + break; + case r'complete': + result.complete = serializers.deserialize(value, + specifiedType: const FullType(bool)) as bool; + break; + } + } + return result.build(); + } } class OrderStatusEnum extends EnumClass { diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/outer_composite.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/outer_composite.dart index 7480f8f4c23..4e5b0be1b02 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/outer_composite.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/outer_composite.dart @@ -24,12 +24,74 @@ abstract class OuterComposite implements Built b; factory OuterComposite([void updates(OuterCompositeBuilder b)]) = _$OuterComposite; - static Serializer get serializer => _$outerCompositeSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$OuterCompositeSerializer(); +} + +class _$OuterCompositeSerializer implements StructuredSerializer { + + @override + final Iterable types = const [OuterComposite, _$OuterComposite]; + @override + final String wireName = r'OuterComposite'; + + @override + Iterable serialize(Serializers serializers, OuterComposite object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.myNumber != null) { + result + ..add(r'my_number') + ..add(serializers.serialize(object.myNumber, + specifiedType: const FullType(num))); + } + if (object.myString != null) { + result + ..add(r'my_string') + ..add(serializers.serialize(object.myString, + specifiedType: const FullType(String))); + } + if (object.myBoolean != null) { + result + ..add(r'my_boolean') + ..add(serializers.serialize(object.myBoolean, + specifiedType: const FullType(bool))); + } + return result; + } + + @override + OuterComposite deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = OuterCompositeBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'my_number': + result.myNumber = serializers.deserialize(value, + specifiedType: const FullType(num)) as num; + break; + case r'my_string': + result.myString = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'my_boolean': + result.myBoolean = serializers.deserialize(value, + specifiedType: const FullType(bool)) as bool; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/pet.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/pet.dart index df5d1b82ded..89b4fed03b5 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/pet.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/pet.dart @@ -23,11 +23,9 @@ abstract class Pet implements Built { @BuiltValueField(wireName: r'category') Category get category; - @nullable @BuiltValueField(wireName: r'name') String get name; - @nullable @BuiltValueField(wireName: r'photoUrls') BuiltSet get photoUrls; @@ -41,13 +39,101 @@ abstract class Pet implements Built { PetStatusEnum get status; // enum statusEnum { available, pending, sold, }; - // Boilerplate code needed to wire-up generated code Pet._(); static void _initializeBuilder(PetBuilder b) => b; factory Pet([void updates(PetBuilder b)]) = _$Pet; - static Serializer get serializer => _$petSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$PetSerializer(); +} + +class _$PetSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Pet, _$Pet]; + @override + final String wireName = r'Pet'; + + @override + Iterable serialize(Serializers serializers, Pet object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.category != null) { + result + ..add(r'category') + ..add(serializers.serialize(object.category, + specifiedType: const FullType(Category))); + } + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + result + ..add(r'photoUrls') + ..add(serializers.serialize(object.photoUrls, + specifiedType: const FullType(BuiltSet, [FullType(String)]))); + if (object.tags != null) { + result + ..add(r'tags') + ..add(serializers.serialize(object.tags, + specifiedType: const FullType(BuiltList, [FullType(Tag)]))); + } + if (object.status != null) { + result + ..add(r'status') + ..add(serializers.serialize(object.status, + specifiedType: const FullType(PetStatusEnum))); + } + return result; + } + + @override + Pet deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = PetBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'category': + result.category.replace(serializers.deserialize(value, + specifiedType: const FullType(Category)) as Category); + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'photoUrls': + result.photoUrls.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltSet, [FullType(String)])) as BuiltSet); + break; + case r'tags': + result.tags.replace(serializers.deserialize(value, + specifiedType: const FullType(BuiltList, [FullType(Tag)])) as BuiltList); + break; + case r'status': + result.status = serializers.deserialize(value, + specifiedType: const FullType(PetStatusEnum)) as PetStatusEnum; + break; + } + } + return result.build(); + } } class PetStatusEnum extends EnumClass { diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/read_only_first.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/read_only_first.dart index 7f15e7fbc60..cdb1a857096 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/read_only_first.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/read_only_first.dart @@ -20,12 +20,64 @@ abstract class ReadOnlyFirst implements Built b; factory ReadOnlyFirst([void updates(ReadOnlyFirstBuilder b)]) = _$ReadOnlyFirst; - static Serializer get serializer => _$readOnlyFirstSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$ReadOnlyFirstSerializer(); +} + +class _$ReadOnlyFirstSerializer implements StructuredSerializer { + + @override + final Iterable types = const [ReadOnlyFirst, _$ReadOnlyFirst]; + @override + final String wireName = r'ReadOnlyFirst'; + + @override + Iterable serialize(Serializers serializers, ReadOnlyFirst object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.bar != null) { + result + ..add(r'bar') + ..add(serializers.serialize(object.bar, + specifiedType: const FullType(String))); + } + if (object.baz != null) { + result + ..add(r'baz') + ..add(serializers.serialize(object.baz, + specifiedType: const FullType(String))); + } + return result; + } + + @override + ReadOnlyFirst deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = ReadOnlyFirstBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'bar': + result.bar = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'baz': + result.baz = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/special_model_name.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/special_model_name.dart index 82c735e94f3..aa7ee3825a2 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/special_model_name.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/special_model_name.dart @@ -16,12 +16,54 @@ abstract class SpecialModelName implements Built b; factory SpecialModelName([void updates(SpecialModelNameBuilder b)]) = _$SpecialModelName; - static Serializer get serializer => _$specialModelNameSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$SpecialModelNameSerializer(); +} + +class _$SpecialModelNameSerializer implements StructuredSerializer { + + @override + final Iterable types = const [SpecialModelName, _$SpecialModelName]; + @override + final String wireName = r'SpecialModelName'; + + @override + Iterable serialize(Serializers serializers, SpecialModelName object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.dollarSpecialLeftSquareBracketPropertyPeriodNameRightSquareBracket != null) { + result + ..add(r'$special[property.name]') + ..add(serializers.serialize(object.dollarSpecialLeftSquareBracketPropertyPeriodNameRightSquareBracket, + specifiedType: const FullType(int))); + } + return result; + } + + @override + SpecialModelName deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = SpecialModelNameBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'$special[property.name]': + result.dollarSpecialLeftSquareBracketPropertyPeriodNameRightSquareBracket = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/tag.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/tag.dart index 853bbc85753..d612fdd0024 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/tag.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/tag.dart @@ -20,12 +20,64 @@ abstract class Tag implements Built { @BuiltValueField(wireName: r'name') String get name; - // Boilerplate code needed to wire-up generated code Tag._(); static void _initializeBuilder(TagBuilder b) => b; factory Tag([void updates(TagBuilder b)]) = _$Tag; - static Serializer get serializer => _$tagSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$TagSerializer(); +} + +class _$TagSerializer implements StructuredSerializer { + + @override + final Iterable types = const [Tag, _$Tag]; + @override + final String wireName = r'Tag'; + + @override + Iterable serialize(Serializers serializers, Tag object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.name != null) { + result + ..add(r'name') + ..add(serializers.serialize(object.name, + specifiedType: const FullType(String))); + } + return result; + } + + @override + Tag deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = TagBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'name': + result.name = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/user.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/user.dart index 93b71f38337..a13b71072c2 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/user.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/lib/model/user.dart @@ -45,12 +45,124 @@ abstract class User implements Built { @BuiltValueField(wireName: r'userStatus') int get userStatus; - // Boilerplate code needed to wire-up generated code User._(); static void _initializeBuilder(UserBuilder b) => b; factory User([void updates(UserBuilder b)]) = _$User; - static Serializer get serializer => _$userSerializer; + + @BuiltValueSerializer(custom: true) + static Serializer get serializer => _$UserSerializer(); +} + +class _$UserSerializer implements StructuredSerializer { + + @override + final Iterable types = const [User, _$User]; + @override + final String wireName = r'User'; + + @override + Iterable serialize(Serializers serializers, User object, + {FullType specifiedType = FullType.unspecified}) { + final result = []; + if (object.id != null) { + result + ..add(r'id') + ..add(serializers.serialize(object.id, + specifiedType: const FullType(int))); + } + if (object.username != null) { + result + ..add(r'username') + ..add(serializers.serialize(object.username, + specifiedType: const FullType(String))); + } + if (object.firstName != null) { + result + ..add(r'firstName') + ..add(serializers.serialize(object.firstName, + specifiedType: const FullType(String))); + } + if (object.lastName != null) { + result + ..add(r'lastName') + ..add(serializers.serialize(object.lastName, + specifiedType: const FullType(String))); + } + if (object.email != null) { + result + ..add(r'email') + ..add(serializers.serialize(object.email, + specifiedType: const FullType(String))); + } + if (object.password != null) { + result + ..add(r'password') + ..add(serializers.serialize(object.password, + specifiedType: const FullType(String))); + } + if (object.phone != null) { + result + ..add(r'phone') + ..add(serializers.serialize(object.phone, + specifiedType: const FullType(String))); + } + if (object.userStatus != null) { + result + ..add(r'userStatus') + ..add(serializers.serialize(object.userStatus, + specifiedType: const FullType(int))); + } + return result; + } + + @override + User deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = UserBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case r'id': + result.id = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + case r'username': + result.username = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'firstName': + result.firstName = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'lastName': + result.lastName = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'email': + result.email = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'password': + result.password = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'phone': + result.phone = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case r'userStatus': + result.userStatus = serializers.deserialize(value, + specifiedType: const FullType(int)) as int; + break; + } + } + return result.build(); + } } diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/additional_properties_class_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/additional_properties_class_test.dart index 81db250160d..a42d4361266 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/additional_properties_class_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/additional_properties_class_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for AdditionalPropertiesClass void main() { - final instance = AdditionalPropertiesClass(); + final instance = AdditionalPropertiesClassBuilder(); + // TODO add properties to the builder and call build() group(AdditionalPropertiesClass, () { // BuiltMap mapProperty diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/animal_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/animal_test.dart index d1fd66cefbe..9af52a98ee9 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/animal_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/animal_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Animal void main() { - final instance = Animal(); + final instance = AnimalBuilder(); + // TODO add properties to the builder and call build() group(Animal, () { // String className diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/api_response_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/api_response_test.dart index 39d3ffc2941..cb3253820b5 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/api_response_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/api_response_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ApiResponse void main() { - final instance = ApiResponse(); + final instance = ApiResponseBuilder(); + // TODO add properties to the builder and call build() group(ApiResponse, () { // int code diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_of_array_of_number_only_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_of_array_of_number_only_test.dart index 6d4f7c31fde..275290a0506 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_of_array_of_number_only_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_of_array_of_number_only_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ArrayOfArrayOfNumberOnly void main() { - final instance = ArrayOfArrayOfNumberOnly(); + final instance = ArrayOfArrayOfNumberOnlyBuilder(); + // TODO add properties to the builder and call build() group(ArrayOfArrayOfNumberOnly, () { // BuiltList> arrayArrayNumber diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_of_number_only_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_of_number_only_test.dart index 4a34a792ec3..3b8d21dec0e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_of_number_only_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_of_number_only_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ArrayOfNumberOnly void main() { - final instance = ArrayOfNumberOnly(); + final instance = ArrayOfNumberOnlyBuilder(); + // TODO add properties to the builder and call build() group(ArrayOfNumberOnly, () { // BuiltList arrayNumber diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_test_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_test_test.dart index 0c53feccd9a..fe28e8db27a 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_test_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/array_test_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ArrayTest void main() { - final instance = ArrayTest(); + final instance = ArrayTestBuilder(); + // TODO add properties to the builder and call build() group(ArrayTest, () { // BuiltList arrayOfString diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/capitalization_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/capitalization_test.dart index 0775e8d2756..f33adee56b4 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/capitalization_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/capitalization_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Capitalization void main() { - final instance = Capitalization(); + final instance = CapitalizationBuilder(); + // TODO add properties to the builder and call build() group(Capitalization, () { // String smallCamel diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/cat_all_of_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/cat_all_of_test.dart index 460577b0234..39e55d2a8a8 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/cat_all_of_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/cat_all_of_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for CatAllOf void main() { - final instance = CatAllOf(); + final instance = CatAllOfBuilder(); + // TODO add properties to the builder and call build() group(CatAllOf, () { // bool declawed diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/cat_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/cat_test.dart index 05c2b79badb..20c9c639016 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/cat_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/cat_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Cat void main() { - final instance = Cat(); + final instance = CatBuilder(); + // TODO add properties to the builder and call build() group(Cat, () { // String className diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/category_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/category_test.dart index fc2c1ecb46e..9a554657aee 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/category_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/category_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Category void main() { - final instance = Category(); + final instance = CategoryBuilder(); + // TODO add properties to the builder and call build() group(Category, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/class_model_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/class_model_test.dart index af5ab7492c7..a7cafb35578 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/class_model_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/class_model_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ClassModel void main() { - final instance = ClassModel(); + final instance = ClassModelBuilder(); + // TODO add properties to the builder and call build() group(ClassModel, () { // String class_ diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/dog_all_of_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/dog_all_of_test.dart index f7bed7fdebf..c86956a1ecc 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/dog_all_of_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/dog_all_of_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for DogAllOf void main() { - final instance = DogAllOf(); + final instance = DogAllOfBuilder(); + // TODO add properties to the builder and call build() group(DogAllOf, () { // String breed diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/dog_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/dog_test.dart index 4daa11323da..47480ce518e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/dog_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/dog_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Dog void main() { - final instance = Dog(); + final instance = DogBuilder(); + // TODO add properties to the builder and call build() group(Dog, () { // String className diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/enum_arrays_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/enum_arrays_test.dart index 3aa0e621f79..7f51477c8ca 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/enum_arrays_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/enum_arrays_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for EnumArrays void main() { - final instance = EnumArrays(); + final instance = EnumArraysBuilder(); + // TODO add properties to the builder and call build() group(EnumArrays, () { // String justSymbol diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/enum_test_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/enum_test_test.dart index 8d963d1eead..cab0b474ad7 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/enum_test_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/enum_test_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for EnumTest void main() { - final instance = EnumTest(); + final instance = EnumTestBuilder(); + // TODO add properties to the builder and call build() group(EnumTest, () { // String enumString diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/file_schema_test_class_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/file_schema_test_class_test.dart index fcab730f1d5..f06dffe0773 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/file_schema_test_class_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/file_schema_test_class_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for FileSchemaTestClass void main() { - final instance = FileSchemaTestClass(); + final instance = FileSchemaTestClassBuilder(); + // TODO add properties to the builder and call build() group(FileSchemaTestClass, () { // ModelFile file diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/foo_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/foo_test.dart index c788dd3a3c9..af504c9d66e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/foo_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/foo_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Foo void main() { - final instance = Foo(); + final instance = FooBuilder(); + // TODO add properties to the builder and call build() group(Foo, () { // String bar (default value: 'bar') diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/format_test_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/format_test_test.dart index 1b56b04d4c8..301b7e71a9c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/format_test_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/format_test_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for FormatTest void main() { - final instance = FormatTest(); + final instance = FormatTestBuilder(); + // TODO add properties to the builder and call build() group(FormatTest, () { // int integer diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/has_only_read_only_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/has_only_read_only_test.dart index 2556caff31f..3b28f0ca8ae 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/has_only_read_only_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/has_only_read_only_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for HasOnlyReadOnly void main() { - final instance = HasOnlyReadOnly(); + final instance = HasOnlyReadOnlyBuilder(); + // TODO add properties to the builder and call build() group(HasOnlyReadOnly, () { // String bar diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/health_check_result_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/health_check_result_test.dart index 81960b87ce8..bcc12c8609b 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/health_check_result_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/health_check_result_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for HealthCheckResult void main() { - final instance = HealthCheckResult(); + final instance = HealthCheckResultBuilder(); + // TODO add properties to the builder and call build() group(HealthCheckResult, () { // String nullableMessage diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/inline_response_default_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/inline_response_default_test.dart index cae92c3385e..dea2a202cb4 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/inline_response_default_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/inline_response_default_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for InlineResponseDefault void main() { - final instance = InlineResponseDefault(); + final instance = InlineResponseDefaultBuilder(); + // TODO add properties to the builder and call build() group(InlineResponseDefault, () { // Foo string diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/map_test_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/map_test_test.dart index ed5f45ce721..504a0491692 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/map_test_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/map_test_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for MapTest void main() { - final instance = MapTest(); + final instance = MapTestBuilder(); + // TODO add properties to the builder and call build() group(MapTest, () { // BuiltMap> mapMapOfString diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/mixed_properties_and_additional_properties_class_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/mixed_properties_and_additional_properties_class_test.dart index cc36b6e7dd3..554114321bf 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/mixed_properties_and_additional_properties_class_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/mixed_properties_and_additional_properties_class_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for MixedPropertiesAndAdditionalPropertiesClass void main() { - final instance = MixedPropertiesAndAdditionalPropertiesClass(); + final instance = MixedPropertiesAndAdditionalPropertiesClassBuilder(); + // TODO add properties to the builder and call build() group(MixedPropertiesAndAdditionalPropertiesClass, () { // String uuid diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model200_response_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model200_response_test.dart index 6b77b5481b6..39936c0b46c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model200_response_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model200_response_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Model200Response void main() { - final instance = Model200Response(); + final instance = Model200ResponseBuilder(); + // TODO add properties to the builder and call build() group(Model200Response, () { // int name diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_client_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_client_test.dart index c3908d24b92..a545bd208d8 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_client_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_client_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ModelClient void main() { - final instance = ModelClient(); + final instance = ModelClientBuilder(); + // TODO add properties to the builder and call build() group(ModelClient, () { // String client diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_file_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_file_test.dart index 4bf8d1250af..b56d60d212b 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_file_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_file_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ModelFile void main() { - final instance = ModelFile(); + final instance = ModelFileBuilder(); + // TODO add properties to the builder and call build() group(ModelFile, () { // Test capitalization diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_list_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_list_test.dart index 03cfd40a8f1..90e24ea428e 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_list_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_list_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ModelList void main() { - final instance = ModelList(); + final instance = ModelListBuilder(); + // TODO add properties to the builder and call build() group(ModelList, () { // String n123list diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_return_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_return_test.dart index ac0e3574eab..3fa61b44adb 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_return_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/model_return_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ModelReturn void main() { - final instance = ModelReturn(); + final instance = ModelReturnBuilder(); + // TODO add properties to the builder and call build() group(ModelReturn, () { // int return_ diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/name_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/name_test.dart index 7f3fa21ef78..372fa6337e8 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/name_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/name_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Name void main() { - final instance = Name(); + final instance = NameBuilder(); + // TODO add properties to the builder and call build() group(Name, () { // int name diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/nullable_class_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/nullable_class_test.dart index 0bcae3b4e8b..bb611393f65 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/nullable_class_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/nullable_class_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for NullableClass void main() { - final instance = NullableClass(); + final instance = NullableClassBuilder(); + // TODO add properties to the builder and call build() group(NullableClass, () { // int integerProp diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/number_only_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/number_only_test.dart index 2630062232e..332d1ea7443 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/number_only_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/number_only_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for NumberOnly void main() { - final instance = NumberOnly(); + final instance = NumberOnlyBuilder(); + // TODO add properties to the builder and call build() group(NumberOnly, () { // num justNumber diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/order_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/order_test.dart index 25b2cc396f3..0b063de2de5 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/order_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/order_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Order void main() { - final instance = Order(); + final instance = OrderBuilder(); + // TODO add properties to the builder and call build() group(Order, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/outer_composite_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/outer_composite_test.dart index a48b12809c6..7016c1f4d34 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/outer_composite_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/outer_composite_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for OuterComposite void main() { - final instance = OuterComposite(); + final instance = OuterCompositeBuilder(); + // TODO add properties to the builder and call build() group(OuterComposite, () { // num myNumber diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/pet_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/pet_test.dart index 20f82b235a8..e102a39f38a 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/pet_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/pet_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Pet void main() { - final instance = Pet(); + final instance = PetBuilder(); + // TODO add properties to the builder and call build() group(Pet, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/read_only_first_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/read_only_first_test.dart index cdb7de301ea..892da5669ac 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/read_only_first_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/read_only_first_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for ReadOnlyFirst void main() { - final instance = ReadOnlyFirst(); + final instance = ReadOnlyFirstBuilder(); + // TODO add properties to the builder and call build() group(ReadOnlyFirst, () { // String bar diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/special_model_name_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/special_model_name_test.dart index 41d8d80eeb0..40f86751c11 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/special_model_name_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/special_model_name_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for SpecialModelName void main() { - final instance = SpecialModelName(); + final instance = SpecialModelNameBuilder(); + // TODO add properties to the builder and call build() group(SpecialModelName, () { // int dollarSpecialLeftSquareBracketPropertyPeriodNameRightSquareBracket diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/tag_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/tag_test.dart index 0dbda6e4986..867b246921c 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/tag_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/tag_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for Tag void main() { - final instance = Tag(); + final instance = TagBuilder(); + // TODO add properties to the builder and call build() group(Tag, () { // int id diff --git a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/user_test.dart b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/user_test.dart index 09e720b625c..01a3b6f07de 100644 --- a/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/user_test.dart +++ b/samples/openapi3/client/petstore/dart-dio/petstore_client_lib_fake/test/user_test.dart @@ -3,7 +3,8 @@ import 'package:test/test.dart'; // tests for User void main() { - final instance = User(); + final instance = UserBuilder(); + // TODO add properties to the builder and call build() group(User, () { // int id diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart index edb8930c11d..ee8c7615986 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib/lib/model/pet.dart @@ -62,12 +62,8 @@ class Pet { if (category != null) { json[r'category'] = category; } - if (name != null) { json[r'name'] = name; - } - if (photoUrls != null) { json[r'photoUrls'] = photoUrls; - } if (tags != null) { json[r'tags'] = tags; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/animal.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/animal.dart index 9ed72c81ba5..9786d8358b2 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/animal.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/animal.dart @@ -35,9 +35,7 @@ class Animal { Map toJson() { final json = {}; - if (className != null) { json[r'className'] = className; - } if (color != null) { json[r'color'] = color; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat.dart index a5f1e7737d4..704152151d8 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/cat.dart @@ -40,9 +40,7 @@ class Cat { Map toJson() { final json = {}; - if (className != null) { json[r'className'] = className; - } if (color != null) { json[r'color'] = color; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/category.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/category.dart index cf91101f6ab..59249c157a0 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/category.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/category.dart @@ -38,9 +38,7 @@ class Category { if (id != null) { json[r'id'] = id; } - if (name != null) { json[r'name'] = name; - } return json; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog.dart index dc8dec91942..eb08c1e227c 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/dog.dart @@ -40,9 +40,7 @@ class Dog { Map toJson() { final json = {}; - if (className != null) { json[r'className'] = className; - } if (color != null) { json[r'color'] = color; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_test.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_test.dart index a4503966408..ae432599c99 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_test.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/enum_test.dart @@ -68,9 +68,7 @@ class EnumTest { if (enumString != null) { json[r'enum_string'] = enumString; } - if (enumStringRequired != null) { json[r'enum_string_required'] = enumStringRequired; - } if (enumInteger != null) { json[r'enum_integer'] = enumInteger; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/format_test.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/format_test.dart index be03d7e024b..f0f2236ba88 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/format_test.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/format_test.dart @@ -126,9 +126,7 @@ class FormatTest { if (int64 != null) { json[r'int64'] = int64; } - if (number != null) { json[r'number'] = number; - } if (float != null) { json[r'float'] = float; } @@ -141,24 +139,18 @@ class FormatTest { if (string != null) { json[r'string'] = string; } - if (byte != null) { json[r'byte'] = byte; - } if (binary != null) { json[r'binary'] = binary; } - if (date != null) { json[r'date'] = _dateFormatter.format(date.toUtc()); - } if (dateTime != null) { json[r'dateTime'] = dateTime.toUtc().toIso8601String(); } if (uuid != null) { json[r'uuid'] = uuid; } - if (password != null) { json[r'password'] = password; - } if (patternWithDigits != null) { json[r'pattern_with_digits'] = patternWithDigits; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/name.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/name.dart index fd1592c969c..264c1a8c04d 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/name.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/name.dart @@ -45,9 +45,7 @@ class Name { Map toJson() { final json = {}; - if (name != null) { json[r'name'] = name; - } if (snakeCase != null) { json[r'snake_case'] = snakeCase; } diff --git a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/pet.dart b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/pet.dart index 6a8cdb9612a..47ef86dfcb2 100644 --- a/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/pet.dart +++ b/samples/openapi3/client/petstore/dart2/petstore_client_lib_fake/lib/model/pet.dart @@ -62,12 +62,8 @@ class Pet { if (category != null) { json[r'category'] = category; } - if (name != null) { json[r'name'] = name; - } - if (photoUrls != null) { json[r'photoUrls'] = photoUrls; - } if (tags != null) { json[r'tags'] = tags; }