New: Add index views for all books

This commit is contained in:
ta264
2021-09-01 21:04:39 +01:00
parent a774cf0682
commit 2558660b7b
65 changed files with 5433 additions and 12 deletions
@@ -0,0 +1,47 @@
import { createSelector, createSelectorCreator, defaultMemoize } from 'reselect';
import hasDifferentItemsOrOrder from 'Utilities/Object/hasDifferentItemsOrOrder';
import createClientSideCollectionSelector from './createClientSideCollectionSelector';
function createUnoptimizedSelector(uiSection) {
return createSelector(
createClientSideCollectionSelector('books', uiSection),
(books) => {
const items = books.items.map((s) => {
const {
id,
title,
authorTitle
} = s;
return {
id,
title,
authorTitle
};
});
return {
...books,
items
};
}
);
}
function bookListEqual(a, b) {
return hasDifferentItemsOrOrder(a, b);
}
const createBookEqualSelector = createSelectorCreator(
defaultMemoize,
bookListEqual
);
function createBookClientSideCollectionItemsSelector(uiSection) {
return createBookEqualSelector(
createUnoptimizedSelector(uiSection),
(book) => book
);
}
export default createBookClientSideCollectionItemsSelector;