map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult ok(
    1. CanTransferOwnershipResultOk value
    ),
  2. required TResult passwordNeeded(
    1. CanTransferOwnershipResultPasswordNeeded value
    ),
  3. required TResult passwordTooFresh(
    1. CanTransferOwnershipResultPasswordTooFresh value
    ),
  4. required TResult sessionTooFresh(
    1. CanTransferOwnershipResultSessionTooFresh value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(CanTransferOwnershipResultOk value) ok,
  required TResult Function(CanTransferOwnershipResultPasswordNeeded value)
  passwordNeeded,
  required TResult Function(CanTransferOwnershipResultPasswordTooFresh value)
  passwordTooFresh,
  required TResult Function(CanTransferOwnershipResultSessionTooFresh value)
  sessionTooFresh,
}) {
  switch (getConstructor()) {
    case CanTransferOwnershipResultOk.constructor:
      return ok.call(this as CanTransferOwnershipResultOk);
    case CanTransferOwnershipResultPasswordNeeded.constructor:
      return passwordNeeded.call(
        this as CanTransferOwnershipResultPasswordNeeded,
      );
    case CanTransferOwnershipResultPasswordTooFresh.constructor:
      return passwordTooFresh.call(
        this as CanTransferOwnershipResultPasswordTooFresh,
      );
    case CanTransferOwnershipResultSessionTooFresh.constructor:
      return sessionTooFresh.call(
        this as CanTransferOwnershipResultSessionTooFresh,
      );
  }
  throw StateError('not handled type Generator');
}