when<_T> method

_T when<_T>({
  1. required _T addressOwner(
    1. Fragment$CoreOwnerFields$$AddressOwner
    ),
  2. required _T objectOwner(
    1. Fragment$CoreOwnerFields$$ObjectOwner
    ),
  3. required _T shared(
    1. Fragment$CoreOwnerFields$$Shared
    ),
  4. required _T consensusAddressOwner(
    1. Fragment$CoreOwnerFields$$ConsensusAddressOwner
    ),
  5. required _T immutable(
    1. Fragment$CoreOwnerFields$$Immutable
    ),
  6. required _T orElse(),
})

Implementation

_T when<_T>({
  required _T Function(Fragment$CoreOwnerFields$$AddressOwner) addressOwner,
  required _T Function(Fragment$CoreOwnerFields$$ObjectOwner) objectOwner,
  required _T Function(Fragment$CoreOwnerFields$$Shared) shared,
  required _T Function(Fragment$CoreOwnerFields$$ConsensusAddressOwner)
  consensusAddressOwner,
  required _T Function(Fragment$CoreOwnerFields$$Immutable) immutable,
  required _T Function() orElse,
}) {
  switch ($__typename) {
    case "AddressOwner":
      return addressOwner(this as Fragment$CoreOwnerFields$$AddressOwner);

    case "ObjectOwner":
      return objectOwner(this as Fragment$CoreOwnerFields$$ObjectOwner);

    case "Shared":
      return shared(this as Fragment$CoreOwnerFields$$Shared);

    case "ConsensusAddressOwner":
      return consensusAddressOwner(
        this as Fragment$CoreOwnerFields$$ConsensusAddressOwner,
      );

    case "Immutable":
      return immutable(this as Fragment$CoreOwnerFields$$Immutable);

    default:
      return orElse();
  }
}