27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { createSelector } from 'reselect';
|
|
|
|
import { IApplicationState } from '../definitions';
|
|
import { MediaTypes, mediaDownloadKey } from '../lib/methods/handleMediaDownload';
|
|
import { IDownloads } from '../reducers/mediaDownload';
|
|
|
|
const selectMediaDownload = (state: IApplicationState) => state.mediaDownload;
|
|
|
|
const getMediaDownload = (mediaDownload: IDownloads, { mediaType, messageId }: { mediaType: MediaTypes; messageId: string }) => {
|
|
console.log('🚀 ~ file: mediaDownload.ts:10 ~ getMediaDownload ~ { mediaType, messageId }:', { mediaType, messageId });
|
|
console.log('🚀 ~ file: mediaDownload.ts:10 ~ getMediaDownload ~ mediaDownload:', mediaDownload);
|
|
const key = mediaDownloadKey(mediaType, messageId);
|
|
if (mediaDownload[key]) return mediaDownload[key];
|
|
return null;
|
|
};
|
|
|
|
export const getDownloadResumable = createSelector(
|
|
[
|
|
selectMediaDownload,
|
|
(_state: IApplicationState, { mediaType, messageId }: { mediaType: MediaTypes; messageId: string }) => ({
|
|
mediaType,
|
|
messageId
|
|
})
|
|
],
|
|
getMediaDownload
|
|
);
|