From 01fb3c0865e5f009324fb46fd49a7ddaf0cf91a3 Mon Sep 17 00:00:00 2001 From: Mike Ryan Date: Sat, 17 Jul 2021 19:34:38 -0500 Subject: [PATCH] 06-selectors --- libs/shared-state-books/src/lib/books.reducer.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libs/shared-state-books/src/lib/books.reducer.ts b/libs/shared-state-books/src/lib/books.reducer.ts index 89efeef..5d6270f 100644 --- a/libs/shared-state-books/src/lib/books.reducer.ts +++ b/libs/shared-state-books/src/lib/books.reducer.ts @@ -60,3 +60,16 @@ export const reducer = createReducer( }; }) ); + +export const selectAll = (state: State) => state.collection; +export const selectActiveBookId = (state: State) => state.activeBookId; +export const selectActiveBook = createSelector( + selectAll, + selectActiveBookId, + (books, activeBookId) => + books.find((book) => book.id === activeBookId) || null +); +export const selectEarningsTotals = createSelector( + selectAll, + calculateBooksGrossEarnings +);