map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult group(
    1. MessageFileTypeGroup value
    ),
  2. required TResult private(
    1. MessageFileTypePrivate value
    ),
  3. required TResult unknown(
    1. MessageFileTypeUnknown value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(MessageFileTypeGroup value) group,
  required TResult Function(MessageFileTypePrivate value) private,
  required TResult Function(MessageFileTypeUnknown value) unknown,
}) {
  switch (getConstructor()) {
    case MessageFileTypeGroup.constructor:
      return group.call(this as MessageFileTypeGroup);
    case MessageFileTypePrivate.constructor:
      return private.call(this as MessageFileTypePrivate);
    case MessageFileTypeUnknown.constructor:
      return unknown.call(this as MessageFileTypeUnknown);
  }
  throw StateError('not handled type Generator');
}