@tanstack/solid-query 5.0.0-alpha.51 → 5.0.0-alpha.52

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 (50) hide show
  1. package/build/lib/QueryClient.cjs +12 -0
  2. package/build/lib/QueryClient.cjs.map +1 -0
  3. package/build/lib/QueryClient.js +10 -0
  4. package/build/lib/QueryClient.js.map +1 -0
  5. package/build/lib/QueryClientProvider.cjs +35 -0
  6. package/build/lib/QueryClientProvider.cjs.map +1 -0
  7. package/build/lib/QueryClientProvider.js +31 -0
  8. package/build/lib/QueryClientProvider.js.map +1 -0
  9. package/build/lib/createBaseQuery.cjs +192 -0
  10. package/build/lib/createBaseQuery.cjs.map +1 -0
  11. package/build/lib/createBaseQuery.js +190 -0
  12. package/build/lib/createBaseQuery.js.map +1 -0
  13. package/build/lib/createInfiniteQuery.cjs +14 -0
  14. package/build/lib/createInfiniteQuery.cjs.map +1 -0
  15. package/build/lib/createInfiniteQuery.js +12 -0
  16. package/build/lib/createInfiniteQuery.js.map +1 -0
  17. package/build/lib/createMutation.cjs +44 -0
  18. package/build/lib/createMutation.cjs.map +1 -0
  19. package/build/lib/createMutation.js +42 -0
  20. package/build/lib/createMutation.js.map +1 -0
  21. package/build/lib/createQueries.cjs +52 -0
  22. package/build/lib/createQueries.cjs.map +1 -0
  23. package/build/lib/createQueries.js +50 -0
  24. package/build/lib/createQueries.js.map +1 -0
  25. package/build/lib/createQuery.cjs +16 -0
  26. package/build/lib/createQuery.cjs.map +1 -0
  27. package/build/lib/createQuery.js +13 -0
  28. package/build/lib/createQuery.js.map +1 -0
  29. package/build/lib/index.cjs.map +1 -0
  30. package/build/lib/index.js +11 -0
  31. package/build/lib/index.js.map +1 -0
  32. package/build/lib/setBatchUpdatesFn.cjs +7 -0
  33. package/build/lib/setBatchUpdatesFn.cjs.map +1 -0
  34. package/build/lib/setBatchUpdatesFn.js +5 -0
  35. package/build/lib/setBatchUpdatesFn.js.map +1 -0
  36. package/build/lib/useIsFetching.cjs +18 -0
  37. package/build/lib/useIsFetching.cjs.map +1 -0
  38. package/build/lib/useIsFetching.js +16 -0
  39. package/build/lib/useIsFetching.js.map +1 -0
  40. package/build/lib/useIsMutating.cjs +18 -0
  41. package/build/lib/useIsMutating.cjs.map +1 -0
  42. package/build/lib/useIsMutating.js +16 -0
  43. package/build/lib/useIsMutating.js.map +1 -0
  44. package/build/lib/utils.cjs +12 -0
  45. package/build/lib/utils.cjs.map +1 -0
  46. package/build/lib/utils.js +10 -0
  47. package/build/lib/utils.js.map +1 -0
  48. package/build/stats-html.html +6177 -0
  49. package/build/stats.json +605 -0
  50. package/package.json +2 -5
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var queryCore = require('@tanstack/query-core');
4
+ var QueryClientProvider = require('./QueryClientProvider.cjs');
5
+ var solidJs = require('solid-js');
6
+ var store = require('solid-js/store');
7
+ var utils = require('./utils.cjs');
8
+
9
+ // HOOK
10
+ function createMutation(options, queryClient) {
11
+ const client = QueryClientProvider.useQueryClient(queryClient?.());
12
+ const observer = new queryCore.MutationObserver(client, options());
13
+ const mutate = (variables, mutateOptions) => {
14
+ observer.mutate(variables, mutateOptions).catch(noop);
15
+ };
16
+ const [state, setState] = store.createStore({
17
+ ...observer.getCurrentResult(),
18
+ mutate,
19
+ mutateAsync: observer.getCurrentResult().mutate
20
+ });
21
+ solidJs.createComputed(() => {
22
+ observer.setOptions(options());
23
+ });
24
+ solidJs.createComputed(solidJs.on(() => state.status, () => {
25
+ if (state.isError && utils.shouldThrowError(observer.options.throwOnError, [state.error])) {
26
+ throw state.error;
27
+ }
28
+ }));
29
+ const unsubscribe = observer.subscribe(result => {
30
+ setState({
31
+ ...result,
32
+ mutate,
33
+ mutateAsync: result.mutate
34
+ });
35
+ });
36
+ solidJs.onCleanup(unsubscribe);
37
+ return state;
38
+ }
39
+
40
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
41
+ function noop() {}
42
+
43
+ exports.createMutation = createMutation;
44
+ //# sourceMappingURL=createMutation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMutation.cjs","sources":["../../src/createMutation.ts"],"sourcesContent":["import type { DefaultError } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n CreateMutateFunction,\n CreateMutationOptions,\n CreateMutationResult,\n} from './types'\nimport type { Accessor } from 'solid-js'\nimport { createComputed, onCleanup, on } from 'solid-js'\nimport { createStore } from 'solid-js/store'\nimport { shouldThrowError } from './utils'\n\n// HOOK\nexport function createMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: CreateMutationOptions<TData, TError, TVariables, TContext>,\n queryClient?: Accessor<QueryClient>,\n): CreateMutationResult<TData, TError, TVariables, TContext> {\n const client = useQueryClient(queryClient?.())\n\n const observer = new MutationObserver<TData, TError, TVariables, TContext>(\n client,\n options(),\n )\n\n const mutate: CreateMutateFunction<TData, TError, TVariables, TContext> = (\n variables,\n mutateOptions,\n ) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n }\n\n const [state, setState] = createStore<\n CreateMutationResult<TData, TError, TVariables, TContext>\n >({\n ...observer.getCurrentResult(),\n mutate,\n mutateAsync: observer.getCurrentResult().mutate,\n })\n\n createComputed(() => {\n observer.setOptions(options())\n })\n\n createComputed(\n on(\n () => state.status,\n () => {\n if (\n state.isError &&\n shouldThrowError(observer.options.throwOnError, [state.error])\n ) {\n throw state.error\n }\n },\n ),\n )\n\n const unsubscribe = observer.subscribe((result) => {\n setState({\n ...result,\n mutate,\n mutateAsync: result.mutate,\n })\n })\n\n onCleanup(unsubscribe)\n\n return state\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n"],"names":["createMutation","options","queryClient","client","useQueryClient","observer","MutationObserver","mutate","variables","mutateOptions","catch","noop","state","setState","createStore","getCurrentResult","mutateAsync","createComputed","setOptions","on","status","isError","shouldThrowError","throwOnError","error","unsubscribe","subscribe","result","onCleanup"],"mappings":";;;;;;;;AAcA;AACO,SAASA,cAAcA,CAM5BC,OAAmE,EACnEC,WAAmC,EACwB;AAC3D,EAAA,MAAMC,MAAM,GAAGC,kCAAc,CAACF,WAAW,IAAI,CAAC,CAAA;EAE9C,MAAMG,QAAQ,GAAG,IAAIC,0BAAgB,CACnCH,MAAM,EACNF,OAAO,EACT,CAAC,CAAA;AAED,EAAA,MAAMM,MAAiE,GAAGA,CACxEC,SAAS,EACTC,aAAa,KACV;IACHJ,QAAQ,CAACE,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAACC,IAAI,CAAC,CAAA;GACtD,CAAA;AAED,EAAA,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,iBAAW,CAEnC;AACA,IAAA,GAAGT,QAAQ,CAACU,gBAAgB,EAAE;IAC9BR,MAAM;AACNS,IAAAA,WAAW,EAAEX,QAAQ,CAACU,gBAAgB,EAAE,CAACR,MAAAA;AAC3C,GAAC,CAAC,CAAA;AAEFU,EAAAA,sBAAc,CAAC,MAAM;AACnBZ,IAAAA,QAAQ,CAACa,UAAU,CAACjB,OAAO,EAAE,CAAC,CAAA;AAChC,GAAC,CAAC,CAAA;EAEFgB,sBAAc,CACZE,UAAE,CACA,MAAMP,KAAK,CAACQ,MAAM,EAClB,MAAM;AACJ,IAAA,IACER,KAAK,CAACS,OAAO,IACbC,sBAAgB,CAACjB,QAAQ,CAACJ,OAAO,CAACsB,YAAY,EAAE,CAACX,KAAK,CAACY,KAAK,CAAC,CAAC,EAC9D;MACA,MAAMZ,KAAK,CAACY,KAAK,CAAA;AACnB,KAAA;AACF,GACF,CACF,CAAC,CAAA;AAED,EAAA,MAAMC,WAAW,GAAGpB,QAAQ,CAACqB,SAAS,CAAEC,MAAM,IAAK;AACjDd,IAAAA,QAAQ,CAAC;AACP,MAAA,GAAGc,MAAM;MACTpB,MAAM;MACNS,WAAW,EAAEW,MAAM,CAACpB,MAAAA;AACtB,KAAC,CAAC,CAAA;AACJ,GAAC,CAAC,CAAA;EAEFqB,iBAAS,CAACH,WAAW,CAAC,CAAA;AAEtB,EAAA,OAAOb,KAAK,CAAA;AACd,CAAA;;AAEA;AACA,SAASD,IAAIA,GAAG;;;;"}
@@ -0,0 +1,42 @@
1
+ import { MutationObserver } from '@tanstack/query-core';
2
+ import { useQueryClient } from './QueryClientProvider.js';
3
+ import { createComputed, on, onCleanup } from 'solid-js';
4
+ import { createStore } from 'solid-js/store';
5
+ import { shouldThrowError } from './utils.js';
6
+
7
+ // HOOK
8
+ function createMutation(options, queryClient) {
9
+ const client = useQueryClient(queryClient?.());
10
+ const observer = new MutationObserver(client, options());
11
+ const mutate = (variables, mutateOptions) => {
12
+ observer.mutate(variables, mutateOptions).catch(noop);
13
+ };
14
+ const [state, setState] = createStore({
15
+ ...observer.getCurrentResult(),
16
+ mutate,
17
+ mutateAsync: observer.getCurrentResult().mutate
18
+ });
19
+ createComputed(() => {
20
+ observer.setOptions(options());
21
+ });
22
+ createComputed(on(() => state.status, () => {
23
+ if (state.isError && shouldThrowError(observer.options.throwOnError, [state.error])) {
24
+ throw state.error;
25
+ }
26
+ }));
27
+ const unsubscribe = observer.subscribe(result => {
28
+ setState({
29
+ ...result,
30
+ mutate,
31
+ mutateAsync: result.mutate
32
+ });
33
+ });
34
+ onCleanup(unsubscribe);
35
+ return state;
36
+ }
37
+
38
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
39
+ function noop() {}
40
+
41
+ export { createMutation };
42
+ //# sourceMappingURL=createMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMutation.js","sources":["../../src/createMutation.ts"],"sourcesContent":["import type { DefaultError } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { useQueryClient } from './QueryClientProvider'\nimport type {\n CreateMutateFunction,\n CreateMutationOptions,\n CreateMutationResult,\n} from './types'\nimport type { Accessor } from 'solid-js'\nimport { createComputed, onCleanup, on } from 'solid-js'\nimport { createStore } from 'solid-js/store'\nimport { shouldThrowError } from './utils'\n\n// HOOK\nexport function createMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n options: CreateMutationOptions<TData, TError, TVariables, TContext>,\n queryClient?: Accessor<QueryClient>,\n): CreateMutationResult<TData, TError, TVariables, TContext> {\n const client = useQueryClient(queryClient?.())\n\n const observer = new MutationObserver<TData, TError, TVariables, TContext>(\n client,\n options(),\n )\n\n const mutate: CreateMutateFunction<TData, TError, TVariables, TContext> = (\n variables,\n mutateOptions,\n ) => {\n observer.mutate(variables, mutateOptions).catch(noop)\n }\n\n const [state, setState] = createStore<\n CreateMutationResult<TData, TError, TVariables, TContext>\n >({\n ...observer.getCurrentResult(),\n mutate,\n mutateAsync: observer.getCurrentResult().mutate,\n })\n\n createComputed(() => {\n observer.setOptions(options())\n })\n\n createComputed(\n on(\n () => state.status,\n () => {\n if (\n state.isError &&\n shouldThrowError(observer.options.throwOnError, [state.error])\n ) {\n throw state.error\n }\n },\n ),\n )\n\n const unsubscribe = observer.subscribe((result) => {\n setState({\n ...result,\n mutate,\n mutateAsync: result.mutate,\n })\n })\n\n onCleanup(unsubscribe)\n\n return state\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n"],"names":["createMutation","options","queryClient","client","useQueryClient","observer","MutationObserver","mutate","variables","mutateOptions","catch","noop","state","setState","createStore","getCurrentResult","mutateAsync","createComputed","setOptions","on","status","isError","shouldThrowError","throwOnError","error","unsubscribe","subscribe","result","onCleanup"],"mappings":";;;;;;AAcA;AACO,SAASA,cAAcA,CAM5BC,OAAmE,EACnEC,WAAmC,EACwB;AAC3D,EAAA,MAAMC,MAAM,GAAGC,cAAc,CAACF,WAAW,IAAI,CAAC,CAAA;EAE9C,MAAMG,QAAQ,GAAG,IAAIC,gBAAgB,CACnCH,MAAM,EACNF,OAAO,EACT,CAAC,CAAA;AAED,EAAA,MAAMM,MAAiE,GAAGA,CACxEC,SAAS,EACTC,aAAa,KACV;IACHJ,QAAQ,CAACE,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAACC,IAAI,CAAC,CAAA;GACtD,CAAA;AAED,EAAA,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,WAAW,CAEnC;AACA,IAAA,GAAGT,QAAQ,CAACU,gBAAgB,EAAE;IAC9BR,MAAM;AACNS,IAAAA,WAAW,EAAEX,QAAQ,CAACU,gBAAgB,EAAE,CAACR,MAAAA;AAC3C,GAAC,CAAC,CAAA;AAEFU,EAAAA,cAAc,CAAC,MAAM;AACnBZ,IAAAA,QAAQ,CAACa,UAAU,CAACjB,OAAO,EAAE,CAAC,CAAA;AAChC,GAAC,CAAC,CAAA;EAEFgB,cAAc,CACZE,EAAE,CACA,MAAMP,KAAK,CAACQ,MAAM,EAClB,MAAM;AACJ,IAAA,IACER,KAAK,CAACS,OAAO,IACbC,gBAAgB,CAACjB,QAAQ,CAACJ,OAAO,CAACsB,YAAY,EAAE,CAACX,KAAK,CAACY,KAAK,CAAC,CAAC,EAC9D;MACA,MAAMZ,KAAK,CAACY,KAAK,CAAA;AACnB,KAAA;AACF,GACF,CACF,CAAC,CAAA;AAED,EAAA,MAAMC,WAAW,GAAGpB,QAAQ,CAACqB,SAAS,CAAEC,MAAM,IAAK;AACjDd,IAAAA,QAAQ,CAAC;AACP,MAAA,GAAGc,MAAM;MACTpB,MAAM;MACNS,WAAW,EAAEW,MAAM,CAACpB,MAAAA;AACtB,KAAC,CAAC,CAAA;AACJ,GAAC,CAAC,CAAA;EAEFqB,SAAS,CAACH,WAAW,CAAC,CAAA;AAEtB,EAAA,OAAOb,KAAK,CAAA;AACd,CAAA;;AAEA;AACA,SAASD,IAAIA,GAAG;;;;"}
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var queryCore = require('@tanstack/query-core');
4
+ var solidJs = require('solid-js');
5
+ var store = require('solid-js/store');
6
+ var QueryClientProvider = require('./QueryClientProvider.cjs');
7
+
8
+ // This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.
9
+ // `placeholderData` function does not have a parameter
10
+ // Avoid TS depth-limit error in case of large array literal
11
+ /**
12
+ * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
13
+ */
14
+ /**
15
+ * QueriesResults reducer recursively maps type param to results
16
+ */
17
+ function createQueries(queriesOptions, queryClient) {
18
+ const client = QueryClientProvider.useQueryClient(queryClient?.());
19
+ const defaultedQueries = queriesOptions().queries.map(options => {
20
+ const defaultedOptions = client.defaultQueryOptions(options);
21
+ defaultedOptions._optimisticResults = 'optimistic';
22
+ return defaultedOptions;
23
+ });
24
+ const observer = new queryCore.QueriesObserver(client, defaultedQueries, queriesOptions().combine ? {
25
+ combine: queriesOptions().combine
26
+ } : undefined);
27
+
28
+ // @ts-expect-error - Types issue with solid-js createStore
29
+ const [state, setState] = store.createStore(observer.getOptimisticResult(defaultedQueries)[1]());
30
+ const unsubscribe = observer.subscribe(result => {
31
+ queryCore.notifyManager.batchCalls(() => {
32
+ setState(store.unwrap(result));
33
+ })();
34
+ });
35
+ solidJs.onCleanup(unsubscribe);
36
+ solidJs.createComputed(() => {
37
+ const updatedQueries = queriesOptions().queries.map(options => {
38
+ const defaultedOptions = client.defaultQueryOptions(options);
39
+ defaultedOptions._optimisticResults = 'optimistic';
40
+ return defaultedOptions;
41
+ });
42
+ observer.setQueries(updatedQueries, queriesOptions().combine ? {
43
+ combine: queriesOptions().combine
44
+ } : undefined, {
45
+ listeners: false
46
+ });
47
+ });
48
+ return state;
49
+ }
50
+
51
+ exports.createQueries = createQueries;
52
+ //# sourceMappingURL=createQueries.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createQueries.cjs","sources":["../../src/createQueries.ts"],"sourcesContent":["import type {\n QueriesPlaceholderDataFunction,\n QueryFunction,\n QueryKey,\n DefaultError,\n QueriesObserverOptions,\n} from '@tanstack/query-core'\nimport { notifyManager, QueriesObserver } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport type { Accessor } from 'solid-js'\nimport { createComputed, onCleanup } from 'solid-js'\nimport { createStore, unwrap } from 'solid-js/store'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { CreateQueryResult, SolidQueryOptions } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype CreateQueryOptionsForCreateQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = Omit<\n SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? CreateQueryOptionsForCreateQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? CreateQueryOptionsForCreateQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? CreateQueryOptionsForCreateQueries<\n TQueryFnData,\n Error,\n TQueryFnData,\n TQueryKey\n >\n : // Fallback\n CreateQueryOptionsForCreateQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? CreateQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? CreateQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? CreateQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? CreateQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? CreateQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? CreateQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? CreateQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? CreateQueryResult<TQueryFnData>\n : // Fallback\n CreateQueryResult\n\n/**\n * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type QueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? CreateQueryOptionsForCreateQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends CreateQueryOptionsForCreateQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n CreateQueryOptionsForCreateQueries[]\n\n/**\n * QueriesResults reducer recursively maps type param to results\n */\nexport type QueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? CreateQueryResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends CreateQueryOptionsForCreateQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n CreateQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >[]\n : // Fallback\n CreateQueryResult[]\n\nexport function createQueries<\n T extends any[],\n TCombinedResult = QueriesResults<T>,\n>(\n queriesOptions: Accessor<{\n queries: readonly [...QueriesOptions<T>]\n combine?: (result: QueriesResults<T>) => TCombinedResult\n }>,\n queryClient?: Accessor<QueryClient>,\n): TCombinedResult {\n const client = useQueryClient(queryClient?.())\n\n const defaultedQueries = queriesOptions().queries.map((options) => {\n const defaultedOptions = client.defaultQueryOptions(options)\n defaultedOptions._optimisticResults = 'optimistic'\n return defaultedOptions\n })\n\n const observer = new QueriesObserver(\n client,\n defaultedQueries,\n queriesOptions().combine\n ? ({\n combine: queriesOptions().combine,\n } as QueriesObserverOptions<TCombinedResult>)\n : undefined,\n )\n\n // @ts-expect-error - Types issue with solid-js createStore\n const [state, setState] = createStore<TCombinedResult>(\n observer.getOptimisticResult(defaultedQueries)[1](),\n )\n\n const unsubscribe = observer.subscribe((result) => {\n notifyManager.batchCalls(() => {\n setState(unwrap(result) as unknown as TCombinedResult)\n })()\n })\n\n onCleanup(unsubscribe)\n\n createComputed(() => {\n const updatedQueries = queriesOptions().queries.map((options) => {\n const defaultedOptions = client.defaultQueryOptions(options)\n defaultedOptions._optimisticResults = 'optimistic'\n return defaultedOptions\n })\n observer.setQueries(\n updatedQueries,\n queriesOptions().combine\n ? ({\n combine: queriesOptions().combine,\n } as QueriesObserverOptions<TCombinedResult>)\n : undefined,\n { listeners: false },\n )\n })\n\n return state\n}\n"],"names":["createQueries","queriesOptions","queryClient","client","useQueryClient","defaultedQueries","queries","map","options","defaultedOptions","defaultQueryOptions","_optimisticResults","observer","QueriesObserver","combine","undefined","state","setState","createStore","getOptimisticResult","unsubscribe","subscribe","result","notifyManager","batchCalls","unwrap","onCleanup","createComputed","updatedQueries","setQueries","listeners"],"mappings":";;;;;;;AAeA;AACA;AAaA;AAgEA;AACA;AACA;AA2BA;AACA;AACA;AA2BO,SAASA,aAAaA,CAI3BC,cAGE,EACFC,WAAmC,EAClB;AACjB,EAAA,MAAMC,MAAM,GAAGC,kCAAc,CAACF,WAAW,IAAI,CAAC,CAAA;EAE9C,MAAMG,gBAAgB,GAAGJ,cAAc,EAAE,CAACK,OAAO,CAACC,GAAG,CAAEC,OAAO,IAAK;AACjE,IAAA,MAAMC,gBAAgB,GAAGN,MAAM,CAACO,mBAAmB,CAACF,OAAO,CAAC,CAAA;IAC5DC,gBAAgB,CAACE,kBAAkB,GAAG,YAAY,CAAA;AAClD,IAAA,OAAOF,gBAAgB,CAAA;AACzB,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMG,QAAQ,GAAG,IAAIC,yBAAe,CAClCV,MAAM,EACNE,gBAAgB,EAChBJ,cAAc,EAAE,CAACa,OAAO,GACnB;AACCA,IAAAA,OAAO,EAAEb,cAAc,EAAE,CAACa,OAAAA;GAC3B,GACDC,SACN,CAAC,CAAA;;AAED;AACA,EAAA,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,iBAAW,CACnCN,QAAQ,CAACO,mBAAmB,CAACd,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACnD,CAAC,CAAA;AAED,EAAA,MAAMe,WAAW,GAAGR,QAAQ,CAACS,SAAS,CAAEC,MAAM,IAAK;IACjDC,uBAAa,CAACC,UAAU,CAAC,MAAM;AAC7BP,MAAAA,QAAQ,CAACQ,YAAM,CAACH,MAAM,CAA+B,CAAC,CAAA;KACvD,CAAC,EAAE,CAAA;AACN,GAAC,CAAC,CAAA;EAEFI,iBAAS,CAACN,WAAW,CAAC,CAAA;AAEtBO,EAAAA,sBAAc,CAAC,MAAM;IACnB,MAAMC,cAAc,GAAG3B,cAAc,EAAE,CAACK,OAAO,CAACC,GAAG,CAAEC,OAAO,IAAK;AAC/D,MAAA,MAAMC,gBAAgB,GAAGN,MAAM,CAACO,mBAAmB,CAACF,OAAO,CAAC,CAAA;MAC5DC,gBAAgB,CAACE,kBAAkB,GAAG,YAAY,CAAA;AAClD,MAAA,OAAOF,gBAAgB,CAAA;AACzB,KAAC,CAAC,CAAA;IACFG,QAAQ,CAACiB,UAAU,CACjBD,cAAc,EACd3B,cAAc,EAAE,CAACa,OAAO,GACnB;AACCA,MAAAA,OAAO,EAAEb,cAAc,EAAE,CAACa,OAAAA;KAC3B,GACDC,SAAS,EACb;AAAEe,MAAAA,SAAS,EAAE,KAAA;AAAM,KACrB,CAAC,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOd,KAAK,CAAA;AACd;;;;"}
@@ -0,0 +1,50 @@
1
+ import { QueriesObserver, notifyManager } from '@tanstack/query-core';
2
+ import { onCleanup, createComputed } from 'solid-js';
3
+ import { createStore, unwrap } from 'solid-js/store';
4
+ import { useQueryClient } from './QueryClientProvider.js';
5
+
6
+ // This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.
7
+ // `placeholderData` function does not have a parameter
8
+ // Avoid TS depth-limit error in case of large array literal
9
+ /**
10
+ * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
11
+ */
12
+ /**
13
+ * QueriesResults reducer recursively maps type param to results
14
+ */
15
+ function createQueries(queriesOptions, queryClient) {
16
+ const client = useQueryClient(queryClient?.());
17
+ const defaultedQueries = queriesOptions().queries.map(options => {
18
+ const defaultedOptions = client.defaultQueryOptions(options);
19
+ defaultedOptions._optimisticResults = 'optimistic';
20
+ return defaultedOptions;
21
+ });
22
+ const observer = new QueriesObserver(client, defaultedQueries, queriesOptions().combine ? {
23
+ combine: queriesOptions().combine
24
+ } : undefined);
25
+
26
+ // @ts-expect-error - Types issue with solid-js createStore
27
+ const [state, setState] = createStore(observer.getOptimisticResult(defaultedQueries)[1]());
28
+ const unsubscribe = observer.subscribe(result => {
29
+ notifyManager.batchCalls(() => {
30
+ setState(unwrap(result));
31
+ })();
32
+ });
33
+ onCleanup(unsubscribe);
34
+ createComputed(() => {
35
+ const updatedQueries = queriesOptions().queries.map(options => {
36
+ const defaultedOptions = client.defaultQueryOptions(options);
37
+ defaultedOptions._optimisticResults = 'optimistic';
38
+ return defaultedOptions;
39
+ });
40
+ observer.setQueries(updatedQueries, queriesOptions().combine ? {
41
+ combine: queriesOptions().combine
42
+ } : undefined, {
43
+ listeners: false
44
+ });
45
+ });
46
+ return state;
47
+ }
48
+
49
+ export { createQueries };
50
+ //# sourceMappingURL=createQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createQueries.js","sources":["../../src/createQueries.ts"],"sourcesContent":["import type {\n QueriesPlaceholderDataFunction,\n QueryFunction,\n QueryKey,\n DefaultError,\n QueriesObserverOptions,\n} from '@tanstack/query-core'\nimport { notifyManager, QueriesObserver } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport type { Accessor } from 'solid-js'\nimport { createComputed, onCleanup } from 'solid-js'\nimport { createStore, unwrap } from 'solid-js/store'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { CreateQueryResult, SolidQueryOptions } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype CreateQueryOptionsForCreateQueries<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = Omit<\n SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n 'placeholderData'\n> & {\n placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>\n}\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? CreateQueryOptionsForCreateQueries<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? CreateQueryOptionsForCreateQueries<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, Error, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? CreateQueryOptionsForCreateQueries<\n TQueryFnData,\n Error,\n TQueryFnData,\n TQueryKey\n >\n : // Fallback\n CreateQueryOptionsForCreateQueries\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? CreateQueryResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? CreateQueryResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? CreateQueryResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? CreateQueryResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? CreateQueryResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? CreateQueryResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? CreateQueryResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? CreateQueryResult<TQueryFnData>\n : // Fallback\n CreateQueryResult\n\n/**\n * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type QueriesOptions<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? CreateQueryOptionsForCreateQueries[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : unknown[] extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends CreateQueryOptionsForCreateQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n CreateQueryOptionsForCreateQueries[]\n\n/**\n * QueriesResults reducer recursively maps type param to results\n */\nexport type QueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? CreateQueryResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends CreateQueryOptionsForCreateQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n CreateQueryResult<\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >[]\n : // Fallback\n CreateQueryResult[]\n\nexport function createQueries<\n T extends any[],\n TCombinedResult = QueriesResults<T>,\n>(\n queriesOptions: Accessor<{\n queries: readonly [...QueriesOptions<T>]\n combine?: (result: QueriesResults<T>) => TCombinedResult\n }>,\n queryClient?: Accessor<QueryClient>,\n): TCombinedResult {\n const client = useQueryClient(queryClient?.())\n\n const defaultedQueries = queriesOptions().queries.map((options) => {\n const defaultedOptions = client.defaultQueryOptions(options)\n defaultedOptions._optimisticResults = 'optimistic'\n return defaultedOptions\n })\n\n const observer = new QueriesObserver(\n client,\n defaultedQueries,\n queriesOptions().combine\n ? ({\n combine: queriesOptions().combine,\n } as QueriesObserverOptions<TCombinedResult>)\n : undefined,\n )\n\n // @ts-expect-error - Types issue with solid-js createStore\n const [state, setState] = createStore<TCombinedResult>(\n observer.getOptimisticResult(defaultedQueries)[1](),\n )\n\n const unsubscribe = observer.subscribe((result) => {\n notifyManager.batchCalls(() => {\n setState(unwrap(result) as unknown as TCombinedResult)\n })()\n })\n\n onCleanup(unsubscribe)\n\n createComputed(() => {\n const updatedQueries = queriesOptions().queries.map((options) => {\n const defaultedOptions = client.defaultQueryOptions(options)\n defaultedOptions._optimisticResults = 'optimistic'\n return defaultedOptions\n })\n observer.setQueries(\n updatedQueries,\n queriesOptions().combine\n ? ({\n combine: queriesOptions().combine,\n } as QueriesObserverOptions<TCombinedResult>)\n : undefined,\n { listeners: false },\n )\n })\n\n return state\n}\n"],"names":["createQueries","queriesOptions","queryClient","client","useQueryClient","defaultedQueries","queries","map","options","defaultedOptions","defaultQueryOptions","_optimisticResults","observer","QueriesObserver","combine","undefined","state","setState","createStore","getOptimisticResult","unsubscribe","subscribe","result","notifyManager","batchCalls","unwrap","onCleanup","createComputed","updatedQueries","setQueries","listeners"],"mappings":";;;;;AAeA;AACA;AAaA;AAgEA;AACA;AACA;AA2BA;AACA;AACA;AA2BO,SAASA,aAAaA,CAI3BC,cAGE,EACFC,WAAmC,EAClB;AACjB,EAAA,MAAMC,MAAM,GAAGC,cAAc,CAACF,WAAW,IAAI,CAAC,CAAA;EAE9C,MAAMG,gBAAgB,GAAGJ,cAAc,EAAE,CAACK,OAAO,CAACC,GAAG,CAAEC,OAAO,IAAK;AACjE,IAAA,MAAMC,gBAAgB,GAAGN,MAAM,CAACO,mBAAmB,CAACF,OAAO,CAAC,CAAA;IAC5DC,gBAAgB,CAACE,kBAAkB,GAAG,YAAY,CAAA;AAClD,IAAA,OAAOF,gBAAgB,CAAA;AACzB,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMG,QAAQ,GAAG,IAAIC,eAAe,CAClCV,MAAM,EACNE,gBAAgB,EAChBJ,cAAc,EAAE,CAACa,OAAO,GACnB;AACCA,IAAAA,OAAO,EAAEb,cAAc,EAAE,CAACa,OAAAA;GAC3B,GACDC,SACN,CAAC,CAAA;;AAED;AACA,EAAA,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,WAAW,CACnCN,QAAQ,CAACO,mBAAmB,CAACd,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACnD,CAAC,CAAA;AAED,EAAA,MAAMe,WAAW,GAAGR,QAAQ,CAACS,SAAS,CAAEC,MAAM,IAAK;IACjDC,aAAa,CAACC,UAAU,CAAC,MAAM;AAC7BP,MAAAA,QAAQ,CAACQ,MAAM,CAACH,MAAM,CAA+B,CAAC,CAAA;KACvD,CAAC,EAAE,CAAA;AACN,GAAC,CAAC,CAAA;EAEFI,SAAS,CAACN,WAAW,CAAC,CAAA;AAEtBO,EAAAA,cAAc,CAAC,MAAM;IACnB,MAAMC,cAAc,GAAG3B,cAAc,EAAE,CAACK,OAAO,CAACC,GAAG,CAAEC,OAAO,IAAK;AAC/D,MAAA,MAAMC,gBAAgB,GAAGN,MAAM,CAACO,mBAAmB,CAACF,OAAO,CAAC,CAAA;MAC5DC,gBAAgB,CAACE,kBAAkB,GAAG,YAAY,CAAA;AAClD,MAAA,OAAOF,gBAAgB,CAAA;AACzB,KAAC,CAAC,CAAA;IACFG,QAAQ,CAACiB,UAAU,CACjBD,cAAc,EACd3B,cAAc,EAAE,CAACa,OAAO,GACnB;AACCA,MAAAA,OAAO,EAAEb,cAAc,EAAE,CAACa,OAAAA;KAC3B,GACDC,SAAS,EACb;AAAEe,MAAAA,SAAS,EAAE,KAAA;AAAM,KACrB,CAAC,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOd,KAAK,CAAA;AACd;;;;"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var queryCore = require('@tanstack/query-core');
4
+ var solidJs = require('solid-js');
5
+ var createBaseQuery = require('./createBaseQuery.cjs');
6
+
7
+ function queryOptions(options) {
8
+ return options;
9
+ }
10
+ function createQuery(options, queryClient) {
11
+ return createBaseQuery.createBaseQuery(solidJs.createMemo(() => options()), queryCore.QueryObserver, queryClient);
12
+ }
13
+
14
+ exports.createQuery = createQuery;
15
+ exports.queryOptions = queryOptions;
16
+ //# sourceMappingURL=createQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createQuery.cjs","sources":["../../src/createQuery.ts"],"sourcesContent":["import type { QueryKey, DefaultError } from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport type { Accessor } from 'solid-js'\nimport { createMemo } from 'solid-js'\nimport { createBaseQuery } from './createBaseQuery'\nimport type {\n CreateQueryOptions,\n CreateQueryResult,\n DefinedCreateQueryResult,\n FunctionedParams,\n SolidQueryOptions,\n} from './types'\n\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = FunctionedParams<\n SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n }\n>\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = FunctionedParams<\n SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n }\n>\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function queryOptions(options: unknown) {\n return options\n}\n\nexport function createQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: () => QueryClient,\n): CreateQueryResult<TData, TError>\n\nexport function createQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: () => QueryClient,\n): DefinedCreateQueryResult<TData, TError>\nexport function createQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: Accessor<QueryClient>,\n) {\n return createBaseQuery(\n createMemo(() => options()),\n QueryObserver,\n queryClient,\n )\n}\n"],"names":["queryOptions","options","createQuery","queryClient","createBaseQuery","createMemo","QueryObserver"],"mappings":";;;;;;AAsDO,SAASA,YAAYA,CAACC,OAAgB,EAAE;AAC7C,EAAA,OAAOA,OAAO,CAAA;AAChB,CAAA;AAqBO,SAASC,WAAWA,CAMzBD,OAAmE,EACnEE,WAAmC,EACnC;AACA,EAAA,OAAOC,+BAAe,CACpBC,kBAAU,CAAC,MAAMJ,OAAO,EAAE,CAAC,EAC3BK,uBAAa,EACbH,WACF,CAAC,CAAA;AACH;;;;;"}
@@ -0,0 +1,13 @@
1
+ import { QueryObserver } from '@tanstack/query-core';
2
+ import { createMemo } from 'solid-js';
3
+ import { createBaseQuery } from './createBaseQuery.js';
4
+
5
+ function queryOptions(options) {
6
+ return options;
7
+ }
8
+ function createQuery(options, queryClient) {
9
+ return createBaseQuery(createMemo(() => options()), QueryObserver, queryClient);
10
+ }
11
+
12
+ export { createQuery, queryOptions };
13
+ //# sourceMappingURL=createQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createQuery.js","sources":["../../src/createQuery.ts"],"sourcesContent":["import type { QueryKey, DefaultError } from '@tanstack/query-core'\nimport { QueryObserver } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport type { Accessor } from 'solid-js'\nimport { createMemo } from 'solid-js'\nimport { createBaseQuery } from './createBaseQuery'\nimport type {\n CreateQueryOptions,\n CreateQueryResult,\n DefinedCreateQueryResult,\n FunctionedParams,\n SolidQueryOptions,\n} from './types'\n\ntype UndefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = FunctionedParams<\n SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData?: undefined\n }\n>\n\ntype DefinedInitialDataOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = FunctionedParams<\n SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {\n initialData: TQueryFnData | (() => TQueryFnData)\n }\n>\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function queryOptions<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function queryOptions(options: unknown) {\n return options\n}\n\nexport function createQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: () => QueryClient,\n): CreateQueryResult<TData, TError>\n\nexport function createQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: () => QueryClient,\n): DefinedCreateQueryResult<TData, TError>\nexport function createQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: Accessor<QueryClient>,\n) {\n return createBaseQuery(\n createMemo(() => options()),\n QueryObserver,\n queryClient,\n )\n}\n"],"names":["queryOptions","options","createQuery","queryClient","createBaseQuery","createMemo","QueryObserver"],"mappings":";;;;AAsDO,SAASA,YAAYA,CAACC,OAAgB,EAAE;AAC7C,EAAA,OAAOA,OAAO,CAAA;AAChB,CAAA;AAqBO,SAASC,WAAWA,CAMzBD,OAAmE,EACnEE,WAAmC,EACnC;AACA,EAAA,OAAOC,eAAe,CACpBC,UAAU,CAAC,MAAMJ,OAAO,EAAE,CAAC,EAC3BK,aAAa,EACbH,WACF,CAAC,CAAA;AACH;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ import './setBatchUpdatesFn.js';
2
+ export * from '@tanstack/query-core';
3
+ export { QueryClient } from './QueryClient.js';
4
+ export { createQuery, queryOptions } from './createQuery.js';
5
+ export { QueryClientContext, QueryClientProvider, useQueryClient } from './QueryClientProvider.js';
6
+ export { useIsFetching } from './useIsFetching.js';
7
+ export { createInfiniteQuery } from './createInfiniteQuery.js';
8
+ export { createMutation } from './createMutation.js';
9
+ export { useIsMutating } from './useIsMutating.js';
10
+ export { createQueries } from './createQueries.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var queryCore = require('@tanstack/query-core');
4
+ var solidJs = require('solid-js');
5
+
6
+ queryCore.notifyManager.setBatchNotifyFunction(solidJs.batch);
7
+ //# sourceMappingURL=setBatchUpdatesFn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setBatchUpdatesFn.cjs","sources":["../../src/setBatchUpdatesFn.ts"],"sourcesContent":["import { notifyManager } from '@tanstack/query-core'\nimport { batch } from 'solid-js'\n\nnotifyManager.setBatchNotifyFunction(batch)\n"],"names":["notifyManager","setBatchNotifyFunction","batch"],"mappings":";;;;;AAGAA,uBAAa,CAACC,sBAAsB,CAACC,aAAK,CAAC;;"}
@@ -0,0 +1,5 @@
1
+ import { notifyManager } from '@tanstack/query-core';
2
+ import { batch } from 'solid-js';
3
+
4
+ notifyManager.setBatchNotifyFunction(batch);
5
+ //# sourceMappingURL=setBatchUpdatesFn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setBatchUpdatesFn.js","sources":["../../src/setBatchUpdatesFn.ts"],"sourcesContent":["import { notifyManager } from '@tanstack/query-core'\nimport { batch } from 'solid-js'\n\nnotifyManager.setBatchNotifyFunction(batch)\n"],"names":["notifyManager","setBatchNotifyFunction","batch"],"mappings":";;;AAGAA,aAAa,CAACC,sBAAsB,CAACC,KAAK,CAAC"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var solidJs = require('solid-js');
4
+ var QueryClientProvider = require('./QueryClientProvider.cjs');
5
+
6
+ function useIsFetching(filters, queryClient) {
7
+ const client = solidJs.createMemo(() => QueryClientProvider.useQueryClient(queryClient?.()));
8
+ const queryCache = solidJs.createMemo(() => client().getQueryCache());
9
+ const [fetches, setFetches] = solidJs.createSignal(client().isFetching(filters?.()));
10
+ const unsubscribe = queryCache().subscribe(() => {
11
+ setFetches(client().isFetching(filters?.()));
12
+ });
13
+ solidJs.onCleanup(unsubscribe);
14
+ return fetches;
15
+ }
16
+
17
+ exports.useIsFetching = useIsFetching;
18
+ //# sourceMappingURL=useIsFetching.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsFetching.cjs","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import type { QueryFilters } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport type { Accessor } from 'solid-js'\nimport { createMemo, createSignal, onCleanup } from 'solid-js'\nimport { useQueryClient } from './QueryClientProvider'\n\nexport function useIsFetching(\n filters?: Accessor<QueryFilters>,\n queryClient?: Accessor<QueryClient>,\n): Accessor<number> {\n const client = createMemo(() => useQueryClient(queryClient?.()))\n const queryCache = createMemo(() => client().getQueryCache())\n\n const [fetches, setFetches] = createSignal(client().isFetching(filters?.()))\n\n const unsubscribe = queryCache().subscribe(() => {\n setFetches(client().isFetching(filters?.()))\n })\n\n onCleanup(unsubscribe)\n\n return fetches\n}\n"],"names":["useIsFetching","filters","queryClient","client","createMemo","useQueryClient","queryCache","getQueryCache","fetches","setFetches","createSignal","isFetching","unsubscribe","subscribe","onCleanup"],"mappings":";;;;;AAMO,SAASA,aAAaA,CAC3BC,OAAgC,EAChCC,WAAmC,EACjB;EAClB,MAAMC,MAAM,GAAGC,kBAAU,CAAC,MAAMC,kCAAc,CAACH,WAAW,IAAI,CAAC,CAAC,CAAA;AAChE,EAAA,MAAMI,UAAU,GAAGF,kBAAU,CAAC,MAAMD,MAAM,EAAE,CAACI,aAAa,EAAE,CAAC,CAAA;AAE7D,EAAA,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,oBAAY,CAACP,MAAM,EAAE,CAACQ,UAAU,CAACV,OAAO,IAAI,CAAC,CAAC,CAAA;EAE5E,MAAMW,WAAW,GAAGN,UAAU,EAAE,CAACO,SAAS,CAAC,MAAM;IAC/CJ,UAAU,CAACN,MAAM,EAAE,CAACQ,UAAU,CAACV,OAAO,IAAI,CAAC,CAAC,CAAA;AAC9C,GAAC,CAAC,CAAA;EAEFa,iBAAS,CAACF,WAAW,CAAC,CAAA;AAEtB,EAAA,OAAOJ,OAAO,CAAA;AAChB;;;;"}
@@ -0,0 +1,16 @@
1
+ import { createMemo, createSignal, onCleanup } from 'solid-js';
2
+ import { useQueryClient } from './QueryClientProvider.js';
3
+
4
+ function useIsFetching(filters, queryClient) {
5
+ const client = createMemo(() => useQueryClient(queryClient?.()));
6
+ const queryCache = createMemo(() => client().getQueryCache());
7
+ const [fetches, setFetches] = createSignal(client().isFetching(filters?.()));
8
+ const unsubscribe = queryCache().subscribe(() => {
9
+ setFetches(client().isFetching(filters?.()));
10
+ });
11
+ onCleanup(unsubscribe);
12
+ return fetches;
13
+ }
14
+
15
+ export { useIsFetching };
16
+ //# sourceMappingURL=useIsFetching.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsFetching.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import type { QueryFilters } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport type { Accessor } from 'solid-js'\nimport { createMemo, createSignal, onCleanup } from 'solid-js'\nimport { useQueryClient } from './QueryClientProvider'\n\nexport function useIsFetching(\n filters?: Accessor<QueryFilters>,\n queryClient?: Accessor<QueryClient>,\n): Accessor<number> {\n const client = createMemo(() => useQueryClient(queryClient?.()))\n const queryCache = createMemo(() => client().getQueryCache())\n\n const [fetches, setFetches] = createSignal(client().isFetching(filters?.()))\n\n const unsubscribe = queryCache().subscribe(() => {\n setFetches(client().isFetching(filters?.()))\n })\n\n onCleanup(unsubscribe)\n\n return fetches\n}\n"],"names":["useIsFetching","filters","queryClient","client","createMemo","useQueryClient","queryCache","getQueryCache","fetches","setFetches","createSignal","isFetching","unsubscribe","subscribe","onCleanup"],"mappings":";;;AAMO,SAASA,aAAaA,CAC3BC,OAAgC,EAChCC,WAAmC,EACjB;EAClB,MAAMC,MAAM,GAAGC,UAAU,CAAC,MAAMC,cAAc,CAACH,WAAW,IAAI,CAAC,CAAC,CAAA;AAChE,EAAA,MAAMI,UAAU,GAAGF,UAAU,CAAC,MAAMD,MAAM,EAAE,CAACI,aAAa,EAAE,CAAC,CAAA;AAE7D,EAAA,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,YAAY,CAACP,MAAM,EAAE,CAACQ,UAAU,CAACV,OAAO,IAAI,CAAC,CAAC,CAAA;EAE5E,MAAMW,WAAW,GAAGN,UAAU,EAAE,CAACO,SAAS,CAAC,MAAM;IAC/CJ,UAAU,CAACN,MAAM,EAAE,CAACQ,UAAU,CAACV,OAAO,IAAI,CAAC,CAAC,CAAA;AAC9C,GAAC,CAAC,CAAA;EAEFa,SAAS,CAACF,WAAW,CAAC,CAAA;AAEtB,EAAA,OAAOJ,OAAO,CAAA;AAChB;;;;"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var QueryClientProvider = require('./QueryClientProvider.cjs');
4
+ var solidJs = require('solid-js');
5
+
6
+ function useIsMutating(filters, queryClient) {
7
+ const client = solidJs.createMemo(() => QueryClientProvider.useQueryClient(queryClient?.()));
8
+ const mutationCache = solidJs.createMemo(() => client().getMutationCache());
9
+ const [mutations, setMutations] = solidJs.createSignal(client().isMutating(filters?.()));
10
+ const unsubscribe = mutationCache().subscribe(_result => {
11
+ setMutations(client().isMutating(filters?.()));
12
+ });
13
+ solidJs.onCleanup(unsubscribe);
14
+ return mutations;
15
+ }
16
+
17
+ exports.useIsMutating = useIsMutating;
18
+ //# sourceMappingURL=useIsMutating.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsMutating.cjs","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import type { MutationFilters } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { Accessor } from 'solid-js'\nimport { createSignal, onCleanup, createMemo } from 'solid-js'\n\nexport function useIsMutating(\n filters?: Accessor<MutationFilters>,\n queryClient?: Accessor<QueryClient>,\n): Accessor<number> {\n const client = createMemo(() => useQueryClient(queryClient?.()))\n const mutationCache = createMemo(() => client().getMutationCache())\n\n const [mutations, setMutations] = createSignal(\n client().isMutating(filters?.()),\n )\n\n const unsubscribe = mutationCache().subscribe((_result) => {\n setMutations(client().isMutating(filters?.()))\n })\n\n onCleanup(unsubscribe)\n\n return mutations\n}\n"],"names":["useIsMutating","filters","queryClient","client","createMemo","useQueryClient","mutationCache","getMutationCache","mutations","setMutations","createSignal","isMutating","unsubscribe","subscribe","_result","onCleanup"],"mappings":";;;;;AAMO,SAASA,aAAaA,CAC3BC,OAAmC,EACnCC,WAAmC,EACjB;EAClB,MAAMC,MAAM,GAAGC,kBAAU,CAAC,MAAMC,kCAAc,CAACH,WAAW,IAAI,CAAC,CAAC,CAAA;AAChE,EAAA,MAAMI,aAAa,GAAGF,kBAAU,CAAC,MAAMD,MAAM,EAAE,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAEnE,EAAA,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,oBAAY,CAC5CP,MAAM,EAAE,CAACQ,UAAU,CAACV,OAAO,IAAI,CACjC,CAAC,CAAA;EAED,MAAMW,WAAW,GAAGN,aAAa,EAAE,CAACO,SAAS,CAAEC,OAAO,IAAK;IACzDL,YAAY,CAACN,MAAM,EAAE,CAACQ,UAAU,CAACV,OAAO,IAAI,CAAC,CAAC,CAAA;AAChD,GAAC,CAAC,CAAA;EAEFc,iBAAS,CAACH,WAAW,CAAC,CAAA;AAEtB,EAAA,OAAOJ,SAAS,CAAA;AAClB;;;;"}
@@ -0,0 +1,16 @@
1
+ import { useQueryClient } from './QueryClientProvider.js';
2
+ import { createMemo, createSignal, onCleanup } from 'solid-js';
3
+
4
+ function useIsMutating(filters, queryClient) {
5
+ const client = createMemo(() => useQueryClient(queryClient?.()));
6
+ const mutationCache = createMemo(() => client().getMutationCache());
7
+ const [mutations, setMutations] = createSignal(client().isMutating(filters?.()));
8
+ const unsubscribe = mutationCache().subscribe(_result => {
9
+ setMutations(client().isMutating(filters?.()));
10
+ });
11
+ onCleanup(unsubscribe);
12
+ return mutations;
13
+ }
14
+
15
+ export { useIsMutating };
16
+ //# sourceMappingURL=useIsMutating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsMutating.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import type { MutationFilters } from '@tanstack/query-core'\nimport type { QueryClient } from './QueryClient'\nimport { useQueryClient } from './QueryClientProvider'\nimport type { Accessor } from 'solid-js'\nimport { createSignal, onCleanup, createMemo } from 'solid-js'\n\nexport function useIsMutating(\n filters?: Accessor<MutationFilters>,\n queryClient?: Accessor<QueryClient>,\n): Accessor<number> {\n const client = createMemo(() => useQueryClient(queryClient?.()))\n const mutationCache = createMemo(() => client().getMutationCache())\n\n const [mutations, setMutations] = createSignal(\n client().isMutating(filters?.()),\n )\n\n const unsubscribe = mutationCache().subscribe((_result) => {\n setMutations(client().isMutating(filters?.()))\n })\n\n onCleanup(unsubscribe)\n\n return mutations\n}\n"],"names":["useIsMutating","filters","queryClient","client","createMemo","useQueryClient","mutationCache","getMutationCache","mutations","setMutations","createSignal","isMutating","unsubscribe","subscribe","_result","onCleanup"],"mappings":";;;AAMO,SAASA,aAAaA,CAC3BC,OAAmC,EACnCC,WAAmC,EACjB;EAClB,MAAMC,MAAM,GAAGC,UAAU,CAAC,MAAMC,cAAc,CAACH,WAAW,IAAI,CAAC,CAAC,CAAA;AAChE,EAAA,MAAMI,aAAa,GAAGF,UAAU,CAAC,MAAMD,MAAM,EAAE,CAACI,gBAAgB,EAAE,CAAC,CAAA;AAEnE,EAAA,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,YAAY,CAC5CP,MAAM,EAAE,CAACQ,UAAU,CAACV,OAAO,IAAI,CACjC,CAAC,CAAA;EAED,MAAMW,WAAW,GAAGN,aAAa,EAAE,CAACO,SAAS,CAAEC,OAAO,IAAK;IACzDL,YAAY,CAACN,MAAM,EAAE,CAACQ,UAAU,CAACV,OAAO,IAAI,CAAC,CAAC,CAAA;AAChD,GAAC,CAAC,CAAA;EAEFc,SAAS,CAACH,WAAW,CAAC,CAAA;AAEtB,EAAA,OAAOJ,SAAS,CAAA;AAClB;;;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ function shouldThrowError(throwError, params) {
4
+ // Allow throwError function to override throwing behavior on a per-error basis
5
+ if (typeof throwError === 'function') {
6
+ return throwError(...params);
7
+ }
8
+ return !!throwError;
9
+ }
10
+
11
+ exports.shouldThrowError = shouldThrowError;
12
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.cjs","sources":["../../src/utils.ts"],"sourcesContent":["export function shouldThrowError<T extends (...args: any[]) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n"],"names":["shouldThrowError","throwError","params"],"mappings":";;AAAO,SAASA,gBAAgBA,CAC9BC,UAAmC,EACnCC,MAAqB,EACZ;AACT;AACA,EAAA,IAAI,OAAOD,UAAU,KAAK,UAAU,EAAE;AACpC,IAAA,OAAOA,UAAU,CAAC,GAAGC,MAAM,CAAC,CAAA;AAC9B,GAAA;EAEA,OAAO,CAAC,CAACD,UAAU,CAAA;AACrB;;;;"}
@@ -0,0 +1,10 @@
1
+ function shouldThrowError(throwError, params) {
2
+ // Allow throwError function to override throwing behavior on a per-error basis
3
+ if (typeof throwError === 'function') {
4
+ return throwError(...params);
5
+ }
6
+ return !!throwError;
7
+ }
8
+
9
+ export { shouldThrowError };
10
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["export function shouldThrowError<T extends (...args: any[]) => boolean>(\n throwError: boolean | T | undefined,\n params: Parameters<T>,\n): boolean {\n // Allow throwError function to override throwing behavior on a per-error basis\n if (typeof throwError === 'function') {\n return throwError(...params)\n }\n\n return !!throwError\n}\n"],"names":["shouldThrowError","throwError","params"],"mappings":"AAAO,SAASA,gBAAgBA,CAC9BC,UAAmC,EACnCC,MAAqB,EACZ;AACT;AACA,EAAA,IAAI,OAAOD,UAAU,KAAK,UAAU,EAAE;AACpC,IAAA,OAAOA,UAAU,CAAC,GAAGC,MAAM,CAAC,CAAA;AAC9B,GAAA;EAEA,OAAO,CAAC,CAACD,UAAU,CAAA;AACrB;;;;"}