dart_class_mapper 1.0.2 copy "dart_class_mapper: ^1.0.2" to clipboard
dart_class_mapper: ^1.0.2 copied to clipboard

O Dart Class Mapper é uma biblioteca leve e intuitiva para facilitar o mapeamento entre diferentes classes em Dart. Ideal para cenários como conversões entre entidades e DTOs, este package ajuda a red [...]

example/dart_class_mapper_example.dart

import 'package:dart_class_mapper/dart_class_mapper.dart';

class User {
  String name;
  String email;
  String password;

  User({required this.name, required this.email, required this.password});
}

class UserGetDto {
  String name;
  String email;

  UserGetDto({required this.name, required this.email});
}

void main() {
  //* Primeiro, criamos um mapeamento entre User e UserDto.
  CreateMap<UserGetDto, User>((user) => UserGetDto(
        name: user.name,
        email: user.email,
      ));

  //* Exemplo de uso
  final user = User(
    name: 'John Doe',
    email: 'john.doe@example',
    password: 'teste',
  );

  final userGetDto = GetMapper<UserGetDto, User>().value(user);

  print(userGetDto.name); // John Doe
  print(userGetDto.email); // john.doe@example

  //* Exemplo de uso com listas
  final users = [
    User(
      name: 'John Doe',
      email: 'john.doe@example',
      password: 'teste',
    ),
    User(
      name: 'Jane Doe',
      email: 'jane.doe@example',
      password: 'teste',
    ),
  ];
  final usersGetDto = GetMapper<UserGetDto, User>().list(users);
  for (var user in usersGetDto) {
    print(user.name);
    print(user.email);
  }

  //* Exemplo de uso com sets
  final usersSet = {
    User(
      name: 'John Doe',
      email: 'john.doe@example',
      password: 'teste',
    ),
    User(
      name: 'Jane Doe',
      email: 'jane.doe@example',
      password: 'teste',
    ),
  };
  final usersGetDtoSet = GetMapper<UserGetDto, User>().set(usersSet);
  for (var user in usersGetDtoSet) {
    print(user.name);
    print(user.email);
  }

  //* Exemplo de uso com maps
  final usersMap = {
    'john': User(
      name: 'John Doe',
      email: 'john.doe@example',
      password: 'teste',
    ),
    'jane': User(
      name: 'Jane Doe',
      email: 'jane.doe@example',
      password: 'teste',
    ),
  };
  final usersGetDtoMap = GetMapper<UserGetDto, User>().map(usersMap);
  for (var user in usersGetDtoMap.entries) {
    print(user.key);
    print(user.value.name);
    print(user.value.email);
  }
}
1
likes
0
points
52
downloads

Publisher

verified publisherlucasmateusdev.com.br

Weekly Downloads

O Dart Class Mapper é uma biblioteca leve e intuitiva para facilitar o mapeamento entre diferentes classes em Dart. Ideal para cenários como conversões entre entidades e DTOs, este package ajuda a reduzir repetição de código, melhora a organização e promove reutilização através de uma API simples baseada em funções como `CreateMap` e `GetMapper`.

Repository (GitHub)
View/report issues

Topics

#class-mapper #mappings #automapper #object-transform #dart

License

unknown (license)

More

Packages that depend on dart_class_mapper