mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-04-26 22:56:23 -04:00
46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
import { createSelector, createSelectorCreator, defaultMemoize } from 'reselect';
|
|
import hasDifferentItemsOrOrder from 'Utilities/Object/hasDifferentItemsOrOrder';
|
|
import createClientSideCollectionSelector from './createClientSideCollectionSelector';
|
|
|
|
function createUnoptimizedSelector(uiSection) {
|
|
return createSelector(
|
|
createClientSideCollectionSelector('series', uiSection),
|
|
(series) => {
|
|
const items = series.items.map((s) => {
|
|
const {
|
|
id,
|
|
sortTitle
|
|
} = s;
|
|
|
|
return {
|
|
id,
|
|
sortTitle
|
|
};
|
|
});
|
|
|
|
return {
|
|
...series,
|
|
items
|
|
};
|
|
}
|
|
);
|
|
}
|
|
|
|
function seriesListEqual(a, b) {
|
|
return hasDifferentItemsOrOrder(a, b);
|
|
}
|
|
|
|
const createSeriesEqualSelector = createSelectorCreator(
|
|
defaultMemoize,
|
|
seriesListEqual
|
|
);
|
|
|
|
function createSeriesClientSideCollectionItemsSelector(uiSection) {
|
|
return createSeriesEqualSelector(
|
|
createUnoptimizedSelector(uiSection),
|
|
(series) => series
|
|
);
|
|
}
|
|
|
|
export default createSeriesClientSideCollectionItemsSelector;
|