mapOrNull<TResult extends Object?> method

  1. @optionalTypeArgs
TResult? mapOrNull<TResult extends Object?>({
  1. TResult? splToken(
    1. ParsedSplTokenProgramAccountData value
    )?,
  2. TResult? token2022(
    1. ParsedSplToken2022ProgramAccountData value
    )?,
  3. TResult? stake(
    1. ParsedStakeProgramAccountData value
    )?,
  4. TResult? unsupported(
    1. UnsupportedProgramAccountData value
    )?,
})

A variant of map that fallback to returning null.

It is equivalent to doing:

switch (sealedClass) {
  case final Subclass value:
    return ...;
  case _:
    return null;
}

Implementation

@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>({TResult? Function( ParsedSplTokenProgramAccountData value)?  splToken,TResult? Function( ParsedSplToken2022ProgramAccountData value)?  token2022,TResult? Function( ParsedStakeProgramAccountData value)?  stake,TResult? Function( UnsupportedProgramAccountData value)?  unsupported,}){
final _that = this;
switch (_that) {
case ParsedSplTokenProgramAccountData() when splToken != null:
return splToken(_that);case ParsedSplToken2022ProgramAccountData() when token2022 != null:
return token2022(_that);case ParsedStakeProgramAccountData() when stake != null:
return stake(_that);case UnsupportedProgramAccountData() when unsupported != null:
return unsupported(_that);case _:
  return null;

}
}