mapr 0.3.0
mapr: ^0.3.0 copied to clipboard
A dart package inspired by AutoMapper which auto generates mapping classes and exposes a simple mapping api
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());
}
}