@tanstack/solid-query 4.39.0 → 4.39.2
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.
- package/build/lib/QueryClientProvider.esm.js +74 -0
- package/build/lib/QueryClientProvider.esm.js.map +1 -0
- package/build/lib/QueryClientProvider.js +80 -0
- package/build/lib/QueryClientProvider.js.map +1 -0
- package/build/lib/QueryClientProvider.mjs +74 -0
- package/build/lib/QueryClientProvider.mjs.map +1 -0
- package/build/lib/createBaseQuery.esm.js +94 -0
- package/build/lib/createBaseQuery.esm.js.map +1 -0
- package/build/lib/createBaseQuery.js +98 -0
- package/build/lib/createBaseQuery.js.map +1 -0
- package/build/lib/createBaseQuery.mjs +94 -0
- package/build/lib/createBaseQuery.mjs.map +1 -0
- package/build/lib/createInfiniteQuery.esm.js +20 -0
- package/build/lib/createInfiniteQuery.esm.js.map +1 -0
- package/build/lib/createInfiniteQuery.js +24 -0
- package/build/lib/createInfiniteQuery.js.map +1 -0
- package/build/lib/createInfiniteQuery.mjs +20 -0
- package/build/lib/createInfiniteQuery.mjs.map +1 -0
- package/build/lib/createMutation.esm.js +45 -0
- package/build/lib/createMutation.esm.js.map +1 -0
- package/build/lib/createMutation.js +49 -0
- package/build/lib/createMutation.js.map +1 -0
- package/build/lib/createMutation.mjs +45 -0
- package/build/lib/createMutation.mjs.map +1 -0
- package/build/lib/createQueries.esm.js +52 -0
- package/build/lib/createQueries.esm.js.map +1 -0
- package/build/lib/createQueries.js +56 -0
- package/build/lib/createQueries.js.map +1 -0
- package/build/lib/createQueries.mjs +52 -0
- package/build/lib/createQueries.mjs.map +1 -0
- package/build/lib/createQuery.esm.js +20 -0
- package/build/lib/createQuery.esm.js.map +1 -0
- package/build/lib/createQuery.js +24 -0
- package/build/lib/createQuery.js.map +1 -0
- package/build/lib/createQuery.mjs +20 -0
- package/build/lib/createQuery.mjs.map +1 -0
- package/build/lib/index.esm.js +9 -0
- package/build/lib/index.esm.js.map +1 -0
- package/build/lib/index.js +31 -0
- package/build/lib/index.js.map +1 -0
- package/build/lib/index.mjs +9 -0
- package/build/lib/index.mjs.map +1 -0
- package/build/lib/useIsFetching.esm.js +29 -0
- package/build/lib/useIsFetching.esm.js.map +1 -0
- package/build/lib/useIsFetching.js +33 -0
- package/build/lib/useIsFetching.js.map +1 -0
- package/build/lib/useIsFetching.mjs +29 -0
- package/build/lib/useIsFetching.mjs.map +1 -0
- package/build/lib/useIsMutating.esm.js +22 -0
- package/build/lib/useIsMutating.esm.js.map +1 -0
- package/build/lib/useIsMutating.js +26 -0
- package/build/lib/useIsMutating.js.map +1 -0
- package/build/lib/useIsMutating.mjs +22 -0
- package/build/lib/useIsMutating.mjs.map +1 -0
- package/build/lib/utils.esm.js +63 -0
- package/build/lib/utils.esm.js.map +1 -0
- package/build/lib/utils.js +72 -0
- package/build/lib/utils.js.map +1 -0
- package/build/lib/utils.mjs +63 -0
- package/build/lib/utils.mjs.map +1 -0
- package/build/solid/QueryClientProvider.jsx +49 -0
- package/build/solid/__tests__/QueryClientProvider.test.jsx +185 -0
- package/build/solid/__tests__/createInfiniteQuery.test.jsx +1458 -0
- package/build/solid/__tests__/createMutation.test.jsx +857 -0
- package/build/solid/__tests__/createQueries.test.jsx +958 -0
- package/build/solid/__tests__/createQuery.test.jsx +4559 -0
- package/build/solid/__tests__/createQuery.types.test.jsx +124 -0
- package/build/solid/__tests__/suspense.test.jsx +691 -0
- package/build/solid/__tests__/transition.test.jsx +39 -0
- package/build/solid/__tests__/useIsFetching.test.jsx +209 -0
- package/build/solid/__tests__/useIsMutating.test.jsx +216 -0
- package/build/solid/__tests__/utils.jsx +55 -0
- package/build/solid/createBaseQuery.js +81 -0
- package/build/solid/createInfiniteQuery.js +16 -0
- package/build/solid/createMutation.js +40 -0
- package/build/solid/createQueries.js +39 -0
- package/build/solid/createQuery.js +16 -0
- package/build/solid/index.js +12 -0
- package/build/solid/types.js +2 -0
- package/build/solid/useIsFetching.js +23 -0
- package/build/solid/useIsMutating.js +16 -0
- package/build/solid/utils.js +45 -0
- package/build/umd/index.development.js +3732 -0
- package/build/umd/index.development.js.map +1 -0
- package/build/umd/index.production.js +2 -0
- package/build/umd/index.production.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from '@tanstack/query-core';
|
|
2
|
+
export { createQuery } from './createQuery.esm.js';
|
|
3
|
+
export { QueryClientProvider, defaultContext, useQueryClient } from './QueryClientProvider.esm.js';
|
|
4
|
+
export { useIsFetching } from './useIsFetching.esm.js';
|
|
5
|
+
export { useIsMutating } from './useIsMutating.esm.js';
|
|
6
|
+
export { createMutation } from './createMutation.esm.js';
|
|
7
|
+
export { createInfiniteQuery } from './createInfiniteQuery.esm.js';
|
|
8
|
+
export { createQueries } from './createQueries.esm.js';
|
|
9
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var queryCore = require('@tanstack/query-core');
|
|
6
|
+
var createQuery = require('./createQuery.js');
|
|
7
|
+
var QueryClientProvider = require('./QueryClientProvider.js');
|
|
8
|
+
var useIsFetching = require('./useIsFetching.js');
|
|
9
|
+
var useIsMutating = require('./useIsMutating.js');
|
|
10
|
+
var createMutation = require('./createMutation.js');
|
|
11
|
+
var createInfiniteQuery = require('./createInfiniteQuery.js');
|
|
12
|
+
var createQueries = require('./createQueries.js');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
exports.createQuery = createQuery.createQuery;
|
|
17
|
+
exports.QueryClientProvider = QueryClientProvider.QueryClientProvider;
|
|
18
|
+
exports.defaultContext = QueryClientProvider.defaultContext;
|
|
19
|
+
exports.useQueryClient = QueryClientProvider.useQueryClient;
|
|
20
|
+
exports.useIsFetching = useIsFetching.useIsFetching;
|
|
21
|
+
exports.useIsMutating = useIsMutating.useIsMutating;
|
|
22
|
+
exports.createMutation = createMutation.createMutation;
|
|
23
|
+
exports.createInfiniteQuery = createInfiniteQuery.createInfiniteQuery;
|
|
24
|
+
exports.createQueries = createQueries.createQueries;
|
|
25
|
+
Object.keys(queryCore).forEach(function (k) {
|
|
26
|
+
if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function () { return queryCore[k]; }
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from '@tanstack/query-core';
|
|
2
|
+
export { createQuery } from './createQuery.mjs';
|
|
3
|
+
export { QueryClientProvider, defaultContext, useQueryClient } from './QueryClientProvider.mjs';
|
|
4
|
+
export { useIsFetching } from './useIsFetching.mjs';
|
|
5
|
+
export { useIsMutating } from './useIsMutating.mjs';
|
|
6
|
+
export { createMutation } from './createMutation.mjs';
|
|
7
|
+
export { createInfiniteQuery } from './createInfiniteQuery.mjs';
|
|
8
|
+
export { createQueries } from './createQueries.mjs';
|
|
9
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createSignal, createMemo, createComputed, onCleanup } from 'solid-js';
|
|
2
|
+
import { useQueryClient } from './QueryClientProvider.esm.js';
|
|
3
|
+
import { parseFilterArgs } from './utils.esm.js';
|
|
4
|
+
|
|
5
|
+
function useIsFetching(arg1, arg2, arg3) {
|
|
6
|
+
const [filtersObj, optionsObj = {}] = parseFilterArgs(arg1, arg2, arg3);
|
|
7
|
+
const [filters, setFilters] = createSignal(filtersObj);
|
|
8
|
+
const [options, setOptions] = createSignal(optionsObj);
|
|
9
|
+
const queryClient = createMemo(() => useQueryClient({
|
|
10
|
+
context: options().context
|
|
11
|
+
}));
|
|
12
|
+
const queryCache = createMemo(() => queryClient().getQueryCache());
|
|
13
|
+
const [fetches, setFetches] = createSignal(queryClient().isFetching(filters));
|
|
14
|
+
createComputed(() => {
|
|
15
|
+
const [newFiltersObj, newOptionsObj = {}] = parseFilterArgs(arg1, arg2, arg3);
|
|
16
|
+
setFilters(newFiltersObj);
|
|
17
|
+
setOptions(newOptionsObj);
|
|
18
|
+
});
|
|
19
|
+
const unsubscribe = queryCache().subscribe(() => {
|
|
20
|
+
setFetches(queryClient().isFetching(filters()));
|
|
21
|
+
});
|
|
22
|
+
onCleanup(() => {
|
|
23
|
+
unsubscribe();
|
|
24
|
+
});
|
|
25
|
+
return fetches;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { useIsFetching };
|
|
29
|
+
//# sourceMappingURL=useIsFetching.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsFetching.esm.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { createComputed, createMemo, createSignal, onCleanup } from 'solid-js'\nimport { useQueryClient } from './QueryClientProvider'\nimport { parseFilterArgs } from './utils'\nimport type { QueryFilters } from '@tanstack/query-core'\n\nimport type { ContextOptions, SolidQueryFilters, SolidQueryKey } from './types'\nimport type { Accessor } from 'solid-js'\n\ninterface Options extends ContextOptions {}\n\nexport function useIsFetching(\n filters?: SolidQueryFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsFetching(\n queryKey?: SolidQueryKey,\n filters?: SolidQueryFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsFetching(\n arg1?: SolidQueryKey | SolidQueryFilters,\n arg2?: SolidQueryFilters | Options,\n arg3?: Options,\n): Accessor<number> {\n const [filtersObj, optionsObj = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n const [filters, setFilters] = createSignal(filtersObj)\n const [options, setOptions] = createSignal(optionsObj)\n\n const queryClient = createMemo(() =>\n useQueryClient({ context: options().context }),\n )\n const queryCache = createMemo(() => queryClient().getQueryCache())\n\n const [fetches, setFetches] = createSignal(\n queryClient().isFetching(filters as QueryFilters),\n )\n\n createComputed(() => {\n const [newFiltersObj, newOptionsObj = {}] = parseFilterArgs(\n arg1,\n arg2,\n arg3,\n )\n setFilters(newFiltersObj)\n setOptions(newOptionsObj)\n })\n\n const unsubscribe = queryCache().subscribe(() => {\n setFetches(queryClient().isFetching(filters() as QueryFilters))\n })\n\n onCleanup(() => {\n unsubscribe()\n })\n\n return fetches\n}\n"],"names":["useIsFetching","arg1","arg2","arg3","filtersObj","optionsObj","parseFilterArgs","filters","setFilters","createSignal","options","setOptions","queryClient","createMemo","useQueryClient","context","queryCache","getQueryCache","fetches","setFetches","isFetching","createComputed","newFiltersObj","newOptionsObj","unsubscribe","subscribe","onCleanup"],"mappings":";;;;AAmBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGLC,IAHK,EAIa;AAClB,EAAA,MAAM,CAACC,UAAD,EAAaC,UAAU,GAAG,EAA1B,CAAA,GAAgCC,eAAe,CAACL,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAArD,CAAA;EAEA,MAAM,CAACI,OAAD,EAAUC,UAAV,IAAwBC,YAAY,CAACL,UAAD,CAA1C,CAAA;EACA,MAAM,CAACM,OAAD,EAAUC,UAAV,IAAwBF,YAAY,CAACJ,UAAD,CAA1C,CAAA;AAEA,EAAA,MAAMO,WAAW,GAAGC,UAAU,CAAC,MAC7BC,cAAc,CAAC;IAAEC,OAAO,EAAEL,OAAO,EAAGK,CAAAA,OAAAA;AAArB,GAAD,CADc,CAA9B,CAAA;EAGA,MAAMC,UAAU,GAAGH,UAAU,CAAC,MAAMD,WAAW,EAAA,CAAGK,aAAd,EAAP,CAA7B,CAAA;AAEA,EAAA,MAAM,CAACC,OAAD,EAAUC,UAAV,CAAwBV,GAAAA,YAAY,CACxCG,WAAW,EAAGQ,CAAAA,UAAd,CAAyBb,OAAzB,CADwC,CAA1C,CAAA;AAIAc,EAAAA,cAAc,CAAC,MAAM;AACnB,IAAA,MAAM,CAACC,aAAD,EAAgBC,aAAa,GAAG,EAAhC,CAAA,GAAsCjB,eAAe,CACzDL,IADyD,EAEzDC,IAFyD,EAGzDC,IAHyD,CAA3D,CAAA;IAKAK,UAAU,CAACc,aAAD,CAAV,CAAA;IACAX,UAAU,CAACY,aAAD,CAAV,CAAA;AACD,GARa,CAAd,CAAA;AAUA,EAAA,MAAMC,WAAW,GAAGR,UAAU,EAAGS,CAAAA,SAAb,CAAuB,MAAM;IAC/CN,UAAU,CAACP,WAAW,EAAGQ,CAAAA,UAAd,CAAyBb,OAAO,EAAhC,CAAD,CAAV,CAAA;AACD,GAFmB,CAApB,CAAA;AAIAmB,EAAAA,SAAS,CAAC,MAAM;IACdF,WAAW,EAAA,CAAA;AACZ,GAFQ,CAAT,CAAA;AAIA,EAAA,OAAON,OAAP,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var solidJs = require('solid-js');
|
|
6
|
+
var QueryClientProvider = require('./QueryClientProvider.js');
|
|
7
|
+
var utils = require('./utils.js');
|
|
8
|
+
|
|
9
|
+
function useIsFetching(arg1, arg2, arg3) {
|
|
10
|
+
const [filtersObj, optionsObj = {}] = utils.parseFilterArgs(arg1, arg2, arg3);
|
|
11
|
+
const [filters, setFilters] = solidJs.createSignal(filtersObj);
|
|
12
|
+
const [options, setOptions] = solidJs.createSignal(optionsObj);
|
|
13
|
+
const queryClient = solidJs.createMemo(() => QueryClientProvider.useQueryClient({
|
|
14
|
+
context: options().context
|
|
15
|
+
}));
|
|
16
|
+
const queryCache = solidJs.createMemo(() => queryClient().getQueryCache());
|
|
17
|
+
const [fetches, setFetches] = solidJs.createSignal(queryClient().isFetching(filters));
|
|
18
|
+
solidJs.createComputed(() => {
|
|
19
|
+
const [newFiltersObj, newOptionsObj = {}] = utils.parseFilterArgs(arg1, arg2, arg3);
|
|
20
|
+
setFilters(newFiltersObj);
|
|
21
|
+
setOptions(newOptionsObj);
|
|
22
|
+
});
|
|
23
|
+
const unsubscribe = queryCache().subscribe(() => {
|
|
24
|
+
setFetches(queryClient().isFetching(filters()));
|
|
25
|
+
});
|
|
26
|
+
solidJs.onCleanup(() => {
|
|
27
|
+
unsubscribe();
|
|
28
|
+
});
|
|
29
|
+
return fetches;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
exports.useIsFetching = useIsFetching;
|
|
33
|
+
//# sourceMappingURL=useIsFetching.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsFetching.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { createComputed, createMemo, createSignal, onCleanup } from 'solid-js'\nimport { useQueryClient } from './QueryClientProvider'\nimport { parseFilterArgs } from './utils'\nimport type { QueryFilters } from '@tanstack/query-core'\n\nimport type { ContextOptions, SolidQueryFilters, SolidQueryKey } from './types'\nimport type { Accessor } from 'solid-js'\n\ninterface Options extends ContextOptions {}\n\nexport function useIsFetching(\n filters?: SolidQueryFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsFetching(\n queryKey?: SolidQueryKey,\n filters?: SolidQueryFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsFetching(\n arg1?: SolidQueryKey | SolidQueryFilters,\n arg2?: SolidQueryFilters | Options,\n arg3?: Options,\n): Accessor<number> {\n const [filtersObj, optionsObj = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n const [filters, setFilters] = createSignal(filtersObj)\n const [options, setOptions] = createSignal(optionsObj)\n\n const queryClient = createMemo(() =>\n useQueryClient({ context: options().context }),\n )\n const queryCache = createMemo(() => queryClient().getQueryCache())\n\n const [fetches, setFetches] = createSignal(\n queryClient().isFetching(filters as QueryFilters),\n )\n\n createComputed(() => {\n const [newFiltersObj, newOptionsObj = {}] = parseFilterArgs(\n arg1,\n arg2,\n arg3,\n )\n setFilters(newFiltersObj)\n setOptions(newOptionsObj)\n })\n\n const unsubscribe = queryCache().subscribe(() => {\n setFetches(queryClient().isFetching(filters() as QueryFilters))\n })\n\n onCleanup(() => {\n unsubscribe()\n })\n\n return fetches\n}\n"],"names":["useIsFetching","arg1","arg2","arg3","filtersObj","optionsObj","parseFilterArgs","filters","setFilters","createSignal","options","setOptions","queryClient","createMemo","useQueryClient","context","queryCache","getQueryCache","fetches","setFetches","isFetching","createComputed","newFiltersObj","newOptionsObj","unsubscribe","subscribe","onCleanup"],"mappings":";;;;;;;;AAmBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGLC,IAHK,EAIa;AAClB,EAAA,MAAM,CAACC,UAAD,EAAaC,UAAU,GAAG,EAA1B,CAAA,GAAgCC,qBAAe,CAACL,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAArD,CAAA;EAEA,MAAM,CAACI,OAAD,EAAUC,UAAV,IAAwBC,oBAAY,CAACL,UAAD,CAA1C,CAAA;EACA,MAAM,CAACM,OAAD,EAAUC,UAAV,IAAwBF,oBAAY,CAACJ,UAAD,CAA1C,CAAA;AAEA,EAAA,MAAMO,WAAW,GAAGC,kBAAU,CAAC,MAC7BC,kCAAc,CAAC;IAAEC,OAAO,EAAEL,OAAO,EAAGK,CAAAA,OAAAA;AAArB,GAAD,CADc,CAA9B,CAAA;EAGA,MAAMC,UAAU,GAAGH,kBAAU,CAAC,MAAMD,WAAW,EAAA,CAAGK,aAAd,EAAP,CAA7B,CAAA;AAEA,EAAA,MAAM,CAACC,OAAD,EAAUC,UAAV,CAAwBV,GAAAA,oBAAY,CACxCG,WAAW,EAAGQ,CAAAA,UAAd,CAAyBb,OAAzB,CADwC,CAA1C,CAAA;AAIAc,EAAAA,sBAAc,CAAC,MAAM;AACnB,IAAA,MAAM,CAACC,aAAD,EAAgBC,aAAa,GAAG,EAAhC,CAAA,GAAsCjB,qBAAe,CACzDL,IADyD,EAEzDC,IAFyD,EAGzDC,IAHyD,CAA3D,CAAA;IAKAK,UAAU,CAACc,aAAD,CAAV,CAAA;IACAX,UAAU,CAACY,aAAD,CAAV,CAAA;AACD,GARa,CAAd,CAAA;AAUA,EAAA,MAAMC,WAAW,GAAGR,UAAU,EAAGS,CAAAA,SAAb,CAAuB,MAAM;IAC/CN,UAAU,CAACP,WAAW,EAAGQ,CAAAA,UAAd,CAAyBb,OAAO,EAAhC,CAAD,CAAV,CAAA;AACD,GAFmB,CAApB,CAAA;AAIAmB,EAAAA,iBAAS,CAAC,MAAM;IACdF,WAAW,EAAA,CAAA;AACZ,GAFQ,CAAT,CAAA;AAIA,EAAA,OAAON,OAAP,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createSignal, createMemo, createComputed, onCleanup } from 'solid-js';
|
|
2
|
+
import { useQueryClient } from './QueryClientProvider.mjs';
|
|
3
|
+
import { parseFilterArgs } from './utils.mjs';
|
|
4
|
+
|
|
5
|
+
function useIsFetching(arg1, arg2, arg3) {
|
|
6
|
+
const [filtersObj, optionsObj = {}] = parseFilterArgs(arg1, arg2, arg3);
|
|
7
|
+
const [filters, setFilters] = createSignal(filtersObj);
|
|
8
|
+
const [options, setOptions] = createSignal(optionsObj);
|
|
9
|
+
const queryClient = createMemo(() => useQueryClient({
|
|
10
|
+
context: options().context
|
|
11
|
+
}));
|
|
12
|
+
const queryCache = createMemo(() => queryClient().getQueryCache());
|
|
13
|
+
const [fetches, setFetches] = createSignal(queryClient().isFetching(filters));
|
|
14
|
+
createComputed(() => {
|
|
15
|
+
const [newFiltersObj, newOptionsObj = {}] = parseFilterArgs(arg1, arg2, arg3);
|
|
16
|
+
setFilters(newFiltersObj);
|
|
17
|
+
setOptions(newOptionsObj);
|
|
18
|
+
});
|
|
19
|
+
const unsubscribe = queryCache().subscribe(() => {
|
|
20
|
+
setFetches(queryClient().isFetching(filters()));
|
|
21
|
+
});
|
|
22
|
+
onCleanup(() => {
|
|
23
|
+
unsubscribe();
|
|
24
|
+
});
|
|
25
|
+
return fetches;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { useIsFetching };
|
|
29
|
+
//# sourceMappingURL=useIsFetching.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsFetching.mjs","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { createComputed, createMemo, createSignal, onCleanup } from 'solid-js'\nimport { useQueryClient } from './QueryClientProvider'\nimport { parseFilterArgs } from './utils'\nimport type { QueryFilters } from '@tanstack/query-core'\n\nimport type { ContextOptions, SolidQueryFilters, SolidQueryKey } from './types'\nimport type { Accessor } from 'solid-js'\n\ninterface Options extends ContextOptions {}\n\nexport function useIsFetching(\n filters?: SolidQueryFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsFetching(\n queryKey?: SolidQueryKey,\n filters?: SolidQueryFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsFetching(\n arg1?: SolidQueryKey | SolidQueryFilters,\n arg2?: SolidQueryFilters | Options,\n arg3?: Options,\n): Accessor<number> {\n const [filtersObj, optionsObj = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n const [filters, setFilters] = createSignal(filtersObj)\n const [options, setOptions] = createSignal(optionsObj)\n\n const queryClient = createMemo(() =>\n useQueryClient({ context: options().context }),\n )\n const queryCache = createMemo(() => queryClient().getQueryCache())\n\n const [fetches, setFetches] = createSignal(\n queryClient().isFetching(filters as QueryFilters),\n )\n\n createComputed(() => {\n const [newFiltersObj, newOptionsObj = {}] = parseFilterArgs(\n arg1,\n arg2,\n arg3,\n )\n setFilters(newFiltersObj)\n setOptions(newOptionsObj)\n })\n\n const unsubscribe = queryCache().subscribe(() => {\n setFetches(queryClient().isFetching(filters() as QueryFilters))\n })\n\n onCleanup(() => {\n unsubscribe()\n })\n\n return fetches\n}\n"],"names":["useIsFetching","arg1","arg2","arg3","filtersObj","optionsObj","parseFilterArgs","filters","setFilters","createSignal","options","setOptions","queryClient","createMemo","useQueryClient","context","queryCache","getQueryCache","fetches","setFetches","isFetching","createComputed","newFiltersObj","newOptionsObj","unsubscribe","subscribe","onCleanup"],"mappings":";;;;AAmBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGLC,IAHK,EAIa;AAClB,EAAA,MAAM,CAACC,UAAD,EAAaC,UAAU,GAAG,EAA1B,CAAA,GAAgCC,eAAe,CAACL,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAArD,CAAA;EAEA,MAAM,CAACI,OAAD,EAAUC,UAAV,IAAwBC,YAAY,CAACL,UAAD,CAA1C,CAAA;EACA,MAAM,CAACM,OAAD,EAAUC,UAAV,IAAwBF,YAAY,CAACJ,UAAD,CAA1C,CAAA;AAEA,EAAA,MAAMO,WAAW,GAAGC,UAAU,CAAC,MAC7BC,cAAc,CAAC;IAAEC,OAAO,EAAEL,OAAO,EAAGK,CAAAA,OAAAA;AAArB,GAAD,CADc,CAA9B,CAAA;EAGA,MAAMC,UAAU,GAAGH,UAAU,CAAC,MAAMD,WAAW,EAAA,CAAGK,aAAd,EAAP,CAA7B,CAAA;AAEA,EAAA,MAAM,CAACC,OAAD,EAAUC,UAAV,CAAwBV,GAAAA,YAAY,CACxCG,WAAW,EAAGQ,CAAAA,UAAd,CAAyBb,OAAzB,CADwC,CAA1C,CAAA;AAIAc,EAAAA,cAAc,CAAC,MAAM;AACnB,IAAA,MAAM,CAACC,aAAD,EAAgBC,aAAa,GAAG,EAAhC,CAAA,GAAsCjB,eAAe,CACzDL,IADyD,EAEzDC,IAFyD,EAGzDC,IAHyD,CAA3D,CAAA;IAKAK,UAAU,CAACc,aAAD,CAAV,CAAA;IACAX,UAAU,CAACY,aAAD,CAAV,CAAA;AACD,GARa,CAAd,CAAA;AAUA,EAAA,MAAMC,WAAW,GAAGR,UAAU,EAAGS,CAAAA,SAAb,CAAuB,MAAM;IAC/CN,UAAU,CAACP,WAAW,EAAGQ,CAAAA,UAAd,CAAyBb,OAAO,EAAhC,CAAD,CAAV,CAAA;AACD,GAFmB,CAApB,CAAA;AAIAmB,EAAAA,SAAS,CAAC,MAAM;IACdF,WAAW,EAAA,CAAA;AACZ,GAFQ,CAAT,CAAA;AAIA,EAAA,OAAON,OAAP,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { parseMutationFilterArgs } from '@tanstack/query-core';
|
|
2
|
+
import { createSignal, onCleanup } from 'solid-js';
|
|
3
|
+
import { useQueryClient } from './QueryClientProvider.esm.js';
|
|
4
|
+
|
|
5
|
+
function useIsMutating(arg1, arg2, arg3) {
|
|
6
|
+
const [filters, options = {}] = parseMutationFilterArgs(arg1, arg2, arg3);
|
|
7
|
+
const queryClient = useQueryClient({
|
|
8
|
+
context: options.context
|
|
9
|
+
});
|
|
10
|
+
const mutationCache = queryClient.getMutationCache();
|
|
11
|
+
const [mutations, setMutations] = createSignal(queryClient.isMutating(filters));
|
|
12
|
+
const unsubscribe = mutationCache.subscribe(_result => {
|
|
13
|
+
setMutations(queryClient.isMutating(filters));
|
|
14
|
+
});
|
|
15
|
+
onCleanup(() => {
|
|
16
|
+
unsubscribe();
|
|
17
|
+
});
|
|
18
|
+
return mutations;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { useIsMutating };
|
|
22
|
+
//# sourceMappingURL=useIsMutating.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMutating.esm.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { parseMutationFilterArgs } from '@tanstack/query-core'\nimport { createSignal, onCleanup } from 'solid-js'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { MutationFilters, MutationKey } from '@tanstack/query-core'\nimport type { ContextOptions } from './types'\nimport type { Accessor } from 'solid-js'\n\ninterface Options extends ContextOptions {}\n\nexport function useIsMutating(\n filters?: MutationFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsMutating(\n mutationKey?: MutationKey,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n options?: Options,\n): Accessor<number>\nexport function useIsMutating(\n arg1?: MutationKey | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'> | Options,\n arg3?: Options,\n): Accessor<number> {\n const [filters, options = {}] = parseMutationFilterArgs(arg1, arg2, arg3)\n\n const queryClient = useQueryClient({ context: options.context })\n const mutationCache = queryClient.getMutationCache()\n\n const [mutations, setMutations] = createSignal(\n queryClient.isMutating(filters),\n )\n\n const unsubscribe = mutationCache.subscribe((_result) => {\n setMutations(queryClient.isMutating(filters))\n })\n\n onCleanup(() => {\n unsubscribe()\n })\n\n return mutations\n}\n"],"names":["useIsMutating","arg1","arg2","arg3","filters","options","parseMutationFilterArgs","queryClient","useQueryClient","context","mutationCache","getMutationCache","mutations","setMutations","createSignal","isMutating","unsubscribe","subscribe","_result","onCleanup"],"mappings":";;;;AAkBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGLC,IAHK,EAIa;AAClB,EAAA,MAAM,CAACC,OAAD,EAAUC,OAAO,GAAG,EAApB,CAAA,GAA0BC,uBAAuB,CAACL,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAvD,CAAA;EAEA,MAAMI,WAAW,GAAGC,cAAc,CAAC;IAAEC,OAAO,EAAEJ,OAAO,CAACI,OAAAA;AAAnB,GAAD,CAAlC,CAAA;AACA,EAAA,MAAMC,aAAa,GAAGH,WAAW,CAACI,gBAAZ,EAAtB,CAAA;AAEA,EAAA,MAAM,CAACC,SAAD,EAAYC,YAAZ,CAA4BC,GAAAA,YAAY,CAC5CP,WAAW,CAACQ,UAAZ,CAAuBX,OAAvB,CAD4C,CAA9C,CAAA;AAIA,EAAA,MAAMY,WAAW,GAAGN,aAAa,CAACO,SAAd,CAAyBC,OAAD,IAAa;AACvDL,IAAAA,YAAY,CAACN,WAAW,CAACQ,UAAZ,CAAuBX,OAAvB,CAAD,CAAZ,CAAA;AACD,GAFmB,CAApB,CAAA;AAIAe,EAAAA,SAAS,CAAC,MAAM;IACdH,WAAW,EAAA,CAAA;AACZ,GAFQ,CAAT,CAAA;AAIA,EAAA,OAAOJ,SAAP,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var queryCore = require('@tanstack/query-core');
|
|
6
|
+
var solidJs = require('solid-js');
|
|
7
|
+
var QueryClientProvider = require('./QueryClientProvider.js');
|
|
8
|
+
|
|
9
|
+
function useIsMutating(arg1, arg2, arg3) {
|
|
10
|
+
const [filters, options = {}] = queryCore.parseMutationFilterArgs(arg1, arg2, arg3);
|
|
11
|
+
const queryClient = QueryClientProvider.useQueryClient({
|
|
12
|
+
context: options.context
|
|
13
|
+
});
|
|
14
|
+
const mutationCache = queryClient.getMutationCache();
|
|
15
|
+
const [mutations, setMutations] = solidJs.createSignal(queryClient.isMutating(filters));
|
|
16
|
+
const unsubscribe = mutationCache.subscribe(_result => {
|
|
17
|
+
setMutations(queryClient.isMutating(filters));
|
|
18
|
+
});
|
|
19
|
+
solidJs.onCleanup(() => {
|
|
20
|
+
unsubscribe();
|
|
21
|
+
});
|
|
22
|
+
return mutations;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.useIsMutating = useIsMutating;
|
|
26
|
+
//# sourceMappingURL=useIsMutating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMutating.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { parseMutationFilterArgs } from '@tanstack/query-core'\nimport { createSignal, onCleanup } from 'solid-js'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { MutationFilters, MutationKey } from '@tanstack/query-core'\nimport type { ContextOptions } from './types'\nimport type { Accessor } from 'solid-js'\n\ninterface Options extends ContextOptions {}\n\nexport function useIsMutating(\n filters?: MutationFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsMutating(\n mutationKey?: MutationKey,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n options?: Options,\n): Accessor<number>\nexport function useIsMutating(\n arg1?: MutationKey | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'> | Options,\n arg3?: Options,\n): Accessor<number> {\n const [filters, options = {}] = parseMutationFilterArgs(arg1, arg2, arg3)\n\n const queryClient = useQueryClient({ context: options.context })\n const mutationCache = queryClient.getMutationCache()\n\n const [mutations, setMutations] = createSignal(\n queryClient.isMutating(filters),\n )\n\n const unsubscribe = mutationCache.subscribe((_result) => {\n setMutations(queryClient.isMutating(filters))\n })\n\n onCleanup(() => {\n unsubscribe()\n })\n\n return mutations\n}\n"],"names":["useIsMutating","arg1","arg2","arg3","filters","options","parseMutationFilterArgs","queryClient","useQueryClient","context","mutationCache","getMutationCache","mutations","setMutations","createSignal","isMutating","unsubscribe","subscribe","_result","onCleanup"],"mappings":";;;;;;;;AAkBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGLC,IAHK,EAIa;AAClB,EAAA,MAAM,CAACC,OAAD,EAAUC,OAAO,GAAG,EAApB,CAAA,GAA0BC,iCAAuB,CAACL,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAvD,CAAA;EAEA,MAAMI,WAAW,GAAGC,kCAAc,CAAC;IAAEC,OAAO,EAAEJ,OAAO,CAACI,OAAAA;AAAnB,GAAD,CAAlC,CAAA;AACA,EAAA,MAAMC,aAAa,GAAGH,WAAW,CAACI,gBAAZ,EAAtB,CAAA;AAEA,EAAA,MAAM,CAACC,SAAD,EAAYC,YAAZ,CAA4BC,GAAAA,oBAAY,CAC5CP,WAAW,CAACQ,UAAZ,CAAuBX,OAAvB,CAD4C,CAA9C,CAAA;AAIA,EAAA,MAAMY,WAAW,GAAGN,aAAa,CAACO,SAAd,CAAyBC,OAAD,IAAa;AACvDL,IAAAA,YAAY,CAACN,WAAW,CAACQ,UAAZ,CAAuBX,OAAvB,CAAD,CAAZ,CAAA;AACD,GAFmB,CAApB,CAAA;AAIAe,EAAAA,iBAAS,CAAC,MAAM;IACdH,WAAW,EAAA,CAAA;AACZ,GAFQ,CAAT,CAAA;AAIA,EAAA,OAAOJ,SAAP,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { parseMutationFilterArgs } from '@tanstack/query-core';
|
|
2
|
+
import { createSignal, onCleanup } from 'solid-js';
|
|
3
|
+
import { useQueryClient } from './QueryClientProvider.mjs';
|
|
4
|
+
|
|
5
|
+
function useIsMutating(arg1, arg2, arg3) {
|
|
6
|
+
const [filters, options = {}] = parseMutationFilterArgs(arg1, arg2, arg3);
|
|
7
|
+
const queryClient = useQueryClient({
|
|
8
|
+
context: options.context
|
|
9
|
+
});
|
|
10
|
+
const mutationCache = queryClient.getMutationCache();
|
|
11
|
+
const [mutations, setMutations] = createSignal(queryClient.isMutating(filters));
|
|
12
|
+
const unsubscribe = mutationCache.subscribe(_result => {
|
|
13
|
+
setMutations(queryClient.isMutating(filters));
|
|
14
|
+
});
|
|
15
|
+
onCleanup(() => {
|
|
16
|
+
unsubscribe();
|
|
17
|
+
});
|
|
18
|
+
return mutations;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { useIsMutating };
|
|
22
|
+
//# sourceMappingURL=useIsMutating.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsMutating.mjs","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import { parseMutationFilterArgs } from '@tanstack/query-core'\nimport { createSignal, onCleanup } from 'solid-js'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { MutationFilters, MutationKey } from '@tanstack/query-core'\nimport type { ContextOptions } from './types'\nimport type { Accessor } from 'solid-js'\n\ninterface Options extends ContextOptions {}\n\nexport function useIsMutating(\n filters?: MutationFilters,\n options?: Options,\n): Accessor<number>\nexport function useIsMutating(\n mutationKey?: MutationKey,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n options?: Options,\n): Accessor<number>\nexport function useIsMutating(\n arg1?: MutationKey | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'> | Options,\n arg3?: Options,\n): Accessor<number> {\n const [filters, options = {}] = parseMutationFilterArgs(arg1, arg2, arg3)\n\n const queryClient = useQueryClient({ context: options.context })\n const mutationCache = queryClient.getMutationCache()\n\n const [mutations, setMutations] = createSignal(\n queryClient.isMutating(filters),\n )\n\n const unsubscribe = mutationCache.subscribe((_result) => {\n setMutations(queryClient.isMutating(filters))\n })\n\n onCleanup(() => {\n unsubscribe()\n })\n\n return mutations\n}\n"],"names":["useIsMutating","arg1","arg2","arg3","filters","options","parseMutationFilterArgs","queryClient","useQueryClient","context","mutationCache","getMutationCache","mutations","setMutations","createSignal","isMutating","unsubscribe","subscribe","_result","onCleanup"],"mappings":";;;;AAkBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGLC,IAHK,EAIa;AAClB,EAAA,MAAM,CAACC,OAAD,EAAUC,OAAO,GAAG,EAApB,CAAA,GAA0BC,uBAAuB,CAACL,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAvD,CAAA;EAEA,MAAMI,WAAW,GAAGC,cAAc,CAAC;IAAEC,OAAO,EAAEJ,OAAO,CAACI,OAAAA;AAAnB,GAAD,CAAlC,CAAA;AACA,EAAA,MAAMC,aAAa,GAAGH,WAAW,CAACI,gBAAZ,EAAtB,CAAA;AAEA,EAAA,MAAM,CAACC,SAAD,EAAYC,YAAZ,CAA4BC,GAAAA,YAAY,CAC5CP,WAAW,CAACQ,UAAZ,CAAuBX,OAAvB,CAD4C,CAA9C,CAAA;AAIA,EAAA,MAAMY,WAAW,GAAGN,aAAa,CAACO,SAAd,CAAyBC,OAAD,IAAa;AACvDL,IAAAA,YAAY,CAACN,WAAW,CAACQ,UAAZ,CAAuBX,OAAvB,CAAD,CAAZ,CAAA;AACD,GAFmB,CAApB,CAAA;AAIAe,EAAAA,SAAS,CAAC,MAAM;IACdH,WAAW,EAAA,CAAA;AACZ,GAFQ,CAAT,CAAA;AAIA,EAAA,OAAOJ,SAAP,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
function isQueryKey(value) {
|
|
2
|
+
return typeof value === 'function';
|
|
3
|
+
} // The parseQuery Args functions helps normalize the arguments into the correct form.
|
|
4
|
+
// Whatever the parameters are, they are normalized into the correct form.
|
|
5
|
+
|
|
6
|
+
function parseQueryArgs(arg1, arg2, arg3) {
|
|
7
|
+
if (!isQueryKey(arg1)) {
|
|
8
|
+
const {
|
|
9
|
+
queryKey: solidKey,
|
|
10
|
+
...opts
|
|
11
|
+
} = arg1;
|
|
12
|
+
|
|
13
|
+
if (solidKey) {
|
|
14
|
+
return { ...opts,
|
|
15
|
+
queryKey: solidKey()
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return arg1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (typeof arg2 === 'function') {
|
|
23
|
+
return { ...arg3,
|
|
24
|
+
queryKey: arg1(),
|
|
25
|
+
queryFn: arg2
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return { ...arg2,
|
|
30
|
+
queryKey: arg1()
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function parseFilterArgs(arg1, arg2, arg3) {
|
|
34
|
+
return isQueryKey(arg1) ? [{ ...arg2,
|
|
35
|
+
queryKey: arg1()
|
|
36
|
+
}, arg3] : [{ ...arg1,
|
|
37
|
+
queryKey: arg1 == null ? void 0 : arg1.queryKey == null ? void 0 : arg1.queryKey()
|
|
38
|
+
}, arg2];
|
|
39
|
+
}
|
|
40
|
+
function shouldThrowError(_useErrorBoundary, params) {
|
|
41
|
+
// Allow useErrorBoundary function to override throwing behavior on a per-error basis
|
|
42
|
+
if (typeof _useErrorBoundary === 'function') {
|
|
43
|
+
return _useErrorBoundary(...params);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return !!_useErrorBoundary;
|
|
47
|
+
}
|
|
48
|
+
function sleep(timeout) {
|
|
49
|
+
return new Promise(resolve => {
|
|
50
|
+
setTimeout(resolve, timeout);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Schedules a microtask.
|
|
55
|
+
* This can be useful to schedule state updates after rendering.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
function scheduleMicrotask(callback) {
|
|
59
|
+
sleep(0).then(callback);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { isQueryKey, parseFilterArgs, parseQueryArgs, scheduleMicrotask, shouldThrowError, sleep };
|
|
63
|
+
//# sourceMappingURL=utils.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.esm.js","sources":["../../src/utils.ts"],"sourcesContent":["import type {\n ParseFilterArgs,\n ParseQueryArgs,\n SolidQueryFilters,\n SolidQueryKey,\n} from './types'\nimport type { QueryFunction, QueryOptions } from '@tanstack/query-core'\n\nexport function isQueryKey(value: unknown): value is SolidQueryKey {\n return typeof value === 'function'\n}\n\n// The parseQuery Args functions helps normalize the arguments into the correct form.\n// Whatever the parameters are, they are normalized into the correct form.\nexport function parseQueryArgs<\n TOptions extends Omit<\n QueryOptions<any, any, any, ReturnType<TQueryKey>>,\n 'queryKey'\n > & {\n queryKey?: TQueryKey\n },\n TQueryKey extends () => readonly unknown[] = SolidQueryKey,\n>(\n arg1: TQueryKey | TOptions,\n arg2?: QueryFunction<any, ReturnType<TQueryKey>> | TOptions,\n arg3?: TOptions,\n): ParseQueryArgs<TOptions, TQueryKey> {\n if (!isQueryKey(arg1)) {\n const { queryKey: solidKey, ...opts } = arg1 as any\n if (solidKey) {\n return {\n ...opts,\n queryKey: solidKey(),\n }\n }\n return arg1 as any\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3, queryKey: arg1(), queryFn: arg2 } as any\n }\n\n return { ...arg2, queryKey: arg1() } as any\n}\n\nexport function parseFilterArgs<\n TFilters extends SolidQueryFilters,\n TOptions = unknown,\n>(\n arg1?: SolidQueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [ParseFilterArgs<TFilters>, TOptions | undefined] {\n return (\n isQueryKey(arg1)\n ? [{ ...arg2, queryKey: arg1() }, arg3]\n : [{ ...arg1, queryKey: arg1?.queryKey?.() }, arg2]\n ) as [ParseFilterArgs<TFilters>, TOptions]\n}\n\nexport function shouldThrowError<T extends (...args: any[]) => boolean>(\n _useErrorBoundary: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params)\n }\n\n return !!_useErrorBoundary\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nexport function scheduleMicrotask(callback: () => void) {\n sleep(0).then(callback)\n}\n"],"names":["isQueryKey","value","parseQueryArgs","arg1","arg2","arg3","queryKey","solidKey","opts","queryFn","parseFilterArgs","shouldThrowError","_useErrorBoundary","params","sleep","timeout","Promise","resolve","setTimeout","scheduleMicrotask","callback","then"],"mappings":"AAQO,SAASA,UAAT,CAAoBC,KAApB,EAA4D;EACjE,OAAO,OAAOA,KAAP,KAAiB,UAAxB,CAAA;AACD;AAGD;;AACO,SAASC,cAAT,CASLC,IATK,EAULC,IAVK,EAWLC,IAXK,EAYgC;AACrC,EAAA,IAAI,CAACL,UAAU,CAACG,IAAD,CAAf,EAAuB;IACrB,MAAM;AAAEG,MAAAA,QAAQ,EAAEC,QAAZ;MAAsB,GAAGC,IAAAA;AAAzB,KAAA,GAAkCL,IAAxC,CAAA;;AACA,IAAA,IAAII,QAAJ,EAAc;MACZ,OAAO,EACL,GAAGC,IADE;AAELF,QAAAA,QAAQ,EAAEC,QAAQ,EAAA;OAFpB,CAAA;AAID,KAAA;;AACD,IAAA,OAAOJ,IAAP,CAAA;AACD,GAAA;;AAED,EAAA,IAAI,OAAOC,IAAP,KAAgB,UAApB,EAAgC;IAC9B,OAAO,EAAE,GAAGC,IAAL;MAAWC,QAAQ,EAAEH,IAAI,EAAzB;AAA6BM,MAAAA,OAAO,EAAEL,IAAAA;KAA7C,CAAA;AACD,GAAA;;EAED,OAAO,EAAE,GAAGA,IAAL;AAAWE,IAAAA,QAAQ,EAAEH,IAAI,EAAA;GAAhC,CAAA;AACD,CAAA;AAEM,SAASO,eAAT,CAILP,IAJK,EAKLC,IALK,EAMLC,IANK,EAO8C;EACnD,OACEL,UAAU,CAACG,IAAD,CAAV,GACI,CAAC,EAAE,GAAGC,IAAL;AAAWE,IAAAA,QAAQ,EAAEH,IAAI,EAAA;AAAzB,GAAD,EAAgCE,IAAhC,CADJ,GAEI,CAAC,EAAE,GAAGF,IAAL;IAAWG,QAAQ,EAAEH,IAAF,IAAEA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEG,QAAR,IAAA,IAAA,GAAA,KAAA,CAAA,GAAEH,IAAI,CAAEG,QAAN,EAAA;GAAtB,EAA4CF,IAA5C,CAHN,CAAA;AAKD,CAAA;AAEM,SAASO,gBAAT,CACLC,iBADK,EAELC,MAFK,EAGI;AACT;AACA,EAAA,IAAI,OAAOD,iBAAP,KAA6B,UAAjC,EAA6C;AAC3C,IAAA,OAAOA,iBAAiB,CAAC,GAAGC,MAAJ,CAAxB,CAAA;AACD,GAAA;;EAED,OAAO,CAAC,CAACD,iBAAT,CAAA;AACD,CAAA;AAEM,SAASE,KAAT,CAAeC,OAAf,EAA+C;AACpD,EAAA,OAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAa;AAC9BC,IAAAA,UAAU,CAACD,OAAD,EAAUF,OAAV,CAAV,CAAA;AACD,GAFM,CAAP,CAAA;AAGD,CAAA;AAED;AACA;AACA;AACA;;AACO,SAASI,iBAAT,CAA2BC,QAA3B,EAAiD;AACtDN,EAAAA,KAAK,CAAC,CAAD,CAAL,CAASO,IAAT,CAAcD,QAAd,CAAA,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
function isQueryKey(value) {
|
|
6
|
+
return typeof value === 'function';
|
|
7
|
+
} // The parseQuery Args functions helps normalize the arguments into the correct form.
|
|
8
|
+
// Whatever the parameters are, they are normalized into the correct form.
|
|
9
|
+
|
|
10
|
+
function parseQueryArgs(arg1, arg2, arg3) {
|
|
11
|
+
if (!isQueryKey(arg1)) {
|
|
12
|
+
const {
|
|
13
|
+
queryKey: solidKey,
|
|
14
|
+
...opts
|
|
15
|
+
} = arg1;
|
|
16
|
+
|
|
17
|
+
if (solidKey) {
|
|
18
|
+
return { ...opts,
|
|
19
|
+
queryKey: solidKey()
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return arg1;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (typeof arg2 === 'function') {
|
|
27
|
+
return { ...arg3,
|
|
28
|
+
queryKey: arg1(),
|
|
29
|
+
queryFn: arg2
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return { ...arg2,
|
|
34
|
+
queryKey: arg1()
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function parseFilterArgs(arg1, arg2, arg3) {
|
|
38
|
+
return isQueryKey(arg1) ? [{ ...arg2,
|
|
39
|
+
queryKey: arg1()
|
|
40
|
+
}, arg3] : [{ ...arg1,
|
|
41
|
+
queryKey: arg1 == null ? void 0 : arg1.queryKey == null ? void 0 : arg1.queryKey()
|
|
42
|
+
}, arg2];
|
|
43
|
+
}
|
|
44
|
+
function shouldThrowError(_useErrorBoundary, params) {
|
|
45
|
+
// Allow useErrorBoundary function to override throwing behavior on a per-error basis
|
|
46
|
+
if (typeof _useErrorBoundary === 'function') {
|
|
47
|
+
return _useErrorBoundary(...params);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return !!_useErrorBoundary;
|
|
51
|
+
}
|
|
52
|
+
function sleep(timeout) {
|
|
53
|
+
return new Promise(resolve => {
|
|
54
|
+
setTimeout(resolve, timeout);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Schedules a microtask.
|
|
59
|
+
* This can be useful to schedule state updates after rendering.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
function scheduleMicrotask(callback) {
|
|
63
|
+
sleep(0).then(callback);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
exports.isQueryKey = isQueryKey;
|
|
67
|
+
exports.parseFilterArgs = parseFilterArgs;
|
|
68
|
+
exports.parseQueryArgs = parseQueryArgs;
|
|
69
|
+
exports.scheduleMicrotask = scheduleMicrotask;
|
|
70
|
+
exports.shouldThrowError = shouldThrowError;
|
|
71
|
+
exports.sleep = sleep;
|
|
72
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import type {\n ParseFilterArgs,\n ParseQueryArgs,\n SolidQueryFilters,\n SolidQueryKey,\n} from './types'\nimport type { QueryFunction, QueryOptions } from '@tanstack/query-core'\n\nexport function isQueryKey(value: unknown): value is SolidQueryKey {\n return typeof value === 'function'\n}\n\n// The parseQuery Args functions helps normalize the arguments into the correct form.\n// Whatever the parameters are, they are normalized into the correct form.\nexport function parseQueryArgs<\n TOptions extends Omit<\n QueryOptions<any, any, any, ReturnType<TQueryKey>>,\n 'queryKey'\n > & {\n queryKey?: TQueryKey\n },\n TQueryKey extends () => readonly unknown[] = SolidQueryKey,\n>(\n arg1: TQueryKey | TOptions,\n arg2?: QueryFunction<any, ReturnType<TQueryKey>> | TOptions,\n arg3?: TOptions,\n): ParseQueryArgs<TOptions, TQueryKey> {\n if (!isQueryKey(arg1)) {\n const { queryKey: solidKey, ...opts } = arg1 as any\n if (solidKey) {\n return {\n ...opts,\n queryKey: solidKey(),\n }\n }\n return arg1 as any\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3, queryKey: arg1(), queryFn: arg2 } as any\n }\n\n return { ...arg2, queryKey: arg1() } as any\n}\n\nexport function parseFilterArgs<\n TFilters extends SolidQueryFilters,\n TOptions = unknown,\n>(\n arg1?: SolidQueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [ParseFilterArgs<TFilters>, TOptions | undefined] {\n return (\n isQueryKey(arg1)\n ? [{ ...arg2, queryKey: arg1() }, arg3]\n : [{ ...arg1, queryKey: arg1?.queryKey?.() }, arg2]\n ) as [ParseFilterArgs<TFilters>, TOptions]\n}\n\nexport function shouldThrowError<T extends (...args: any[]) => boolean>(\n _useErrorBoundary: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params)\n }\n\n return !!_useErrorBoundary\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nexport function scheduleMicrotask(callback: () => void) {\n sleep(0).then(callback)\n}\n"],"names":["isQueryKey","value","parseQueryArgs","arg1","arg2","arg3","queryKey","solidKey","opts","queryFn","parseFilterArgs","shouldThrowError","_useErrorBoundary","params","sleep","timeout","Promise","resolve","setTimeout","scheduleMicrotask","callback","then"],"mappings":";;;;AAQO,SAASA,UAAT,CAAoBC,KAApB,EAA4D;EACjE,OAAO,OAAOA,KAAP,KAAiB,UAAxB,CAAA;AACD;AAGD;;AACO,SAASC,cAAT,CASLC,IATK,EAULC,IAVK,EAWLC,IAXK,EAYgC;AACrC,EAAA,IAAI,CAACL,UAAU,CAACG,IAAD,CAAf,EAAuB;IACrB,MAAM;AAAEG,MAAAA,QAAQ,EAAEC,QAAZ;MAAsB,GAAGC,IAAAA;AAAzB,KAAA,GAAkCL,IAAxC,CAAA;;AACA,IAAA,IAAII,QAAJ,EAAc;MACZ,OAAO,EACL,GAAGC,IADE;AAELF,QAAAA,QAAQ,EAAEC,QAAQ,EAAA;OAFpB,CAAA;AAID,KAAA;;AACD,IAAA,OAAOJ,IAAP,CAAA;AACD,GAAA;;AAED,EAAA,IAAI,OAAOC,IAAP,KAAgB,UAApB,EAAgC;IAC9B,OAAO,EAAE,GAAGC,IAAL;MAAWC,QAAQ,EAAEH,IAAI,EAAzB;AAA6BM,MAAAA,OAAO,EAAEL,IAAAA;KAA7C,CAAA;AACD,GAAA;;EAED,OAAO,EAAE,GAAGA,IAAL;AAAWE,IAAAA,QAAQ,EAAEH,IAAI,EAAA;GAAhC,CAAA;AACD,CAAA;AAEM,SAASO,eAAT,CAILP,IAJK,EAKLC,IALK,EAMLC,IANK,EAO8C;EACnD,OACEL,UAAU,CAACG,IAAD,CAAV,GACI,CAAC,EAAE,GAAGC,IAAL;AAAWE,IAAAA,QAAQ,EAAEH,IAAI,EAAA;AAAzB,GAAD,EAAgCE,IAAhC,CADJ,GAEI,CAAC,EAAE,GAAGF,IAAL;IAAWG,QAAQ,EAAEH,IAAF,IAAEA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEG,QAAR,IAAA,IAAA,GAAA,KAAA,CAAA,GAAEH,IAAI,CAAEG,QAAN,EAAA;GAAtB,EAA4CF,IAA5C,CAHN,CAAA;AAKD,CAAA;AAEM,SAASO,gBAAT,CACLC,iBADK,EAELC,MAFK,EAGI;AACT;AACA,EAAA,IAAI,OAAOD,iBAAP,KAA6B,UAAjC,EAA6C;AAC3C,IAAA,OAAOA,iBAAiB,CAAC,GAAGC,MAAJ,CAAxB,CAAA;AACD,GAAA;;EAED,OAAO,CAAC,CAACD,iBAAT,CAAA;AACD,CAAA;AAEM,SAASE,KAAT,CAAeC,OAAf,EAA+C;AACpD,EAAA,OAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAa;AAC9BC,IAAAA,UAAU,CAACD,OAAD,EAAUF,OAAV,CAAV,CAAA;AACD,GAFM,CAAP,CAAA;AAGD,CAAA;AAED;AACA;AACA;AACA;;AACO,SAASI,iBAAT,CAA2BC,QAA3B,EAAiD;AACtDN,EAAAA,KAAK,CAAC,CAAD,CAAL,CAASO,IAAT,CAAcD,QAAd,CAAA,CAAA;AACD;;;;;;;;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
function isQueryKey(value) {
|
|
2
|
+
return typeof value === 'function';
|
|
3
|
+
} // The parseQuery Args functions helps normalize the arguments into the correct form.
|
|
4
|
+
// Whatever the parameters are, they are normalized into the correct form.
|
|
5
|
+
|
|
6
|
+
function parseQueryArgs(arg1, arg2, arg3) {
|
|
7
|
+
if (!isQueryKey(arg1)) {
|
|
8
|
+
const {
|
|
9
|
+
queryKey: solidKey,
|
|
10
|
+
...opts
|
|
11
|
+
} = arg1;
|
|
12
|
+
|
|
13
|
+
if (solidKey) {
|
|
14
|
+
return { ...opts,
|
|
15
|
+
queryKey: solidKey()
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return arg1;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (typeof arg2 === 'function') {
|
|
23
|
+
return { ...arg3,
|
|
24
|
+
queryKey: arg1(),
|
|
25
|
+
queryFn: arg2
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return { ...arg2,
|
|
30
|
+
queryKey: arg1()
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function parseFilterArgs(arg1, arg2, arg3) {
|
|
34
|
+
return isQueryKey(arg1) ? [{ ...arg2,
|
|
35
|
+
queryKey: arg1()
|
|
36
|
+
}, arg3] : [{ ...arg1,
|
|
37
|
+
queryKey: arg1 == null ? void 0 : arg1.queryKey == null ? void 0 : arg1.queryKey()
|
|
38
|
+
}, arg2];
|
|
39
|
+
}
|
|
40
|
+
function shouldThrowError(_useErrorBoundary, params) {
|
|
41
|
+
// Allow useErrorBoundary function to override throwing behavior on a per-error basis
|
|
42
|
+
if (typeof _useErrorBoundary === 'function') {
|
|
43
|
+
return _useErrorBoundary(...params);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return !!_useErrorBoundary;
|
|
47
|
+
}
|
|
48
|
+
function sleep(timeout) {
|
|
49
|
+
return new Promise(resolve => {
|
|
50
|
+
setTimeout(resolve, timeout);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Schedules a microtask.
|
|
55
|
+
* This can be useful to schedule state updates after rendering.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
function scheduleMicrotask(callback) {
|
|
59
|
+
sleep(0).then(callback);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { isQueryKey, parseFilterArgs, parseQueryArgs, scheduleMicrotask, shouldThrowError, sleep };
|
|
63
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../src/utils.ts"],"sourcesContent":["import type {\n ParseFilterArgs,\n ParseQueryArgs,\n SolidQueryFilters,\n SolidQueryKey,\n} from './types'\nimport type { QueryFunction, QueryOptions } from '@tanstack/query-core'\n\nexport function isQueryKey(value: unknown): value is SolidQueryKey {\n return typeof value === 'function'\n}\n\n// The parseQuery Args functions helps normalize the arguments into the correct form.\n// Whatever the parameters are, they are normalized into the correct form.\nexport function parseQueryArgs<\n TOptions extends Omit<\n QueryOptions<any, any, any, ReturnType<TQueryKey>>,\n 'queryKey'\n > & {\n queryKey?: TQueryKey\n },\n TQueryKey extends () => readonly unknown[] = SolidQueryKey,\n>(\n arg1: TQueryKey | TOptions,\n arg2?: QueryFunction<any, ReturnType<TQueryKey>> | TOptions,\n arg3?: TOptions,\n): ParseQueryArgs<TOptions, TQueryKey> {\n if (!isQueryKey(arg1)) {\n const { queryKey: solidKey, ...opts } = arg1 as any\n if (solidKey) {\n return {\n ...opts,\n queryKey: solidKey(),\n }\n }\n return arg1 as any\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3, queryKey: arg1(), queryFn: arg2 } as any\n }\n\n return { ...arg2, queryKey: arg1() } as any\n}\n\nexport function parseFilterArgs<\n TFilters extends SolidQueryFilters,\n TOptions = unknown,\n>(\n arg1?: SolidQueryKey | TFilters,\n arg2?: TFilters | TOptions,\n arg3?: TOptions,\n): [ParseFilterArgs<TFilters>, TOptions | undefined] {\n return (\n isQueryKey(arg1)\n ? [{ ...arg2, queryKey: arg1() }, arg3]\n : [{ ...arg1, queryKey: arg1?.queryKey?.() }, arg2]\n ) as [ParseFilterArgs<TFilters>, TOptions]\n}\n\nexport function shouldThrowError<T extends (...args: any[]) => boolean>(\n _useErrorBoundary: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params)\n }\n\n return !!_useErrorBoundary\n}\n\nexport function sleep(timeout: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout)\n })\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nexport function scheduleMicrotask(callback: () => void) {\n sleep(0).then(callback)\n}\n"],"names":["isQueryKey","value","parseQueryArgs","arg1","arg2","arg3","queryKey","solidKey","opts","queryFn","parseFilterArgs","shouldThrowError","_useErrorBoundary","params","sleep","timeout","Promise","resolve","setTimeout","scheduleMicrotask","callback","then"],"mappings":"AAQO,SAASA,UAAT,CAAoBC,KAApB,EAA4D;EACjE,OAAO,OAAOA,KAAP,KAAiB,UAAxB,CAAA;AACD;AAGD;;AACO,SAASC,cAAT,CASLC,IATK,EAULC,IAVK,EAWLC,IAXK,EAYgC;AACrC,EAAA,IAAI,CAACL,UAAU,CAACG,IAAD,CAAf,EAAuB;IACrB,MAAM;AAAEG,MAAAA,QAAQ,EAAEC,QAAZ;MAAsB,GAAGC,IAAAA;AAAzB,KAAA,GAAkCL,IAAxC,CAAA;;AACA,IAAA,IAAII,QAAJ,EAAc;MACZ,OAAO,EACL,GAAGC,IADE;AAELF,QAAAA,QAAQ,EAAEC,QAAQ,EAAA;OAFpB,CAAA;AAID,KAAA;;AACD,IAAA,OAAOJ,IAAP,CAAA;AACD,GAAA;;AAED,EAAA,IAAI,OAAOC,IAAP,KAAgB,UAApB,EAAgC;IAC9B,OAAO,EAAE,GAAGC,IAAL;MAAWC,QAAQ,EAAEH,IAAI,EAAzB;AAA6BM,MAAAA,OAAO,EAAEL,IAAAA;KAA7C,CAAA;AACD,GAAA;;EAED,OAAO,EAAE,GAAGA,IAAL;AAAWE,IAAAA,QAAQ,EAAEH,IAAI,EAAA;GAAhC,CAAA;AACD,CAAA;AAEM,SAASO,eAAT,CAILP,IAJK,EAKLC,IALK,EAMLC,IANK,EAO8C;EACnD,OACEL,UAAU,CAACG,IAAD,CAAV,GACI,CAAC,EAAE,GAAGC,IAAL;AAAWE,IAAAA,QAAQ,EAAEH,IAAI,EAAA;AAAzB,GAAD,EAAgCE,IAAhC,CADJ,GAEI,CAAC,EAAE,GAAGF,IAAL;IAAWG,QAAQ,EAAEH,IAAF,IAAEA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEG,QAAR,IAAA,IAAA,GAAA,KAAA,CAAA,GAAEH,IAAI,CAAEG,QAAN,EAAA;GAAtB,EAA4CF,IAA5C,CAHN,CAAA;AAKD,CAAA;AAEM,SAASO,gBAAT,CACLC,iBADK,EAELC,MAFK,EAGI;AACT;AACA,EAAA,IAAI,OAAOD,iBAAP,KAA6B,UAAjC,EAA6C;AAC3C,IAAA,OAAOA,iBAAiB,CAAC,GAAGC,MAAJ,CAAxB,CAAA;AACD,GAAA;;EAED,OAAO,CAAC,CAACD,iBAAT,CAAA;AACD,CAAA;AAEM,SAASE,KAAT,CAAeC,OAAf,EAA+C;AACpD,EAAA,OAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAa;AAC9BC,IAAAA,UAAU,CAACD,OAAD,EAAUF,OAAV,CAAV,CAAA;AACD,GAFM,CAAP,CAAA;AAGD,CAAA;AAED;AACA;AACA;AACA;;AACO,SAASI,iBAAT,CAA2BC,QAA3B,EAAiD;AACtDN,EAAAA,KAAK,CAAC,CAAD,CAAL,CAASO,IAAT,CAAcD,QAAd,CAAA,CAAA;AACD;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { createContext, mergeProps, onCleanup, onMount, useContext, } from 'solid-js';
|
|
2
|
+
export const defaultContext = createContext(undefined);
|
|
3
|
+
const QueryClientSharingContext = createContext(false);
|
|
4
|
+
// If we are given a context, we will use it.
|
|
5
|
+
// Otherwise, if contextSharing is on, we share the first and at least one
|
|
6
|
+
// instance of the context across the window
|
|
7
|
+
// to ensure that if Solid Query is used across
|
|
8
|
+
// different bundles or microfrontends they will
|
|
9
|
+
// all use the same **instance** of context, regardless
|
|
10
|
+
// of module scoping.
|
|
11
|
+
function getQueryClientContext(context, contextSharing) {
|
|
12
|
+
if (context) {
|
|
13
|
+
return context;
|
|
14
|
+
}
|
|
15
|
+
if (contextSharing && typeof window !== 'undefined') {
|
|
16
|
+
if (!window.SolidQueryClientContext) {
|
|
17
|
+
window.SolidQueryClientContext = defaultContext;
|
|
18
|
+
}
|
|
19
|
+
return window.SolidQueryClientContext;
|
|
20
|
+
}
|
|
21
|
+
return defaultContext;
|
|
22
|
+
}
|
|
23
|
+
export const useQueryClient = ({ context } = {}) => {
|
|
24
|
+
const queryClient = useContext(getQueryClientContext(context, useContext(QueryClientSharingContext)));
|
|
25
|
+
if (!queryClient) {
|
|
26
|
+
throw new Error('No QueryClient set, use QueryClientProvider to set one');
|
|
27
|
+
}
|
|
28
|
+
return queryClient;
|
|
29
|
+
};
|
|
30
|
+
export const QueryClientProvider = (props) => {
|
|
31
|
+
const mergedProps = mergeProps({
|
|
32
|
+
contextSharing: false,
|
|
33
|
+
}, props);
|
|
34
|
+
onMount(() => {
|
|
35
|
+
mergedProps.client.mount();
|
|
36
|
+
if (process.env.NODE_ENV !== 'production' && mergedProps.contextSharing) {
|
|
37
|
+
mergedProps.client
|
|
38
|
+
.getLogger()
|
|
39
|
+
.error(`The contextSharing option has been deprecated and will be removed in the next major version`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
onCleanup(() => mergedProps.client.unmount());
|
|
43
|
+
const QueryClientContext = getQueryClientContext(mergedProps.context, mergedProps.contextSharing);
|
|
44
|
+
return (<QueryClientSharingContext.Provider value={!mergedProps.context && mergedProps.contextSharing}>
|
|
45
|
+
<QueryClientContext.Provider value={mergedProps.client}>
|
|
46
|
+
{mergedProps.children}
|
|
47
|
+
</QueryClientContext.Provider>
|
|
48
|
+
</QueryClientSharingContext.Provider>);
|
|
49
|
+
};
|