map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult generated(
    1. InputFileGenerated value
    ),
  2. required TResult id(
    1. InputFileId value
    ),
  3. required TResult local(
    1. InputFileLocal value
    ),
  4. required TResult remote(
    1. InputFileRemote value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(InputFileGenerated value) generated,
  required TResult Function(InputFileId value) id,
  required TResult Function(InputFileLocal value) local,
  required TResult Function(InputFileRemote value) remote,
}) {
  switch (getConstructor()) {
    case InputFileGenerated.constructor:
      return generated.call(this as InputFileGenerated);
    case InputFileId.constructor:
      return id.call(this as InputFileId);
    case InputFileLocal.constructor:
      return local.call(this as InputFileLocal);
    case InputFileRemote.constructor:
      return remote.call(this as InputFileRemote);
  }
  throw StateError('not handled type Generator');
}