@tanstack/query-core 5.59.16 → 5.59.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/build/legacy/queriesObserver.cjs +8 -0
  2. package/build/legacy/queriesObserver.cjs.map +1 -1
  3. package/build/legacy/queriesObserver.js +8 -0
  4. package/build/legacy/queriesObserver.js.map +1 -1
  5. package/build/modern/queriesObserver.cjs +8 -0
  6. package/build/modern/queriesObserver.cjs.map +1 -1
  7. package/build/modern/queriesObserver.js +8 -0
  8. package/build/modern/queriesObserver.js.map +1 -1
  9. package/package.json +3 -2
  10. package/src/queriesObserver.ts +9 -0
  11. package/src/__tests__/OmitKeyof.test-d.ts +0 -175
  12. package/src/__tests__/focusManager.test.tsx +0 -163
  13. package/src/__tests__/hydration.test.tsx +0 -1069
  14. package/src/__tests__/infiniteQueryBehavior.test.tsx +0 -427
  15. package/src/__tests__/infiniteQueryObserver.test-d.tsx +0 -64
  16. package/src/__tests__/infiniteQueryObserver.test.tsx +0 -198
  17. package/src/__tests__/mutationCache.test.tsx +0 -376
  18. package/src/__tests__/mutationObserver.test.tsx +0 -326
  19. package/src/__tests__/mutations.test.tsx +0 -603
  20. package/src/__tests__/notifyManager.test.tsx +0 -85
  21. package/src/__tests__/onlineManager.test.tsx +0 -168
  22. package/src/__tests__/queriesObserver.test.tsx +0 -267
  23. package/src/__tests__/query.test.tsx +0 -1049
  24. package/src/__tests__/queryCache.test.tsx +0 -350
  25. package/src/__tests__/queryClient.test-d.tsx +0 -156
  26. package/src/__tests__/queryClient.test.tsx +0 -2031
  27. package/src/__tests__/queryObserver.test-d.tsx +0 -108
  28. package/src/__tests__/queryObserver.test.tsx +0 -1236
  29. package/src/__tests__/utils.test.tsx +0 -468
  30. package/src/__tests__/utils.ts +0 -59
@@ -1,163 +0,0 @@
1
- import { beforeEach, describe, expect, it, test, vi } from 'vitest'
2
- import { sleep } from '../utils'
3
- import { FocusManager } from '../focusManager'
4
- import { setIsServer } from './utils'
5
-
6
- describe('focusManager', () => {
7
- let focusManager: FocusManager
8
- beforeEach(() => {
9
- vi.resetModules()
10
- focusManager = new FocusManager()
11
- })
12
-
13
- it('should call previous remove handler when replacing an event listener', () => {
14
- const remove1Spy = vi.fn()
15
- const remove2Spy = vi.fn()
16
-
17
- focusManager.setEventListener(() => remove1Spy)
18
- focusManager.setEventListener(() => remove2Spy)
19
-
20
- expect(remove1Spy).toHaveBeenCalledTimes(1)
21
- expect(remove2Spy).not.toHaveBeenCalled()
22
- })
23
-
24
- it('should use focused boolean arg', async () => {
25
- let count = 0
26
-
27
- const setup = (setFocused: (focused?: boolean) => void) => {
28
- setTimeout(() => {
29
- count++
30
- setFocused(true)
31
- }, 20)
32
- return () => void 0
33
- }
34
-
35
- focusManager.setEventListener(setup)
36
-
37
- await sleep(30)
38
- expect(count).toEqual(1)
39
- expect(focusManager.isFocused()).toBeTruthy()
40
- })
41
-
42
- it('should return true for isFocused if document is undefined', async () => {
43
- const { document } = globalThis
44
-
45
- // @ts-expect-error
46
- delete globalThis.document
47
-
48
- focusManager.setFocused()
49
- expect(focusManager.isFocused()).toBeTruthy()
50
- globalThis.document = document
51
- })
52
-
53
- test('cleanup (removeEventListener) should not be called if window is not defined', async () => {
54
- const restoreIsServer = setIsServer(true)
55
-
56
- const removeEventListenerSpy = vi.spyOn(globalThis, 'removeEventListener')
57
-
58
- const unsubscribe = focusManager.subscribe(() => undefined)
59
-
60
- unsubscribe()
61
-
62
- expect(removeEventListenerSpy).not.toHaveBeenCalled()
63
-
64
- restoreIsServer()
65
- })
66
-
67
- test('cleanup (removeEventListener) should not be called if window.addEventListener is not defined', async () => {
68
- const { addEventListener } = globalThis.window
69
-
70
- // @ts-expect-error
71
- globalThis.window.addEventListener = undefined
72
-
73
- const removeEventListenerSpy = vi.spyOn(globalThis, 'removeEventListener')
74
-
75
- const unsubscribe = focusManager.subscribe(() => undefined)
76
-
77
- unsubscribe()
78
-
79
- expect(removeEventListenerSpy).not.toHaveBeenCalled()
80
-
81
- globalThis.window.addEventListener = addEventListener
82
- })
83
-
84
- it('should replace default window listener when a new event listener is set', async () => {
85
- const unsubscribeSpy = vi.fn().mockImplementation(() => undefined)
86
- const handlerSpy = vi.fn().mockImplementation(() => unsubscribeSpy)
87
-
88
- focusManager.setEventListener(() => handlerSpy())
89
-
90
- const unsubscribe = focusManager.subscribe(() => undefined)
91
-
92
- // Should call the custom event once
93
- expect(handlerSpy).toHaveBeenCalledTimes(1)
94
-
95
- unsubscribe()
96
-
97
- // Should unsubscribe our event event
98
- expect(unsubscribeSpy).toHaveBeenCalledTimes(1)
99
-
100
- handlerSpy.mockRestore()
101
- unsubscribeSpy.mockRestore()
102
- })
103
-
104
- test('should call removeEventListener when last listener unsubscribes', () => {
105
- const addEventListenerSpy = vi.spyOn(globalThis.window, 'addEventListener')
106
-
107
- const removeEventListenerSpy = vi.spyOn(
108
- globalThis.window,
109
- 'removeEventListener',
110
- )
111
-
112
- const unsubscribe1 = focusManager.subscribe(() => undefined)
113
- const unsubscribe2 = focusManager.subscribe(() => undefined)
114
- expect(addEventListenerSpy).toHaveBeenCalledTimes(1) // visibilitychange event
115
-
116
- unsubscribe1()
117
- expect(removeEventListenerSpy).toHaveBeenCalledTimes(0)
118
- unsubscribe2()
119
- expect(removeEventListenerSpy).toHaveBeenCalledTimes(1) // visibilitychange event
120
- })
121
-
122
- test('should keep setup function even if last listener unsubscribes', () => {
123
- const setupSpy = vi.fn().mockImplementation(() => () => undefined)
124
-
125
- focusManager.setEventListener(setupSpy)
126
-
127
- const unsubscribe1 = focusManager.subscribe(() => undefined)
128
-
129
- expect(setupSpy).toHaveBeenCalledTimes(1)
130
-
131
- unsubscribe1()
132
-
133
- const unsubscribe2 = focusManager.subscribe(() => undefined)
134
-
135
- expect(setupSpy).toHaveBeenCalledTimes(2)
136
-
137
- unsubscribe2()
138
- })
139
-
140
- test('should call listeners when setFocused is called', () => {
141
- const listener = vi.fn()
142
-
143
- focusManager.subscribe(listener)
144
-
145
- focusManager.setFocused(true)
146
- focusManager.setFocused(true)
147
-
148
- expect(listener).toHaveBeenCalledTimes(1)
149
- expect(listener).toHaveBeenNthCalledWith(1, true)
150
-
151
- focusManager.setFocused(false)
152
- focusManager.setFocused(false)
153
-
154
- expect(listener).toHaveBeenCalledTimes(2)
155
- expect(listener).toHaveBeenNthCalledWith(2, false)
156
-
157
- focusManager.setFocused(undefined)
158
- focusManager.setFocused(undefined)
159
-
160
- expect(listener).toHaveBeenCalledTimes(3)
161
- expect(listener).toHaveBeenNthCalledWith(3, true)
162
- })
163
- })