Skip to content

Commit

Permalink
Merge pull request #3722 from aryaemami59/createDraftSafeSelector
Browse files Browse the repository at this point in the history
  • Loading branch information
markerikson authored Oct 29, 2023
2 parents 2b6d65e + 7306e84 commit 1016dd9
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/toolkit/src/createDraftSafeSelector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
}
Expand Down
7 changes: 7 additions & 0 deletions packages/toolkit/src/tests/createDraftSafeSelector.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 1016dd9

Please sign in to comment.