d_serializer 1.1.3
d_serializer: ^1.1.3 copied to clipboard
Static JSON serializer with annotation-based generation for Dart
Changelog #
All notable changes to this project will be documented in this file.
1.1.3 - 2026-06-01 #
Added #
- Typed formatter annotation support:
@Format.customWith(TypeName). - Consolidated complete example model set in
lib/example/example_models.dart. - Pub.dev-facing example (
example/example.dart) now documents model structure, initialization flow, and usage in one place.
Fixed #
@Format.date(...)serialization/deserialization pipeline for generated code.- Reduced unnecessary casts in generated formatter expressions.
- Export library headers adjusted to avoid dangling doc-comment analysis warnings.
Changed #
- Formatter docs updated to include typed custom formatters.
- Example updated to use
@Format.customWith(TitleCase).
1.1.2 - 2026-05-30 #
Added #
- New complete example with semantic project structure under
lib/example/. - End-to-end example coverage for:
- nested models
- lists, sets, and maps
- enum fallback (
unknownEnumValue) @JsonKey(requiredKey/defaultValue/ignore/converter)@Format.trim()+@Format.custom('TitleCase')@Serializable(strict/naming/typeField/discriminator)
Changed #
example/example.dartnow demonstrates a realistic model graph and production-like usage.- Analyzer configuration now excludes generated files (
**/*.g.dart) from warnings.
1.1.1 - 2026-05-30 #
1.1.0 - 2026-05-30 #
Added #
- New field formatter annotation
@Format(...):trim,uppercase,lowercasedate('yyyy-MM-dd'),date('iso8601')custom('X')withXFormatToJson/XFormatFromJson
- Date formatting/parsing helpers:
Serializer.formatDate(...)Serializer.parseDate(...)
- Formatter tests for supported patterns and error paths.
Changed #
- README expanded with formatter matrix, pipeline order, build-time validation rules, and custom formatter contract.
1.0.2 - 2026-05-29 #
Added #
- Static API usage path:
Serializer.toJson<T>()andSerializer.fromJson<T>(). - Annotation-driven generation with
@Serializable()and@JsonKey(). - Advanced annotation options:
@Serializable(strict, naming, discriminator, typeField, rename)@JsonKey(requiredKey, defaultValue, converter, unknownEnumValue, useEnumIndex)
- Support for additional types:
Uri,BigInt,Duration,Set<T>.
Changed #
- Expanded documentation and converter contract.
- Publication metadata alignment and package cleanup.