1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-20 21:55:03 -04:00
Files
Radarr/frontend/src/Store/Selectors/createMovieSelector.js
T
2024-05-14 02:53:51 +03:00

38 lines
974 B
JavaScript

import _ from 'lodash';
import { createSelector } from 'reselect';
import movieEntities from 'Movie/movieEntities';
export function createMovieSelectorForHook(movieId) {
return createSelector(
(state) => state.movies.itemMap,
(state) => state.movies.items,
(itemMap, allMovies) => {
return movieId ? allMovies[itemMap[movieId]]: undefined;
}
);
}
export function createMovieByEntitySelector() {
return createSelector(
(state, { movieId }) => movieId,
(state, { movieEntity = movieEntities.MOVIES }) => _.get(state, movieEntity, { items: [] }),
(movieId, movies) => {
return _.find(movies.items, { id: movieId });
}
);
}
function createMovieSelector() {
return createSelector(
(state, { movieId }) => movieId,
(state) => state.movies.itemMap,
(state) => state.movies.items,
(movieId, itemMap, allMovies) => {
return allMovies[itemMap[movieId]];
}
);
}
export default createMovieSelector;