1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-26 22:56:23 -04:00
Files
Sonarr/frontend/src/Store/Selectors/createSeriesClientSideCollectionItemsSelector.js
T
2022-08-07 15:24:39 -07:00

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;