17 lines
605 B
Dart
17 lines
605 B
Dart
import 'package:backend_dart/domain/interface/error.dart';
|
|
import 'package:fpdart/fpdart.dart';
|
|
|
|
abstract class IMapper<U, V> {
|
|
/// Konvertiert von Typ U (Origin) zu Typ V (Target)
|
|
TaskEither<IError, V> to(U origin);
|
|
|
|
/// Konvertiert von Typ V (Target) zu Typ U (Origin)
|
|
TaskEither<IError, U> from(V target);
|
|
|
|
/// Konvertiert eine Liste von Typ U (Origin) zu einer Liste von Typ V (Target)
|
|
TaskEither<IError, List<V>> listTo(Iterable<U> origins);
|
|
|
|
/// Konvertiert eine Liste von Typ V (Target) zu einer Liste von Typ U (Origin)
|
|
TaskEither<IError, List<U>> listFrom(Iterable<V> targets);
|
|
}
|