mapr 0.3.0 copy "mapr: ^0.3.0" to clipboard
mapr: ^0.3.0 copied to clipboard

A dart package inspired by AutoMapper which auto generates mapping classes and exposes a simple mapping api

example/lib/example.dart

import 'package:example/address.dart';
import 'package:example/freezed_person.dart';
import 'new_person.dart';
import 'person.dart';
import 'mapper.dart';

void main() {
  var mapper = Mapper();

  var person = Person(
    firstName: 'Micah',
    lastName: 'Meadows',
    age: 21,
    address: Address(
      buildingNumber: 123,
      streetName: 'Street Dr',
    ),
  );

  var person2 = Person(
    firstName: 'Jonah',
    lastName: 'Meadows',
    age: 22,
    address: Address(
      buildingNumber: 123,
      streetName: 'Street Dr',
    ),
  );

  print(person);

  var freezedPerson = mapper.map<Person, FreezedPerson>(person);
  print(freezedPerson);

  var newPerson = mapper.map<FreezedPerson, NewPerson>(freezedPerson);
  print(newPerson);

  var oldPersonMapBack = mapper.map<NewPerson, Person>(newPerson);
  print(oldPersonMapBack);

  var personList = [
    person,
    person2,
  ];

  print('---');
  for (final person in personList) {
    print(person.toString());
  }

  final mappedPersonList =
      mapper.map<List<Person>, List<FreezedPerson>>(personList);

  for (final person in mappedPersonList) {
    print(person.toString());
  }

  final backMap =
      mapper.map<List<FreezedPerson>, List<Person>>(mappedPersonList);

  for (final person in backMap) {
    print(person.toString());
  }
}
3
likes
120
pub points
2%
popularity

Publisher

unverified uploader

A dart package inspired by AutoMapper which auto generates mapping classes and exposes a simple mapping api

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

analyzer, build, recase, source_gen

More

Packages that depend on mapr