Flutter GB Built Utils
Flutter GB Built Utils is a collection of built_value serializer plugins to make it easier to handle different data types and serialization/deserialization in your Flutter project.
Plugins
The package includes the following plugins:
- BuiltBoolNumParsePlugin
- BuiltEntityIdRetroCompatibilityPlugin
- BuiltForceNumberParsePlugin
- BuiltNumToStringPlugin
- DateTimeSerializerPlugin
BuiltBoolNumParsePlugin
This plugin helps to parse num to boolean.
Example Usage:
final serializers = (Serializers().toBuilder()
..addPlugin(BuiltBoolNumParsePlugin()))
.build();
BuiltEntityIdRetroCompatibilityPlugin
This plugin is to help prevent unwanted crashes because the backend changed entity.id to entity._id.
Example Usage:
final serializers = (Serializers().toBuilder()
..addPlugin(BuiltEntityIdRetroCompatibilityPlugin()))
.build();
BuiltForceNumberParsePlugin
This plugin helps to parse string, int, or double to its target type (int, double, number).
Example Usage:
final serializers = (Serializers().toBuilder()
..addPlugin(BuiltForceNumberParsePlugin()))
.build();
BuiltNumToStringPlugin
This plugin helps to parse num, int, or double to a string.
Example Usage:
final serializers = (Serializers().toBuilder()
..addPlugin(BuiltNumToStringPlugin()))
.build();
DateTimeSerializerPlugin
This plugin helps to serialize and deserialize DateTime objects.
Example Usage:
final serializers = (Serializers().toBuilder()
..addPlugin(DateTimeSerializerPlugin(
applyEncode: true,
applyDecode: true,
nullOnInvalid: true)))
.build();
Installation
Add the following to your pubspec.yaml
file:
dependencies:
flutter_gb_built_utils: ^1.0.0
Then, run flutter pub get.
Usage
Import the package in your Dart code:
import 'package:flutter_gb_built_utils/flutter_gb_built_utils.dart';
Add the required plugins to your built_value serializers:
final serializers=(Serializers().toBuilder()
..addPlugin(BuiltBoolNumParsePlugin())
..addPlugin(BuiltEntityIdRetroCompatibilityPlugin())
..addPlugin(BuiltForceNumberParsePlugin())
..addPlugin(BuiltNumToStringPlugin())
..addPlugin(DateTimeSerializerPlugin(
applyEncode:true,
applyDecode:true,
nullOnInvalid:true
))).build();
Libraries
- flutter_gb_built_utils
- modules/built_value_plugins/built_bool_num_plugin
- modules/built_value_plugins/built_entity_id_retrocompatibility
- modules/built_value_plugins/built_force_number_parse_plugin
- modules/built_value_plugins/built_num_to_string_plugin
- modules/built_value_plugins/built_value_plugins
- modules/built_value_plugins/json_datetime_deserializer
- modules/modules
- modules/test_data/infrastructure/infrastructure
- modules/test_data/infrastructure/models/bool_num_data
- modules/test_data/infrastructure/models/date_data
- modules/test_data/infrastructure/models/models
- modules/test_data/infrastructure/models/serializers
- modules/test_data/infrastructure/models/string_number_data
- modules/test_data/test_data