From 391817336d15e044bd4944cbbd4d46af95eac4de Mon Sep 17 00:00:00 2001 From: "Mateus Felipe C. C. Pinto" Date: Tue, 26 Nov 2024 14:55:43 -0300 Subject: [PATCH] fix: revert example that was being used for testing purposes --- json_serializable/README.md | 117 +++++------------------ json_serializable/example/example.dart | 54 +++-------- json_serializable/example/example.g.dart | 63 ++---------- 3 files changed, 44 insertions(+), 190 deletions(-) diff --git a/json_serializable/README.md b/json_serializable/README.md index 358672e97..713ff4c1e 100644 --- a/json_serializable/README.md +++ b/json_serializable/README.md @@ -31,52 +31,22 @@ import 'package:json_annotation/json_annotation.dart'; part 'example.g.dart'; @JsonSerializable() -class A { - final StatusCode? statusCode; - final StatusCode2 statusCode2; - final StatusCode3 statusCode3; +class Person { + /// The generated code assumes these values exist in JSON. + final String firstName, lastName; - A(this.statusCode, this.statusCode2, this.statusCode3); + /// The generated code below handles if the corresponding JSON value doesn't + /// exist or is empty. + final DateTime? dateOfBirth; - factory A.fromJson(Map json) => _$AFromJson(json); + Person({required this.firstName, required this.lastName, this.dateOfBirth}); - Map toJson() => _$AToJson(this); -} - -enum StatusCode { - @JsonValue(200, aliases: [201, 202]) - success, - @JsonValue(301) - movedPermanently, - @JsonValue(302) - found, - @JsonValue(500) - internalServerError, -} - -@JsonEnum(valueField: 'code') -enum StatusCode2 { - success(200), - movedPermanently(301), - found(302), - internalServerError(500); + /// Connect the generated [_$PersonFromJson] function to the `fromJson` + /// factory. + factory Person.fromJson(Map json) => _$PersonFromJson(json); - const StatusCode2(this.code); - - final int code; -} - -@JsonEnum(valueField: 'code') -enum StatusCode3 { - success(200), - movedPermanently(301), - @JsonValue(1000) - found(302), - internalServerError(500); - - const StatusCode3(this.code); - - final int code; + /// Connect the generated [_$PersonToJson] function to the `toJson` method. + Map toJson() => _$PersonToJson(this); } ``` @@ -85,62 +55,19 @@ Building creates the corresponding part `example.g.dart`: ```dart part of 'example.dart'; -A _$AFromJson(Map json) => A( - $enumDecodeNullableWithDecodeMap( - _$StatusCodeEnumDecodeMap, json['statusCode']), - $enumDecodeWithDecodeMap(_$StatusCode2EnumDecodeMap, json['statusCode2']), - $enumDecodeWithDecodeMap(_$StatusCode3EnumDecodeMap, json['statusCode3']), +Person _$PersonFromJson(Map json) => Person( + firstName: json['firstName'] as String, + lastName: json['lastName'] as String, + dateOfBirth: json['dateOfBirth'] == null + ? null + : DateTime.parse(json['dateOfBirth'] as String), ); -Map _$AToJson(A instance) => { - 'statusCode': _$StatusCodeEnumMap[instance.statusCode], - 'statusCode2': _$StatusCode2EnumMap[instance.statusCode2]!, - 'statusCode3': _$StatusCode3EnumMap[instance.statusCode3]!, +Map _$PersonToJson(Person instance) => { + 'firstName': instance.firstName, + 'lastName': instance.lastName, + 'dateOfBirth': instance.dateOfBirth?.toIso8601String(), }; - -const _$StatusCodeEnumMap = { - StatusCode.success: 200, - StatusCode.movedPermanently: 301, - StatusCode.found: 302, - StatusCode.internalServerError: 500, -}; - -const _$StatusCodeEnumDecodeMap = { - 200: StatusCode.success, - 201: StatusCode.success, - 202: StatusCode.success, - 301: StatusCode.movedPermanently, - 302: StatusCode.found, - 500: StatusCode.internalServerError, -}; - -const _$StatusCode2EnumMap = { - StatusCode2.success: 200, - StatusCode2.movedPermanently: 301, - StatusCode2.found: 302, - StatusCode2.internalServerError: 500, -}; - -const _$StatusCode2EnumDecodeMap = { - 200: StatusCode2.success, - 301: StatusCode2.movedPermanently, - 302: StatusCode2.found, - 500: StatusCode2.internalServerError, -}; - -const _$StatusCode3EnumMap = { - StatusCode3.success: 200, - StatusCode3.movedPermanently: 301, - StatusCode3.found: 1000, - StatusCode3.internalServerError: 500, -}; - -const _$StatusCode3EnumDecodeMap = { - 200: StatusCode3.success, - 301: StatusCode3.movedPermanently, - 1000: StatusCode3.found, - 500: StatusCode3.internalServerError, -}; ``` # Running the code generator diff --git a/json_serializable/example/example.dart b/json_serializable/example/example.dart index 36a9ea4f0..39cc11597 100644 --- a/json_serializable/example/example.dart +++ b/json_serializable/example/example.dart @@ -7,50 +7,20 @@ import 'package:json_annotation/json_annotation.dart'; part 'example.g.dart'; @JsonSerializable() -class A { - final StatusCode? statusCode; - final StatusCode2 statusCode2; - final StatusCode3 statusCode3; +class Person { + /// The generated code assumes these values exist in JSON. + final String firstName, lastName; - A(this.statusCode, this.statusCode2, this.statusCode3); + /// The generated code below handles if the corresponding JSON value doesn't + /// exist or is empty. + final DateTime? dateOfBirth; - factory A.fromJson(Map json) => _$AFromJson(json); + Person({required this.firstName, required this.lastName, this.dateOfBirth}); - Map toJson() => _$AToJson(this); -} - -enum StatusCode { - @JsonValue(200, aliases: [201, 202]) - success, - @JsonValue(301) - movedPermanently, - @JsonValue(302) - found, - @JsonValue(500) - internalServerError, -} - -@JsonEnum(valueField: 'code') -enum StatusCode2 { - success(200), - movedPermanently(301), - found(302), - internalServerError(500); - - const StatusCode2(this.code); - - final int code; -} - -@JsonEnum(valueField: 'code') -enum StatusCode3 { - success(200), - movedPermanently(301), - @JsonValue(1000) - found(302), - internalServerError(500); - - const StatusCode3(this.code); + /// Connect the generated [_$PersonFromJson] function to the `fromJson` + /// factory. + factory Person.fromJson(Map json) => _$PersonFromJson(json); - final int code; + /// Connect the generated [_$PersonToJson] function to the `toJson` method. + Map toJson() => _$PersonToJson(this); } diff --git a/json_serializable/example/example.g.dart b/json_serializable/example/example.g.dart index 942901485..0ed069cae 100644 --- a/json_serializable/example/example.g.dart +++ b/json_serializable/example/example.g.dart @@ -8,59 +8,16 @@ part of 'example.dart'; // JsonSerializableGenerator // ************************************************************************** -A _$AFromJson(Map json) => A( - $enumDecodeNullableWithDecodeMap( - _$StatusCodeEnumDecodeMap, json['statusCode']), - $enumDecodeWithDecodeMap(_$StatusCode2EnumDecodeMap, json['statusCode2']), - $enumDecodeWithDecodeMap(_$StatusCode3EnumDecodeMap, json['statusCode3']), +Person _$PersonFromJson(Map json) => Person( + firstName: json['firstName'] as String, + lastName: json['lastName'] as String, + dateOfBirth: json['dateOfBirth'] == null + ? null + : DateTime.parse(json['dateOfBirth'] as String), ); -Map _$AToJson(A instance) => { - 'statusCode': _$StatusCodeEnumMap[instance.statusCode], - 'statusCode2': _$StatusCode2EnumMap[instance.statusCode2]!, - 'statusCode3': _$StatusCode3EnumMap[instance.statusCode3]!, +Map _$PersonToJson(Person instance) => { + 'firstName': instance.firstName, + 'lastName': instance.lastName, + 'dateOfBirth': instance.dateOfBirth?.toIso8601String(), }; - -const _$StatusCodeEnumMap = { - StatusCode.success: 200, - StatusCode.movedPermanently: 301, - StatusCode.found: 302, - StatusCode.internalServerError: 500, -}; - -const _$StatusCodeEnumDecodeMap = { - 200: StatusCode.success, - 201: StatusCode.success, - 202: StatusCode.success, - 301: StatusCode.movedPermanently, - 302: StatusCode.found, - 500: StatusCode.internalServerError, -}; - -const _$StatusCode2EnumMap = { - StatusCode2.success: 200, - StatusCode2.movedPermanently: 301, - StatusCode2.found: 302, - StatusCode2.internalServerError: 500, -}; - -const _$StatusCode2EnumDecodeMap = { - 200: StatusCode2.success, - 301: StatusCode2.movedPermanently, - 302: StatusCode2.found, - 500: StatusCode2.internalServerError, -}; - -const _$StatusCode3EnumMap = { - StatusCode3.success: 200, - StatusCode3.movedPermanently: 301, - StatusCode3.found: 1000, - StatusCode3.internalServerError: 500, -}; - -const _$StatusCode3EnumDecodeMap = { - 200: StatusCode3.success, - 301: StatusCode3.movedPermanently, - 1000: StatusCode3.found, - 500: StatusCode3.internalServerError, -};