From 998deea089d936379cceba4977dcde11cf0b754b Mon Sep 17 00:00:00 2001 From: Ben Durrant Date: Mon, 22 Jan 2024 12:48:23 +0000 Subject: [PATCH] rework getSelectors --- src/redux.ts | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/redux.ts b/src/redux.ts index 8cef664..fdd5566 100644 --- a/src/redux.ts +++ b/src/redux.ts @@ -52,21 +52,27 @@ function makeSelectorFactory() { selectState?: (rootState: RootState) => HistoryState, { createSelector = _createSelector }: GetSelectorsOptions = {}, ): HistorySelectors { - const selectCanUndo = (state: HistoryState) => state.past.length > 0; - const selectCanRedo = (state: HistoryState) => - state.future.length > 0; - const selectPresent = (state: HistoryState) => state.present; + const localisedSelectors = { + selectCanUndo: (state) => state.past.length > 0, + selectCanRedo: (state) => state.future.length > 0, + selectPresent: (state) => state.present, + } satisfies Record) => unknown>; if (!selectState) { - return { - selectCanUndo, - selectCanRedo, - selectPresent, - }; + return localisedSelectors; } return { - selectCanUndo: createSelector(selectState, selectCanUndo), - selectCanRedo: createSelector(selectState, selectCanRedo), - selectPresent: createSelector(selectState, selectPresent), + selectCanUndo: createSelector( + selectState, + localisedSelectors.selectCanUndo, + ), + selectCanRedo: createSelector( + selectState, + localisedSelectors.selectCanRedo, + ), + selectPresent: createSelector( + selectState, + localisedSelectors.selectPresent, + ), }; } return getSelectors;