Interface: CastHandoff
Defined in: packages/cast/src/handoff.ts:109
The running handoff — one per app; dispose before creating another.
Properties
phase
readonly phase: CastHandoffPhase;
Defined in: packages/cast/src/handoff.ts:111
Current §3 phase.
receiverItemIndex
readonly receiverItemIndex: number | undefined;
Defined in: packages/cast/src/handoff.ts:116
Reconciled JS-queue index the receiver is on, while cast-active.
undefined in every other phase — exactly one backend owns the cursor.
Methods
castTo()
castTo(deviceId: string): Promise<void>;
Defined in: packages/cast/src/handoff.ts:124
Cast the queue to deviceId (from getCastDevices). Resolves when the
session is up (the handoff continues asynchronously — watch
onPhaseChange); rejects invalid-state outside the local phase.
On an already-connected session it reuses it and starts the handoff
directly. Ordering note: call this before stopDiscovery().
Parameters
| Parameter | Type |
|---|---|
deviceId | string |
Returns
Promise<void>
dispose()
dispose(): void;
Defined in: packages/cast/src/handoff.ts:148
Detach every listener. Ends no session and restores nothing — this is teardown of the wiring, not of playback.
Returns
void
skipToItem()
skipToItem(jsIndex: number, position?: number): Promise<void>;
Defined in: packages/cast/src/handoff.ts:140
Jump the receiver to the castable item at JS index jsIndex.
Parameters
| Parameter | Type |
|---|---|
jsIndex | number |
position? | number |
Returns
Promise<void>
skipToNext()
skipToNext(): Promise<void>;
Defined in: packages/cast/src/handoff.ts:142
Advance to the next castable item (non-castable ones are inherently skipped).
Returns
Promise<void>
skipToPrevious()
skipToPrevious(): Promise<void>;
Defined in: packages/cast/src/handoff.ts:143
Returns
Promise<void>
stopCasting()
stopCasting(options?: EndSessionOptions): Promise<void>;
Defined in: packages/cast/src/handoff.ts:132
End the session. Default (transferBackToLocal: true): stop the
receiver and resume locally at the receiver's projected position;
resolves when the machine is back in local (restore issued).
transferBackToLocal: false: disconnect and leave the receiver playing.
Idempotent in local; rejects invalid-state mid-handoff.
Parameters
| Parameter | Type |
|---|---|
options? | EndSessionOptions |
Returns
Promise<void>
syncQueue()
syncQueue(): void;
Defined in: packages/cast/src/handoff.ts:138
The JS queue changed while casting: re-project and reload the receiver
queue, anchored at the receiver's current item and projected position.
No-op outside cast-active.
Returns
void