built_value
sample: parse JSON
to BuiltList
dynamically.
Built
classes in _types
/// Register your [Built] classes here.
const List<Type> _types = [
MyModel,
MyModelTwo,
];
BuilderFactory
s in _factories
./// Register your [_BuilderFactory]s here.
final List<_BuilderFactory> _factories = [
_BuilderFactory(
FullType(BuiltMap, [
FullType(String),
FullType(int),
]),
() => MapBuilder<String, int>(),
),
];
deserializeBuiltList
and deserializeBuiltListNullable
to parse JSON
to BuiltList
.abstract class MyModel implements Built<MyModel, MyModelBuilder> {
BuiltList<int?> get items;
MyModel._();
factory MyModel([void Function(MyModelBuilder) updates]) = _$MyModel;
[...]
}
BuiltList<T> deserializeBuiltList<T extends Object>(Object json)
final json = [
{
'items': <int?>[1, 2, null, 3, 3]
},
{
'items': <int?>[1, 2, null, 3, 2]
},
{
'items': <int?>[1, 2, null, 3]
},
];
BuiltList<MyModel> items = deserializeBuiltList<MyModel>(json);
BuiltList<T?> deserializeBuiltListNullable<T extends Object>(Object json)
.final json = [
{
'items': <int?>[1, 2, null, 3, 3]
},
{
'items': <int?>[1, 2, null, 3, 2]
},
null,
{
'items': <int?>[1, 2, null, 3]
},
];
BuiltList<MyModel?> items = deserializeBuiltListNullable<MyModel>(json);
dart pub get
dart run ./bin/main.dart