@tanstack/solid-query 4.4.0

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 (108) hide show
  1. package/build/lib/QueryClientProvider.d.ts +24 -0
  2. package/build/lib/QueryClientProvider.esm.js +68 -0
  3. package/build/lib/QueryClientProvider.esm.js.map +1 -0
  4. package/build/lib/QueryClientProvider.js +74 -0
  5. package/build/lib/QueryClientProvider.js.map +1 -0
  6. package/build/lib/QueryClientProvider.mjs +68 -0
  7. package/build/lib/QueryClientProvider.mjs.map +1 -0
  8. package/build/lib/createBaseQuery.d.ts +4 -0
  9. package/build/lib/createBaseQuery.esm.js +77 -0
  10. package/build/lib/createBaseQuery.esm.js.map +1 -0
  11. package/build/lib/createBaseQuery.js +81 -0
  12. package/build/lib/createBaseQuery.js.map +1 -0
  13. package/build/lib/createBaseQuery.mjs +77 -0
  14. package/build/lib/createBaseQuery.mjs.map +1 -0
  15. package/build/lib/createInfiniteQuery.d.ts +5 -0
  16. package/build/lib/createInfiniteQuery.esm.js +20 -0
  17. package/build/lib/createInfiniteQuery.esm.js.map +1 -0
  18. package/build/lib/createInfiniteQuery.js +24 -0
  19. package/build/lib/createInfiniteQuery.js.map +1 -0
  20. package/build/lib/createInfiniteQuery.mjs +20 -0
  21. package/build/lib/createInfiniteQuery.mjs.map +1 -0
  22. package/build/lib/createMutation.d.ts +6 -0
  23. package/build/lib/createMutation.esm.js +45 -0
  24. package/build/lib/createMutation.esm.js.map +1 -0
  25. package/build/lib/createMutation.js +49 -0
  26. package/build/lib/createMutation.js.map +1 -0
  27. package/build/lib/createMutation.mjs +45 -0
  28. package/build/lib/createMutation.mjs.map +1 -0
  29. package/build/lib/createQueries.d.ts +49 -0
  30. package/build/lib/createQueries.esm.js +54 -0
  31. package/build/lib/createQueries.esm.js.map +1 -0
  32. package/build/lib/createQueries.js +58 -0
  33. package/build/lib/createQueries.js.map +1 -0
  34. package/build/lib/createQueries.mjs +54 -0
  35. package/build/lib/createQueries.mjs.map +1 -0
  36. package/build/lib/createQuery.d.ts +23 -0
  37. package/build/lib/createQuery.esm.js +25 -0
  38. package/build/lib/createQuery.esm.js.map +1 -0
  39. package/build/lib/createQuery.js +29 -0
  40. package/build/lib/createQuery.js.map +1 -0
  41. package/build/lib/createQuery.mjs +25 -0
  42. package/build/lib/createQuery.mjs.map +1 -0
  43. package/build/lib/index.d.ts +10 -0
  44. package/build/lib/index.esm.js +9 -0
  45. package/build/lib/index.esm.js.map +1 -0
  46. package/build/lib/index.js +31 -0
  47. package/build/lib/index.js.map +1 -0
  48. package/build/lib/index.mjs +9 -0
  49. package/build/lib/index.mjs.map +1 -0
  50. package/build/lib/types.d.ts +47 -0
  51. package/build/lib/useIsFetching.d.ts +7 -0
  52. package/build/lib/useIsFetching.esm.js +29 -0
  53. package/build/lib/useIsFetching.esm.js.map +1 -0
  54. package/build/lib/useIsFetching.js +33 -0
  55. package/build/lib/useIsFetching.js.map +1 -0
  56. package/build/lib/useIsFetching.mjs +29 -0
  57. package/build/lib/useIsFetching.mjs.map +1 -0
  58. package/build/lib/useIsMutating.d.ts +8 -0
  59. package/build/lib/useIsMutating.esm.js +22 -0
  60. package/build/lib/useIsMutating.esm.js.map +1 -0
  61. package/build/lib/useIsMutating.js +26 -0
  62. package/build/lib/useIsMutating.js.map +1 -0
  63. package/build/lib/useIsMutating.mjs +22 -0
  64. package/build/lib/useIsMutating.mjs.map +1 -0
  65. package/build/lib/utils.d.ts +14 -0
  66. package/build/lib/utils.esm.js +63 -0
  67. package/build/lib/utils.esm.js.map +1 -0
  68. package/build/lib/utils.js +72 -0
  69. package/build/lib/utils.js.map +1 -0
  70. package/build/lib/utils.mjs +63 -0
  71. package/build/lib/utils.mjs.map +1 -0
  72. package/build/solid/QueryClientProvider.jsx +42 -0
  73. package/build/solid/createBaseQuery.js +69 -0
  74. package/build/solid/createInfiniteQuery.js +16 -0
  75. package/build/solid/createMutation.js +40 -0
  76. package/build/solid/createQueries.js +39 -0
  77. package/build/solid/createQuery.js +16 -0
  78. package/build/solid/index.js +11 -0
  79. package/build/solid/types.js +1 -0
  80. package/build/solid/useIsFetching.js +23 -0
  81. package/build/solid/useIsMutating.js +16 -0
  82. package/build/solid/utils.js +45 -0
  83. package/build/umd/index.development.js +3467 -0
  84. package/build/umd/index.development.js.map +1 -0
  85. package/build/umd/index.production.js +2 -0
  86. package/build/umd/index.production.js.map +1 -0
  87. package/package.json +52 -0
  88. package/src/QueryClientProvider.tsx +100 -0
  89. package/src/__tests__/QueryClientProvider.test.tsx +267 -0
  90. package/src/__tests__/createInfiniteQuery.test.tsx +1889 -0
  91. package/src/__tests__/createMutation.test.tsx +1205 -0
  92. package/src/__tests__/createQueries.test.tsx +1163 -0
  93. package/src/__tests__/createQuery.test.tsx +6487 -0
  94. package/src/__tests__/createQuery.types.test.tsx +160 -0
  95. package/src/__tests__/suspense.test.tsx +1093 -0
  96. package/src/__tests__/useIsFetching.test.tsx +298 -0
  97. package/src/__tests__/useIsMutating.test.tsx +301 -0
  98. package/src/__tests__/utils.tsx +75 -0
  99. package/src/createBaseQuery.ts +121 -0
  100. package/src/createInfiniteQuery.ts +116 -0
  101. package/src/createMutation.ts +131 -0
  102. package/src/createQueries.ts +203 -0
  103. package/src/createQuery.ts +157 -0
  104. package/src/index.ts +17 -0
  105. package/src/types.ts +167 -0
  106. package/src/useIsFetching.ts +58 -0
  107. package/src/useIsMutating.ts +42 -0
  108. package/src/utils.ts +85 -0
@@ -0,0 +1,160 @@
1
+ import { createQuery } from '../createQuery'
2
+
3
+ export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <
4
+ T,
5
+ >() => T extends Y ? 1 : 2
6
+ ? true
7
+ : false
8
+
9
+ export type Expect<T extends true> = T
10
+
11
+ const doNotExecute = (_func: () => void) => true
12
+
13
+ describe('initialData', () => {
14
+ describe('Config object overload', () => {
15
+ it('TData should always be defined when initialData is provided as an object', () => {
16
+ doNotExecute(() => {
17
+ const { data } = createQuery({
18
+ queryFn: () => {
19
+ return {
20
+ wow: true,
21
+ }
22
+ },
23
+ initialData: {
24
+ wow: true,
25
+ },
26
+ })
27
+
28
+ const result: Expect<Equal<{ wow: boolean }, typeof data>> = true
29
+ return result
30
+ })
31
+ })
32
+
33
+ it('TData should always be defined when initialData is provided as a function which ALWAYS returns the data', () => {
34
+ doNotExecute(() => {
35
+ const { data } = createQuery({
36
+ queryFn: () => {
37
+ return {
38
+ wow: true,
39
+ }
40
+ },
41
+ initialData: () => ({
42
+ wow: true,
43
+ }),
44
+ })
45
+
46
+ const result: Expect<Equal<{ wow: boolean }, typeof data>> = true
47
+ return result
48
+ })
49
+ })
50
+
51
+ it('TData should have undefined in the union when initialData is NOT provided', () => {
52
+ doNotExecute(() => {
53
+ const { data } = createQuery({
54
+ queryFn: () => {
55
+ return {
56
+ wow: true,
57
+ }
58
+ },
59
+ })
60
+
61
+ const result: Expect<Equal<{ wow: boolean } | undefined, typeof data>> =
62
+ true
63
+ return result
64
+ })
65
+ })
66
+
67
+ it('TData should have undefined in the union when initialData is provided as a function which can return undefined', () => {
68
+ doNotExecute(() => {
69
+ const { data } = createQuery({
70
+ queryFn: () => {
71
+ return {
72
+ wow: true,
73
+ }
74
+ },
75
+ initialData: () => undefined as { wow: boolean } | undefined,
76
+ })
77
+
78
+ const result: Expect<Equal<{ wow: boolean } | undefined, typeof data>> =
79
+ true
80
+ return result
81
+ })
82
+ })
83
+ })
84
+
85
+ describe('Query key overload', () => {
86
+ it('TData should always be defined when initialData is provided', () => {
87
+ doNotExecute(() => {
88
+ const { data } = createQuery(() => ['key'], {
89
+ queryFn: () => {
90
+ return {
91
+ wow: true,
92
+ }
93
+ },
94
+ initialData: {
95
+ wow: true,
96
+ },
97
+ })
98
+
99
+ const result: Expect<Equal<{ wow: boolean }, typeof data>> = true
100
+ return result
101
+ })
102
+ })
103
+
104
+ it('TData should have undefined in the union when initialData is NOT provided', () => {
105
+ doNotExecute(() => {
106
+ const { data } = createQuery(() => ['key'], {
107
+ queryFn: () => {
108
+ return {
109
+ wow: true,
110
+ }
111
+ },
112
+ })
113
+
114
+ const result: Expect<Equal<{ wow: boolean } | undefined, typeof data>> =
115
+ true
116
+ return result
117
+ })
118
+ })
119
+ })
120
+
121
+ describe('Query key and func', () => {
122
+ it('TData should always be defined when initialData is provided', () => {
123
+ doNotExecute(() => {
124
+ const { data } = createQuery(
125
+ () => ['key'],
126
+ () => {
127
+ return {
128
+ wow: true,
129
+ }
130
+ },
131
+ {
132
+ initialData: {
133
+ wow: true,
134
+ },
135
+ },
136
+ )
137
+
138
+ const result: Expect<Equal<{ wow: boolean }, typeof data>> = true
139
+ return result
140
+ })
141
+ })
142
+
143
+ it('TData should have undefined in the union when initialData is NOT provided', () => {
144
+ doNotExecute(() => {
145
+ const { data } = createQuery(
146
+ () => ['key'],
147
+ () => {
148
+ return {
149
+ wow: true,
150
+ }
151
+ },
152
+ )
153
+
154
+ const result: Expect<Equal<{ wow: boolean } | undefined, typeof data>> =
155
+ true
156
+ return result
157
+ })
158
+ })
159
+ })
160
+ })