@aigamo/hydrangean-diva
Version:
An open-source online media player that can be deployed to and hosted on GitHub pages.
27 lines (26 loc) • 1.22 kB
TypeScript
import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
import { IPlaylistItemStore } from './IPlaylistItemStore';
export interface IPlaylistStore {
readonly items: IPlaylistItemStore[];
createItemFromDto(dto: PlayQueueItemDto): IPlaylistItemStore;
readonly isEmpty: boolean;
readonly hasMultipleItems: boolean;
readonly selectedItems: IPlaylistItemStore[];
readonly allItemsSelected: boolean;
readonly canAddSelectedItems: boolean;
readonly canPlaySelectedItemsNext: boolean;
readonly canRemoveSelectedItems: boolean;
setItems(value: IPlaylistItemStore[]): void;
unselectAll(): void;
selectAll(): void;
playSelectedItemsNext(): Promise<void>;
addItems(items: IPlaylistItemStore[]): Promise<void>;
addSelectedItems(): Promise<void>;
moveItem(item: IPlaylistItemStore, index: number): void;
removeItems(items: IPlaylistItemStore[]): Promise<void>;
removeSelectedItems(): Promise<void>;
removeItemsAbove(item: IPlaylistItemStore): Promise<void>;
removeOtherItems(item: IPlaylistItemStore): Promise<void>;
addItemFromDto(dto: PlayQueueItemDto): Promise<void>;
playAll(): Promise<void>;
}