map<TResult extends Object?> method

  1. @optionalTypeArgs
TResult map<TResult extends Object?>({
  1. required TResult apiKey(
    1. SecuritySchemeApiKey value
    ),
  2. required TResult http(
    1. SecuritySchemeHttp value
    ),
  3. required TResult mutualTLS(
    1. SecuritySchemeMutualTLS value
    ),
  4. required TResult oauth2(
    1. SecuritySchemeOauth2 value
    ),
  5. required TResult openIdConnect(
    1. SecuritySchemeOpenIdConnect value
    ),
})

A switch-like method, using callbacks.

Callbacks receives the raw object, upcasted. It is equivalent to doing:

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

Implementation

@optionalTypeArgs TResult map<TResult extends Object?>({required TResult Function( SecuritySchemeApiKey value)  apiKey,required TResult Function( SecuritySchemeHttp value)  http,required TResult Function( SecuritySchemeMutualTLS value)  mutualTLS,required TResult Function( SecuritySchemeOauth2 value)  oauth2,required TResult Function( SecuritySchemeOpenIdConnect value)  openIdConnect,}){
final _that = this;
switch (_that) {
case SecuritySchemeApiKey():
return apiKey(_that);case SecuritySchemeHttp():
return http(_that);case SecuritySchemeMutualTLS():
return mutualTLS(_that);case SecuritySchemeOauth2():
return oauth2(_that);case SecuritySchemeOpenIdConnect():
return openIdConnect(_that);case _:
  throw StateError('Unexpected subclass');

}
}