maybeWhen<TResult extends Object?> method
Null safety
- {TResult track(
- String name,
- String sortableName,
- Duration duration,
- int trackNumber,
- MediaIcon? icon,
- RightsInfo rightsInfo,
- String albumId,
- String albumName,
- String artistId,
- String artistName,
- Explicitness explicitness,
- bool hasRadio,
- DateTime modificationTime,
- String slugPlusPandoraId,
- String isrc,
- String pandoraId,
- Scope scope
- TResult artist(
- String name,
- String sortableName,
- int trackCount,
- int albumCount,
- MediaIcon? icon,
- String? twitterHandle,
- bool hasRadio,
- DateTime modificationTime,
- String slugPlusPandoraId,
- bool collaboration,
- List<
String> primaryArtistIds, - bool variousArtist,
- bool megastar,
- bool hasTakeoverModes,
- String pandoraId,
- Scope scope
- TResult album(
- String name,
- String sortableName,
- DateTime? releaseDate,
- Duration duration,
- int trackCount,
- bool isCompilation,
- MediaIcon? icon,
- RightsInfo rightsInfo,
- List<
String> trackIds, - String artistId,
- String artistName,
- Explicitness explicitness,
- DateTime modificationTime,
- String slugPlusPandoraId,
- bool hasRadio,
- String releaseType,
- String listenerReleaseType,
- String pandoraId,
- Scope scope
- TResult artistMessage(
- String name,
- String sortableName,
- Duration duration,
- MediaIcon? icon,
- MediaIcon? tileIcon,
- String authorId,
- String authorName,
- RightsInfo rightsInfo,
- DeliveryType deliveryType,
- String? playsWithTrackId,
- DateTime modificationTime,
- ContentState contentState,
- String pandoraId,
- Scope scope
- TResult genre( )?,
- TResult playlist(
- String name,
- bool allowFeedback,
- bool autogenForListener,
- bool collectible,
- String? description,
- Duration duration,
- List<
PandoraType> includedTrackTypes, - bool isPrivate,
- PlaylistLinkedType linkedType,
- int listenerId,
- ListenerIdInfo listenerIdInfo,
- String listenerIdToken,
- String listenerPandoraId,
- bool secret,
- String thorLayers,
- DateTime timeCreated,
- DateTime? timeLastPlayed,
- DateTime? timeLastUpdated,
- int totalTracks,
- bool unlocked,
- PlaylistViewerInfo? viewerInfo,
- String pandoraId,
- Scope scope
- TResult station( )?,
- TResult podcast(
- String name,
- String sortableName,
- MediaIcon? icon,
- DateTime modificationTime,
- String publisherName,
- String publisherId,
- String ordering,
- int episodeCount,
- String shelfLife,
- List<
String> categoryPandoraIds, - String slugPlusPandoraId,
- ContentState contentState,
- RightsInfo rightsInfo,
- bool sxmEnabled,
- String? sxmChannelId,
- String? latestEpisodePandoraId,
- List<
Object> exclusivityGroups, - String pandoraId,
- Scope scope
- TResult podcastCategory( )?,
- TResult episode(
- String name,
- String sortableName,
- MediaIcon? icon,
- DateTime modificationTime,
- String programName,
- String summary,
- DateTime? releaseDate,
- String podcastPandoraId,
- Duration duration,
- RightsInfo rightsInfo,
- Explicitness explicitness,
- String slugPlusPandoraId,
- ContentState contentState,
- List<
Object> adBreaks, - List<
Object> exclusivityGroups, - String pandoraId,
- Scope scope
- TResult curator( )?,
- TResult composer( )?,
- TResult listener( )?,
- required TResult orElse(
inherited
Implementation
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'duration', fromJson: readSeconds, toJson: writeSeconds)
Duration duration,
@JsonKey(name: 'trackNumber')
int trackNumber,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'rightsInfo')
RightsInfo rightsInfo,
@JsonKey(name: 'albumId')
String albumId,
@JsonKey(name: 'albumName')
String albumName,
@JsonKey(name: 'artistId')
String artistId,
@JsonKey(name: 'artistName')
String artistName,
@JsonKey(name: 'explicitness')
Explicitness explicitness,
@JsonKey(name: 'shareableUrlPath')
String shareableUrlPath,
@JsonKey(name: 'hasRadio', fromJson: readOptInBool, toJson: writeOptInBool)
bool hasRadio,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'slugPlusPandoraId')
String slugPlusPandoraId,
@JsonKey(name: 'isrc')
String isrc,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
Scope scope)?
track,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'trackCount')
int trackCount,
@JsonKey(name: 'albumCount')
int albumCount,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'shareableUrlPath')
String shareableUrlPath,
@JsonKey(name: 'twitterHandle')
String? twitterHandle,
@JsonKey(name: 'hasRadio', fromJson: readOptInBool, toJson: writeOptInBool)
bool hasRadio,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'slugPlusPandoraId')
String slugPlusPandoraId,
@JsonKey(name: 'collaboration')
bool collaboration,
@JsonKey(name: 'primaryArtists')
List<String> primaryArtistIds,
@JsonKey(name: 'variousArtist')
bool variousArtist,
@JsonKey(name: 'megastar')
bool megastar,
@JsonKey(name: 'hasTakeoverModes')
bool hasTakeoverModes,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
Scope scope)?
artist,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'releaseDate')
DateTime? releaseDate,
@JsonKey(name: 'duration', fromJson: readSeconds, toJson: writeSeconds)
Duration duration,
@JsonKey(name: 'trackCount')
int trackCount,
@JsonKey(name: 'isCompilation')
bool isCompilation,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'rightsInfo')
RightsInfo rightsInfo,
@JsonKey(name: 'tracks')
List<String> trackIds,
@JsonKey(name: 'artistId')
String artistId,
@JsonKey(name: 'artistName')
String artistName,
@JsonKey(name: 'explicitness')
Explicitness explicitness,
@JsonKey(name: 'shareableUrlPath')
String shareableUrlPath,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'slugPlusPandoraId')
String slugPlusPandoraId,
@JsonKey(name: 'hasRadio', fromJson: readOptInBool, toJson: writeOptInBool)
bool hasRadio,
@JsonKey(name: 'releaseType')
String releaseType,
@JsonKey(name: 'listenerReleaseType')
String listenerReleaseType,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
Scope scope)?
album,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'duration', fromJson: readSeconds, toJson: writeSeconds)
Duration duration,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'tileIcon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? tileIcon,
@JsonKey(name: 'authorId')
String authorId,
@JsonKey(name: 'authorName')
String authorName,
@JsonKey(name: 'rightsInfo')
RightsInfo rightsInfo,
@JsonKey(name: 'deliveryType')
DeliveryType deliveryType,
@JsonKey(name: 'playsWithTrackPandoraId')
String? playsWithTrackId,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'contentState')
ContentState contentState,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
Scope scope)?
artistMessage,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'description')
String description,
@JsonKey(name: 'stationListenerCount')
int stationListenerCount,
@JsonKey(name: 'shareableUrlPath')
String shareableUrlPath,
@JsonKey(name: 'hasTakeoverModes')
bool hasTakeoverModes,
@JsonKey(name: 'hasCuratedModes')
bool hasCuratedModes,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
Scope scope)?
genre,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'allowFeedback', fromJson: readOptInBool, toJson: writeOptInBool)
bool allowFeedback,
@JsonKey(name: 'autogenForListener')
bool autogenForListener,
@JsonKey(name: 'collectible')
bool collectible,
@JsonKey(name: 'description', fromJson: readOptionalOptionallyEmptyString, toJson: writeOptionallyEmptyString)
String? description,
@JsonKey(name: 'duration', fromJson: readSeconds, toJson: writeSeconds)
Duration duration,
@JsonKey(name: 'includedTrackTypes')
List<PandoraType> includedTrackTypes,
@JsonKey(name: 'isPrivate')
bool isPrivate,
@JsonKey(name: 'linkedType')
PlaylistLinkedType linkedType,
@JsonKey(name: 'listenerId')
int listenerId,
@JsonKey(name: 'listenerIdInfo')
ListenerIdInfo listenerIdInfo,
@JsonKey(name: 'listenerIdToken')
String listenerIdToken,
@JsonKey(name: 'listenerPandoraId')
String listenerPandoraId,
@JsonKey(name: 'secret')
bool secret,
@JsonKey(name: 'shareableUrlPath')
String shareableUrlPath,
@JsonKey(name: 'thorLayers')
String thorLayers,
@JsonKey(name: 'timeCreated', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime timeCreated,
@JsonKey(name: 'timeLastPlayed', fromJson: readOptionalDateTimeMilliseconds, toJson: writeOptionalDateTimeMilliseconds)
DateTime? timeLastPlayed,
@JsonKey(name: 'timeLastUpdated', fromJson: readOptionalDateTimeMilliseconds, toJson: writeOptionalDateTimeMilliseconds)
DateTime? timeLastUpdated,
@JsonKey(name: 'totalTracks')
int totalTracks,
@JsonKey(name: 'unlocked')
bool unlocked,
@JsonKey(name: 'viewerInfo')
PlaylistViewerInfo? viewerInfo,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
Scope scope)?
playlist,
TResult Function(
@JsonKey(name: 'stationName')
String name,
@JsonKey(name: 'stationId')
String stationId,
@JsonKey(name: 'listenerId')
int listenerId,
@JsonKey(name: 'listenerPandoraId')
String listenerPandoraId,
@JsonKey(name: 'initialSeedId')
String? initialSeedId,
@JsonKey(name: 'isQuickMix')
bool isQuickMix,
@JsonKey(name: 'isThumbprint')
bool isThumbprint,
@JsonKey(name: 'hasCuratedModes', fromJson: readOptInBool, toJson: writeOptInBool)
bool hasCuratedModes,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'pandoraId')
String pandoraId)?
station,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'publisherName')
String publisherName,
@JsonKey(name: 'publisherId')
String publisherId,
@JsonKey(name: 'ordering')
String ordering,
@JsonKey(name: 'episodeCount')
int episodeCount,
@JsonKey(name: 'shelfLife')
String shelfLife,
@JsonKey(name: 'categories')
List<String> categoryPandoraIds,
@JsonKey(name: 'shareableUrlPath')
String shareableUrlPath,
@JsonKey(name: 'slugPlusPandoraId')
String slugPlusPandoraId,
@JsonKey(name: 'contentState')
ContentState contentState,
@JsonKey(name: 'rightsInfo')
RightsInfo rightsInfo,
@JsonKey(name: 'sxmEnabled')
bool sxmEnabled,
@JsonKey(name: 'sxmChannelId')
String? sxmChannelId,
@JsonKey(name: 'latestEpisodeId')
String? latestEpisodePandoraId,
@JsonKey(name: 'exclusivityGroups')
List<Object> exclusivityGroups,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
Scope scope)?
podcast,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'aliases')
List<String> aliases,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
String scope)?
podcastCategory,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'programName')
String programName,
@JsonKey(name: 'summary')
String summary,
@JsonKey(name: 'releaseDate')
DateTime? releaseDate,
@JsonKey(name: 'podcastId')
String podcastPandoraId,
@JsonKey(name: 'duration', fromJson: readSeconds, toJson: writeSeconds)
Duration duration,
@JsonKey(name: 'rightsInfo')
RightsInfo rightsInfo,
@JsonKey(name: 'explicitness')
Explicitness explicitness,
@JsonKey(name: 'shareableUrlPath')
String shareableUrlPath,
@JsonKey(name: 'slugPlusPandoraId')
String slugPlusPandoraId,
@JsonKey(name: 'contentState')
ContentState contentState,
@JsonKey(name: 'adBreaks')
List<Object> adBreaks,
@JsonKey(name: 'exclusivityGroups')
List<Object> exclusivityGroups,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
Scope scope)?
episode,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'listenerId')
int listenerId,
@JsonKey(name: 'listenerPandoraId')
String listenerPandoraId,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
String scope)?
curator,
TResult Function(
@JsonKey(name: 'name')
String name,
@JsonKey(name: 'sortableName')
String sortableName,
@JsonKey(name: 'icon', fromJson: MediaIcon.optionalFromJson, toJson: MediaIcon.optionalToJson)
MediaIcon? icon,
@JsonKey(name: 'hasRadio', fromJson: readOptInBool, toJson: writeOptInBool)
bool hasRadio,
@JsonKey(name: 'albumCount')
int albumCount,
@JsonKey(name: 'trackCount')
int trackCount,
@JsonKey(name: 'shareableUrlPath')
String shareableUrlPath,
@JsonKey(name: 'modificationTime', fromJson: readDateTimeMilliseconds, toJson: writeDateTimeMilliseconds)
DateTime modificationTime,
@JsonKey(name: 'slugPlusPandoraId')
String slugPlusPandoraId,
@JsonKey(name: 'pandoraId')
String pandoraId,
@JsonKey(name: 'scope')
String scope)?
composer,
TResult Function(
@JsonKey(name: 'listenerId') int listenerId,
@JsonKey(name: 'webname') String webname,
@JsonKey(name: 'fullname') String? fullName,
@JsonKey(name: 'displayname') String displayName,
@JsonKey(name: 'bio') String? biography,
@JsonKey(name: 'defaultImageUrl') Uri? defaultImageUrl,
@JsonKey(name: 'imageUrl') Uri? imageUrl,
@JsonKey(name: 'pandoraId') String pandoraId)?
listener,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;