|
1 |
| -import lodashMemoize from 'lodash/memoize' |
2 |
| -import memoizeOne from 'memoize-one' |
3 |
| -import microMemoize from 'micro-memoize' |
4 |
| -import { |
5 |
| - createSelectorCreator, |
6 |
| - lruMemoize, |
7 |
| - unstable_autotrackMemoize as autotrackMemoize, |
8 |
| - weakMapMemoize |
9 |
| -} from 'reselect' |
10 |
| -import { describe, test } from 'vitest' |
11 |
| - |
12 |
| -interface RootState { |
13 |
| - todos: { id: number; completed: boolean }[] |
14 |
| - alerts: { id: number; read: boolean }[] |
15 |
| -} |
16 |
| - |
17 |
| -const state: RootState = { |
18 |
| - todos: [ |
19 |
| - { id: 0, completed: false }, |
20 |
| - { id: 1, completed: true } |
21 |
| - ], |
22 |
| - alerts: [ |
23 |
| - { id: 0, read: false }, |
24 |
| - { id: 1, read: true } |
25 |
| - ] |
26 |
| -} |
27 |
| - |
28 |
| -describe('createSelectorCreator', () => { |
29 |
| - test('options object as argument', () => { |
30 |
| - const createSelectorDefault = createSelectorCreator({ |
31 |
| - memoize: lruMemoize |
32 |
| - }) |
33 |
| - const createSelectorWeakMap = createSelectorCreator({ |
34 |
| - memoize: weakMapMemoize |
35 |
| - }) |
36 |
| - const createSelectorAutotrack = createSelectorCreator({ |
37 |
| - memoize: autotrackMemoize |
38 |
| - }) |
39 |
| - const createSelectorMicro = createSelectorCreator({ |
40 |
| - memoize: microMemoize |
41 |
| - }) |
42 |
| - const createSelectorOne = createSelectorCreator({ |
43 |
| - memoize: memoizeOne |
44 |
| - }) |
45 |
| - const createSelectorLodash = createSelectorCreator({ |
46 |
| - memoize: lodashMemoize |
47 |
| - }) |
48 |
| - }) |
49 |
| - |
50 |
| - test('memoize function as argument', () => { |
51 |
| - const createSelectorDefault = createSelectorCreator(lruMemoize) |
52 |
| - const createSelectorWeakMap = createSelectorCreator(weakMapMemoize) |
53 |
| - const createSelectorAutotrack = createSelectorCreator(autotrackMemoize) |
54 |
| - const createSelectorMicro = createSelectorCreator(microMemoize) |
55 |
| - const createSelectorOne = createSelectorCreator(memoizeOne) |
56 |
| - const createSelectorLodash = createSelectorCreator(lodashMemoize) |
57 |
| - }) |
58 |
| -}) |
| 1 | +import lodashMemoize from 'lodash/memoize' |
| 2 | +import memoizeOne from 'memoize-one' |
| 3 | +import microMemoize from 'micro-memoize' |
| 4 | +import { |
| 5 | + createSelectorCreator, |
| 6 | + lruMemoize, |
| 7 | + unstable_autotrackMemoize as autotrackMemoize, |
| 8 | + weakMapMemoize |
| 9 | +} from 'reselect' |
| 10 | +import { describe, test } from 'vitest' |
| 11 | + |
| 12 | +interface RootState { |
| 13 | + todos: { id: number; completed: boolean }[] |
| 14 | + alerts: { id: number; read: boolean }[] |
| 15 | +} |
| 16 | + |
| 17 | +const state: RootState = { |
| 18 | + todos: [ |
| 19 | + { id: 0, completed: false }, |
| 20 | + { id: 1, completed: true } |
| 21 | + ], |
| 22 | + alerts: [ |
| 23 | + { id: 0, read: false }, |
| 24 | + { id: 1, read: true } |
| 25 | + ] |
| 26 | +} |
| 27 | + |
| 28 | +describe('createSelectorCreator', () => { |
| 29 | + test('options object as argument', () => { |
| 30 | + const createSelectorDefault = createSelectorCreator({ |
| 31 | + memoize: lruMemoize |
| 32 | + }) |
| 33 | + const createSelectorWeakMap = createSelectorCreator({ |
| 34 | + memoize: weakMapMemoize |
| 35 | + }) |
| 36 | + const createSelectorAutotrack = createSelectorCreator({ |
| 37 | + memoize: autotrackMemoize |
| 38 | + }) |
| 39 | + const createSelectorMicro = createSelectorCreator({ |
| 40 | + memoize: microMemoize |
| 41 | + }) |
| 42 | + const createSelectorOne = createSelectorCreator({ |
| 43 | + memoize: memoizeOne |
| 44 | + }) |
| 45 | + const createSelectorLodash = createSelectorCreator({ |
| 46 | + memoize: lodashMemoize |
| 47 | + }) |
| 48 | + }) |
| 49 | + |
| 50 | + test('memoize function as argument', () => { |
| 51 | + const createSelectorDefault = createSelectorCreator(lruMemoize) |
| 52 | + const createSelectorWeakMap = createSelectorCreator(weakMapMemoize) |
| 53 | + const createSelectorAutotrack = createSelectorCreator(autotrackMemoize) |
| 54 | + const createSelectorMicro = createSelectorCreator(microMemoize) |
| 55 | + const createSelectorOne = createSelectorCreator(memoizeOne) |
| 56 | + const createSelectorLodash = createSelectorCreator(lodashMemoize) |
| 57 | + }) |
| 58 | +}) |
0 commit comments