@tanstack/vue-query 5.0.0-alpha.6 → 5.0.0-alpha.63

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 (276) hide show
  1. package/README.md +18 -14
  2. package/build/lib/__mocks__/useBaseQuery.d.ts +2 -1
  3. package/build/lib/__mocks__/useBaseQuery.d.ts.map +1 -0
  4. package/build/lib/__mocks__/useQueryClient.d.ts +2 -1
  5. package/build/lib/__mocks__/useQueryClient.d.ts.map +1 -0
  6. package/build/lib/__tests__/mutationCache.test.d.ts +1 -0
  7. package/build/lib/__tests__/mutationCache.test.d.ts.map +1 -0
  8. package/build/lib/__tests__/queryCache.test.d.ts +1 -0
  9. package/build/lib/__tests__/queryCache.test.d.ts.map +1 -0
  10. package/build/lib/__tests__/queryClient.test.d.ts +1 -0
  11. package/build/lib/__tests__/queryClient.test.d.ts.map +1 -0
  12. package/build/lib/__tests__/test-utils.d.ts +3 -2
  13. package/build/lib/__tests__/test-utils.d.ts.map +1 -0
  14. package/build/lib/__tests__/useInfiniteQuery.test.d.ts +1 -0
  15. package/build/lib/__tests__/useInfiniteQuery.test.d.ts.map +1 -0
  16. package/build/lib/__tests__/useInfiniteQuery.types.test.d.ts +1 -0
  17. package/build/lib/__tests__/useInfiniteQuery.types.test.d.ts.map +1 -0
  18. package/build/lib/__tests__/useIsFetching.test.d.ts +1 -0
  19. package/build/lib/__tests__/useIsFetching.test.d.ts.map +1 -0
  20. package/build/lib/__tests__/useIsMutating.test.d.ts +1 -0
  21. package/build/lib/__tests__/useIsMutating.test.d.ts.map +1 -0
  22. package/build/lib/__tests__/useMutation.test.d.ts +1 -0
  23. package/build/lib/__tests__/useMutation.test.d.ts.map +1 -0
  24. package/build/lib/__tests__/useMutation.types.test.d.ts +1 -0
  25. package/build/lib/__tests__/useMutation.types.test.d.ts.map +1 -0
  26. package/build/lib/__tests__/useQueries.test.d.ts +1 -0
  27. package/build/lib/__tests__/useQueries.test.d.ts.map +1 -0
  28. package/build/lib/__tests__/useQuery.test.d.ts +1 -0
  29. package/build/lib/__tests__/useQuery.test.d.ts.map +1 -0
  30. package/build/lib/__tests__/useQuery.types.test.d.ts +1 -0
  31. package/build/lib/__tests__/useQuery.types.test.d.ts.map +1 -0
  32. package/build/lib/__tests__/useQueryClient.test.d.ts +1 -0
  33. package/build/lib/__tests__/useQueryClient.test.d.ts.map +1 -0
  34. package/build/lib/__tests__/utils.test.d.ts +1 -0
  35. package/build/lib/__tests__/utils.test.d.ts.map +1 -0
  36. package/build/lib/__tests__/vueQueryPlugin.test.d.ts +1 -0
  37. package/build/lib/__tests__/vueQueryPlugin.test.d.ts.map +1 -0
  38. package/build/lib/devtools/{devtools.mjs → devtools.cjs} +62 -21
  39. package/build/lib/devtools/devtools.cjs.map +1 -0
  40. package/build/lib/devtools/devtools.d.ts +1 -0
  41. package/build/lib/devtools/devtools.d.ts.map +1 -0
  42. package/build/lib/devtools/devtools.js +61 -26
  43. package/build/lib/devtools/devtools.js.map +1 -1
  44. package/build/lib/devtools/devtools.legacy.cjs +198 -0
  45. package/build/lib/devtools/devtools.legacy.cjs.map +1 -0
  46. package/build/lib/devtools/{devtools.esm.js → devtools.legacy.js} +48 -9
  47. package/build/lib/devtools/devtools.legacy.js.map +1 -0
  48. package/build/lib/devtools/{utils.esm.js → utils.cjs} +11 -6
  49. package/build/lib/devtools/utils.cjs.map +1 -0
  50. package/build/lib/devtools/utils.d.ts +2 -1
  51. package/build/lib/devtools/utils.d.ts.map +1 -0
  52. package/build/lib/devtools/utils.js +4 -11
  53. package/build/lib/devtools/utils.js.map +1 -1
  54. package/build/lib/devtools/utils.legacy.cjs +85 -0
  55. package/build/lib/devtools/utils.legacy.cjs.map +1 -0
  56. package/build/lib/devtools/{utils.mjs → utils.legacy.js} +4 -5
  57. package/build/lib/devtools/utils.legacy.js.map +1 -0
  58. package/build/lib/index.cjs +38 -0
  59. package/build/lib/index.cjs.map +1 -0
  60. package/build/lib/index.d.ts +3 -2
  61. package/build/lib/index.d.ts.map +1 -0
  62. package/build/lib/index.js +13 -36
  63. package/build/lib/index.js.map +1 -1
  64. package/build/lib/index.legacy.cjs +38 -0
  65. package/build/lib/index.legacy.cjs.map +1 -0
  66. package/build/lib/index.legacy.js +14 -0
  67. package/build/lib/index.legacy.js.map +1 -0
  68. package/build/lib/mutationCache.cjs +16 -0
  69. package/build/lib/{mutationCache.mjs.map → mutationCache.cjs.map} +1 -1
  70. package/build/lib/mutationCache.d.ts +1 -0
  71. package/build/lib/mutationCache.d.ts.map +1 -0
  72. package/build/lib/mutationCache.js +6 -8
  73. package/build/lib/mutationCache.js.map +1 -1
  74. package/build/lib/mutationCache.legacy.cjs +16 -0
  75. package/build/lib/mutationCache.legacy.cjs.map +1 -0
  76. package/build/lib/{mutationCache.esm.js → mutationCache.legacy.js} +2 -2
  77. package/build/lib/mutationCache.legacy.js.map +1 -0
  78. package/build/lib/queryCache.cjs +16 -0
  79. package/build/lib/{queryCache.mjs.map → queryCache.cjs.map} +1 -1
  80. package/build/lib/queryCache.d.ts +1 -0
  81. package/build/lib/queryCache.d.ts.map +1 -0
  82. package/build/lib/queryCache.js +6 -8
  83. package/build/lib/queryCache.js.map +1 -1
  84. package/build/lib/queryCache.legacy.cjs +16 -0
  85. package/build/lib/queryCache.legacy.cjs.map +1 -0
  86. package/build/lib/{queryCache.esm.js → queryCache.legacy.js} +2 -2
  87. package/build/lib/queryCache.legacy.js.map +1 -0
  88. package/build/lib/queryClient.cjs +86 -0
  89. package/build/lib/{queryClient.mjs.map → queryClient.cjs.map} +1 -1
  90. package/build/lib/queryClient.d.ts +1 -0
  91. package/build/lib/queryClient.d.ts.map +1 -0
  92. package/build/lib/queryClient.js +32 -34
  93. package/build/lib/queryClient.js.map +1 -1
  94. package/build/lib/queryClient.legacy.cjs +86 -0
  95. package/build/lib/queryClient.legacy.cjs.map +1 -0
  96. package/build/lib/{queryClient.esm.js → queryClient.legacy.js} +4 -4
  97. package/build/lib/queryClient.legacy.js.map +1 -0
  98. package/build/lib/types.d.ts +4 -3
  99. package/build/lib/types.d.ts.map +1 -0
  100. package/build/lib/{useBaseQuery.mjs → useBaseQuery.cjs} +19 -17
  101. package/build/lib/{useBaseQuery.mjs.map → useBaseQuery.cjs.map} +1 -1
  102. package/build/lib/useBaseQuery.d.ts +3 -2
  103. package/build/lib/useBaseQuery.d.ts.map +1 -0
  104. package/build/lib/useBaseQuery.js +16 -18
  105. package/build/lib/useBaseQuery.js.map +1 -1
  106. package/build/lib/useBaseQuery.legacy.cjs +69 -0
  107. package/build/lib/useBaseQuery.legacy.cjs.map +1 -0
  108. package/build/lib/{useBaseQuery.esm.js → useBaseQuery.legacy.js} +3 -3
  109. package/build/lib/useBaseQuery.legacy.js.map +1 -0
  110. package/build/lib/{useInfiniteQuery.mjs → useInfiniteQuery.cjs} +8 -6
  111. package/build/lib/{useInfiniteQuery.mjs.map → useInfiniteQuery.cjs.map} +1 -1
  112. package/build/lib/useInfiniteQuery.d.ts +4 -3
  113. package/build/lib/useInfiniteQuery.d.ts.map +1 -0
  114. package/build/lib/useInfiniteQuery.js +5 -7
  115. package/build/lib/useInfiniteQuery.js.map +1 -1
  116. package/build/lib/useInfiniteQuery.legacy.cjs +20 -0
  117. package/build/lib/useInfiniteQuery.legacy.cjs.map +1 -0
  118. package/build/lib/{useInfiniteQuery.esm.js → useInfiniteQuery.legacy.js} +2 -2
  119. package/build/lib/useInfiniteQuery.legacy.js.map +1 -0
  120. package/build/lib/useIsFetching.cjs +26 -0
  121. package/build/lib/{useIsFetching.mjs.map → useIsFetching.cjs.map} +1 -1
  122. package/build/lib/useIsFetching.d.ts +2 -1
  123. package/build/lib/useIsFetching.d.ts.map +1 -0
  124. package/build/lib/useIsFetching.js +9 -11
  125. package/build/lib/useIsFetching.js.map +1 -1
  126. package/build/lib/useIsFetching.legacy.cjs +26 -0
  127. package/build/lib/useIsFetching.legacy.cjs.map +1 -0
  128. package/build/lib/{useIsFetching.mjs → useIsFetching.legacy.js} +3 -3
  129. package/build/lib/useIsFetching.legacy.js.map +1 -0
  130. package/build/lib/useMutation.cjs +41 -0
  131. package/build/lib/{useMutation.mjs.map → useMutation.cjs.map} +1 -1
  132. package/build/lib/useMutation.d.ts +5 -4
  133. package/build/lib/useMutation.d.ts.map +1 -0
  134. package/build/lib/useMutation.js +14 -16
  135. package/build/lib/useMutation.js.map +1 -1
  136. package/build/lib/useMutation.legacy.cjs +41 -0
  137. package/build/lib/useMutation.legacy.cjs.map +1 -0
  138. package/build/lib/{useMutation.esm.js → useMutation.legacy.js} +3 -3
  139. package/build/lib/useMutation.legacy.js.map +1 -0
  140. package/build/lib/useMutationState.cjs +36 -0
  141. package/build/lib/useMutationState.cjs.map +1 -0
  142. package/build/lib/useMutationState.d.ts +12 -0
  143. package/build/lib/useMutationState.d.ts.map +1 -0
  144. package/build/lib/useMutationState.js +33 -0
  145. package/build/lib/useMutationState.js.map +1 -0
  146. package/build/lib/useMutationState.legacy.cjs +36 -0
  147. package/build/lib/useMutationState.legacy.cjs.map +1 -0
  148. package/build/lib/useMutationState.legacy.js +33 -0
  149. package/build/lib/useMutationState.legacy.js.map +1 -0
  150. package/build/lib/useQueries.cjs +62 -0
  151. package/build/lib/useQueries.cjs.map +1 -0
  152. package/build/lib/useQueries.d.ts +12 -11
  153. package/build/lib/useQueries.d.ts.map +1 -0
  154. package/build/lib/useQueries.js +35 -23
  155. package/build/lib/useQueries.js.map +1 -1
  156. package/build/lib/useQueries.legacy.cjs +62 -0
  157. package/build/lib/useQueries.legacy.cjs.map +1 -0
  158. package/build/lib/useQueries.legacy.js +60 -0
  159. package/build/lib/useQueries.legacy.js.map +1 -0
  160. package/build/lib/useQuery.cjs +15 -0
  161. package/build/lib/{useQuery.mjs.map → useQuery.cjs.map} +1 -1
  162. package/build/lib/useQuery.d.ts +4 -3
  163. package/build/lib/useQuery.d.ts.map +1 -0
  164. package/build/lib/useQuery.js +4 -6
  165. package/build/lib/useQuery.js.map +1 -1
  166. package/build/lib/useQuery.legacy.cjs +15 -0
  167. package/build/lib/useQuery.legacy.cjs.map +1 -0
  168. package/build/lib/{useQuery.esm.js → useQuery.legacy.js} +2 -2
  169. package/build/lib/useQuery.legacy.js.map +1 -0
  170. package/build/lib/{useQueryClient.mjs → useQueryClient.cjs} +9 -7
  171. package/build/lib/{useQueryClient.mjs.map → useQueryClient.cjs.map} +1 -1
  172. package/build/lib/useQueryClient.d.ts +1 -0
  173. package/build/lib/useQueryClient.d.ts.map +1 -0
  174. package/build/lib/useQueryClient.js +6 -9
  175. package/build/lib/useQueryClient.js.map +1 -1
  176. package/build/lib/useQueryClient.legacy.cjs +21 -0
  177. package/build/lib/useQueryClient.legacy.cjs.map +1 -0
  178. package/build/lib/{useQueryClient.esm.js → useQueryClient.legacy.js} +2 -2
  179. package/build/lib/useQueryClient.legacy.js.map +1 -0
  180. package/build/lib/{utils.mjs → utils.cjs} +12 -6
  181. package/build/lib/{utils.mjs.map → utils.cjs.map} +1 -1
  182. package/build/lib/utils.d.ts +1 -0
  183. package/build/lib/utils.d.ts.map +1 -0
  184. package/build/lib/utils.js +5 -11
  185. package/build/lib/utils.js.map +1 -1
  186. package/build/lib/utils.legacy.cjs +56 -0
  187. package/build/lib/utils.legacy.cjs.map +1 -0
  188. package/build/lib/{utils.esm.js → utils.legacy.js} +1 -1
  189. package/build/lib/utils.legacy.js.map +1 -0
  190. package/build/lib/{vueQueryPlugin.esm.js → vueQueryPlugin.cjs} +15 -15
  191. package/build/lib/vueQueryPlugin.cjs.map +1 -0
  192. package/build/lib/vueQueryPlugin.d.ts +3 -2
  193. package/build/lib/vueQueryPlugin.d.ts.map +1 -0
  194. package/build/lib/vueQueryPlugin.js +12 -16
  195. package/build/lib/vueQueryPlugin.js.map +1 -1
  196. package/build/lib/vueQueryPlugin.legacy.cjs +75 -0
  197. package/build/lib/vueQueryPlugin.legacy.cjs.map +1 -0
  198. package/build/lib/{vueQueryPlugin.mjs → vueQueryPlugin.legacy.js} +4 -6
  199. package/build/lib/vueQueryPlugin.legacy.js.map +1 -0
  200. package/package.json +21 -16
  201. package/src/__mocks__/useBaseQuery.ts +8 -0
  202. package/src/__mocks__/useQueryClient.ts +10 -0
  203. package/src/__tests__/mutationCache.test.ts +40 -0
  204. package/src/__tests__/queryCache.test.ts +48 -0
  205. package/src/__tests__/queryClient.test.ts +365 -0
  206. package/src/__tests__/test-utils.ts +62 -0
  207. package/src/__tests__/useInfiniteQuery.test.ts +37 -0
  208. package/src/__tests__/useInfiniteQuery.types.test.tsx +102 -0
  209. package/src/__tests__/useIsFetching.test.ts +77 -0
  210. package/src/__tests__/useIsMutating.test.ts +123 -0
  211. package/src/__tests__/useMutation.test.ts +335 -0
  212. package/src/__tests__/useMutation.types.test.tsx +97 -0
  213. package/src/__tests__/useQueries.test.ts +256 -0
  214. package/src/__tests__/useQuery.test.ts +290 -0
  215. package/src/__tests__/useQuery.types.test.tsx +88 -0
  216. package/src/__tests__/useQueryClient.test.ts +51 -0
  217. package/src/__tests__/utils.test.ts +148 -0
  218. package/src/__tests__/vueQueryPlugin.test.ts +351 -0
  219. package/src/devtools/devtools.ts +249 -0
  220. package/src/devtools/utils.ts +96 -0
  221. package/src/index.ts +30 -0
  222. package/src/mutationCache.ts +25 -0
  223. package/src/queryCache.ts +21 -0
  224. package/src/queryClient.ts +278 -0
  225. package/src/types.ts +17 -0
  226. package/src/useBaseQuery.ts +152 -0
  227. package/src/useInfiniteQuery.ts +105 -0
  228. package/src/useIsFetching.ts +37 -0
  229. package/src/useMutation.ts +109 -0
  230. package/src/useMutationState.ts +73 -0
  231. package/src/useQueries.ts +227 -0
  232. package/src/useQuery.ts +125 -0
  233. package/src/useQueryClient.ts +23 -0
  234. package/src/utils.ts +67 -0
  235. package/src/vueQueryPlugin.ts +101 -0
  236. package/build/lib/devtools/devtools.esm.js.map +0 -1
  237. package/build/lib/devtools/devtools.mjs.map +0 -1
  238. package/build/lib/devtools/utils.esm.js.map +0 -1
  239. package/build/lib/devtools/utils.mjs.map +0 -1
  240. package/build/lib/index.esm.js +0 -14
  241. package/build/lib/index.esm.js.map +0 -1
  242. package/build/lib/index.mjs +0 -14
  243. package/build/lib/index.mjs.map +0 -1
  244. package/build/lib/mutationCache.esm.js.map +0 -1
  245. package/build/lib/mutationCache.mjs +0 -14
  246. package/build/lib/queryCache.esm.js.map +0 -1
  247. package/build/lib/queryCache.mjs +0 -14
  248. package/build/lib/queryClient.esm.js.map +0 -1
  249. package/build/lib/queryClient.mjs +0 -84
  250. package/build/lib/useBaseQuery.esm.js.map +0 -1
  251. package/build/lib/useInfiniteQuery.esm.js.map +0 -1
  252. package/build/lib/useIsFetching.esm.js +0 -24
  253. package/build/lib/useIsFetching.esm.js.map +0 -1
  254. package/build/lib/useIsMutating.d.ts +0 -6
  255. package/build/lib/useIsMutating.esm.js +0 -24
  256. package/build/lib/useIsMutating.esm.js.map +0 -1
  257. package/build/lib/useIsMutating.js +0 -26
  258. package/build/lib/useIsMutating.js.map +0 -1
  259. package/build/lib/useIsMutating.mjs +0 -24
  260. package/build/lib/useIsMutating.mjs.map +0 -1
  261. package/build/lib/useMutation.esm.js.map +0 -1
  262. package/build/lib/useMutation.mjs +0 -39
  263. package/build/lib/useQueries.esm.js +0 -46
  264. package/build/lib/useQueries.esm.js.map +0 -1
  265. package/build/lib/useQueries.mjs +0 -46
  266. package/build/lib/useQueries.mjs.map +0 -1
  267. package/build/lib/useQuery.esm.js.map +0 -1
  268. package/build/lib/useQuery.mjs +0 -13
  269. package/build/lib/useQueryClient.esm.js.map +0 -1
  270. package/build/lib/utils.esm.js.map +0 -1
  271. package/build/lib/vueQueryPlugin.esm.js.map +0 -1
  272. package/build/lib/vueQueryPlugin.mjs.map +0 -1
  273. package/build/umd/index.development.js +0 -4193
  274. package/build/umd/index.development.js.map +0 -1
  275. package/build/umd/index.production.js +0 -2
  276. package/build/umd/index.production.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vueQueryPlugin.legacy.js","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\nimport { isServer } from '@tanstack/query-core'\nimport type { QueryClientConfig } from '@tanstack/query-core'\n\nimport { QueryClient } from './queryClient'\nimport { getClientKey } from './utils'\nimport { setupDevtools } from './devtools/devtools'\nimport type { MaybeRefDeep } from './types'\n\ntype ClientPersister = (client: QueryClient) => [() => void, Promise<void>]\n\ninterface CommonOptions {\n queryClientKey?: string\n clientPersister?: ClientPersister\n}\n\ninterface ConfigOptions extends CommonOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n}\n\ninterface ClientOptions extends CommonOptions {\n queryClient?: QueryClient\n}\n\nexport type VueQueryPluginOptions = ConfigOptions | ClientOptions\n\nexport const VueQueryPlugin = {\n install: (app: any, options: VueQueryPluginOptions = {}) => {\n const clientKey = getClientKey(options.queryClientKey)\n let client: QueryClient\n\n if ('queryClient' in options && options.queryClient) {\n client = options.queryClient\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n\n if (!isServer) {\n client.mount()\n }\n\n let persisterUnmount = () => {\n // noop\n }\n\n if (options.clientPersister) {\n client.isRestoring.value = true\n const [unmount, promise] = options.clientPersister(client)\n persisterUnmount = unmount\n promise.then(() => {\n client.isRestoring.value = false\n })\n }\n\n const cleanup = () => {\n client.unmount()\n persisterUnmount()\n }\n\n if (app.onUnmount) {\n app.onUnmount(cleanup)\n } else {\n const originalUnmount = app.unmount\n app.unmount = function vueQueryUnmount() {\n cleanup()\n originalUnmount()\n }\n }\n\n if (isVue2) {\n app.mixin({\n beforeCreate() {\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30\n if (!this._provided) {\n const provideCache = {}\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n })\n }\n\n this._provided[clientKey] = client\n\n if (process.env.NODE_ENV === 'development') {\n if (this === this.$root) {\n setupDevtools(this, client)\n }\n }\n },\n })\n } else {\n app.provide(clientKey, client)\n\n if (process.env.NODE_ENV === 'development') {\n setupDevtools(app, client)\n }\n }\n },\n}\n"],"names":["VueQueryPlugin","install","app","options","clientKey","getClientKey","queryClientKey","client","queryClient","clientConfig","queryClientConfig","undefined","QueryClient","isServer","mount","persisterUnmount","clientPersister","isRestoring","value","unmount","promise","then","cleanup","onUnmount","originalUnmount","vueQueryUnmount","isVue2","mixin","beforeCreate","_provided","provideCache","Object","defineProperty","get","set","v","assign","process","env","NODE_ENV","$root","setupDevtools","provide"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/vue-query",
3
- "version": "5.0.0-alpha.6",
3
+ "version": "5.0.0-alpha.63",
4
4
  "description": "Hooks for managing, caching and syncing asynchronous and remote data in Vue",
5
5
  "author": "Damian Osipiuk",
6
6
  "license": "MIT",
@@ -14,34 +14,36 @@
14
14
  "type": "github",
15
15
  "url": "https://github.com/sponsors/tannerlinsley"
16
16
  },
17
+ "type": "module",
17
18
  "types": "build/lib/index.d.ts",
18
- "main": "build/lib/index.js",
19
- "module": "build/lib/index.esm.js",
19
+ "main": "build/lib/index.legacy.cjs",
20
+ "module": "build/lib/index.legacy.js",
20
21
  "exports": {
21
22
  ".": {
22
23
  "types": "./build/lib/index.d.ts",
23
- "import": "./build/lib/index.mjs",
24
- "default": "./build/lib/index.js"
24
+ "import": "./build/lib/index.js",
25
+ "require": "./build/lib/index.cjs",
26
+ "default": "./build/lib/index.cjs"
25
27
  },
26
28
  "./package.json": "./package.json"
27
29
  },
28
30
  "sideEffects": false,
29
31
  "files": [
30
32
  "build/lib/*",
31
- "build/umd/*"
33
+ "src"
32
34
  ],
35
+ "dependencies": {
36
+ "@tanstack/query-core": "^5.0.0-alpha.43",
37
+ "@tanstack/match-sorter-utils": "^8.8.4",
38
+ "@vue/devtools-api": "^6.5.0",
39
+ "vue-demi": "^0.13.11"
40
+ },
33
41
  "devDependencies": {
34
42
  "@vue/composition-api": "1.7.1",
35
43
  "vue": "^3.2.47",
36
44
  "vue2": "npm:vue@2.6",
37
45
  "vue2.7": "npm:vue@2.7"
38
46
  },
39
- "dependencies": {
40
- "@vue/devtools-api": "^6.5.0",
41
- "@tanstack/match-sorter-utils": "^8.7.6",
42
- "vue-demi": "^0.13.11",
43
- "@tanstack/query-core": "5.0.0-alpha.6"
44
- },
45
47
  "peerDependencies": {
46
48
  "@vue/composition-api": "^1.1.2",
47
49
  "vue": "^2.5.0 || ^3.0.0"
@@ -52,14 +54,17 @@
52
54
  }
53
55
  },
54
56
  "scripts": {
55
- "clean": "rimraf ./build",
56
- "test:eslint": "eslint --ext .ts ./src",
57
- "test:types": "tsc",
57
+ "clean": "rimraf ./build && rimraf ./coverage",
58
+ "test:eslint": "eslint --ext .ts,.tsx ./src",
59
+ "test:types": "tsc --noEmit",
58
60
  "test:lib": "pnpm run test:2 && pnpm run test:2.7 && pnpm run test:3",
59
61
  "test:2": "vue-demi-switch 2 vue2 && vitest",
60
62
  "test:2.7": "vue-demi-switch 2.7 vue2.7 && vitest",
61
63
  "test:3": "vue-demi-switch 3 && vitest",
62
64
  "test:lib:dev": "pnpm run test:lib --watch",
63
- "build:types": "tsc --build"
65
+ "test:build": "publint --strict",
66
+ "build": "pnpm build:rollup && pnpm build:types",
67
+ "build:rollup": "rollup --config rollup.config.js",
68
+ "build:types": "tsc --emitDeclarationOnly"
64
69
  }
65
70
  }
@@ -0,0 +1,8 @@
1
+ import { vi } from 'vitest'
2
+
3
+ const { useBaseQuery: originImpl, unrefQueryArgs: originalParse } =
4
+ // @ts-expect-error - vitest uses esmodules; tsconfig is not set to use them
5
+ (await vi.importActual('../useBaseQuery')) as any
6
+
7
+ export const useBaseQuery = vi.fn(originImpl)
8
+ export const unrefQueryArgs = originalParse
@@ -0,0 +1,10 @@
1
+ import { QueryClient } from '../queryClient'
2
+ import { vi } from 'vitest'
3
+
4
+ const queryClient = new QueryClient({
5
+ defaultOptions: {
6
+ queries: { retry: false, gcTime: Infinity },
7
+ },
8
+ })
9
+
10
+ export const useQueryClient = vi.fn(() => queryClient)
@@ -0,0 +1,40 @@
1
+ import { ref } from 'vue-demi'
2
+ import { MutationCache as MutationCacheOrigin } from '@tanstack/query-core'
3
+
4
+ import { MutationCache } from '../mutationCache'
5
+ import { vi } from 'vitest'
6
+
7
+ describe('MutationCache', () => {
8
+ beforeAll(() => {
9
+ vi.spyOn(MutationCacheOrigin.prototype, 'find')
10
+ vi.spyOn(MutationCacheOrigin.prototype, 'findAll')
11
+ })
12
+
13
+ describe('find', () => {
14
+ test('should properly unwrap parameters', async () => {
15
+ const mutationCache = new MutationCache()
16
+
17
+ mutationCache.find({
18
+ mutationKey: ref(['baz']),
19
+ })
20
+
21
+ expect(MutationCacheOrigin.prototype.find).toBeCalledWith({
22
+ mutationKey: ['baz'],
23
+ })
24
+ })
25
+ })
26
+
27
+ describe('findAll', () => {
28
+ test('should properly unwrap parameters', async () => {
29
+ const mutationCache = new MutationCache()
30
+
31
+ mutationCache.findAll({
32
+ mutationKey: ref(['baz']),
33
+ })
34
+
35
+ expect(MutationCacheOrigin.prototype.findAll).toBeCalledWith({
36
+ mutationKey: ['baz'],
37
+ })
38
+ })
39
+ })
40
+ })
@@ -0,0 +1,48 @@
1
+ import { ref } from 'vue-demi'
2
+ import { QueryCache as QueryCacheOrigin } from '@tanstack/query-core'
3
+
4
+ import { QueryCache } from '../queryCache'
5
+ import { vi } from 'vitest'
6
+
7
+ describe('QueryCache', () => {
8
+ beforeAll(() => {
9
+ vi.spyOn(QueryCacheOrigin.prototype, 'find')
10
+ vi.spyOn(QueryCacheOrigin.prototype, 'findAll')
11
+ })
12
+
13
+ describe('find', () => {
14
+ test('should properly unwrap parameters', async () => {
15
+ const queryCache = new QueryCache()
16
+
17
+ queryCache.find({
18
+ queryKey: ['foo', ref('bar')],
19
+ })
20
+
21
+ expect(QueryCacheOrigin.prototype.find).toBeCalledWith({
22
+ queryKey: ['foo', 'bar'],
23
+ })
24
+ })
25
+ })
26
+
27
+ describe('findAll', () => {
28
+ test('should properly unwrap two parameters', async () => {
29
+ const queryCache = new QueryCache()
30
+
31
+ queryCache.findAll({
32
+ queryKey: ['foo', ref('bar')],
33
+ })
34
+
35
+ expect(QueryCacheOrigin.prototype.findAll).toBeCalledWith({
36
+ queryKey: ['foo', 'bar'],
37
+ })
38
+ })
39
+
40
+ test('should default to empty filters', async () => {
41
+ const queryCache = new QueryCache()
42
+
43
+ queryCache.findAll()
44
+
45
+ expect(QueryCacheOrigin.prototype.findAll).toBeCalledWith({})
46
+ })
47
+ })
48
+ })
@@ -0,0 +1,365 @@
1
+ import { ref } from 'vue-demi'
2
+ import { QueryClient as QueryClientOrigin } from '@tanstack/query-core'
3
+
4
+ import { QueryClient } from '../queryClient'
5
+ import { vi } from 'vitest'
6
+
7
+ vi.mock('@tanstack/query-core')
8
+
9
+ const queryKeyRef = ['foo', ref('bar')]
10
+ const queryKeyUnref = ['foo', 'bar']
11
+
12
+ const fn = () => 'mock'
13
+
14
+ describe('QueryCache', () => {
15
+ describe('isFetching', () => {
16
+ test('should properly unwrap 1 parameter', async () => {
17
+ const queryClient = new QueryClient()
18
+
19
+ queryClient.isFetching({
20
+ queryKey: queryKeyRef,
21
+ })
22
+
23
+ expect(QueryClientOrigin.prototype.isFetching).toBeCalledWith({
24
+ queryKey: queryKeyUnref,
25
+ })
26
+ })
27
+ })
28
+
29
+ describe('isMutating', () => {
30
+ test('should properly unwrap 1 parameter', async () => {
31
+ const queryClient = new QueryClient()
32
+
33
+ queryClient.isMutating({
34
+ mutationKey: queryKeyRef,
35
+ })
36
+
37
+ expect(QueryClientOrigin.prototype.isMutating).toBeCalledWith({
38
+ mutationKey: queryKeyUnref,
39
+ })
40
+ })
41
+ })
42
+
43
+ describe('getQueryData', () => {
44
+ test('should properly unwrap 1 parameter', async () => {
45
+ const queryClient = new QueryClient()
46
+
47
+ queryClient.getQueryData(queryKeyRef)
48
+
49
+ expect(QueryClientOrigin.prototype.getQueryData).toBeCalledWith(
50
+ queryKeyUnref,
51
+ )
52
+ })
53
+ })
54
+
55
+ describe('getQueriesData', () => {
56
+ test('should properly unwrap queryKey param', async () => {
57
+ const queryClient = new QueryClient()
58
+
59
+ queryClient.getQueriesData({ queryKey: queryKeyRef })
60
+
61
+ expect(QueryClientOrigin.prototype.getQueriesData).toBeCalledWith({
62
+ queryKey: queryKeyUnref,
63
+ })
64
+ })
65
+
66
+ test('should properly unwrap filters param', async () => {
67
+ const queryClient = new QueryClient()
68
+
69
+ queryClient.getQueriesData({ queryKey: queryKeyRef })
70
+
71
+ expect(QueryClientOrigin.prototype.getQueriesData).toBeCalledWith({
72
+ queryKey: queryKeyUnref,
73
+ })
74
+ })
75
+ })
76
+
77
+ describe('setQueryData', () => {
78
+ test('should properly unwrap 3 parameter', async () => {
79
+ const queryClient = new QueryClient()
80
+
81
+ queryClient.setQueryData(queryKeyRef, fn, {
82
+ updatedAt: ref(3),
83
+ })
84
+
85
+ expect(QueryClientOrigin.prototype.setQueryData).toBeCalledWith(
86
+ queryKeyUnref,
87
+ fn,
88
+ { updatedAt: 3 },
89
+ )
90
+ })
91
+ })
92
+
93
+ describe('setQueriesData', () => {
94
+ test('should properly unwrap params with queryKey', async () => {
95
+ const queryClient = new QueryClient()
96
+
97
+ queryClient.setQueriesData({ queryKey: queryKeyRef }, fn, {
98
+ updatedAt: ref(3),
99
+ })
100
+
101
+ expect(QueryClientOrigin.prototype.setQueriesData).toBeCalledWith(
102
+ { queryKey: queryKeyUnref },
103
+ fn,
104
+ { updatedAt: 3 },
105
+ )
106
+ })
107
+
108
+ test('should properly unwrap params with filters', async () => {
109
+ const queryClient = new QueryClient()
110
+
111
+ queryClient.setQueriesData({ queryKey: queryKeyRef }, fn, {
112
+ updatedAt: ref(3),
113
+ })
114
+
115
+ expect(QueryClientOrigin.prototype.setQueriesData).toBeCalledWith(
116
+ { queryKey: queryKeyUnref },
117
+ fn,
118
+ { updatedAt: 3 },
119
+ )
120
+ })
121
+ })
122
+
123
+ describe('getQueryState', () => {
124
+ test('should properly unwrap 1 parameter', async () => {
125
+ const queryClient = new QueryClient()
126
+
127
+ queryClient.getQueryState(queryKeyRef)
128
+
129
+ expect(QueryClientOrigin.prototype.getQueryState).toBeCalledWith(
130
+ queryKeyUnref,
131
+ )
132
+ })
133
+ })
134
+
135
+ describe('removeQueries', () => {
136
+ test('should properly unwrap 1 parameter', async () => {
137
+ const queryClient = new QueryClient()
138
+
139
+ queryClient.removeQueries({
140
+ queryKey: queryKeyRef,
141
+ })
142
+
143
+ expect(QueryClientOrigin.prototype.removeQueries).toBeCalledWith({
144
+ queryKey: queryKeyUnref,
145
+ })
146
+ })
147
+ })
148
+
149
+ describe('resetQueries', () => {
150
+ test('should properly unwrap 2 parameter', async () => {
151
+ const queryClient = new QueryClient()
152
+
153
+ queryClient.resetQueries(
154
+ {
155
+ queryKey: queryKeyRef,
156
+ },
157
+ { cancelRefetch: ref(false) },
158
+ )
159
+
160
+ expect(QueryClientOrigin.prototype.resetQueries).toBeCalledWith(
161
+ {
162
+ queryKey: queryKeyUnref,
163
+ },
164
+ { cancelRefetch: false },
165
+ )
166
+ })
167
+ })
168
+
169
+ describe('cancelQueries', () => {
170
+ test('should properly unwrap 2 parameter', async () => {
171
+ const queryClient = new QueryClient()
172
+
173
+ queryClient.cancelQueries(
174
+ {
175
+ queryKey: queryKeyRef,
176
+ },
177
+ { revert: ref(false) },
178
+ )
179
+
180
+ expect(QueryClientOrigin.prototype.cancelQueries).toBeCalledWith(
181
+ {
182
+ queryKey: queryKeyUnref,
183
+ },
184
+ { revert: false },
185
+ )
186
+ })
187
+ })
188
+
189
+ describe('invalidateQueries', () => {
190
+ test('should properly unwrap 2 parameter', async () => {
191
+ const queryClient = new QueryClient()
192
+
193
+ queryClient.invalidateQueries(
194
+ {
195
+ queryKey: queryKeyRef,
196
+ },
197
+ { cancelRefetch: ref(false) },
198
+ )
199
+
200
+ expect(QueryClientOrigin.prototype.invalidateQueries).toBeCalledWith(
201
+ {
202
+ queryKey: queryKeyUnref,
203
+ },
204
+ { cancelRefetch: false },
205
+ )
206
+ })
207
+ })
208
+
209
+ describe('refetchQueries', () => {
210
+ test('should properly unwrap 2 parameter', async () => {
211
+ const queryClient = new QueryClient()
212
+
213
+ queryClient.refetchQueries(
214
+ {
215
+ queryKey: queryKeyRef,
216
+ },
217
+ { cancelRefetch: ref(false) },
218
+ )
219
+
220
+ expect(QueryClientOrigin.prototype.refetchQueries).toBeCalledWith(
221
+ {
222
+ queryKey: queryKeyUnref,
223
+ },
224
+ { cancelRefetch: false },
225
+ )
226
+ })
227
+ })
228
+
229
+ describe('fetchQuery', () => {
230
+ test('should properly unwrap parameter', async () => {
231
+ const queryClient = new QueryClient()
232
+
233
+ queryClient.fetchQuery({
234
+ queryKey: queryKeyRef,
235
+ })
236
+
237
+ expect(QueryClientOrigin.prototype.fetchQuery).toBeCalledWith({
238
+ queryKey: queryKeyUnref,
239
+ })
240
+ })
241
+ })
242
+
243
+ describe('prefetchQuery', () => {
244
+ test('should properly unwrap parameters', async () => {
245
+ const queryClient = new QueryClient()
246
+
247
+ queryClient.prefetchQuery({ queryKey: queryKeyRef, queryFn: fn })
248
+
249
+ expect(QueryClientOrigin.prototype.prefetchQuery).toBeCalledWith({
250
+ queryKey: queryKeyUnref,
251
+ queryFn: fn,
252
+ })
253
+ })
254
+ })
255
+
256
+ describe('fetchInfiniteQuery', () => {
257
+ test('should properly unwrap parameter', async () => {
258
+ const queryClient = new QueryClient()
259
+
260
+ queryClient.fetchInfiniteQuery({
261
+ queryKey: queryKeyRef,
262
+ defaultPageParam: 0,
263
+ })
264
+
265
+ expect(QueryClientOrigin.prototype.fetchInfiniteQuery).toBeCalledWith({
266
+ defaultPageParam: 0,
267
+ queryKey: queryKeyUnref,
268
+ })
269
+ })
270
+ })
271
+
272
+ describe('prefetchInfiniteQuery', () => {
273
+ test('should properly unwrap parameters', async () => {
274
+ const queryClient = new QueryClient()
275
+
276
+ queryClient.prefetchInfiniteQuery({
277
+ queryKey: queryKeyRef,
278
+ queryFn: fn,
279
+ defaultPageParam: 0,
280
+ })
281
+
282
+ expect(QueryClientOrigin.prototype.prefetchInfiniteQuery).toBeCalledWith({
283
+ defaultPageParam: 0,
284
+ queryKey: queryKeyUnref,
285
+ queryFn: fn,
286
+ })
287
+ })
288
+ })
289
+
290
+ describe('setDefaultOptions', () => {
291
+ test('should properly unwrap parameters', async () => {
292
+ const queryClient = new QueryClient()
293
+
294
+ queryClient.setDefaultOptions({
295
+ queries: {
296
+ enabled: ref(false),
297
+ },
298
+ })
299
+
300
+ expect(QueryClientOrigin.prototype.setDefaultOptions).toBeCalledWith({
301
+ queries: {
302
+ enabled: false,
303
+ },
304
+ })
305
+ })
306
+ })
307
+
308
+ describe('setQueryDefaults', () => {
309
+ test('should properly unwrap parameters', async () => {
310
+ const queryClient = new QueryClient()
311
+
312
+ queryClient.setQueryDefaults(queryKeyRef, {
313
+ enabled: ref(false),
314
+ })
315
+
316
+ expect(QueryClientOrigin.prototype.setQueryDefaults).toBeCalledWith(
317
+ queryKeyUnref,
318
+ {
319
+ enabled: false,
320
+ },
321
+ )
322
+ })
323
+ })
324
+
325
+ describe('getQueryDefaults', () => {
326
+ test('should properly unwrap parameters', async () => {
327
+ const queryClient = new QueryClient()
328
+
329
+ queryClient.getQueryDefaults(queryKeyRef)
330
+
331
+ expect(QueryClientOrigin.prototype.getQueryDefaults).toBeCalledWith(
332
+ queryKeyUnref,
333
+ )
334
+ })
335
+ })
336
+
337
+ describe('setMutationDefaults', () => {
338
+ test('should properly unwrap parameters', async () => {
339
+ const queryClient = new QueryClient()
340
+
341
+ queryClient.setMutationDefaults(queryKeyRef, {
342
+ mutationKey: queryKeyRef,
343
+ })
344
+
345
+ expect(QueryClientOrigin.prototype.setMutationDefaults).toBeCalledWith(
346
+ queryKeyUnref,
347
+ {
348
+ mutationKey: queryKeyUnref,
349
+ },
350
+ )
351
+ })
352
+ })
353
+
354
+ describe('getMutationDefaults', () => {
355
+ test('should properly unwrap parameters', async () => {
356
+ const queryClient = new QueryClient()
357
+
358
+ queryClient.getMutationDefaults(queryKeyRef)
359
+
360
+ expect(QueryClientOrigin.prototype.getMutationDefaults).toBeCalledWith(
361
+ queryKeyUnref,
362
+ )
363
+ })
364
+ })
365
+ })
@@ -0,0 +1,62 @@
1
+ /* istanbul ignore file */
2
+
3
+ export function flushPromises(timeout = 0): Promise<unknown> {
4
+ return new Promise(function (resolve) {
5
+ setTimeout(resolve, timeout)
6
+ })
7
+ }
8
+
9
+ export function simpleFetcher(): Promise<string> {
10
+ return new Promise((resolve) => {
11
+ setTimeout(() => {
12
+ return resolve('Some data')
13
+ }, 0)
14
+ })
15
+ }
16
+
17
+ export function getSimpleFetcherWithReturnData(returnData: unknown) {
18
+ return () =>
19
+ new Promise((resolve) => setTimeout(() => resolve(returnData), 0))
20
+ }
21
+
22
+ export function infiniteFetcher({
23
+ pageParam,
24
+ }: {
25
+ pageParam?: number
26
+ }): Promise<string> {
27
+ return new Promise((resolve) => {
28
+ setTimeout(() => {
29
+ return resolve('data on page ' + pageParam)
30
+ }, 0)
31
+ })
32
+ }
33
+
34
+ export function rejectFetcher(): Promise<Error> {
35
+ return new Promise((_, reject) => {
36
+ setTimeout(() => {
37
+ return reject(new Error('Some error'))
38
+ }, 0)
39
+ })
40
+ }
41
+
42
+ export function successMutator<T>(param: T): Promise<T> {
43
+ return new Promise((resolve) => {
44
+ setTimeout(() => {
45
+ return resolve(param)
46
+ }, 0)
47
+ })
48
+ }
49
+
50
+ export function errorMutator<T>(_: T): Promise<Error> {
51
+ return rejectFetcher()
52
+ }
53
+
54
+ export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <
55
+ T,
56
+ >() => T extends Y ? 1 : 2
57
+ ? true
58
+ : false
59
+
60
+ export type Expect<T extends true> = T
61
+
62
+ export const doNotExecute = (_func: () => void) => true
@@ -0,0 +1,37 @@
1
+ import { infiniteFetcher, flushPromises } from './test-utils'
2
+ import { useInfiniteQuery } from '../useInfiniteQuery'
3
+ import { vi } from 'vitest'
4
+
5
+ vi.mock('../useQueryClient')
6
+
7
+ describe('useQuery', () => {
8
+ test('should properly execute infinite query', async () => {
9
+ const { data, fetchNextPage, status } = useInfiniteQuery({
10
+ queryKey: ['infiniteQuery'],
11
+ queryFn: infiniteFetcher,
12
+ defaultPageParam: 0,
13
+ getNextPageParam: () => 12,
14
+ })
15
+
16
+ expect(data.value).toStrictEqual(undefined)
17
+ expect(status.value).toStrictEqual('pending')
18
+
19
+ await flushPromises()
20
+
21
+ expect(data.value).toStrictEqual({
22
+ pageParams: [0],
23
+ pages: ['data on page 0'],
24
+ })
25
+ expect(status.value).toStrictEqual('success')
26
+
27
+ fetchNextPage()
28
+
29
+ await flushPromises()
30
+
31
+ expect(data.value).toStrictEqual({
32
+ pageParams: [0, 12],
33
+ pages: ['data on page 0', 'data on page 12'],
34
+ })
35
+ expect(status.value).toStrictEqual('success')
36
+ })
37
+ })