react-redux-music
Version:
manage media control, playlist and custom player with wavesurfer.js
126 lines (125 loc) • 7.76 kB
TypeScript
import { InitialStateOfControlSlice, SongReduxPlaylistSchema } from './types';
import { PayloadAction, Slice, Selector, ActionCreatorWithPayload, ActionCreatorWithoutPayload } from '@reduxjs/toolkit';
import { WritableDraft } from 'immer';
export declare const controlsSlice: Slice<InitialStateOfControlSlice, {
addRecommendationInThePlaylist: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<SongReduxPlaylistSchema[]>) => void;
addSongsInThePlaylist: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<SongReduxPlaylistSchema[]>) => void;
addActiveSongInTheHistory: (state: WritableDraft<InitialStateOfControlSlice>) => void;
addSongInTheFavourites: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<{
songId: string;
}>) => void;
removeSongFromTheFavourites: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<{
songId: string;
}>) => void;
changeActiveSongTrackByStep: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<number>) => void;
changeActiveSongTrack: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<{
songId: string;
}>) => void;
setActiveSongIndex: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<number>) => void;
setIsReady: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<boolean>) => void;
setIsPlaying: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<boolean>) => void;
setVolume: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<number>) => void;
setBufferedProgress: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<number>) => void;
setTotalSongDuration: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<number>) => void;
setSeekProgress: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<number>) => void;
setIsSeeking: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<boolean>) => void;
setActiveSongPlayback: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<{
seekPercentage?: number;
seekTime?: number;
}>) => void;
setRepeatOfActiveSong: (state: WritableDraft<InitialStateOfControlSlice>, action: PayloadAction<boolean>) => void;
}, "playerControls", "playerControls", {
selectIsMusicToBeRepeated: (state: InitialStateOfControlSlice) => boolean;
selectPlaylistSongs: (state: InitialStateOfControlSlice) => SongReduxPlaylistSchema[];
selectActiveSongIndex: (state: InitialStateOfControlSlice) => number;
selectActiveSong: (state: InitialStateOfControlSlice) => SongReduxPlaylistSchema;
selectActiveSongStates: (state: InitialStateOfControlSlice) => {
isReady: boolean;
isPlaying: boolean;
isSeeking: boolean;
progressIndicator: {
bufferedDuration: number;
totalSongDuration: number;
seekProgress: number;
};
};
selectVolumeBarProgress: (state: InitialStateOfControlSlice) => number;
selectTotalSongDurationOfActiveSong: (state: InitialStateOfControlSlice) => number;
selectActiveSongSeekProgress: (state: InitialStateOfControlSlice) => number;
selectIsActiveSongCurrentlyPlaying: (state: InitialStateOfControlSlice) => boolean;
selectHistorySongIds: (state: InitialStateOfControlSlice) => string[];
selectFavouriteSongIds: (state: InitialStateOfControlSlice) => string[];
}>;
export declare const selectActiveSongIndex: Selector<{
playerControls: InitialStateOfControlSlice;
}, number, []> & {
unwrapped: (state: InitialStateOfControlSlice) => number;
}, selectActiveSong: Selector<{
playerControls: InitialStateOfControlSlice;
}, SongReduxPlaylistSchema, []> & {
unwrapped: (state: InitialStateOfControlSlice) => SongReduxPlaylistSchema;
}, selectVolumeBarProgress: Selector<{
playerControls: InitialStateOfControlSlice;
}, number, []> & {
unwrapped: (state: InitialStateOfControlSlice) => number;
}, selectTotalSongDurationOfActiveSong: Selector<{
playerControls: InitialStateOfControlSlice;
}, number, []> & {
unwrapped: (state: InitialStateOfControlSlice) => number;
}, selectActiveSongSeekProgress: Selector<{
playerControls: InitialStateOfControlSlice;
}, number, []> & {
unwrapped: (state: InitialStateOfControlSlice) => number;
}, selectIsActiveSongCurrentlyPlaying: Selector<{
playerControls: InitialStateOfControlSlice;
}, boolean, []> & {
unwrapped: (state: InitialStateOfControlSlice) => boolean;
}, selectHistorySongIds: Selector<{
playerControls: InitialStateOfControlSlice;
}, string[], []> & {
unwrapped: (state: InitialStateOfControlSlice) => string[];
}, selectFavouriteSongIds: Selector<{
playerControls: InitialStateOfControlSlice;
}, string[], []> & {
unwrapped: (state: InitialStateOfControlSlice) => string[];
}, selectActiveSongStates: Selector<{
playerControls: InitialStateOfControlSlice;
}, {
isReady: boolean;
isPlaying: boolean;
isSeeking: boolean;
progressIndicator: {
bufferedDuration: number;
totalSongDuration: number;
seekProgress: number;
};
}, []> & {
unwrapped: (state: InitialStateOfControlSlice) => {
isReady: boolean;
isPlaying: boolean;
isSeeking: boolean;
progressIndicator: {
bufferedDuration: number;
totalSongDuration: number;
seekProgress: number;
};
};
}, selectPlaylistSongs: Selector<{
playerControls: InitialStateOfControlSlice;
}, SongReduxPlaylistSchema[], []> & {
unwrapped: (state: InitialStateOfControlSlice) => SongReduxPlaylistSchema[];
}, selectIsMusicToBeRepeated: Selector<{
playerControls: InitialStateOfControlSlice;
}, boolean, []> & {
unwrapped: (state: InitialStateOfControlSlice) => boolean;
};
export declare const addRecommendationInThePlaylist: ActionCreatorWithPayload<SongReduxPlaylistSchema[], "playerControls/addRecommendationInThePlaylist">, addSongsInThePlaylist: ActionCreatorWithPayload<SongReduxPlaylistSchema[], "playerControls/addSongsInThePlaylist">, addActiveSongInTheHistory: ActionCreatorWithoutPayload<"playerControls/addActiveSongInTheHistory">, changeActiveSongTrackByStep: ActionCreatorWithPayload<number, "playerControls/changeActiveSongTrackByStep">, addSongInTheFavourites: ActionCreatorWithPayload<{
songId: string;
}, "playerControls/addSongInTheFavourites">, removeSongFromTheFavourites: ActionCreatorWithPayload<{
songId: string;
}, "playerControls/removeSongFromTheFavourites">, changeActiveSongTrack: ActionCreatorWithPayload<{
songId: string;
}, "playerControls/changeActiveSongTrack">, setActiveSongIndex: ActionCreatorWithPayload<number, "playerControls/setActiveSongIndex">, setIsReady: ActionCreatorWithPayload<boolean, "playerControls/setIsReady">, setIsPlaying: ActionCreatorWithPayload<boolean, "playerControls/setIsPlaying">, setIsSeeking: ActionCreatorWithPayload<boolean, "playerControls/setIsSeeking">, setVolume: ActionCreatorWithPayload<number, "playerControls/setVolume">, setSeekProgress: ActionCreatorWithPayload<number, "playerControls/setSeekProgress">, setActiveSongPlayback: ActionCreatorWithPayload<{
seekPercentage?: number;
seekTime?: number;
}, "playerControls/setActiveSongPlayback">, setBufferedProgress: ActionCreatorWithPayload<number, "playerControls/setBufferedProgress">, setTotalSongDuration: ActionCreatorWithPayload<number, "playerControls/setTotalSongDuration">, setRepeatOfActiveSong: ActionCreatorWithPayload<boolean, "playerControls/setRepeatOfActiveSong">;