maybeWhen<TResult extends Object?> method
- 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;