map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult myPrivacyRestricted(
    1. MessageReadDateMyPrivacyRestricted value
    ),
  2. required TResult read(
    1. MessageReadDateRead value
    ),
  3. required TResult tooOld(
    1. MessageReadDateTooOld value
    ),
  4. required TResult unread(
    1. MessageReadDateUnread value
    ),
  5. required TResult userPrivacyRestricted(
    1. MessageReadDateUserPrivacyRestricted value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(MessageReadDateMyPrivacyRestricted value)
  myPrivacyRestricted,
  required TResult Function(MessageReadDateRead value) read,
  required TResult Function(MessageReadDateTooOld value) tooOld,
  required TResult Function(MessageReadDateUnread value) unread,
  required TResult Function(MessageReadDateUserPrivacyRestricted value)
  userPrivacyRestricted,
}) {
  switch (getConstructor()) {
    case MessageReadDateMyPrivacyRestricted.constructor:
      return myPrivacyRestricted.call(
        this as MessageReadDateMyPrivacyRestricted,
      );
    case MessageReadDateRead.constructor:
      return read.call(this as MessageReadDateRead);
    case MessageReadDateTooOld.constructor:
      return tooOld.call(this as MessageReadDateTooOld);
    case MessageReadDateUnread.constructor:
      return unread.call(this as MessageReadDateUnread);
    case MessageReadDateUserPrivacyRestricted.constructor:
      return userPrivacyRestricted.call(
        this as MessageReadDateUserPrivacyRestricted,
      );
  }
  throw StateError('not handled type Generator');
}