@tanstack/vue-query 4.9.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 (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +83 -0
  3. package/build/lib/__mocks__/useBaseQuery.d.ts +2 -0
  4. package/build/lib/__mocks__/useQueryClient.d.ts +3 -0
  5. package/build/lib/__tests__/mutationCache.test.d.ts +1 -0
  6. package/build/lib/__tests__/queryCache.test.d.ts +1 -0
  7. package/build/lib/__tests__/queryClient.test.d.ts +1 -0
  8. package/build/lib/__tests__/test-utils.d.ts +9 -0
  9. package/build/lib/__tests__/useInfiniteQuery.test.d.ts +1 -0
  10. package/build/lib/__tests__/useIsFetching.test.d.ts +1 -0
  11. package/build/lib/__tests__/useIsMutating.test.d.ts +1 -0
  12. package/build/lib/__tests__/useMutation.test.d.ts +1 -0
  13. package/build/lib/__tests__/useQueries.test.d.ts +1 -0
  14. package/build/lib/__tests__/useQuery.test.d.ts +1 -0
  15. package/build/lib/__tests__/useQueryClient.test.d.ts +1 -0
  16. package/build/lib/__tests__/utils.test.d.ts +1 -0
  17. package/build/lib/__tests__/vueQueryPlugin.test.d.ts +1 -0
  18. package/build/lib/devtools/devtools.d.ts +2 -0
  19. package/build/lib/devtools/devtools.esm.js +163 -0
  20. package/build/lib/devtools/devtools.esm.js.map +1 -0
  21. package/build/lib/devtools/devtools.js +167 -0
  22. package/build/lib/devtools/devtools.js.map +1 -0
  23. package/build/lib/devtools/devtools.mjs +163 -0
  24. package/build/lib/devtools/devtools.mjs.map +1 -0
  25. package/build/lib/devtools/utils.d.ts +15 -0
  26. package/build/lib/devtools/utils.esm.js +103 -0
  27. package/build/lib/devtools/utils.esm.js.map +1 -0
  28. package/build/lib/devtools/utils.js +111 -0
  29. package/build/lib/devtools/utils.js.map +1 -0
  30. package/build/lib/devtools/utils.mjs +103 -0
  31. package/build/lib/devtools/utils.mjs.map +1 -0
  32. package/build/lib/index.d.ts +21 -0
  33. package/build/lib/index.esm.js +14 -0
  34. package/build/lib/index.esm.js.map +1 -0
  35. package/build/lib/index.js +39 -0
  36. package/build/lib/index.js.map +1 -0
  37. package/build/lib/index.mjs +14 -0
  38. package/build/lib/index.mjs.map +1 -0
  39. package/build/lib/mutationCache.d.ts +7 -0
  40. package/build/lib/mutationCache.esm.js +16 -0
  41. package/build/lib/mutationCache.esm.js.map +1 -0
  42. package/build/lib/mutationCache.js +20 -0
  43. package/build/lib/mutationCache.js.map +1 -0
  44. package/build/lib/mutationCache.mjs +16 -0
  45. package/build/lib/mutationCache.mjs.map +1 -0
  46. package/build/lib/queryCache.d.ts +9 -0
  47. package/build/lib/queryCache.esm.js +25 -0
  48. package/build/lib/queryCache.esm.js.map +1 -0
  49. package/build/lib/queryCache.js +29 -0
  50. package/build/lib/queryCache.js.map +1 -0
  51. package/build/lib/queryCache.mjs +25 -0
  52. package/build/lib/queryCache.mjs.map +1 -0
  53. package/build/lib/queryClient.d.ts +43 -0
  54. package/build/lib/queryClient.esm.js +173 -0
  55. package/build/lib/queryClient.esm.js.map +1 -0
  56. package/build/lib/queryClient.js +177 -0
  57. package/build/lib/queryClient.js.map +1 -0
  58. package/build/lib/queryClient.mjs +173 -0
  59. package/build/lib/queryClient.mjs.map +1 -0
  60. package/build/lib/types.d.ts +17 -0
  61. package/build/lib/useBaseQuery.d.ts +10 -0
  62. package/build/lib/useBaseQuery.esm.js +80 -0
  63. package/build/lib/useBaseQuery.esm.js.map +1 -0
  64. package/build/lib/useBaseQuery.js +84 -0
  65. package/build/lib/useBaseQuery.js.map +1 -0
  66. package/build/lib/useBaseQuery.mjs +80 -0
  67. package/build/lib/useBaseQuery.mjs.map +1 -0
  68. package/build/lib/useInfiniteQuery.d.ts +16 -0
  69. package/build/lib/useInfiniteQuery.esm.js +15 -0
  70. package/build/lib/useInfiniteQuery.esm.js.map +1 -0
  71. package/build/lib/useInfiniteQuery.js +19 -0
  72. package/build/lib/useInfiniteQuery.js.map +1 -0
  73. package/build/lib/useInfiniteQuery.mjs +15 -0
  74. package/build/lib/useInfiniteQuery.mjs.map +1 -0
  75. package/build/lib/useIsFetching.d.ts +7 -0
  76. package/build/lib/useIsFetching.esm.js +40 -0
  77. package/build/lib/useIsFetching.esm.js.map +1 -0
  78. package/build/lib/useIsFetching.js +45 -0
  79. package/build/lib/useIsFetching.js.map +1 -0
  80. package/build/lib/useIsFetching.mjs +40 -0
  81. package/build/lib/useIsFetching.mjs.map +1 -0
  82. package/build/lib/useIsMutating.d.ts +7 -0
  83. package/build/lib/useIsMutating.esm.js +40 -0
  84. package/build/lib/useIsMutating.esm.js.map +1 -0
  85. package/build/lib/useIsMutating.js +45 -0
  86. package/build/lib/useIsMutating.js.map +1 -0
  87. package/build/lib/useIsMutating.mjs +40 -0
  88. package/build/lib/useIsMutating.mjs.map +1 -0
  89. package/build/lib/useMutation.d.ts +17 -0
  90. package/build/lib/useMutation.esm.js +64 -0
  91. package/build/lib/useMutation.esm.js.map +1 -0
  92. package/build/lib/useMutation.js +69 -0
  93. package/build/lib/useMutation.js.map +1 -0
  94. package/build/lib/useMutation.mjs +64 -0
  95. package/build/lib/useMutation.mjs.map +1 -0
  96. package/build/lib/useQueries.d.ts +49 -0
  97. package/build/lib/useQueries.esm.js +38 -0
  98. package/build/lib/useQueries.esm.js.map +1 -0
  99. package/build/lib/useQueries.js +42 -0
  100. package/build/lib/useQueries.js.map +1 -0
  101. package/build/lib/useQueries.mjs +38 -0
  102. package/build/lib/useQueries.mjs.map +1 -0
  103. package/build/lib/useQuery.d.ts +36 -0
  104. package/build/lib/useQuery.esm.js +13 -0
  105. package/build/lib/useQuery.esm.js.map +1 -0
  106. package/build/lib/useQuery.js +17 -0
  107. package/build/lib/useQuery.js.map +1 -0
  108. package/build/lib/useQuery.mjs +13 -0
  109. package/build/lib/useQuery.mjs.map +1 -0
  110. package/build/lib/useQueryClient.d.ts +2 -0
  111. package/build/lib/useQueryClient.esm.js +24 -0
  112. package/build/lib/useQueryClient.esm.js.map +1 -0
  113. package/build/lib/useQueryClient.js +28 -0
  114. package/build/lib/useQueryClient.js.map +1 -0
  115. package/build/lib/useQueryClient.mjs +24 -0
  116. package/build/lib/useQueryClient.mjs.map +1 -0
  117. package/build/lib/utils.d.ts +8 -0
  118. package/build/lib/utils.esm.js +55 -0
  119. package/build/lib/utils.esm.js.map +1 -0
  120. package/build/lib/utils.js +64 -0
  121. package/build/lib/utils.js.map +1 -0
  122. package/build/lib/utils.mjs +55 -0
  123. package/build/lib/utils.mjs.map +1 -0
  124. package/build/lib/vueQueryPlugin.d.ts +27 -0
  125. package/build/lib/vueQueryPlugin.esm.js +80 -0
  126. package/build/lib/vueQueryPlugin.esm.js.map +1 -0
  127. package/build/lib/vueQueryPlugin.js +84 -0
  128. package/build/lib/vueQueryPlugin.js.map +1 -0
  129. package/build/lib/vueQueryPlugin.mjs +80 -0
  130. package/build/lib/vueQueryPlugin.mjs.map +1 -0
  131. package/build/umd/index.development.js +5024 -0
  132. package/build/umd/index.development.js.map +1 -0
  133. package/build/umd/index.production.js +2 -0
  134. package/build/umd/index.production.js.map +1 -0
  135. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.esm.js","sources":["../../src/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { QueryKey } from '@tanstack/query-core'\nimport { isRef, unref } from 'vue-demi'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\nexport function cloneDeep<T>(\n value: T,\n customizer?: (val: unknown) => unknown | void,\n): T {\n if (customizer) {\n const result = customizer(value)\n if (result !== undefined || isRef(value)) {\n return result as typeof value\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val) => cloneDeep(val, customizer)) as typeof value\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n cloneDeep(val, customizer),\n ])\n return Object.fromEntries(entries)\n }\n\n return value\n}\n\nexport function cloneDeepUnref<T>(obj: T): UnwrapRef<T> {\n return cloneDeep(obj, (val) => {\n if (isRef(val)) {\n return cloneDeepUnref(unref(val))\n }\n }) as UnwrapRef<typeof obj>\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n"],"names":["VUE_QUERY_CLIENT","getClientKey","key","suffix","isQueryKey","value","Array","isArray","updateState","state","update","Object","keys","forEach","cloneDeep","customizer","result","undefined","isRef","map","val","isPlainObject","entries","fromEntries","cloneDeepUnref","obj","unref","prototype","toString","call","getPrototypeOf"],"mappings":";;AAAA;AAKO,MAAMA,gBAAgB,GAAG,mBAAzB;AAEA,SAASC,YAAT,CAAsBC,GAAtB,EAAoC;AACzC,EAAA,MAAMC,MAAM,GAAGD,GAAG,GAAOA,GAAAA,GAAAA,GAAP,GAAe,EAAjC,CAAA;EACA,OAAUF,EAAAA,GAAAA,gBAAV,GAA6BG,MAA7B,CAAA;AACD,CAAA;AAEM,SAASC,UAAT,CAAoBC,KAApB,EAAuD;AAC5D,EAAA,OAAOC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAP,CAAA;AACD,CAAA;AAEM,SAASG,WAAT,CACLC,KADK,EAELC,MAFK,EAGC;EACNC,MAAM,CAACC,IAAP,CAAYH,KAAZ,EAAmBI,OAAnB,CAA4BX,GAAD,IAAS;AAClCO,IAAAA,KAAK,CAACP,GAAD,CAAL,GAAaQ,MAAM,CAACR,GAAD,CAAnB,CAAA;GADF,CAAA,CAAA;AAGD,CAAA;AAEM,SAASY,SAAT,CACLT,KADK,EAELU,UAFK,EAGF;AACH,EAAA,IAAIA,UAAJ,EAAgB;AACd,IAAA,MAAMC,MAAM,GAAGD,UAAU,CAACV,KAAD,CAAzB,CAAA;;IACA,IAAIW,MAAM,KAAKC,SAAX,IAAwBC,KAAK,CAACb,KAAD,CAAjC,EAA0C;AACxC,MAAA,OAAOW,MAAP,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,IAAIV,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxB,IAAA,OAAOA,KAAK,CAACc,GAAN,CAAWC,GAAD,IAASN,SAAS,CAACM,GAAD,EAAML,UAAN,CAA5B,CAAP,CAAA;AACD,GAAA;;EAED,IAAI,OAAOV,KAAP,KAAiB,QAAjB,IAA6BgB,aAAa,CAAChB,KAAD,CAA9C,EAAuD;IACrD,MAAMiB,OAAO,GAAGX,MAAM,CAACW,OAAP,CAAejB,KAAf,CAAsBc,CAAAA,GAAtB,CAA0B,CAAC,CAACjB,GAAD,EAAMkB,GAAN,CAAD,KAAgB,CACxDlB,GADwD,EAExDY,SAAS,CAACM,GAAD,EAAML,UAAN,CAF+C,CAA1C,CAAhB,CAAA;AAIA,IAAA,OAAOJ,MAAM,CAACY,WAAP,CAAmBD,OAAnB,CAAP,CAAA;AACD,GAAA;;AAED,EAAA,OAAOjB,KAAP,CAAA;AACD,CAAA;AAEM,SAASmB,cAAT,CAA2BC,GAA3B,EAAiD;AACtD,EAAA,OAAOX,SAAS,CAACW,GAAD,EAAOL,GAAD,IAAS;AAC7B,IAAA,IAAIF,KAAK,CAACE,GAAD,CAAT,EAAgB;AACd,MAAA,OAAOI,cAAc,CAACE,KAAK,CAACN,GAAD,CAAN,CAArB,CAAA;AACD,KAAA;AACF,GAJe,CAAhB,CAAA;AAKD,CAAA;;AAED,SAASC,aAAT,CAAuBhB,KAAvB,EAAwD;EACtD,IAAIM,MAAM,CAACgB,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BxB,KAA/B,CAA0C,KAAA,iBAA9C,EAAiE;AAC/D,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AAED,EAAA,MAAMsB,SAAS,GAAGhB,MAAM,CAACmB,cAAP,CAAsBzB,KAAtB,CAAlB,CAAA;EACA,OAAOsB,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAKhB,MAAM,CAACgB,SAAlD,CAAA;AACD;;;;"}
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vueDemi = require('vue-demi');
6
+
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
+ const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT';
9
+ function getClientKey(key) {
10
+ const suffix = key ? ":" + key : '';
11
+ return "" + VUE_QUERY_CLIENT + suffix;
12
+ }
13
+ function isQueryKey(value) {
14
+ return Array.isArray(value);
15
+ }
16
+ function updateState(state, update) {
17
+ Object.keys(state).forEach(key => {
18
+ state[key] = update[key];
19
+ });
20
+ }
21
+ function cloneDeep(value, customizer) {
22
+ if (customizer) {
23
+ const result = customizer(value);
24
+
25
+ if (result !== undefined || vueDemi.isRef(value)) {
26
+ return result;
27
+ }
28
+ }
29
+
30
+ if (Array.isArray(value)) {
31
+ return value.map(val => cloneDeep(val, customizer));
32
+ }
33
+
34
+ if (typeof value === 'object' && isPlainObject(value)) {
35
+ const entries = Object.entries(value).map(([key, val]) => [key, cloneDeep(val, customizer)]);
36
+ return Object.fromEntries(entries);
37
+ }
38
+
39
+ return value;
40
+ }
41
+ function cloneDeepUnref(obj) {
42
+ return cloneDeep(obj, val => {
43
+ if (vueDemi.isRef(val)) {
44
+ return cloneDeepUnref(vueDemi.unref(val));
45
+ }
46
+ });
47
+ }
48
+
49
+ function isPlainObject(value) {
50
+ if (Object.prototype.toString.call(value) !== '[object Object]') {
51
+ return false;
52
+ }
53
+
54
+ const prototype = Object.getPrototypeOf(value);
55
+ return prototype === null || prototype === Object.prototype;
56
+ }
57
+
58
+ exports.VUE_QUERY_CLIENT = VUE_QUERY_CLIENT;
59
+ exports.cloneDeep = cloneDeep;
60
+ exports.cloneDeepUnref = cloneDeepUnref;
61
+ exports.getClientKey = getClientKey;
62
+ exports.isQueryKey = isQueryKey;
63
+ exports.updateState = updateState;
64
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { QueryKey } from '@tanstack/query-core'\nimport { isRef, unref } from 'vue-demi'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\nexport function cloneDeep<T>(\n value: T,\n customizer?: (val: unknown) => unknown | void,\n): T {\n if (customizer) {\n const result = customizer(value)\n if (result !== undefined || isRef(value)) {\n return result as typeof value\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val) => cloneDeep(val, customizer)) as typeof value\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n cloneDeep(val, customizer),\n ])\n return Object.fromEntries(entries)\n }\n\n return value\n}\n\nexport function cloneDeepUnref<T>(obj: T): UnwrapRef<T> {\n return cloneDeep(obj, (val) => {\n if (isRef(val)) {\n return cloneDeepUnref(unref(val))\n }\n }) as UnwrapRef<typeof obj>\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n"],"names":["VUE_QUERY_CLIENT","getClientKey","key","suffix","isQueryKey","value","Array","isArray","updateState","state","update","Object","keys","forEach","cloneDeep","customizer","result","undefined","isRef","map","val","isPlainObject","entries","fromEntries","cloneDeepUnref","obj","unref","prototype","toString","call","getPrototypeOf"],"mappings":";;;;;;AAAA;AAKO,MAAMA,gBAAgB,GAAG,mBAAzB;AAEA,SAASC,YAAT,CAAsBC,GAAtB,EAAoC;AACzC,EAAA,MAAMC,MAAM,GAAGD,GAAG,GAAOA,GAAAA,GAAAA,GAAP,GAAe,EAAjC,CAAA;EACA,OAAUF,EAAAA,GAAAA,gBAAV,GAA6BG,MAA7B,CAAA;AACD,CAAA;AAEM,SAASC,UAAT,CAAoBC,KAApB,EAAuD;AAC5D,EAAA,OAAOC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAP,CAAA;AACD,CAAA;AAEM,SAASG,WAAT,CACLC,KADK,EAELC,MAFK,EAGC;EACNC,MAAM,CAACC,IAAP,CAAYH,KAAZ,EAAmBI,OAAnB,CAA4BX,GAAD,IAAS;AAClCO,IAAAA,KAAK,CAACP,GAAD,CAAL,GAAaQ,MAAM,CAACR,GAAD,CAAnB,CAAA;GADF,CAAA,CAAA;AAGD,CAAA;AAEM,SAASY,SAAT,CACLT,KADK,EAELU,UAFK,EAGF;AACH,EAAA,IAAIA,UAAJ,EAAgB;AACd,IAAA,MAAMC,MAAM,GAAGD,UAAU,CAACV,KAAD,CAAzB,CAAA;;IACA,IAAIW,MAAM,KAAKC,SAAX,IAAwBC,aAAK,CAACb,KAAD,CAAjC,EAA0C;AACxC,MAAA,OAAOW,MAAP,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,IAAIV,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxB,IAAA,OAAOA,KAAK,CAACc,GAAN,CAAWC,GAAD,IAASN,SAAS,CAACM,GAAD,EAAML,UAAN,CAA5B,CAAP,CAAA;AACD,GAAA;;EAED,IAAI,OAAOV,KAAP,KAAiB,QAAjB,IAA6BgB,aAAa,CAAChB,KAAD,CAA9C,EAAuD;IACrD,MAAMiB,OAAO,GAAGX,MAAM,CAACW,OAAP,CAAejB,KAAf,CAAsBc,CAAAA,GAAtB,CAA0B,CAAC,CAACjB,GAAD,EAAMkB,GAAN,CAAD,KAAgB,CACxDlB,GADwD,EAExDY,SAAS,CAACM,GAAD,EAAML,UAAN,CAF+C,CAA1C,CAAhB,CAAA;AAIA,IAAA,OAAOJ,MAAM,CAACY,WAAP,CAAmBD,OAAnB,CAAP,CAAA;AACD,GAAA;;AAED,EAAA,OAAOjB,KAAP,CAAA;AACD,CAAA;AAEM,SAASmB,cAAT,CAA2BC,GAA3B,EAAiD;AACtD,EAAA,OAAOX,SAAS,CAACW,GAAD,EAAOL,GAAD,IAAS;AAC7B,IAAA,IAAIF,aAAK,CAACE,GAAD,CAAT,EAAgB;AACd,MAAA,OAAOI,cAAc,CAACE,aAAK,CAACN,GAAD,CAAN,CAArB,CAAA;AACD,KAAA;AACF,GAJe,CAAhB,CAAA;AAKD,CAAA;;AAED,SAASC,aAAT,CAAuBhB,KAAvB,EAAwD;EACtD,IAAIM,MAAM,CAACgB,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BxB,KAA/B,CAA0C,KAAA,iBAA9C,EAAiE;AAC/D,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AAED,EAAA,MAAMsB,SAAS,GAAGhB,MAAM,CAACmB,cAAP,CAAsBzB,KAAtB,CAAlB,CAAA;EACA,OAAOsB,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAKhB,MAAM,CAACgB,SAAlD,CAAA;AACD;;;;;;;;;"}
@@ -0,0 +1,55 @@
1
+ import { isRef, unref } from 'vue-demi';
2
+
3
+ /* eslint-disable @typescript-eslint/no-explicit-any */
4
+ const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT';
5
+ function getClientKey(key) {
6
+ const suffix = key ? ":" + key : '';
7
+ return "" + VUE_QUERY_CLIENT + suffix;
8
+ }
9
+ function isQueryKey(value) {
10
+ return Array.isArray(value);
11
+ }
12
+ function updateState(state, update) {
13
+ Object.keys(state).forEach(key => {
14
+ state[key] = update[key];
15
+ });
16
+ }
17
+ function cloneDeep(value, customizer) {
18
+ if (customizer) {
19
+ const result = customizer(value);
20
+
21
+ if (result !== undefined || isRef(value)) {
22
+ return result;
23
+ }
24
+ }
25
+
26
+ if (Array.isArray(value)) {
27
+ return value.map(val => cloneDeep(val, customizer));
28
+ }
29
+
30
+ if (typeof value === 'object' && isPlainObject(value)) {
31
+ const entries = Object.entries(value).map(([key, val]) => [key, cloneDeep(val, customizer)]);
32
+ return Object.fromEntries(entries);
33
+ }
34
+
35
+ return value;
36
+ }
37
+ function cloneDeepUnref(obj) {
38
+ return cloneDeep(obj, val => {
39
+ if (isRef(val)) {
40
+ return cloneDeepUnref(unref(val));
41
+ }
42
+ });
43
+ }
44
+
45
+ function isPlainObject(value) {
46
+ if (Object.prototype.toString.call(value) !== '[object Object]') {
47
+ return false;
48
+ }
49
+
50
+ const prototype = Object.getPrototypeOf(value);
51
+ return prototype === null || prototype === Object.prototype;
52
+ }
53
+
54
+ export { VUE_QUERY_CLIENT, cloneDeep, cloneDeepUnref, getClientKey, isQueryKey, updateState };
55
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","sources":["../../src/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { QueryKey } from '@tanstack/query-core'\nimport { isRef, unref } from 'vue-demi'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport const VUE_QUERY_CLIENT = 'VUE_QUERY_CLIENT'\n\nexport function getClientKey(key?: string) {\n const suffix = key ? `:${key}` : ''\n return `${VUE_QUERY_CLIENT}${suffix}`\n}\n\nexport function isQueryKey(value: unknown): value is QueryKey {\n return Array.isArray(value)\n}\n\nexport function updateState(\n state: Record<string, unknown>,\n update: Record<string, any>,\n): void {\n Object.keys(state).forEach((key) => {\n state[key] = update[key]\n })\n}\n\nexport function cloneDeep<T>(\n value: T,\n customizer?: (val: unknown) => unknown | void,\n): T {\n if (customizer) {\n const result = customizer(value)\n if (result !== undefined || isRef(value)) {\n return result as typeof value\n }\n }\n\n if (Array.isArray(value)) {\n return value.map((val) => cloneDeep(val, customizer)) as typeof value\n }\n\n if (typeof value === 'object' && isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, val]) => [\n key,\n cloneDeep(val, customizer),\n ])\n return Object.fromEntries(entries)\n }\n\n return value\n}\n\nexport function cloneDeepUnref<T>(obj: T): UnwrapRef<T> {\n return cloneDeep(obj, (val) => {\n if (isRef(val)) {\n return cloneDeepUnref(unref(val))\n }\n }) as UnwrapRef<typeof obj>\n}\n\nfunction isPlainObject(value: unknown): value is Object {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n return prototype === null || prototype === Object.prototype\n}\n"],"names":["VUE_QUERY_CLIENT","getClientKey","key","suffix","isQueryKey","value","Array","isArray","updateState","state","update","Object","keys","forEach","cloneDeep","customizer","result","undefined","isRef","map","val","isPlainObject","entries","fromEntries","cloneDeepUnref","obj","unref","prototype","toString","call","getPrototypeOf"],"mappings":";;AAAA;AAKO,MAAMA,gBAAgB,GAAG,mBAAzB;AAEA,SAASC,YAAT,CAAsBC,GAAtB,EAAoC;AACzC,EAAA,MAAMC,MAAM,GAAGD,GAAG,GAAOA,GAAAA,GAAAA,GAAP,GAAe,EAAjC,CAAA;EACA,OAAUF,EAAAA,GAAAA,gBAAV,GAA6BG,MAA7B,CAAA;AACD,CAAA;AAEM,SAASC,UAAT,CAAoBC,KAApB,EAAuD;AAC5D,EAAA,OAAOC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAP,CAAA;AACD,CAAA;AAEM,SAASG,WAAT,CACLC,KADK,EAELC,MAFK,EAGC;EACNC,MAAM,CAACC,IAAP,CAAYH,KAAZ,EAAmBI,OAAnB,CAA4BX,GAAD,IAAS;AAClCO,IAAAA,KAAK,CAACP,GAAD,CAAL,GAAaQ,MAAM,CAACR,GAAD,CAAnB,CAAA;GADF,CAAA,CAAA;AAGD,CAAA;AAEM,SAASY,SAAT,CACLT,KADK,EAELU,UAFK,EAGF;AACH,EAAA,IAAIA,UAAJ,EAAgB;AACd,IAAA,MAAMC,MAAM,GAAGD,UAAU,CAACV,KAAD,CAAzB,CAAA;;IACA,IAAIW,MAAM,KAAKC,SAAX,IAAwBC,KAAK,CAACb,KAAD,CAAjC,EAA0C;AACxC,MAAA,OAAOW,MAAP,CAAA;AACD,KAAA;AACF,GAAA;;AAED,EAAA,IAAIV,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;AACxB,IAAA,OAAOA,KAAK,CAACc,GAAN,CAAWC,GAAD,IAASN,SAAS,CAACM,GAAD,EAAML,UAAN,CAA5B,CAAP,CAAA;AACD,GAAA;;EAED,IAAI,OAAOV,KAAP,KAAiB,QAAjB,IAA6BgB,aAAa,CAAChB,KAAD,CAA9C,EAAuD;IACrD,MAAMiB,OAAO,GAAGX,MAAM,CAACW,OAAP,CAAejB,KAAf,CAAsBc,CAAAA,GAAtB,CAA0B,CAAC,CAACjB,GAAD,EAAMkB,GAAN,CAAD,KAAgB,CACxDlB,GADwD,EAExDY,SAAS,CAACM,GAAD,EAAML,UAAN,CAF+C,CAA1C,CAAhB,CAAA;AAIA,IAAA,OAAOJ,MAAM,CAACY,WAAP,CAAmBD,OAAnB,CAAP,CAAA;AACD,GAAA;;AAED,EAAA,OAAOjB,KAAP,CAAA;AACD,CAAA;AAEM,SAASmB,cAAT,CAA2BC,GAA3B,EAAiD;AACtD,EAAA,OAAOX,SAAS,CAACW,GAAD,EAAOL,GAAD,IAAS;AAC7B,IAAA,IAAIF,KAAK,CAACE,GAAD,CAAT,EAAgB;AACd,MAAA,OAAOI,cAAc,CAACE,KAAK,CAACN,GAAD,CAAN,CAArB,CAAA;AACD,KAAA;AACF,GAJe,CAAhB,CAAA;AAKD,CAAA;;AAED,SAASC,aAAT,CAAuBhB,KAAvB,EAAwD;EACtD,IAAIM,MAAM,CAACgB,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BxB,KAA/B,CAA0C,KAAA,iBAA9C,EAAiE;AAC/D,IAAA,OAAO,KAAP,CAAA;AACD,GAAA;;AAED,EAAA,MAAMsB,SAAS,GAAGhB,MAAM,CAACmB,cAAP,CAAsBzB,KAAtB,CAAlB,CAAA;EACA,OAAOsB,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAKhB,MAAM,CAACgB,SAAlD,CAAA;AACD;;;;"}
@@ -0,0 +1,27 @@
1
+ import type { QueryClientConfig } from '@tanstack/query-core';
2
+ import { QueryClient } from './queryClient';
3
+ import type { MaybeRefDeep } from './types';
4
+ declare global {
5
+ interface Window {
6
+ __VUE_QUERY_CONTEXT__?: QueryClient;
7
+ }
8
+ }
9
+ export interface AdditionalClient {
10
+ queryClient: QueryClient;
11
+ queryClientKey: string;
12
+ }
13
+ interface ConfigOptions {
14
+ queryClientConfig?: MaybeRefDeep<QueryClientConfig>;
15
+ queryClientKey?: string;
16
+ contextSharing?: boolean;
17
+ }
18
+ interface ClientOptions {
19
+ queryClient?: QueryClient;
20
+ queryClientKey?: string;
21
+ contextSharing?: boolean;
22
+ }
23
+ export declare type VueQueryPluginOptions = ConfigOptions | ClientOptions;
24
+ export declare const VueQueryPlugin: {
25
+ install: (app: any, options?: VueQueryPluginOptions) => void;
26
+ };
27
+ export {};
@@ -0,0 +1,80 @@
1
+ import { isVue2 } from 'vue-demi';
2
+ import { QueryClient } from './queryClient.esm.js';
3
+ import { getClientKey } from './utils.esm.js';
4
+ import { setupDevtools } from './devtools/devtools.esm.js';
5
+
6
+ const VueQueryPlugin = {
7
+ install: (app, options = {}) => {
8
+ const clientKey = getClientKey(options.queryClientKey);
9
+ let client;
10
+
11
+ if ('queryClient' in options && options.queryClient) {
12
+ client = options.queryClient;
13
+ } else {
14
+ if (options.contextSharing && typeof window !== 'undefined') {
15
+ if (!window.__VUE_QUERY_CONTEXT__) {
16
+ const clientConfig = 'queryClientConfig' in options ? options.queryClientConfig : undefined;
17
+ client = new QueryClient(clientConfig);
18
+ window.__VUE_QUERY_CONTEXT__ = client;
19
+ } else {
20
+ client = window.__VUE_QUERY_CONTEXT__;
21
+ }
22
+ } else {
23
+ const clientConfig = 'queryClientConfig' in options ? options.queryClientConfig : undefined;
24
+ client = new QueryClient(clientConfig);
25
+ }
26
+ }
27
+
28
+ client.mount();
29
+
30
+ const cleanup = () => {
31
+ client.unmount();
32
+ };
33
+
34
+ if (app.onUnmount) {
35
+ app.onUnmount(cleanup);
36
+ } else {
37
+ const originalUnmount = app.unmount;
38
+
39
+ app.unmount = function vueQueryUnmount() {
40
+ cleanup();
41
+ originalUnmount();
42
+ };
43
+ }
44
+ /* istanbul ignore next */
45
+
46
+
47
+ if (isVue2) {
48
+ app.mixin({
49
+ beforeCreate() {
50
+ // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30
51
+ if (!this._provided) {
52
+ const provideCache = {};
53
+ Object.defineProperty(this, '_provided', {
54
+ get: () => provideCache,
55
+ set: v => Object.assign(provideCache, v)
56
+ });
57
+ }
58
+
59
+ this._provided[clientKey] = client;
60
+
61
+ if (process.env.NODE_ENV === 'development') {
62
+ if (this === this.$root) {
63
+ setupDevtools(this, client);
64
+ }
65
+ }
66
+ }
67
+
68
+ });
69
+ } else {
70
+ app.provide(clientKey, client);
71
+
72
+ if (process.env.NODE_ENV === 'development') {
73
+ setupDevtools(app, client);
74
+ }
75
+ }
76
+ }
77
+ };
78
+
79
+ export { VueQueryPlugin };
80
+ //# sourceMappingURL=vueQueryPlugin.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vueQueryPlugin.esm.js","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\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\ndeclare global {\n interface Window {\n __VUE_QUERY_CONTEXT__?: QueryClient\n }\n}\n\nexport interface AdditionalClient {\n queryClient: QueryClient\n queryClientKey: string\n}\n\ninterface ConfigOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n queryClientKey?: string\n contextSharing?: boolean\n}\n\ninterface ClientOptions {\n queryClient?: QueryClient\n queryClientKey?: string\n contextSharing?: boolean\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 if (options.contextSharing && typeof window !== 'undefined') {\n if (!window.__VUE_QUERY_CONTEXT__) {\n const clientConfig =\n 'queryClientConfig' in options\n ? options.queryClientConfig\n : undefined\n client = new QueryClient(clientConfig)\n window.__VUE_QUERY_CONTEXT__ = client\n } else {\n client = window.__VUE_QUERY_CONTEXT__\n }\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n }\n\n client.mount()\n\n const cleanup = () => {\n client.unmount()\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 /* istanbul ignore next */\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","contextSharing","window","__VUE_QUERY_CONTEXT__","clientConfig","queryClientConfig","undefined","QueryClient","mount","cleanup","unmount","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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"}
@@ -0,0 +1,84 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vueDemi = require('vue-demi');
6
+ var queryClient = require('./queryClient.js');
7
+ var utils = require('./utils.js');
8
+ var devtools = require('./devtools/devtools.js');
9
+
10
+ const VueQueryPlugin = {
11
+ install: (app, options = {}) => {
12
+ const clientKey = utils.getClientKey(options.queryClientKey);
13
+ let client;
14
+
15
+ if ('queryClient' in options && options.queryClient) {
16
+ client = options.queryClient;
17
+ } else {
18
+ if (options.contextSharing && typeof window !== 'undefined') {
19
+ if (!window.__VUE_QUERY_CONTEXT__) {
20
+ const clientConfig = 'queryClientConfig' in options ? options.queryClientConfig : undefined;
21
+ client = new queryClient.QueryClient(clientConfig);
22
+ window.__VUE_QUERY_CONTEXT__ = client;
23
+ } else {
24
+ client = window.__VUE_QUERY_CONTEXT__;
25
+ }
26
+ } else {
27
+ const clientConfig = 'queryClientConfig' in options ? options.queryClientConfig : undefined;
28
+ client = new queryClient.QueryClient(clientConfig);
29
+ }
30
+ }
31
+
32
+ client.mount();
33
+
34
+ const cleanup = () => {
35
+ client.unmount();
36
+ };
37
+
38
+ if (app.onUnmount) {
39
+ app.onUnmount(cleanup);
40
+ } else {
41
+ const originalUnmount = app.unmount;
42
+
43
+ app.unmount = function vueQueryUnmount() {
44
+ cleanup();
45
+ originalUnmount();
46
+ };
47
+ }
48
+ /* istanbul ignore next */
49
+
50
+
51
+ if (vueDemi.isVue2) {
52
+ app.mixin({
53
+ beforeCreate() {
54
+ // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30
55
+ if (!this._provided) {
56
+ const provideCache = {};
57
+ Object.defineProperty(this, '_provided', {
58
+ get: () => provideCache,
59
+ set: v => Object.assign(provideCache, v)
60
+ });
61
+ }
62
+
63
+ this._provided[clientKey] = client;
64
+
65
+ if (process.env.NODE_ENV === 'development') {
66
+ if (this === this.$root) {
67
+ devtools.setupDevtools(this, client);
68
+ }
69
+ }
70
+ }
71
+
72
+ });
73
+ } else {
74
+ app.provide(clientKey, client);
75
+
76
+ if (process.env.NODE_ENV === 'development') {
77
+ devtools.setupDevtools(app, client);
78
+ }
79
+ }
80
+ }
81
+ };
82
+
83
+ exports.VueQueryPlugin = VueQueryPlugin;
84
+ //# sourceMappingURL=vueQueryPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vueQueryPlugin.js","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\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\ndeclare global {\n interface Window {\n __VUE_QUERY_CONTEXT__?: QueryClient\n }\n}\n\nexport interface AdditionalClient {\n queryClient: QueryClient\n queryClientKey: string\n}\n\ninterface ConfigOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n queryClientKey?: string\n contextSharing?: boolean\n}\n\ninterface ClientOptions {\n queryClient?: QueryClient\n queryClientKey?: string\n contextSharing?: boolean\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 if (options.contextSharing && typeof window !== 'undefined') {\n if (!window.__VUE_QUERY_CONTEXT__) {\n const clientConfig =\n 'queryClientConfig' in options\n ? options.queryClientConfig\n : undefined\n client = new QueryClient(clientConfig)\n window.__VUE_QUERY_CONTEXT__ = client\n } else {\n client = window.__VUE_QUERY_CONTEXT__\n }\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n }\n\n client.mount()\n\n const cleanup = () => {\n client.unmount()\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 /* istanbul ignore next */\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","contextSharing","window","__VUE_QUERY_CONTEXT__","clientConfig","queryClientConfig","undefined","QueryClient","mount","cleanup","unmount","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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"}
@@ -0,0 +1,80 @@
1
+ import { isVue2 } from 'vue-demi';
2
+ import { QueryClient } from './queryClient.mjs';
3
+ import { getClientKey } from './utils.mjs';
4
+ import { setupDevtools } from './devtools/devtools.mjs';
5
+
6
+ const VueQueryPlugin = {
7
+ install: (app, options = {}) => {
8
+ const clientKey = getClientKey(options.queryClientKey);
9
+ let client;
10
+
11
+ if ('queryClient' in options && options.queryClient) {
12
+ client = options.queryClient;
13
+ } else {
14
+ if (options.contextSharing && typeof window !== 'undefined') {
15
+ if (!window.__VUE_QUERY_CONTEXT__) {
16
+ const clientConfig = 'queryClientConfig' in options ? options.queryClientConfig : undefined;
17
+ client = new QueryClient(clientConfig);
18
+ window.__VUE_QUERY_CONTEXT__ = client;
19
+ } else {
20
+ client = window.__VUE_QUERY_CONTEXT__;
21
+ }
22
+ } else {
23
+ const clientConfig = 'queryClientConfig' in options ? options.queryClientConfig : undefined;
24
+ client = new QueryClient(clientConfig);
25
+ }
26
+ }
27
+
28
+ client.mount();
29
+
30
+ const cleanup = () => {
31
+ client.unmount();
32
+ };
33
+
34
+ if (app.onUnmount) {
35
+ app.onUnmount(cleanup);
36
+ } else {
37
+ const originalUnmount = app.unmount;
38
+
39
+ app.unmount = function vueQueryUnmount() {
40
+ cleanup();
41
+ originalUnmount();
42
+ };
43
+ }
44
+ /* istanbul ignore next */
45
+
46
+
47
+ if (isVue2) {
48
+ app.mixin({
49
+ beforeCreate() {
50
+ // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/master/src/apis/inject.ts#L30
51
+ if (!this._provided) {
52
+ const provideCache = {};
53
+ Object.defineProperty(this, '_provided', {
54
+ get: () => provideCache,
55
+ set: v => Object.assign(provideCache, v)
56
+ });
57
+ }
58
+
59
+ this._provided[clientKey] = client;
60
+
61
+ if (process.env.NODE_ENV === 'development') {
62
+ if (this === this.$root) {
63
+ setupDevtools(this, client);
64
+ }
65
+ }
66
+ }
67
+
68
+ });
69
+ } else {
70
+ app.provide(clientKey, client);
71
+
72
+ if (process.env.NODE_ENV === 'development') {
73
+ setupDevtools(app, client);
74
+ }
75
+ }
76
+ }
77
+ };
78
+
79
+ export { VueQueryPlugin };
80
+ //# sourceMappingURL=vueQueryPlugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vueQueryPlugin.mjs","sources":["../../src/vueQueryPlugin.ts"],"sourcesContent":["import { isVue2 } from 'vue-demi'\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\ndeclare global {\n interface Window {\n __VUE_QUERY_CONTEXT__?: QueryClient\n }\n}\n\nexport interface AdditionalClient {\n queryClient: QueryClient\n queryClientKey: string\n}\n\ninterface ConfigOptions {\n queryClientConfig?: MaybeRefDeep<QueryClientConfig>\n queryClientKey?: string\n contextSharing?: boolean\n}\n\ninterface ClientOptions {\n queryClient?: QueryClient\n queryClientKey?: string\n contextSharing?: boolean\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 if (options.contextSharing && typeof window !== 'undefined') {\n if (!window.__VUE_QUERY_CONTEXT__) {\n const clientConfig =\n 'queryClientConfig' in options\n ? options.queryClientConfig\n : undefined\n client = new QueryClient(clientConfig)\n window.__VUE_QUERY_CONTEXT__ = client\n } else {\n client = window.__VUE_QUERY_CONTEXT__\n }\n } else {\n const clientConfig =\n 'queryClientConfig' in options ? options.queryClientConfig : undefined\n client = new QueryClient(clientConfig)\n }\n }\n\n client.mount()\n\n const cleanup = () => {\n client.unmount()\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 /* istanbul ignore next */\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","contextSharing","window","__VUE_QUERY_CONTEXT__","clientConfig","queryClientConfig","undefined","QueryClient","mount","cleanup","unmount","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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"}