@aller/blink
Version:
A library for tracking user behaviour.
20 lines (19 loc) • 585 B
TypeScript
export interface PlayerEvent {
time: Date;
muted: boolean;
position: number;
volume: number;
}
export interface PlayerShownEvent extends PlayerEvent {
type: 'shown';
reason: 'tabactive' | 'viewable';
}
export interface PlayerHiddenEvent extends PlayerEvent {
type: 'hidden';
reason: 'tabclose' | 'tabhide';
}
export declare type PlayerStateEvent = PlayerShownEvent | PlayerHiddenEvent;
export interface PlayerState {
[playerId: string]: PlayerStateEvent[];
}
export default function player(state: PlayerState | undefined, action: any): PlayerState;