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);
}