simple_mapper 1.0.1 copy "simple_mapper: ^1.0.1" to clipboard
simple_mapper: ^1.0.1 copied to clipboard

outdated

Maps objects of different types to other objects using configured expressions.

example/simple_mapper_example.dart

import 'package:simple_mapper/simple_mapper.dart';

import 'models/company_a.dart';
import 'models/company_b.dart';
import 'models/employee_a.dart';
import 'models/employee_b.dart';

main() {
  var now = DateTime.now();
  var mapper = Mapper()
    .addMap<CompanyB, CompanyA>((source, mapper) => CompanyB(
      id: source.id,
      name: source.name,
      employees: source.employees
        ?.map((employee) => mapper.map<EmployeeB, EmployeeA>(employee))
        ?.toList()
    ))
    .addMap<EmployeeB, EmployeeA>((source, mapper) => EmployeeB(
      id: source.id,
      name: source.name,
      startDate: source.startDate,
      timeEmployed: source.startDate == null || source.endDate == null ?
        null :
        source.endDate.difference(source.startDate),
      company: mapper.map<CompanyB, CompanyA>(source.company)
    ));
  var companyA = CompanyA(
    id: 1,
    name: 'ABC',
    employees: <EmployeeA>[
      EmployeeA(
        id: 1,
        name: 'John Smith',
        startDate: now.subtract(Duration(days: 30)),
        endDate: now
      )
    ]
  );

  print(companyA);
  print('mapped to');
  print(mapper.map<CompanyB, CompanyA>(companyA));
}
8
likes
0
points
6
downloads

Publisher

unverified uploader

Weekly Downloads

Maps objects of different types to other objects using configured expressions.

Repository (GitHub)
View/report issues

License

unknown (license)

More

Packages that depend on simple_mapper