From 7306e848fead59f217cddbef56c4573be7ce04bd Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Wed, 13 Sep 2023 19:22:54 -0500 Subject: [PATCH] added output selector fields to the selector functions created with createDraftSafeSelector --- packages/toolkit/src/createDraftSafeSelector.ts | 1 + packages/toolkit/src/tests/createDraftSafeSelector.test.ts | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/packages/toolkit/src/createDraftSafeSelector.ts b/packages/toolkit/src/createDraftSafeSelector.ts index 9e1bb0a6da..fb853397be 100644 --- a/packages/toolkit/src/createDraftSafeSelector.ts +++ b/packages/toolkit/src/createDraftSafeSelector.ts @@ -9,6 +9,7 @@ export const createDraftSafeSelectorCreator: typeof createSelectorCreator = ( const selector = createSelector(...args) const wrappedSelector = (value: unknown, ...rest: unknown[]) => selector(isDraft(value) ? current(value) : value, ...rest) + Object.assign(wrappedSelector, selector) return wrappedSelector as any } } diff --git a/packages/toolkit/src/tests/createDraftSafeSelector.test.ts b/packages/toolkit/src/tests/createDraftSafeSelector.test.ts index 1ae52b56d8..ab95fc48d8 100644 --- a/packages/toolkit/src/tests/createDraftSafeSelector.test.ts +++ b/packages/toolkit/src/tests/createDraftSafeSelector.test.ts @@ -11,6 +11,13 @@ test('handles normal values correctly', () => { let state = { value: 1 } expect(unsafeSelector(state)).toBe(1) expect(draftSafeSelector(state)).toBe(1) + expect(draftSafeSelector).toHaveProperty('resultFunc') + expect(draftSafeSelector).toHaveProperty('memoizedResultFunc') + expect(draftSafeSelector).toHaveProperty('lastResult') + expect(draftSafeSelector).toHaveProperty('dependencies') + expect(draftSafeSelector).toHaveProperty('recomputations') + expect(draftSafeSelector).toHaveProperty('resetRecomputations') + expect(draftSafeSelector).toHaveProperty('clearCache') state = { value: 2 } expect(unsafeSelector(state)).toBe(2)