From 4979be62b8f8ee3ed7371f7d6e88f938342ad66f Mon Sep 17 00:00:00 2001 From: Kiril Tijsma Date: Tue, 10 Mar 2026 10:54:26 +0100 Subject: [PATCH 1/3] feat: make serializer const --- lib/src/serialization/serializer.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/serialization/serializer.dart b/lib/src/serialization/serializer.dart index c82c2b6..96ba149 100644 --- a/lib/src/serialization/serializer.dart +++ b/lib/src/serialization/serializer.dart @@ -4,7 +4,7 @@ import "package:dart_iconica_utilities/src/value_validator/value_validator.dart" /// class Serializer { /// - Serializer({ + const Serializer({ required this.fromMap, required this.toMap, this.validators = const {}, From 804bce673b29e783b796b072e4bd9ba460ecdeda Mon Sep 17 00:00:00 2001 From: Kiril Tijsma Date: Tue, 10 Mar 2026 10:54:55 +0100 Subject: [PATCH 2/3] feat: add optional versions of value validators --- lib/src/value_validator/models.dart | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/src/value_validator/models.dart b/lib/src/value_validator/models.dart index 1a9f983..8dcbdec 100644 --- a/lib/src/value_validator/models.dart +++ b/lib/src/value_validator/models.dart @@ -215,8 +215,25 @@ class ValueValidator { return validator(value); } + + /// + ValueValidator get asOptional => ValueValidator( + optional: true, + validator: validator, + jsonRepresentation: jsonRepresentation, + ); } /// // ignore: avoid_annotating_with_dynamic typedef CustomValidator = dynamic Function(dynamic value); + +/// +typedef SerializedObjectValidator = Map; + +/// +extension OptionalObjectValidator on SerializedObjectValidator { + /// + SerializedObjectValidator get optional => + map((key, value) => MapEntry(key, value.asOptional)); +} From a4cfdde4eafe98b1a1ec9e5827320c2e69815df4 Mon Sep 17 00:00:00 2001 From: Kiril Tijsma Date: Tue, 10 Mar 2026 10:57:30 +0100 Subject: [PATCH 3/3] chore: increment version to 0.0.4 --- CHANGELOG.md | 6 ++++++ pubspec.yaml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4441d48..8426524 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.0.4 + +- Make serializer const +- Add asOptional getter on ValueValidator +- Add optional getter on Map + ## 0.0.3 - Add generic Serializer model diff --git a/pubspec.yaml b/pubspec.yaml index 8970d57..14bb397 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: dart_iconica_utilities description: Useful utilities for dart projects -version: 0.0.3 +version: 0.0.4 homepage: https://iconica.app