@tanstack/vue-query 5.101.4 → 5.102.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 (355) hide show
  1. package/README.md +17 -0
  2. package/build/legacy/devtools/devtools.cjs +203 -258
  3. package/build/legacy/devtools/devtools.cjs.map +1 -1
  4. package/build/legacy/devtools/devtools.d.cts +6 -1
  5. package/build/legacy/devtools/devtools.d.cts.map +1 -0
  6. package/build/legacy/devtools/devtools.d.ts +6 -1
  7. package/build/legacy/devtools/devtools.d.ts.map +1 -0
  8. package/build/legacy/devtools/devtools.js +200 -236
  9. package/build/legacy/devtools/devtools.js.map +1 -1
  10. package/build/legacy/devtools/utils.cjs +37 -94
  11. package/build/legacy/devtools/utils.cjs.map +1 -1
  12. package/build/legacy/devtools/utils.d.cts +18 -5
  13. package/build/legacy/devtools/utils.d.cts.map +1 -0
  14. package/build/legacy/devtools/utils.d.ts +18 -5
  15. package/build/legacy/devtools/utils.d.ts.map +1 -0
  16. package/build/legacy/devtools/utils.js +32 -65
  17. package/build/legacy/devtools/utils.js.map +1 -1
  18. package/build/legacy/index.cjs +44 -83
  19. package/build/legacy/index.d.cts +17 -173
  20. package/build/legacy/index.d.ts +17 -173
  21. package/build/legacy/index.js +6 -27
  22. package/build/legacy/infiniteQueryOptions.cjs +6 -30
  23. package/build/legacy/infiniteQueryOptions.cjs.map +1 -1
  24. package/build/legacy/infiniteQueryOptions.d.cts +2 -3
  25. package/build/legacy/infiniteQueryOptions.d.ts +2 -3
  26. package/build/legacy/infiniteQueryOptions.js +5 -5
  27. package/build/legacy/infiniteQueryOptions.js.map +1 -1
  28. package/build/legacy/mutationCache.cjs +13 -37
  29. package/build/legacy/mutationCache.cjs.map +1 -1
  30. package/build/legacy/mutationCache.d.cts +10 -1
  31. package/build/legacy/mutationCache.d.cts.map +1 -0
  32. package/build/legacy/mutationCache.d.ts +10 -1
  33. package/build/legacy/mutationCache.d.ts.map +1 -0
  34. package/build/legacy/mutationCache.js +12 -12
  35. package/build/legacy/mutationCache.js.map +1 -1
  36. package/build/legacy/mutationOptions.cjs +6 -30
  37. package/build/legacy/mutationOptions.cjs.map +1 -1
  38. package/build/legacy/mutationOptions.d.cts +10 -1
  39. package/build/legacy/mutationOptions.d.cts.map +1 -0
  40. package/build/legacy/mutationOptions.d.ts +10 -1
  41. package/build/legacy/mutationOptions.d.ts.map +1 -0
  42. package/build/legacy/mutationOptions.js +5 -5
  43. package/build/legacy/mutationOptions.js.map +1 -1
  44. package/build/legacy/queryCache.cjs +13 -37
  45. package/build/legacy/queryCache.cjs.map +1 -1
  46. package/build/legacy/queryCache.d.cts +10 -1
  47. package/build/legacy/queryCache.d.cts.map +1 -0
  48. package/build/legacy/queryCache.d.ts +10 -1
  49. package/build/legacy/queryCache.d.ts.map +1 -0
  50. package/build/legacy/queryCache.js +12 -12
  51. package/build/legacy/queryCache.js.map +1 -1
  52. package/build/legacy/queryClient-C07d0chJ.d.cts +97 -0
  53. package/build/legacy/queryClient-C07d0chJ.d.cts.map +1 -0
  54. package/build/legacy/queryClient-hf6i_vCa.d.ts +97 -0
  55. package/build/legacy/queryClient-hf6i_vCa.d.ts.map +1 -0
  56. package/build/legacy/queryClient.cjs +104 -142
  57. package/build/legacy/queryClient.cjs.map +1 -1
  58. package/build/legacy/queryClient.d.cts +2 -1
  59. package/build/legacy/queryClient.d.ts +2 -1
  60. package/build/legacy/queryClient.js +103 -117
  61. package/build/legacy/queryClient.js.map +1 -1
  62. package/build/legacy/queryOptions.cjs +6 -30
  63. package/build/legacy/queryOptions.cjs.map +1 -1
  64. package/build/legacy/queryOptions.d.cts +19 -4
  65. package/build/legacy/queryOptions.d.cts.map +1 -0
  66. package/build/legacy/queryOptions.d.ts +19 -4
  67. package/build/legacy/queryOptions.d.ts.map +1 -0
  68. package/build/legacy/queryOptions.js +5 -5
  69. package/build/legacy/queryOptions.js.map +1 -1
  70. package/build/legacy/types-BzZi3_rS.d.cts +33 -0
  71. package/build/legacy/types-BzZi3_rS.d.cts.map +1 -0
  72. package/build/legacy/types-BzZi3_rS.d.ts +33 -0
  73. package/build/legacy/types-BzZi3_rS.d.ts.map +1 -0
  74. package/build/legacy/types.cjs +0 -19
  75. package/build/legacy/types.d.cts +2 -11
  76. package/build/legacy/types.d.ts +2 -11
  77. package/build/legacy/types.js +1 -1
  78. package/build/legacy/useBaseQuery.cjs +78 -140
  79. package/build/legacy/useBaseQuery.cjs.map +1 -1
  80. package/build/legacy/useBaseQuery.d.cts +2 -2
  81. package/build/legacy/useBaseQuery.d.ts +2 -2
  82. package/build/legacy/useBaseQuery.js +76 -124
  83. package/build/legacy/useBaseQuery.js.map +1 -1
  84. package/build/legacy/useInfiniteQuery.cjs +8 -36
  85. package/build/legacy/useInfiniteQuery.cjs.map +1 -1
  86. package/build/legacy/useInfiniteQuery.d.cts +2 -3
  87. package/build/legacy/useInfiniteQuery.d.ts +2 -3
  88. package/build/legacy/useInfiniteQuery.js +6 -10
  89. package/build/legacy/useInfiniteQuery.js.map +1 -1
  90. package/build/legacy/useIsFetching.cjs +23 -51
  91. package/build/legacy/useIsFetching.cjs.map +1 -1
  92. package/build/legacy/useIsFetching.d.cts +10 -2
  93. package/build/legacy/useIsFetching.d.cts.map +1 -0
  94. package/build/legacy/useIsFetching.d.ts +10 -2
  95. package/build/legacy/useIsFetching.d.ts.map +1 -0
  96. package/build/legacy/useIsFetching.js +21 -25
  97. package/build/legacy/useIsFetching.js.map +1 -1
  98. package/build/legacy/useMutation.cjs +42 -76
  99. package/build/legacy/useMutation.cjs.map +1 -1
  100. package/build/legacy/useMutation.d.cts +17 -3
  101. package/build/legacy/useMutation.d.cts.map +1 -0
  102. package/build/legacy/useMutation.d.ts +17 -3
  103. package/build/legacy/useMutation.d.ts.map +1 -0
  104. package/build/legacy/useMutation.js +39 -59
  105. package/build/legacy/useMutation.js.map +1 -1
  106. package/build/legacy/useMutationState.cjs +38 -75
  107. package/build/legacy/useMutationState.cjs.map +1 -1
  108. package/build/legacy/useMutationState.d.cts +16 -4
  109. package/build/legacy/useMutationState.d.cts.map +1 -0
  110. package/build/legacy/useMutationState.d.ts +16 -4
  111. package/build/legacy/useMutationState.d.ts.map +1 -0
  112. package/build/legacy/useMutationState.js +35 -55
  113. package/build/legacy/useMutationState.js.map +1 -1
  114. package/build/legacy/usePrefetchInfiniteQuery.cjs +19 -50
  115. package/build/legacy/usePrefetchInfiniteQuery.cjs.map +1 -1
  116. package/build/legacy/usePrefetchInfiniteQuery.d.cts +11 -2
  117. package/build/legacy/usePrefetchInfiniteQuery.d.cts.map +1 -0
  118. package/build/legacy/usePrefetchInfiniteQuery.d.ts +11 -2
  119. package/build/legacy/usePrefetchInfiniteQuery.d.ts.map +1 -0
  120. package/build/legacy/usePrefetchInfiniteQuery.js +17 -24
  121. package/build/legacy/usePrefetchInfiniteQuery.js.map +1 -1
  122. package/build/legacy/usePrefetchQuery.cjs +19 -48
  123. package/build/legacy/usePrefetchQuery.cjs.map +1 -1
  124. package/build/legacy/usePrefetchQuery.d.cts +11 -2
  125. package/build/legacy/usePrefetchQuery.d.cts.map +1 -0
  126. package/build/legacy/usePrefetchQuery.d.ts +11 -2
  127. package/build/legacy/usePrefetchQuery.d.ts.map +1 -0
  128. package/build/legacy/usePrefetchQuery.js +17 -22
  129. package/build/legacy/usePrefetchQuery.js.map +1 -1
  130. package/build/legacy/useQueries.cjs +57 -113
  131. package/build/legacy/useQueries.cjs.map +1 -1
  132. package/build/legacy/useQueries.d.cts +63 -3
  133. package/build/legacy/useQueries.d.cts.map +1 -0
  134. package/build/legacy/useQueries.d.ts +63 -3
  135. package/build/legacy/useQueries.d.ts.map +1 -0
  136. package/build/legacy/useQueries.js +55 -96
  137. package/build/legacy/useQueries.js.map +1 -1
  138. package/build/legacy/useQuery.cjs +8 -32
  139. package/build/legacy/useQuery.cjs.map +1 -1
  140. package/build/legacy/useQuery.d.cts +2 -6
  141. package/build/legacy/useQuery.d.ts +2 -6
  142. package/build/legacy/useQuery.js +6 -6
  143. package/build/legacy/useQuery.js.map +1 -1
  144. package/build/legacy/useQueryClient.cjs +12 -44
  145. package/build/legacy/useQueryClient.cjs.map +1 -1
  146. package/build/legacy/useQueryClient.d.cts +6 -1
  147. package/build/legacy/useQueryClient.d.cts.map +1 -0
  148. package/build/legacy/useQueryClient.d.ts +6 -1
  149. package/build/legacy/useQueryClient.d.ts.map +1 -0
  150. package/build/legacy/useQueryClient.js +10 -18
  151. package/build/legacy/useQueryClient.js.map +1 -1
  152. package/build/legacy/utils.cjs +40 -89
  153. package/build/legacy/utils.cjs.map +1 -1
  154. package/build/legacy/utils.d.cts +11 -6
  155. package/build/legacy/utils.d.cts.map +1 -0
  156. package/build/legacy/utils.d.ts +11 -6
  157. package/build/legacy/utils.d.ts.map +1 -0
  158. package/build/legacy/utils.js +32 -57
  159. package/build/legacy/utils.js.map +1 -1
  160. package/build/legacy/vueQueryPlugin.cjs +61 -103
  161. package/build/legacy/vueQueryPlugin.cjs.map +1 -1
  162. package/build/legacy/vueQueryPlugin.d.cts +23 -2
  163. package/build/legacy/vueQueryPlugin.d.cts.map +1 -0
  164. package/build/legacy/vueQueryPlugin.d.ts +23 -2
  165. package/build/legacy/vueQueryPlugin.d.ts.map +1 -0
  166. package/build/legacy/vueQueryPlugin.js +59 -77
  167. package/build/legacy/vueQueryPlugin.js.map +1 -1
  168. package/build/modern/devtools/devtools.cjs +201 -256
  169. package/build/modern/devtools/devtools.cjs.map +1 -1
  170. package/build/modern/devtools/devtools.d.cts +6 -1
  171. package/build/modern/devtools/devtools.d.cts.map +1 -0
  172. package/build/modern/devtools/devtools.d.ts +6 -1
  173. package/build/modern/devtools/devtools.d.ts.map +1 -0
  174. package/build/modern/devtools/devtools.js +198 -234
  175. package/build/modern/devtools/devtools.js.map +1 -1
  176. package/build/modern/devtools/utils.cjs +37 -94
  177. package/build/modern/devtools/utils.cjs.map +1 -1
  178. package/build/modern/devtools/utils.d.cts +18 -5
  179. package/build/modern/devtools/utils.d.cts.map +1 -0
  180. package/build/modern/devtools/utils.d.ts +18 -5
  181. package/build/modern/devtools/utils.d.ts.map +1 -0
  182. package/build/modern/devtools/utils.js +32 -65
  183. package/build/modern/devtools/utils.js.map +1 -1
  184. package/build/modern/index.cjs +44 -83
  185. package/build/modern/index.d.cts +17 -173
  186. package/build/modern/index.d.ts +17 -173
  187. package/build/modern/index.js +6 -27
  188. package/build/modern/infiniteQueryOptions.cjs +6 -30
  189. package/build/modern/infiniteQueryOptions.cjs.map +1 -1
  190. package/build/modern/infiniteQueryOptions.d.cts +2 -3
  191. package/build/modern/infiniteQueryOptions.d.ts +2 -3
  192. package/build/modern/infiniteQueryOptions.js +5 -5
  193. package/build/modern/infiniteQueryOptions.js.map +1 -1
  194. package/build/modern/mutationCache.cjs +13 -37
  195. package/build/modern/mutationCache.cjs.map +1 -1
  196. package/build/modern/mutationCache.d.cts +10 -1
  197. package/build/modern/mutationCache.d.cts.map +1 -0
  198. package/build/modern/mutationCache.d.ts +10 -1
  199. package/build/modern/mutationCache.d.ts.map +1 -0
  200. package/build/modern/mutationCache.js +12 -12
  201. package/build/modern/mutationCache.js.map +1 -1
  202. package/build/modern/mutationOptions.cjs +6 -30
  203. package/build/modern/mutationOptions.cjs.map +1 -1
  204. package/build/modern/mutationOptions.d.cts +10 -1
  205. package/build/modern/mutationOptions.d.cts.map +1 -0
  206. package/build/modern/mutationOptions.d.ts +10 -1
  207. package/build/modern/mutationOptions.d.ts.map +1 -0
  208. package/build/modern/mutationOptions.js +5 -5
  209. package/build/modern/mutationOptions.js.map +1 -1
  210. package/build/modern/queryCache.cjs +13 -37
  211. package/build/modern/queryCache.cjs.map +1 -1
  212. package/build/modern/queryCache.d.cts +10 -1
  213. package/build/modern/queryCache.d.cts.map +1 -0
  214. package/build/modern/queryCache.d.ts +10 -1
  215. package/build/modern/queryCache.d.ts.map +1 -0
  216. package/build/modern/queryCache.js +12 -12
  217. package/build/modern/queryCache.js.map +1 -1
  218. package/build/modern/queryClient-C07d0chJ.d.cts +97 -0
  219. package/build/modern/queryClient-C07d0chJ.d.cts.map +1 -0
  220. package/build/modern/queryClient-hf6i_vCa.d.ts +97 -0
  221. package/build/modern/queryClient-hf6i_vCa.d.ts.map +1 -0
  222. package/build/modern/queryClient.cjs +104 -142
  223. package/build/modern/queryClient.cjs.map +1 -1
  224. package/build/modern/queryClient.d.cts +2 -1
  225. package/build/modern/queryClient.d.ts +2 -1
  226. package/build/modern/queryClient.js +103 -117
  227. package/build/modern/queryClient.js.map +1 -1
  228. package/build/modern/queryOptions.cjs +6 -30
  229. package/build/modern/queryOptions.cjs.map +1 -1
  230. package/build/modern/queryOptions.d.cts +19 -4
  231. package/build/modern/queryOptions.d.cts.map +1 -0
  232. package/build/modern/queryOptions.d.ts +19 -4
  233. package/build/modern/queryOptions.d.ts.map +1 -0
  234. package/build/modern/queryOptions.js +5 -5
  235. package/build/modern/queryOptions.js.map +1 -1
  236. package/build/modern/types-BzZi3_rS.d.cts +33 -0
  237. package/build/modern/types-BzZi3_rS.d.cts.map +1 -0
  238. package/build/modern/types-BzZi3_rS.d.ts +33 -0
  239. package/build/modern/types-BzZi3_rS.d.ts.map +1 -0
  240. package/build/modern/types.cjs +0 -19
  241. package/build/modern/types.d.cts +2 -11
  242. package/build/modern/types.d.ts +2 -11
  243. package/build/modern/types.js +1 -1
  244. package/build/modern/useBaseQuery.cjs +77 -139
  245. package/build/modern/useBaseQuery.cjs.map +1 -1
  246. package/build/modern/useBaseQuery.d.cts +2 -2
  247. package/build/modern/useBaseQuery.d.ts +2 -2
  248. package/build/modern/useBaseQuery.js +75 -123
  249. package/build/modern/useBaseQuery.js.map +1 -1
  250. package/build/modern/useInfiniteQuery.cjs +8 -36
  251. package/build/modern/useInfiniteQuery.cjs.map +1 -1
  252. package/build/modern/useInfiniteQuery.d.cts +2 -3
  253. package/build/modern/useInfiniteQuery.d.ts +2 -3
  254. package/build/modern/useInfiniteQuery.js +6 -10
  255. package/build/modern/useInfiniteQuery.js.map +1 -1
  256. package/build/modern/useIsFetching.cjs +23 -51
  257. package/build/modern/useIsFetching.cjs.map +1 -1
  258. package/build/modern/useIsFetching.d.cts +10 -2
  259. package/build/modern/useIsFetching.d.cts.map +1 -0
  260. package/build/modern/useIsFetching.d.ts +10 -2
  261. package/build/modern/useIsFetching.d.ts.map +1 -0
  262. package/build/modern/useIsFetching.js +21 -25
  263. package/build/modern/useIsFetching.js.map +1 -1
  264. package/build/modern/useMutation.cjs +42 -76
  265. package/build/modern/useMutation.cjs.map +1 -1
  266. package/build/modern/useMutation.d.cts +17 -3
  267. package/build/modern/useMutation.d.cts.map +1 -0
  268. package/build/modern/useMutation.d.ts +17 -3
  269. package/build/modern/useMutation.d.ts.map +1 -0
  270. package/build/modern/useMutation.js +39 -59
  271. package/build/modern/useMutation.js.map +1 -1
  272. package/build/modern/useMutationState.cjs +38 -75
  273. package/build/modern/useMutationState.cjs.map +1 -1
  274. package/build/modern/useMutationState.d.cts +16 -4
  275. package/build/modern/useMutationState.d.cts.map +1 -0
  276. package/build/modern/useMutationState.d.ts +16 -4
  277. package/build/modern/useMutationState.d.ts.map +1 -0
  278. package/build/modern/useMutationState.js +35 -55
  279. package/build/modern/useMutationState.js.map +1 -1
  280. package/build/modern/usePrefetchInfiniteQuery.cjs +19 -50
  281. package/build/modern/usePrefetchInfiniteQuery.cjs.map +1 -1
  282. package/build/modern/usePrefetchInfiniteQuery.d.cts +11 -2
  283. package/build/modern/usePrefetchInfiniteQuery.d.cts.map +1 -0
  284. package/build/modern/usePrefetchInfiniteQuery.d.ts +11 -2
  285. package/build/modern/usePrefetchInfiniteQuery.d.ts.map +1 -0
  286. package/build/modern/usePrefetchInfiniteQuery.js +17 -24
  287. package/build/modern/usePrefetchInfiniteQuery.js.map +1 -1
  288. package/build/modern/usePrefetchQuery.cjs +19 -48
  289. package/build/modern/usePrefetchQuery.cjs.map +1 -1
  290. package/build/modern/usePrefetchQuery.d.cts +11 -2
  291. package/build/modern/usePrefetchQuery.d.cts.map +1 -0
  292. package/build/modern/usePrefetchQuery.d.ts +11 -2
  293. package/build/modern/usePrefetchQuery.d.ts.map +1 -0
  294. package/build/modern/usePrefetchQuery.js +17 -22
  295. package/build/modern/usePrefetchQuery.js.map +1 -1
  296. package/build/modern/useQueries.cjs +56 -112
  297. package/build/modern/useQueries.cjs.map +1 -1
  298. package/build/modern/useQueries.d.cts +63 -3
  299. package/build/modern/useQueries.d.cts.map +1 -0
  300. package/build/modern/useQueries.d.ts +63 -3
  301. package/build/modern/useQueries.d.ts.map +1 -0
  302. package/build/modern/useQueries.js +54 -95
  303. package/build/modern/useQueries.js.map +1 -1
  304. package/build/modern/useQuery.cjs +8 -32
  305. package/build/modern/useQuery.cjs.map +1 -1
  306. package/build/modern/useQuery.d.cts +2 -6
  307. package/build/modern/useQuery.d.ts +2 -6
  308. package/build/modern/useQuery.js +6 -6
  309. package/build/modern/useQuery.js.map +1 -1
  310. package/build/modern/useQueryClient.cjs +12 -44
  311. package/build/modern/useQueryClient.cjs.map +1 -1
  312. package/build/modern/useQueryClient.d.cts +6 -1
  313. package/build/modern/useQueryClient.d.cts.map +1 -0
  314. package/build/modern/useQueryClient.d.ts +6 -1
  315. package/build/modern/useQueryClient.d.ts.map +1 -0
  316. package/build/modern/useQueryClient.js +10 -18
  317. package/build/modern/useQueryClient.js.map +1 -1
  318. package/build/modern/utils.cjs +40 -89
  319. package/build/modern/utils.cjs.map +1 -1
  320. package/build/modern/utils.d.cts +11 -6
  321. package/build/modern/utils.d.cts.map +1 -0
  322. package/build/modern/utils.d.ts +11 -6
  323. package/build/modern/utils.d.ts.map +1 -0
  324. package/build/modern/utils.js +32 -57
  325. package/build/modern/utils.js.map +1 -1
  326. package/build/modern/vueQueryPlugin.cjs +60 -102
  327. package/build/modern/vueQueryPlugin.cjs.map +1 -1
  328. package/build/modern/vueQueryPlugin.d.cts +23 -2
  329. package/build/modern/vueQueryPlugin.d.cts.map +1 -0
  330. package/build/modern/vueQueryPlugin.d.ts +23 -2
  331. package/build/modern/vueQueryPlugin.d.ts.map +1 -0
  332. package/build/modern/vueQueryPlugin.js +58 -76
  333. package/build/modern/vueQueryPlugin.js.map +1 -1
  334. package/package.json +5 -7
  335. package/src/index.ts +5 -1
  336. package/src/infiniteQueryOptions.ts +5 -7
  337. package/src/queryClient.ts +150 -36
  338. package/src/queryOptions.ts +32 -14
  339. package/src/useMutation.ts +4 -4
  340. package/src/useMutationState.ts +33 -8
  341. package/src/usePrefetchInfiniteQuery.ts +22 -42
  342. package/src/usePrefetchQuery.ts +29 -5
  343. package/src/useQuery.ts +19 -9
  344. package/build/legacy/_tsup-dts-rollup.d.cts +0 -884
  345. package/build/legacy/_tsup-dts-rollup.d.ts +0 -884
  346. package/build/legacy/index.cjs.map +0 -1
  347. package/build/legacy/index.js.map +0 -1
  348. package/build/legacy/types.cjs.map +0 -1
  349. package/build/legacy/types.js.map +0 -1
  350. package/build/modern/_tsup-dts-rollup.d.cts +0 -884
  351. package/build/modern/_tsup-dts-rollup.d.ts +0 -884
  352. package/build/modern/index.cjs.map +0 -1
  353. package/build/modern/index.js.map +0 -1
  354. package/build/modern/types.cjs.map +0 -1
  355. package/build/modern/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["import { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport { onlineManager } from '@tanstack/query-core'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport type { Query, QueryCacheNotifyEvent } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/latest',\n logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n onlineMode: {\n type: 'choice',\n component: 'button-group',\n label: 'Online mode',\n options: [\n {\n label: 'Online',\n value: 1,\n },\n {\n label: 'Offline',\n value: 0,\n },\n ],\n defaultValue: 1,\n },\n },\n },\n (api) => {\n const initialSettings = api.getSettings()\n onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()))\n\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'file_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries({\n queryKey: query.queryKey,\n exact: true,\n })\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n {\n icon: 'hourglass_empty',\n tooltip: 'Force loading',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'pending',\n })\n },\n },\n {\n icon: 'error_outline',\n tooltip: 'Force error',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'error',\n error: new Error('Unknown error from devtools'),\n })\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n const queryEvents: Array<QueryCacheNotifyEvent['type']> = [\n 'added',\n 'removed',\n 'updated',\n ]\n\n if (queryEvents.includes(event.type)) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.setPluginSettings((payload) => {\n if (payload.key === 'onlineMode') {\n onlineManager.setOnline(Boolean(payload.newValue))\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: Array<CustomInspectorNode> = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"devtools.cjs","names":["sortFns","rankItem","getQueryStateLabel","getQueryStatusFg","getQueryStatusBg"],"sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["import { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport { onlineManager } from '@tanstack/query-core'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport type { Query, QueryCacheNotifyEvent } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/latest',\n logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n onlineMode: {\n type: 'choice',\n component: 'button-group',\n label: 'Online mode',\n options: [\n {\n label: 'Online',\n value: 1,\n },\n {\n label: 'Offline',\n value: 0,\n },\n ],\n defaultValue: 1,\n },\n },\n },\n (api) => {\n const initialSettings = api.getSettings()\n onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()))\n\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'file_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries({\n queryKey: query.queryKey,\n exact: true,\n })\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n {\n icon: 'hourglass_empty',\n tooltip: 'Force loading',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'pending',\n })\n },\n },\n {\n icon: 'error_outline',\n tooltip: 'Force error',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'error',\n error: new Error('Unknown error from devtools'),\n })\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n const queryEvents: Array<QueryCacheNotifyEvent['type']> = [\n 'added',\n 'removed',\n 'updated',\n ]\n\n if (queryEvents.includes(event.type)) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.setPluginSettings((payload) => {\n if (payload.key === 'onlineMode') {\n onlineManager.setOnline(Boolean(payload.newValue))\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: Array<CustomInspectorNode> = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"mappings":"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"}
@@ -1 +1,6 @@
1
- export { setupDevtools } from '../_tsup-dts-rollup.cjs';
1
+ import { t as QueryClient } from "../queryClient-C07d0chJ.cjs";
2
+ //#region src/devtools/devtools.d.ts
3
+ declare function setupDevtools(app: any, queryClient: QueryClient): void;
4
+ //#endregion
5
+ export { setupDevtools };
6
+ //# sourceMappingURL=devtools.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.d.cts","names":[],"sources":["../../../src/devtools/devtools.ts"],"mappings":";;iBAgBgB,cAAc,UAAU,aAAa"}
@@ -1 +1,6 @@
1
- export { setupDevtools } from '../_tsup-dts-rollup.js';
1
+ import { t as QueryClient } from "../queryClient-hf6i_vCa.js";
2
+ //#region src/devtools/devtools.d.ts
3
+ declare function setupDevtools(app: any, queryClient: QueryClient): void;
4
+ //#endregion
5
+ export { setupDevtools };
6
+ //# sourceMappingURL=devtools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.d.ts","names":[],"sources":["../../../src/devtools/devtools.ts"],"mappings":";;iBAgBgB,cAAc,UAAU,aAAa"}
@@ -1,239 +1,203 @@
1
- // src/devtools/devtools.ts
1
+ import { getQueryStateLabel, getQueryStatusBg, getQueryStatusFg, sortFns } from "./utils.js";
2
+ import { onlineManager } from "@tanstack/query-core";
2
3
  import { setupDevtoolsPlugin } from "@vue/devtools-api";
3
4
  import { rankItem } from "@tanstack/match-sorter-utils";
4
- import { onlineManager } from "@tanstack/query-core";
5
- import {
6
- getQueryStateLabel,
7
- getQueryStatusBg,
8
- getQueryStatusFg,
9
- sortFns
10
- } from "./utils.js";
11
- var pluginId = "vue-query";
12
- var pluginName = "Vue Query";
5
+ //#region src/devtools/devtools.ts
6
+ const pluginId = "vue-query";
7
+ const pluginName = "Vue Query";
13
8
  function setupDevtools(app, queryClient) {
14
- setupDevtoolsPlugin(
15
- {
16
- id: pluginId,
17
- label: pluginName,
18
- packageName: "vue-query",
19
- homepage: "https://tanstack.com/query/latest",
20
- logo: "https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg",
21
- app,
22
- settings: {
23
- baseSort: {
24
- type: "choice",
25
- component: "button-group",
26
- label: "Sort Cache Entries",
27
- options: [
28
- {
29
- label: "ASC",
30
- value: 1
31
- },
32
- {
33
- label: "DESC",
34
- value: -1
35
- }
36
- ],
37
- defaultValue: 1
38
- },
39
- sortFn: {
40
- type: "choice",
41
- label: "Sort Function",
42
- options: Object.keys(sortFns).map((key) => ({
43
- label: key,
44
- value: key
45
- })),
46
- defaultValue: Object.keys(sortFns)[0]
47
- },
48
- onlineMode: {
49
- type: "choice",
50
- component: "button-group",
51
- label: "Online mode",
52
- options: [
53
- {
54
- label: "Online",
55
- value: 1
56
- },
57
- {
58
- label: "Offline",
59
- value: 0
60
- }
61
- ],
62
- defaultValue: 1
63
- }
64
- }
65
- },
66
- (api) => {
67
- const initialSettings = api.getSettings();
68
- onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()));
69
- const queryCache = queryClient.getQueryCache();
70
- api.addInspector({
71
- id: pluginId,
72
- label: pluginName,
73
- icon: "api",
74
- nodeActions: [
75
- {
76
- icon: "file_download",
77
- tooltip: "Refetch",
78
- action: (queryHash) => {
79
- queryCache.get(queryHash)?.fetch();
80
- }
81
- },
82
- {
83
- icon: "alarm",
84
- tooltip: "Invalidate",
85
- action: (queryHash) => {
86
- const query = queryCache.get(queryHash);
87
- queryClient.invalidateQueries({
88
- queryKey: query.queryKey,
89
- exact: true
90
- });
91
- }
92
- },
93
- {
94
- icon: "settings_backup_restore",
95
- tooltip: "Reset",
96
- action: (queryHash) => {
97
- queryCache.get(queryHash)?.reset();
98
- }
99
- },
100
- {
101
- icon: "delete",
102
- tooltip: "Remove",
103
- action: (queryHash) => {
104
- const query = queryCache.get(queryHash);
105
- queryCache.remove(query);
106
- }
107
- },
108
- {
109
- icon: "hourglass_empty",
110
- tooltip: "Force loading",
111
- action: (queryHash) => {
112
- const query = queryCache.get(queryHash);
113
- query.setState({
114
- data: void 0,
115
- status: "pending"
116
- });
117
- }
118
- },
119
- {
120
- icon: "error_outline",
121
- tooltip: "Force error",
122
- action: (queryHash) => {
123
- const query = queryCache.get(queryHash);
124
- query.setState({
125
- data: void 0,
126
- status: "error",
127
- error: new Error("Unknown error from devtools")
128
- });
129
- }
130
- }
131
- ]
132
- });
133
- api.addTimelineLayer({
134
- id: pluginId,
135
- label: pluginName,
136
- color: 16767308
137
- });
138
- queryCache.subscribe((event) => {
139
- api.sendInspectorTree(pluginId);
140
- api.sendInspectorState(pluginId);
141
- const queryEvents = [
142
- "added",
143
- "removed",
144
- "updated"
145
- ];
146
- if (queryEvents.includes(event.type)) {
147
- api.addTimelineEvent({
148
- layerId: pluginId,
149
- event: {
150
- title: event.type,
151
- subtitle: event.query.queryHash,
152
- time: api.now(),
153
- data: {
154
- queryHash: event.query.queryHash,
155
- ...event
156
- }
157
- }
158
- });
159
- }
160
- });
161
- api.on.setPluginSettings((payload) => {
162
- if (payload.key === "onlineMode") {
163
- onlineManager.setOnline(Boolean(payload.newValue));
164
- }
165
- });
166
- api.on.getInspectorTree((payload) => {
167
- if (payload.inspectorId === pluginId) {
168
- const queries = queryCache.getAll();
169
- const settings = api.getSettings();
170
- const filtered = payload.filter ? queries.filter(
171
- (item) => rankItem(item.queryHash, payload.filter).passed
172
- ) : [...queries];
173
- const sorted = filtered.sort(
174
- (a, b) => sortFns[settings.sortFn](a, b) * settings.baseSort
175
- );
176
- const nodes = sorted.map((query) => {
177
- const stateLabel = getQueryStateLabel(query);
178
- return {
179
- id: query.queryHash,
180
- label: query.queryHash,
181
- tags: [
182
- {
183
- label: `${stateLabel} [${query.getObserversCount()}]`,
184
- textColor: getQueryStatusFg(query),
185
- backgroundColor: getQueryStatusBg(query)
186
- }
187
- ]
188
- };
189
- });
190
- payload.rootNodes = nodes;
191
- }
192
- });
193
- api.on.getInspectorState((payload) => {
194
- if (payload.inspectorId === pluginId) {
195
- const query = queryCache.get(payload.nodeId);
196
- if (!query) {
197
- return;
198
- }
199
- payload.state = {
200
- " Query Details": [
201
- {
202
- key: "Query key",
203
- value: query.queryHash
204
- },
205
- {
206
- key: "Query status",
207
- value: getQueryStateLabel(query)
208
- },
209
- {
210
- key: "Observers",
211
- value: query.getObserversCount()
212
- },
213
- {
214
- key: "Last Updated",
215
- value: new Date(query.state.dataUpdatedAt).toLocaleTimeString()
216
- }
217
- ],
218
- "Data Explorer": [
219
- {
220
- key: "Data",
221
- value: query.state.data
222
- }
223
- ],
224
- "Query Explorer": [
225
- {
226
- key: "Query",
227
- value: query
228
- }
229
- ]
230
- };
231
- }
232
- });
233
- }
234
- );
9
+ setupDevtoolsPlugin({
10
+ id: pluginId,
11
+ label: pluginName,
12
+ packageName: "vue-query",
13
+ homepage: "https://tanstack.com/query/latest",
14
+ logo: "https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg",
15
+ app,
16
+ settings: {
17
+ baseSort: {
18
+ type: "choice",
19
+ component: "button-group",
20
+ label: "Sort Cache Entries",
21
+ options: [{
22
+ label: "ASC",
23
+ value: 1
24
+ }, {
25
+ label: "DESC",
26
+ value: -1
27
+ }],
28
+ defaultValue: 1
29
+ },
30
+ sortFn: {
31
+ type: "choice",
32
+ label: "Sort Function",
33
+ options: Object.keys(sortFns).map((key) => ({
34
+ label: key,
35
+ value: key
36
+ })),
37
+ defaultValue: Object.keys(sortFns)[0]
38
+ },
39
+ onlineMode: {
40
+ type: "choice",
41
+ component: "button-group",
42
+ label: "Online mode",
43
+ options: [{
44
+ label: "Online",
45
+ value: 1
46
+ }, {
47
+ label: "Offline",
48
+ value: 0
49
+ }],
50
+ defaultValue: 1
51
+ }
52
+ }
53
+ }, (api) => {
54
+ const initialSettings = api.getSettings();
55
+ onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()));
56
+ const queryCache = queryClient.getQueryCache();
57
+ api.addInspector({
58
+ id: pluginId,
59
+ label: pluginName,
60
+ icon: "api",
61
+ nodeActions: [
62
+ {
63
+ icon: "file_download",
64
+ tooltip: "Refetch",
65
+ action: (queryHash) => {
66
+ queryCache.get(queryHash)?.fetch();
67
+ }
68
+ },
69
+ {
70
+ icon: "alarm",
71
+ tooltip: "Invalidate",
72
+ action: (queryHash) => {
73
+ const query = queryCache.get(queryHash);
74
+ queryClient.invalidateQueries({
75
+ queryKey: query.queryKey,
76
+ exact: true
77
+ });
78
+ }
79
+ },
80
+ {
81
+ icon: "settings_backup_restore",
82
+ tooltip: "Reset",
83
+ action: (queryHash) => {
84
+ queryCache.get(queryHash)?.reset();
85
+ }
86
+ },
87
+ {
88
+ icon: "delete",
89
+ tooltip: "Remove",
90
+ action: (queryHash) => {
91
+ const query = queryCache.get(queryHash);
92
+ queryCache.remove(query);
93
+ }
94
+ },
95
+ {
96
+ icon: "hourglass_empty",
97
+ tooltip: "Force loading",
98
+ action: (queryHash) => {
99
+ queryCache.get(queryHash).setState({
100
+ data: void 0,
101
+ status: "pending"
102
+ });
103
+ }
104
+ },
105
+ {
106
+ icon: "error_outline",
107
+ tooltip: "Force error",
108
+ action: (queryHash) => {
109
+ queryCache.get(queryHash).setState({
110
+ data: void 0,
111
+ status: "error",
112
+ error: /* @__PURE__ */ new Error("Unknown error from devtools")
113
+ });
114
+ }
115
+ }
116
+ ]
117
+ });
118
+ api.addTimelineLayer({
119
+ id: pluginId,
120
+ label: pluginName,
121
+ color: 16767308
122
+ });
123
+ queryCache.subscribe((event) => {
124
+ api.sendInspectorTree(pluginId);
125
+ api.sendInspectorState(pluginId);
126
+ if ([
127
+ "added",
128
+ "removed",
129
+ "updated"
130
+ ].includes(event.type)) api.addTimelineEvent({
131
+ layerId: pluginId,
132
+ event: {
133
+ title: event.type,
134
+ subtitle: event.query.queryHash,
135
+ time: api.now(),
136
+ data: {
137
+ queryHash: event.query.queryHash,
138
+ ...event
139
+ }
140
+ }
141
+ });
142
+ });
143
+ api.on.setPluginSettings((payload) => {
144
+ if (payload.key === "onlineMode") onlineManager.setOnline(Boolean(payload.newValue));
145
+ });
146
+ api.on.getInspectorTree((payload) => {
147
+ if (payload.inspectorId === pluginId) {
148
+ const queries = queryCache.getAll();
149
+ const settings = api.getSettings();
150
+ payload.rootNodes = (payload.filter ? queries.filter((item) => rankItem(item.queryHash, payload.filter).passed) : [...queries]).sort((a, b) => sortFns[settings.sortFn](a, b) * settings.baseSort).map((query) => {
151
+ const stateLabel = getQueryStateLabel(query);
152
+ return {
153
+ id: query.queryHash,
154
+ label: query.queryHash,
155
+ tags: [{
156
+ label: `${stateLabel} [${query.getObserversCount()}]`,
157
+ textColor: getQueryStatusFg(query),
158
+ backgroundColor: getQueryStatusBg(query)
159
+ }]
160
+ };
161
+ });
162
+ }
163
+ });
164
+ api.on.getInspectorState((payload) => {
165
+ if (payload.inspectorId === pluginId) {
166
+ const query = queryCache.get(payload.nodeId);
167
+ if (!query) return;
168
+ payload.state = {
169
+ " Query Details": [
170
+ {
171
+ key: "Query key",
172
+ value: query.queryHash
173
+ },
174
+ {
175
+ key: "Query status",
176
+ value: getQueryStateLabel(query)
177
+ },
178
+ {
179
+ key: "Observers",
180
+ value: query.getObserversCount()
181
+ },
182
+ {
183
+ key: "Last Updated",
184
+ value: new Date(query.state.dataUpdatedAt).toLocaleTimeString()
185
+ }
186
+ ],
187
+ "Data Explorer": [{
188
+ key: "Data",
189
+ value: query.state.data
190
+ }],
191
+ "Query Explorer": [{
192
+ key: "Query",
193
+ value: query
194
+ }]
195
+ };
196
+ }
197
+ });
198
+ });
235
199
  }
236
- export {
237
- setupDevtools
238
- };
200
+ //#endregion
201
+ export { setupDevtools };
202
+
239
203
  //# sourceMappingURL=devtools.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["import { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport { onlineManager } from '@tanstack/query-core'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport type { Query, QueryCacheNotifyEvent } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/latest',\n logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n onlineMode: {\n type: 'choice',\n component: 'button-group',\n label: 'Online mode',\n options: [\n {\n label: 'Online',\n value: 1,\n },\n {\n label: 'Offline',\n value: 0,\n },\n ],\n defaultValue: 1,\n },\n },\n },\n (api) => {\n const initialSettings = api.getSettings()\n onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()))\n\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'file_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries({\n queryKey: query.queryKey,\n exact: true,\n })\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n {\n icon: 'hourglass_empty',\n tooltip: 'Force loading',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'pending',\n })\n },\n },\n {\n icon: 'error_outline',\n tooltip: 'Force error',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'error',\n error: new Error('Unknown error from devtools'),\n })\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n const queryEvents: Array<QueryCacheNotifyEvent['type']> = [\n 'added',\n 'removed',\n 'updated',\n ]\n\n if (queryEvents.includes(event.type)) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.setPluginSettings((payload) => {\n if (payload.key === 'onlineMode') {\n onlineManager.setOnline(Boolean(payload.newValue))\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: Array<CustomInspectorNode> = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"devtools.js","names":[],"sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["import { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport { onlineManager } from '@tanstack/query-core'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport type { Query, QueryCacheNotifyEvent } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/latest',\n logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n onlineMode: {\n type: 'choice',\n component: 'button-group',\n label: 'Online mode',\n options: [\n {\n label: 'Online',\n value: 1,\n },\n {\n label: 'Offline',\n value: 0,\n },\n ],\n defaultValue: 1,\n },\n },\n },\n (api) => {\n const initialSettings = api.getSettings()\n onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()))\n\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'file_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries({\n queryKey: query.queryKey,\n exact: true,\n })\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n {\n icon: 'hourglass_empty',\n tooltip: 'Force loading',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'pending',\n })\n },\n },\n {\n icon: 'error_outline',\n tooltip: 'Force error',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'error',\n error: new Error('Unknown error from devtools'),\n })\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n const queryEvents: Array<QueryCacheNotifyEvent['type']> = [\n 'added',\n 'removed',\n 'updated',\n ]\n\n if (queryEvents.includes(event.type)) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.setPluginSettings((payload) => {\n if (payload.key === 'onlineMode') {\n onlineManager.setOnline(Boolean(payload.newValue))\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: Array<CustomInspectorNode> = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"mappings":"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"}