nodeHelpers. QueueItem

Compile-time contract for a queue item AA (the return shape of createQueueItem below). BrighterScript interfaces ARE build-enforced wherever a value is TYPED as the interface (verified on this toolchain: a QueueItem-typed value raises cannot-find-name on an undeclared member and return-type-mismatch on a missing required member). createQueueItem itself returns as object, not as QueueItem — its result is used as a real roAssociativeArray (callers/tests call DoesExist/Count) and an interface return type strips those AA methods (see the return-type note on the function below). So the ENFORCED gate on the returned shape is the createQueueItem spec at tests/source/unit/utils/nodeHelpers.spec.bs; this interface is the single explicit source of truth for the shape, IDE autocomplete, and a build-checked contract for any local you DO type as nodeHelpers.QueueItem. Most members are optional: createQueueItem only copies them when the source carries them, so a bare/lean source yields a minimal item.

Properties
NameTypeDescription
backdropImageTagsobject

Always present — callers may .Count() the backdrop arrays without an isValid() guard.

parentBackdropImageTagsobject
parentBackdropItemIdstring
idstring

Identity + playback

typestring
titlestring
mediaSourceIdstring
runTimeTickslonginteger
namestring

Now-playing display contract — audio plays IN PLACE, so AudioPlayerView reads these straight ' off the queue item (video re-fetches on mount and doesn't need them).

artistsobject
albumArtiststring
albumNamestring
albumIdstring
albumPrimaryImageTagstring
primaryImageTagstring
seriesIdstring

Episode navigation (resume dialog)

seasonIdstring
playbackPositionTickslonginteger
channelNumberstring

Live TV

startingPointlonginteger

Set by callers after creation (quickplay / ItemDetails) — playback selection + resume point

selectedAudioStreamIndexinteger
selectedSubtitleStreamIndexinteger