dart_mappable_extras 0.2.2 copy "dart_mappable_extras: ^0.2.2" to clipboard
dart_mappable_extras: ^0.2.2 copied to clipboard

Untagged Unions and Undefined Types for dart_mappable

A small library with some extras for dart_mappable.

Untagged Unions #

This library allows you to use a union type with dart_mappable.

@MappableClass(includeCustomMappers: unionMappers)
class UnionTest2 with UnionTest2Mappable {
  final Union2<String, int> union;
  UnionTest2({required this.union});
}

void main() {
  final unionTest = UnionTest2(union: Union2.in1('test'));
  final json = unionTest.toMap();
  expect(json, {'union': 'test'});
  final unionTest2 = UnionTest2(union: Union2.in2(1));
  final json2 = unionTest2.toMap();
  expect(json2, {'union': 1});
}

Optional #

This library allows you to use an optional type with dart_mappable.

@MappableClass(includeCustomMappers: [OptionalMapper()], hook: RemoveUndefinedFields(["optional", "optionalNullable"]))
class OptionalTest with OptionalTestMappable {
  final Optional<String> optional;
  final Optional<int?> optionalNullable;
  OptionalTest({required this.optional, required this.optionalNullable});
}

void main() {
  final optionalTest = OptionalTest(optional: Optional.defined('test'), optionalNullable: Optional.undefined());
  final json = optionalTest.toMap();
  expect(json, {'optional': 'test'});
}
0
likes
150
points
36
downloads

Publisher

unverified uploader

Weekly Downloads

Untagged Unions and Undefined Types for dart_mappable

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dart_mappable

More

Packages that depend on dart_mappable_extras