From a4b56e788576bcc8e0c83fb66585dd3a9943a08b Mon Sep 17 00:00:00 2001 From: Tobe O Date: Thu, 4 Jul 2019 14:08:25 -0400 Subject: [PATCH] Use `whereType()` instead of chaining `where()` and `cast()`. --- angel_serialize_generator/CHANGELOG.md | 4 ++++ angel_serialize_generator/lib/serialize.dart | 3 +-- angel_serialize_generator/test/models/book.g.dart | 6 ++---- .../test/models/game_pad_button.g.dart | 6 ++---- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/angel_serialize_generator/CHANGELOG.md b/angel_serialize_generator/CHANGELOG.md index 59db6de3..38316cba 100644 --- a/angel_serialize_generator/CHANGELOG.md +++ b/angel_serialize_generator/CHANGELOG.md @@ -1,3 +1,7 @@ +# 2.5.0 +* Support mutable models (again). +* Use `whereType()` instead of chaining `where()` and `cast()`. + # 2.4.4 * Remove unnecessary `new` and `const`. diff --git a/angel_serialize_generator/lib/serialize.dart b/angel_serialize_generator/lib/serialize.dart index 07451d6e..09061ae3 100644 --- a/angel_serialize_generator/lib/serialize.dart +++ b/angel_serialize_generator/lib/serialize.dart @@ -282,8 +282,7 @@ class ${pascal}Decoder extends Converter { var rc = ReCase(type.typeArguments[0].name); deserializedRepresentation = "map['$alias'] is Iterable" " ? List.unmodifiable(((map['$alias'] as Iterable)" - ".where((x) => x is Map))" - ".cast()" + ".whereType())" ".map(${rc.pascalCase}Serializer.fromMap))" " : $defaultValue"; } else if (isMapToModelType(type)) { diff --git a/angel_serialize_generator/test/models/book.g.dart b/angel_serialize_generator/test/models/book.g.dart index 588658b3..f1d25292 100644 --- a/angel_serialize_generator/test/models/book.g.dart +++ b/angel_serialize_generator/test/models/book.g.dart @@ -479,10 +479,8 @@ class AuthorSerializer extends Codec { name: map['name'] as String, age: map['age'] as int, books: map['books'] is Iterable - ? List.unmodifiable( - ((map['books'] as Iterable).where((x) => x is Map)) - .cast() - .map(BookSerializer.fromMap)) + ? List.unmodifiable(((map['books'] as Iterable).whereType()) + .map(BookSerializer.fromMap)) : null, newestBook: map['newest_book'] != null ? BookSerializer.fromMap(map['newest_book'] as Map) diff --git a/angel_serialize_generator/test/models/game_pad_button.g.dart b/angel_serialize_generator/test/models/game_pad_button.g.dart index c3af517a..2430f7ec 100644 --- a/angel_serialize_generator/test/models/game_pad_button.g.dart +++ b/angel_serialize_generator/test/models/game_pad_button.g.dart @@ -160,10 +160,8 @@ class GamepadSerializer extends Codec { static Gamepad fromMap(Map map) { return Gamepad( buttons: map['buttons'] is Iterable - ? List.unmodifiable( - ((map['buttons'] as Iterable).where((x) => x is Map)) - .cast() - .map(GamepadButtonSerializer.fromMap)) + ? List.unmodifiable(((map['buttons'] as Iterable).whereType()) + .map(GamepadButtonSerializer.fromMap)) : null, dynamicMap: map['dynamic_map'] is Map ? (map['dynamic_map'] as Map).cast()