UNPKG

@aigamo/hydrangean-diva

Version:

An open-source online media player that can be deployed to and hosted on GitHub pages.

47 lines (46 loc) 2.07 kB
import { IPlayQueueItemStore } from './IPlayQueueItemStore'; import { PlayQueueDto } from './PlayQueueDto'; import { PlayQueueItemDto } from './PlayQueueItemDto'; import { IStateStore } from '@aigamo/route-sphere'; export interface IPlayQueueStore { readonly interacted: boolean; readonly localStorageState: IStateStore<PlayQueueDto>; readonly items: IPlayQueueItemStore[]; createItemFromDto(dto: PlayQueueItemDto): IPlayQueueItemStore; readonly isEmpty: boolean; readonly canClear: boolean; readonly currentItem: IPlayQueueItemStore | undefined; readonly canPlay: boolean; readonly canPause: boolean; readonly hasMultipleItems: boolean; readonly currentIndex: number | undefined; readonly hasPreviousItem: boolean; readonly hasNextItem: boolean; readonly isLastItem: boolean; readonly selectedItems: IPlayQueueItemStore[]; readonly allItemsSelected: boolean; readonly selectedItemsOrAllItems: IPlayQueueItemStore[]; readonly canAddSelectedItems: boolean; readonly canPlaySelectedItemsNext: boolean; readonly canRemoveSelectedItems: boolean; setItems(value: IPlayQueueItemStore[]): void; clear(): void; unselectAll(): void; selectAll(): void; setCurrentItem(item: IPlayQueueItemStore | undefined): void; clearAndSetItems(items: IPlayQueueItemStore[]): void; playNext(items: IPlayQueueItemStore[]): Promise<void>; playSelectedItemsNext(): Promise<void>; addItems(items: IPlayQueueItemStore[]): Promise<void>; addSelectedItems(): Promise<void>; playFirst(items: IPlayQueueItemStore[]): Promise<void>; moveItem(item: IPlayQueueItemStore, index: number): void; goToFirst(): Promise<void>; removeItems(items: IPlayQueueItemStore[]): Promise<void>; removeSelectedItems(): Promise<void>; removeItemsAbove(item: IPlayQueueItemStore): Promise<void>; removeOtherItems(item: IPlayQueueItemStore): Promise<void>; previous(): Promise<void>; next(): Promise<void>; addItemFromDto(dto: PlayQueueItemDto): Promise<void>; }