@tanstack/solid-query 4.36.1 → 4.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -10
- package/build/lib/QueryClientProvider.d.ts.map +0 -1
- package/build/lib/QueryClientProvider.esm.js +0 -74
- package/build/lib/QueryClientProvider.esm.js.map +0 -1
- package/build/lib/QueryClientProvider.js +0 -80
- package/build/lib/QueryClientProvider.js.map +0 -1
- package/build/lib/QueryClientProvider.mjs +0 -74
- package/build/lib/QueryClientProvider.mjs.map +0 -1
- package/build/lib/__tests__/QueryClientProvider.test.d.ts.map +0 -1
- package/build/lib/__tests__/createInfiniteQuery.test.d.ts.map +0 -1
- package/build/lib/__tests__/createMutation.test.d.ts.map +0 -1
- package/build/lib/__tests__/createQueries.test.d.ts.map +0 -1
- package/build/lib/__tests__/createQuery.test.d.ts.map +0 -1
- package/build/lib/__tests__/createQuery.types.test.d.ts.map +0 -1
- package/build/lib/__tests__/suspense.test.d.ts.map +0 -1
- package/build/lib/__tests__/transition.test.d.ts.map +0 -1
- package/build/lib/__tests__/useIsFetching.test.d.ts.map +0 -1
- package/build/lib/__tests__/useIsMutating.test.d.ts.map +0 -1
- package/build/lib/__tests__/utils.d.ts.map +0 -1
- package/build/lib/createBaseQuery.d.ts.map +0 -1
- package/build/lib/createBaseQuery.esm.js +0 -94
- package/build/lib/createBaseQuery.esm.js.map +0 -1
- package/build/lib/createBaseQuery.js +0 -98
- package/build/lib/createBaseQuery.js.map +0 -1
- package/build/lib/createBaseQuery.mjs +0 -94
- package/build/lib/createBaseQuery.mjs.map +0 -1
- package/build/lib/createInfiniteQuery.d.ts.map +0 -1
- package/build/lib/createInfiniteQuery.esm.js +0 -20
- package/build/lib/createInfiniteQuery.esm.js.map +0 -1
- package/build/lib/createInfiniteQuery.js +0 -24
- package/build/lib/createInfiniteQuery.js.map +0 -1
- package/build/lib/createInfiniteQuery.mjs +0 -20
- package/build/lib/createInfiniteQuery.mjs.map +0 -1
- package/build/lib/createMutation.d.ts.map +0 -1
- package/build/lib/createMutation.esm.js +0 -45
- package/build/lib/createMutation.esm.js.map +0 -1
- package/build/lib/createMutation.js +0 -49
- package/build/lib/createMutation.js.map +0 -1
- package/build/lib/createMutation.mjs +0 -45
- package/build/lib/createMutation.mjs.map +0 -1
- package/build/lib/createQueries.d.ts.map +0 -1
- package/build/lib/createQueries.esm.js +0 -52
- package/build/lib/createQueries.esm.js.map +0 -1
- package/build/lib/createQueries.js +0 -56
- package/build/lib/createQueries.js.map +0 -1
- package/build/lib/createQueries.mjs +0 -52
- package/build/lib/createQueries.mjs.map +0 -1
- package/build/lib/createQuery.d.ts.map +0 -1
- package/build/lib/createQuery.esm.js +0 -20
- package/build/lib/createQuery.esm.js.map +0 -1
- package/build/lib/createQuery.js +0 -24
- package/build/lib/createQuery.js.map +0 -1
- package/build/lib/createQuery.mjs +0 -20
- package/build/lib/createQuery.mjs.map +0 -1
- package/build/lib/index.d.ts.map +0 -1
- package/build/lib/index.esm.js +0 -9
- package/build/lib/index.esm.js.map +0 -1
- package/build/lib/index.js +0 -31
- package/build/lib/index.js.map +0 -1
- package/build/lib/index.mjs +0 -9
- package/build/lib/index.mjs.map +0 -1
- package/build/lib/types.d.ts.map +0 -1
- package/build/lib/useIsFetching.d.ts.map +0 -1
- package/build/lib/useIsFetching.esm.js +0 -29
- package/build/lib/useIsFetching.esm.js.map +0 -1
- package/build/lib/useIsFetching.js +0 -33
- package/build/lib/useIsFetching.js.map +0 -1
- package/build/lib/useIsFetching.mjs +0 -29
- package/build/lib/useIsFetching.mjs.map +0 -1
- package/build/lib/useIsMutating.d.ts.map +0 -1
- package/build/lib/useIsMutating.esm.js +0 -22
- package/build/lib/useIsMutating.esm.js.map +0 -1
- package/build/lib/useIsMutating.js +0 -26
- package/build/lib/useIsMutating.js.map +0 -1
- package/build/lib/useIsMutating.mjs +0 -22
- package/build/lib/useIsMutating.mjs.map +0 -1
- package/build/lib/utils.d.ts.map +0 -1
- package/build/lib/utils.esm.js +0 -63
- package/build/lib/utils.esm.js.map +0 -1
- package/build/lib/utils.js +0 -72
- package/build/lib/utils.js.map +0 -1
- package/build/lib/utils.mjs +0 -63
- package/build/lib/utils.mjs.map +0 -1
- package/build/solid/QueryClientProvider.jsx +0 -49
- package/build/solid/__tests__/QueryClientProvider.test.jsx +0 -185
- package/build/solid/__tests__/createInfiniteQuery.test.jsx +0 -1458
- package/build/solid/__tests__/createMutation.test.jsx +0 -857
- package/build/solid/__tests__/createQueries.test.jsx +0 -958
- package/build/solid/__tests__/createQuery.test.jsx +0 -4559
- package/build/solid/__tests__/createQuery.types.test.jsx +0 -124
- package/build/solid/__tests__/suspense.test.jsx +0 -691
- package/build/solid/__tests__/transition.test.jsx +0 -39
- package/build/solid/__tests__/useIsFetching.test.jsx +0 -209
- package/build/solid/__tests__/useIsMutating.test.jsx +0 -216
- package/build/solid/__tests__/utils.jsx +0 -55
- package/build/solid/createBaseQuery.js +0 -81
- package/build/solid/createInfiniteQuery.js +0 -16
- package/build/solid/createMutation.js +0 -40
- package/build/solid/createQueries.js +0 -39
- package/build/solid/createQuery.js +0 -16
- package/build/solid/index.js +0 -12
- package/build/solid/types.js +0 -2
- package/build/solid/useIsFetching.js +0 -23
- package/build/solid/useIsMutating.js +0 -16
- package/build/solid/utils.js +0 -45
- package/build/umd/index.development.js +0 -3678
- package/build/umd/index.development.js.map +0 -1
- package/build/umd/index.production.js +0 -2
- package/build/umd/index.production.js.map +0 -1
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { createResource, batch, onCleanup, onMount, createComputed, on } from 'solid-js';
|
|
2
|
-
import { createStore, unwrap } from 'solid-js/store';
|
|
3
|
-
import { useQueryClient } from './QueryClientProvider.mjs';
|
|
4
|
-
import { shouldThrowError } from './utils.mjs';
|
|
5
|
-
|
|
6
|
-
// Base Query Function that is used to create the query.
|
|
7
|
-
function createBaseQuery(options, Observer) {
|
|
8
|
-
const queryClient = useQueryClient({
|
|
9
|
-
context: options.context
|
|
10
|
-
});
|
|
11
|
-
const emptyData = Symbol('empty');
|
|
12
|
-
const defaultedOptions = queryClient.defaultQueryOptions(options);
|
|
13
|
-
defaultedOptions._optimisticResults = 'optimistic';
|
|
14
|
-
const observer = new Observer(queryClient, defaultedOptions);
|
|
15
|
-
const [state, setState] = createStore( // @ts-ignore
|
|
16
|
-
observer.getOptimisticResult(defaultedOptions));
|
|
17
|
-
const [dataResource, {
|
|
18
|
-
refetch,
|
|
19
|
-
mutate
|
|
20
|
-
}] = createResource(() => {
|
|
21
|
-
return new Promise(resolve => {
|
|
22
|
-
if (!(state.isFetching && state.isLoading)) {
|
|
23
|
-
if (unwrap(state.data) === emptyData) {
|
|
24
|
-
resolve(undefined);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
resolve(unwrap(state.data));
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
batch(() => {
|
|
32
|
-
mutate(() => unwrap(state.data));
|
|
33
|
-
refetch();
|
|
34
|
-
});
|
|
35
|
-
let taskQueue = [];
|
|
36
|
-
const unsubscribe = observer.subscribe(result => {
|
|
37
|
-
taskQueue.push(() => {
|
|
38
|
-
batch(() => {
|
|
39
|
-
const unwrappedResult = { ...unwrap(result)
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
if (unwrappedResult.data === undefined) {
|
|
43
|
-
// This is a hack to prevent Solid
|
|
44
|
-
// from deleting the data property when it is `undefined`
|
|
45
|
-
// ref: https://www.solidjs.com/docs/latest/api#updating-stores
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
unwrappedResult.data = emptyData;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
setState(unwrap(unwrappedResult));
|
|
51
|
-
mutate(() => unwrap(result.data));
|
|
52
|
-
refetch();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
queueMicrotask(() => {
|
|
56
|
-
const taskToRun = taskQueue.pop();
|
|
57
|
-
|
|
58
|
-
if (taskToRun) {
|
|
59
|
-
taskToRun();
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
taskQueue = [];
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
onCleanup(() => unsubscribe());
|
|
66
|
-
onMount(() => {
|
|
67
|
-
observer.setOptions(defaultedOptions, {
|
|
68
|
-
listeners: false
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
createComputed(() => {
|
|
72
|
-
const newDefaultedOptions = queryClient.defaultQueryOptions(options);
|
|
73
|
-
observer.setOptions(newDefaultedOptions);
|
|
74
|
-
});
|
|
75
|
-
createComputed(on(() => state.status, () => {
|
|
76
|
-
if (state.isError && !state.isFetching && shouldThrowError(observer.options.useErrorBoundary, [state.error, observer.getCurrentQuery()])) {
|
|
77
|
-
throw state.error;
|
|
78
|
-
}
|
|
79
|
-
}));
|
|
80
|
-
const handler = {
|
|
81
|
-
get(target, prop) {
|
|
82
|
-
if (prop === 'data') {
|
|
83
|
-
return dataResource();
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return Reflect.get(target, prop);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
};
|
|
90
|
-
return new Proxy(state, handler);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export { createBaseQuery };
|
|
94
|
-
//# sourceMappingURL=createBaseQuery.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createBaseQuery.mjs","sources":["../../src/createBaseQuery.ts"],"sourcesContent":["import {\n batch,\n createComputed,\n createResource,\n on,\n onCleanup,\n onMount,\n} from 'solid-js'\nimport { createStore, unwrap } from 'solid-js/store'\nimport { useQueryClient } from './QueryClientProvider'\nimport { shouldThrowError } from './utils'\nimport type { QueryObserver } from '@tanstack/query-core'\nimport type { QueryKey, QueryObserverResult } from '@tanstack/query-core'\nimport type { CreateBaseQueryOptions } from './types'\n\n// Base Query Function that is used to create the query.\nexport function createBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n>(\n options: CreateBaseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >,\n Observer: typeof QueryObserver,\n): QueryObserverResult<TData, TError> {\n const queryClient = useQueryClient({ context: options.context })\n const emptyData = Symbol('empty')\n const defaultedOptions = queryClient.defaultQueryOptions(options)\n defaultedOptions._optimisticResults = 'optimistic'\n const observer = new Observer(queryClient, defaultedOptions)\n\n const [state, setState] = createStore<QueryObserverResult<TData, TError>>(\n // @ts-ignore\n observer.getOptimisticResult(defaultedOptions),\n )\n\n const [dataResource, { refetch, mutate }] = createResource<TData | undefined>(\n () => {\n return new Promise((resolve) => {\n if (!(state.isFetching && state.isLoading)) {\n if (unwrap(state.data) === emptyData) {\n resolve(undefined)\n }\n resolve(unwrap(state.data))\n }\n })\n },\n )\n\n batch(() => {\n mutate(() => unwrap(state.data))\n refetch()\n })\n\n let taskQueue: Array<() => void> = []\n\n const unsubscribe = observer.subscribe((result) => {\n taskQueue.push(() => {\n batch(() => {\n const unwrappedResult = { ...unwrap(result) }\n if (unwrappedResult.data === undefined) {\n // This is a hack to prevent Solid\n // from deleting the data property when it is `undefined`\n // ref: https://www.solidjs.com/docs/latest/api#updating-stores\n // @ts-ignore\n unwrappedResult.data = emptyData\n }\n setState(unwrap(unwrappedResult))\n mutate(() => unwrap(result.data))\n refetch()\n })\n })\n\n queueMicrotask(() => {\n const taskToRun = taskQueue.pop()\n if (taskToRun) {\n taskToRun()\n }\n taskQueue = []\n })\n })\n\n onCleanup(() => unsubscribe())\n\n onMount(() => {\n observer.setOptions(defaultedOptions, { listeners: false })\n })\n\n createComputed(() => {\n const newDefaultedOptions = queryClient.defaultQueryOptions(options)\n observer.setOptions(newDefaultedOptions)\n })\n\n createComputed(\n on(\n () => state.status,\n () => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(observer.options.useErrorBoundary, [\n state.error,\n observer.getCurrentQuery(),\n ])\n ) {\n throw state.error\n }\n },\n ),\n )\n\n const handler = {\n get(\n target: QueryObserverResult<TData, TError>,\n prop: keyof QueryObserverResult<TData, TError>,\n ): any {\n if (prop === 'data') {\n return dataResource()\n }\n return Reflect.get(target, prop)\n },\n }\n\n return new Proxy(state, handler) as QueryObserverResult<TData, TError>\n}\n"],"names":["createBaseQuery","options","Observer","queryClient","useQueryClient","context","emptyData","Symbol","defaultedOptions","defaultQueryOptions","_optimisticResults","observer","state","setState","createStore","getOptimisticResult","dataResource","refetch","mutate","createResource","Promise","resolve","isFetching","isLoading","unwrap","data","undefined","batch","taskQueue","unsubscribe","subscribe","result","push","unwrappedResult","queueMicrotask","taskToRun","pop","onCleanup","onMount","setOptions","listeners","createComputed","newDefaultedOptions","on","status","isError","shouldThrowError","useErrorBoundary","error","getCurrentQuery","handler","get","target","prop","Reflect","Proxy"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createInfiniteQuery.d.ts","sourceRoot":"","sources":["../../src/createInfiniteQuery.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,sBAAsB,CAAA;AAE7B,wBAAgB,mBAAmB,CACjC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,aAAa,GAAG,aAAa,EAE/C,OAAO,EAAE,0BAA0B,CACjC,YAAY,EACZ,MAAM,EACN,KAAK,EACL,YAAY,EACZ,SAAS,CACV,GACA,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAC3C,wBAAgB,mBAAmB,CACjC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,aAAa,GAAG,aAAa,EAE/C,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,IAAI,CACZ,0BAA0B,CACxB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,YAAY,EACZ,SAAS,CACV,EACD,UAAU,CACX,GACA,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAC3C,wBAAgB,mBAAmB,CACjC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,aAAa,GAAG,aAAa,EAE/C,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAC3D,OAAO,CAAC,EAAE,IAAI,CACZ,0BAA0B,CACxB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,YAAY,EACZ,SAAS,CACV,EACD,UAAU,GAAG,SAAS,CACvB,GACA,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { InfiniteQueryObserver } from '@tanstack/query-core';
|
|
2
|
-
import { createComputed } from 'solid-js';
|
|
3
|
-
import { createStore } from 'solid-js/store';
|
|
4
|
-
import { createBaseQuery } from './createBaseQuery.esm.js';
|
|
5
|
-
import { parseQueryArgs } from './utils.esm.js';
|
|
6
|
-
|
|
7
|
-
function createInfiniteQuery(arg1, arg2, arg3) {
|
|
8
|
-
// The parseQuery Args functions helps normalize the arguments into the correct form.
|
|
9
|
-
// Whatever the parameters are, they are normalized into the correct form.
|
|
10
|
-
const [parsedOptions, setParsedOptions] = createStore(parseQueryArgs(arg1, arg2, arg3)); // Watch for changes in the options and update the parsed options.
|
|
11
|
-
|
|
12
|
-
createComputed(() => {
|
|
13
|
-
const newParsedOptions = parseQueryArgs(arg1, arg2, arg3);
|
|
14
|
-
setParsedOptions(newParsedOptions);
|
|
15
|
-
});
|
|
16
|
-
return createBaseQuery(parsedOptions, InfiniteQueryObserver);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export { createInfiniteQuery };
|
|
20
|
-
//# sourceMappingURL=createInfiniteQuery.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createInfiniteQuery.esm.js","sources":["../../src/createInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { createComputed } from 'solid-js'\nimport { createStore } from 'solid-js/store'\nimport { createBaseQuery } from './createBaseQuery'\nimport { parseQueryArgs } from './utils'\nimport type {\n CreateInfiniteQueryOptions,\n CreateInfiniteQueryResult,\n SolidQueryKey,\n} from './types'\nimport type {\n QueryFunction,\n QueryObserver,\n QueryOptions,\n} from '@tanstack/query-core'\n\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n options: CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n queryKey: TQueryKey,\n options?: Omit<\n CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n 'queryKey'\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, ReturnType<TQueryKey>>,\n options?: Omit<\n CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n 'queryKey' | 'queryFn'\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n arg1:\n | TQueryKey\n | CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n arg2?:\n | QueryFunction<TQueryFnData, ReturnType<TQueryKey>>\n | CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n arg3?: CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n): CreateInfiniteQueryResult<TData, TError> {\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.\n const [parsedOptions, setParsedOptions] = createStore(\n parseQueryArgs(arg1, arg2, arg3),\n )\n\n // Watch for changes in the options and update the parsed options.\n createComputed(() => {\n const newParsedOptions = parseQueryArgs(arg1, arg2, arg3)\n setParsedOptions(newParsedOptions)\n })\n\n return createBaseQuery(\n parsedOptions as QueryOptions<any, any, any, ReturnType<TQueryKey>>,\n InfiniteQueryObserver as typeof QueryObserver,\n ) as CreateInfiniteQueryResult<TData, TError>\n}\n"],"names":["createInfiniteQuery","arg1","arg2","arg3","parsedOptions","setParsedOptions","createStore","parseQueryArgs","createComputed","newParsedOptions","createBaseQuery","InfiniteQueryObserver"],"mappings":";;;;;;AAmEO,SAASA,mBAAT,CAMLC,IANK,EAeLC,IAfK,EAwBLC,IAxBK,EA+BqC;AAC1C;AACA;AACA,EAAA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,CAAA,GAAoCC,WAAW,CACnDC,cAAc,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CADqC,CAArD,CAH0C;;AAQ1CK,EAAAA,cAAc,CAAC,MAAM;IACnB,MAAMC,gBAAgB,GAAGF,cAAc,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAvC,CAAA;IACAE,gBAAgB,CAACI,gBAAD,CAAhB,CAAA;AACD,GAHa,CAAd,CAAA;AAKA,EAAA,OAAOC,eAAe,CACpBN,aADoB,EAEpBO,qBAFoB,CAAtB,CAAA;AAID;;;;"}
|
|
@@ -1,24 +0,0 @@
|
|
|
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 store = require('solid-js/store');
|
|
8
|
-
var createBaseQuery = require('./createBaseQuery.js');
|
|
9
|
-
var utils = require('./utils.js');
|
|
10
|
-
|
|
11
|
-
function createInfiniteQuery(arg1, arg2, arg3) {
|
|
12
|
-
// The parseQuery Args functions helps normalize the arguments into the correct form.
|
|
13
|
-
// Whatever the parameters are, they are normalized into the correct form.
|
|
14
|
-
const [parsedOptions, setParsedOptions] = store.createStore(utils.parseQueryArgs(arg1, arg2, arg3)); // Watch for changes in the options and update the parsed options.
|
|
15
|
-
|
|
16
|
-
solidJs.createComputed(() => {
|
|
17
|
-
const newParsedOptions = utils.parseQueryArgs(arg1, arg2, arg3);
|
|
18
|
-
setParsedOptions(newParsedOptions);
|
|
19
|
-
});
|
|
20
|
-
return createBaseQuery.createBaseQuery(parsedOptions, queryCore.InfiniteQueryObserver);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
exports.createInfiniteQuery = createInfiniteQuery;
|
|
24
|
-
//# sourceMappingURL=createInfiniteQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createInfiniteQuery.js","sources":["../../src/createInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { createComputed } from 'solid-js'\nimport { createStore } from 'solid-js/store'\nimport { createBaseQuery } from './createBaseQuery'\nimport { parseQueryArgs } from './utils'\nimport type {\n CreateInfiniteQueryOptions,\n CreateInfiniteQueryResult,\n SolidQueryKey,\n} from './types'\nimport type {\n QueryFunction,\n QueryObserver,\n QueryOptions,\n} from '@tanstack/query-core'\n\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n options: CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n queryKey: TQueryKey,\n options?: Omit<\n CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n 'queryKey'\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, ReturnType<TQueryKey>>,\n options?: Omit<\n CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n 'queryKey' | 'queryFn'\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n arg1:\n | TQueryKey\n | CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n arg2?:\n | QueryFunction<TQueryFnData, ReturnType<TQueryKey>>\n | CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n arg3?: CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n): CreateInfiniteQueryResult<TData, TError> {\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.\n const [parsedOptions, setParsedOptions] = createStore(\n parseQueryArgs(arg1, arg2, arg3),\n )\n\n // Watch for changes in the options and update the parsed options.\n createComputed(() => {\n const newParsedOptions = parseQueryArgs(arg1, arg2, arg3)\n setParsedOptions(newParsedOptions)\n })\n\n return createBaseQuery(\n parsedOptions as QueryOptions<any, any, any, ReturnType<TQueryKey>>,\n InfiniteQueryObserver as typeof QueryObserver,\n ) as CreateInfiniteQueryResult<TData, TError>\n}\n"],"names":["createInfiniteQuery","arg1","arg2","arg3","parsedOptions","setParsedOptions","createStore","parseQueryArgs","createComputed","newParsedOptions","createBaseQuery","InfiniteQueryObserver"],"mappings":";;;;;;;;;;AAmEO,SAASA,mBAAT,CAMLC,IANK,EAeLC,IAfK,EAwBLC,IAxBK,EA+BqC;AAC1C;AACA;AACA,EAAA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,CAAA,GAAoCC,iBAAW,CACnDC,oBAAc,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CADqC,CAArD,CAH0C;;AAQ1CK,EAAAA,sBAAc,CAAC,MAAM;IACnB,MAAMC,gBAAgB,GAAGF,oBAAc,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAvC,CAAA;IACAE,gBAAgB,CAACI,gBAAD,CAAhB,CAAA;AACD,GAHa,CAAd,CAAA;AAKA,EAAA,OAAOC,+BAAe,CACpBN,aADoB,EAEpBO,+BAFoB,CAAtB,CAAA;AAID;;;;"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { InfiniteQueryObserver } from '@tanstack/query-core';
|
|
2
|
-
import { createComputed } from 'solid-js';
|
|
3
|
-
import { createStore } from 'solid-js/store';
|
|
4
|
-
import { createBaseQuery } from './createBaseQuery.mjs';
|
|
5
|
-
import { parseQueryArgs } from './utils.mjs';
|
|
6
|
-
|
|
7
|
-
function createInfiniteQuery(arg1, arg2, arg3) {
|
|
8
|
-
// The parseQuery Args functions helps normalize the arguments into the correct form.
|
|
9
|
-
// Whatever the parameters are, they are normalized into the correct form.
|
|
10
|
-
const [parsedOptions, setParsedOptions] = createStore(parseQueryArgs(arg1, arg2, arg3)); // Watch for changes in the options and update the parsed options.
|
|
11
|
-
|
|
12
|
-
createComputed(() => {
|
|
13
|
-
const newParsedOptions = parseQueryArgs(arg1, arg2, arg3);
|
|
14
|
-
setParsedOptions(newParsedOptions);
|
|
15
|
-
});
|
|
16
|
-
return createBaseQuery(parsedOptions, InfiniteQueryObserver);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export { createInfiniteQuery };
|
|
20
|
-
//# sourceMappingURL=createInfiniteQuery.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createInfiniteQuery.mjs","sources":["../../src/createInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { createComputed } from 'solid-js'\nimport { createStore } from 'solid-js/store'\nimport { createBaseQuery } from './createBaseQuery'\nimport { parseQueryArgs } from './utils'\nimport type {\n CreateInfiniteQueryOptions,\n CreateInfiniteQueryResult,\n SolidQueryKey,\n} from './types'\nimport type {\n QueryFunction,\n QueryObserver,\n QueryOptions,\n} from '@tanstack/query-core'\n\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n options: CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n queryKey: TQueryKey,\n options?: Omit<\n CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n 'queryKey'\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n queryKey: TQueryKey,\n queryFn: QueryFunction<TQueryFnData, ReturnType<TQueryKey>>,\n options?: Omit<\n CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n 'queryKey' | 'queryFn'\n >,\n): CreateInfiniteQueryResult<TData, TError>\nexport function createInfiniteQuery<\n TQueryFnData,\n TError,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n>(\n arg1:\n | TQueryKey\n | CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n arg2?:\n | QueryFunction<TQueryFnData, ReturnType<TQueryKey>>\n | CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n arg3?: CreateInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n): CreateInfiniteQueryResult<TData, TError> {\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.\n const [parsedOptions, setParsedOptions] = createStore(\n parseQueryArgs(arg1, arg2, arg3),\n )\n\n // Watch for changes in the options and update the parsed options.\n createComputed(() => {\n const newParsedOptions = parseQueryArgs(arg1, arg2, arg3)\n setParsedOptions(newParsedOptions)\n })\n\n return createBaseQuery(\n parsedOptions as QueryOptions<any, any, any, ReturnType<TQueryKey>>,\n InfiniteQueryObserver as typeof QueryObserver,\n ) as CreateInfiniteQueryResult<TData, TError>\n}\n"],"names":["createInfiniteQuery","arg1","arg2","arg3","parsedOptions","setParsedOptions","createStore","parseQueryArgs","createComputed","newParsedOptions","createBaseQuery","InfiniteQueryObserver"],"mappings":";;;;;;AAmEO,SAASA,mBAAT,CAMLC,IANK,EAeLC,IAfK,EAwBLC,IAxBK,EA+BqC;AAC1C;AACA;AACA,EAAA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,CAAA,GAAoCC,WAAW,CACnDC,cAAc,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CADqC,CAArD,CAH0C;;AAQ1CK,EAAAA,cAAc,CAAC,MAAM;IACnB,MAAMC,gBAAgB,GAAGF,cAAc,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAvC,CAAA;IACAE,gBAAgB,CAACI,gBAAD,CAAhB,CAAA;AACD,GAHa,CAAd,CAAA;AAKA,EAAA,OAAOC,eAAe,CACpBN,aADoB,EAEpBO,qBAFoB,CAAtB,CAAA;AAID;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.d.ts","sourceRoot":"","sources":["../../src/createMutation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGzE,wBAAgB,cAAc,CAC5B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,OAAO,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,GAClE,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;AAC5D,wBAAgB,cAAc,CAC5B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC/C,OAAO,CAAC,EAAE,IAAI,CACZ,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC1D,YAAY,CACb,GACA,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;AAC5D,wBAAgB,cAAc,CAC5B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,IAAI,CACZ,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC1D,aAAa,CACd,GACA,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;AAC5D,wBAAgB,cAAc,CAC5B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,EAChB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EAChD,OAAO,CAAC,EAAE,IAAI,CACZ,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC1D,aAAa,GAAG,YAAY,CAC7B,GACA,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { parseMutationArgs, MutationObserver } from '@tanstack/query-core';
|
|
2
|
-
import { createComputed, on, onCleanup } from 'solid-js';
|
|
3
|
-
import { createStore } from 'solid-js/store';
|
|
4
|
-
import { useQueryClient } from './QueryClientProvider.esm.js';
|
|
5
|
-
import { shouldThrowError } from './utils.esm.js';
|
|
6
|
-
|
|
7
|
-
function createMutation(arg1, arg2, arg3) {
|
|
8
|
-
const [options, setOptions] = createStore(parseMutationArgs(arg1, arg2, arg3));
|
|
9
|
-
const queryClient = useQueryClient({
|
|
10
|
-
context: options.context
|
|
11
|
-
});
|
|
12
|
-
const observer = new MutationObserver(queryClient, options);
|
|
13
|
-
|
|
14
|
-
const mutate = (variables, mutateOptions) => {
|
|
15
|
-
observer.mutate(variables, mutateOptions).catch(noop);
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const [state, setState] = createStore({ ...observer.getCurrentResult(),
|
|
19
|
-
mutate,
|
|
20
|
-
mutateAsync: observer.getCurrentResult().mutate
|
|
21
|
-
});
|
|
22
|
-
createComputed(() => {
|
|
23
|
-
const newParsedOptions = parseMutationArgs(arg1, arg2, arg3);
|
|
24
|
-
setOptions(newParsedOptions);
|
|
25
|
-
observer.setOptions(newParsedOptions);
|
|
26
|
-
});
|
|
27
|
-
createComputed(on(() => state.status, () => {
|
|
28
|
-
if (state.isError && shouldThrowError(observer.options.useErrorBoundary, [state.error])) {
|
|
29
|
-
throw state.error;
|
|
30
|
-
}
|
|
31
|
-
}));
|
|
32
|
-
const unsubscribe = observer.subscribe(result => {
|
|
33
|
-
setState({ ...result,
|
|
34
|
-
mutate,
|
|
35
|
-
mutateAsync: result.mutate
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
onCleanup(unsubscribe);
|
|
39
|
-
return state;
|
|
40
|
-
} // eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
41
|
-
|
|
42
|
-
function noop() {}
|
|
43
|
-
|
|
44
|
-
export { createMutation };
|
|
45
|
-
//# sourceMappingURL=createMutation.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.esm.js","sources":["../../src/createMutation.ts"],"sourcesContent":["import { MutationObserver, parseMutationArgs } from '@tanstack/query-core'\nimport { createComputed, on, onCleanup } from 'solid-js'\nimport { createStore } from 'solid-js/store'\nimport { useQueryClient } from './QueryClientProvider'\nimport { shouldThrowError } from './utils'\nimport type {\n CreateMutateFunction,\n CreateMutationOptions,\n CreateMutationResult,\n} from './types'\nimport type { MutationFunction, MutationKey } from '@tanstack/query-core'\n\n// HOOK\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n options: CreateMutationOptions<TData, TError, TVariables, TContext>,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationFn: MutationFunction<TData, TVariables>,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationFn'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MutationKey,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MutationKey,\n mutationFn?: MutationFunction<TData, TVariables>,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationKey' | 'mutationFn'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MutationKey\n | MutationFunction<TData, TVariables>\n | CreateMutationOptions<TData, TError, TVariables, TContext>,\n arg2?:\n | MutationFunction<TData, TVariables>\n | CreateMutationOptions<TData, TError, TVariables, TContext>,\n arg3?: CreateMutationOptions<TData, TError, TVariables, TContext>,\n): CreateMutationResult<TData, TError, TVariables, TContext> {\n const [options, setOptions] = createStore(parseMutationArgs(arg1, arg2, arg3))\n const queryClient = useQueryClient({ context: options.context })\n\n const observer = new MutationObserver<TData, TError, TVariables, TContext>(\n queryClient,\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 const newParsedOptions = parseMutationArgs(arg1, arg2, arg3)\n setOptions(newParsedOptions)\n observer.setOptions(newParsedOptions)\n })\n\n createComputed(\n on(\n () => state.status,\n () => {\n if (\n state.isError &&\n shouldThrowError(observer.options.useErrorBoundary, [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","arg1","arg2","arg3","options","setOptions","createStore","parseMutationArgs","queryClient","useQueryClient","context","observer","MutationObserver","mutate","variables","mutateOptions","catch","noop","state","setState","getCurrentResult","mutateAsync","createComputed","newParsedOptions","on","status","isError","shouldThrowError","useErrorBoundary","error","unsubscribe","subscribe","result","onCleanup"],"mappings":";;;;;;AA0DO,SAASA,cAAT,CAMLC,IANK,EAULC,IAVK,EAaLC,IAbK,EAcsD;AAC3D,EAAA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,WAAW,CAACC,iBAAiB,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAlB,CAAzC,CAAA;EACA,MAAMK,WAAW,GAAGC,cAAc,CAAC;IAAEC,OAAO,EAAEN,OAAO,CAACM,OAAAA;AAAnB,GAAD,CAAlC,CAAA;EAEA,MAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CACfJ,WADe,EAEfJ,OAFe,CAAjB,CAAA;;AAKA,EAAA,MAAMS,MAAiE,GAAG,CACxEC,SADwE,EAExEC,aAFwE,KAGrE;IACHJ,QAAQ,CAACE,MAAT,CAAgBC,SAAhB,EAA2BC,aAA3B,CAAA,CAA0CC,KAA1C,CAAgDC,IAAhD,CAAA,CAAA;GAJF,CAAA;;AAOA,EAAA,MAAM,CAACC,KAAD,EAAQC,QAAR,CAAoBb,GAAAA,WAAW,CAEnC,EACA,GAAGK,QAAQ,CAACS,gBAAT,EADH;IAEAP,MAFA;AAGAQ,IAAAA,WAAW,EAAEV,QAAQ,CAACS,gBAAT,EAA4BP,CAAAA,MAAAA;AAHzC,GAFmC,CAArC,CAAA;AAQAS,EAAAA,cAAc,CAAC,MAAM;IACnB,MAAMC,gBAAgB,GAAGhB,iBAAiB,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAA1C,CAAA;IACAE,UAAU,CAACkB,gBAAD,CAAV,CAAA;IACAZ,QAAQ,CAACN,UAAT,CAAoBkB,gBAApB,CAAA,CAAA;AACD,GAJa,CAAd,CAAA;EAMAD,cAAc,CACZE,EAAE,CACA,MAAMN,KAAK,CAACO,MADZ,EAEA,MAAM;AACJ,IAAA,IACEP,KAAK,CAACQ,OAAN,IACAC,gBAAgB,CAAChB,QAAQ,CAACP,OAAT,CAAiBwB,gBAAlB,EAAoC,CAACV,KAAK,CAACW,KAAP,CAApC,CAFlB,EAGE;MACA,MAAMX,KAAK,CAACW,KAAZ,CAAA;AACD,KAAA;AACF,GATD,CADU,CAAd,CAAA;AAcA,EAAA,MAAMC,WAAW,GAAGnB,QAAQ,CAACoB,SAAT,CAAoBC,MAAD,IAAY;IACjDb,QAAQ,CAAC,EACP,GAAGa,MADI;MAEPnB,MAFO;MAGPQ,WAAW,EAAEW,MAAM,CAACnB,MAAAA;AAHb,KAAD,CAAR,CAAA;AAKD,GANmB,CAApB,CAAA;EAQAoB,SAAS,CAACH,WAAD,CAAT,CAAA;AAEA,EAAA,OAAOZ,KAAP,CAAA;AACD;;AAGD,SAASD,IAAT,GAAgB;;;;"}
|
|
@@ -1,49 +0,0 @@
|
|
|
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 store = require('solid-js/store');
|
|
8
|
-
var QueryClientProvider = require('./QueryClientProvider.js');
|
|
9
|
-
var utils = require('./utils.js');
|
|
10
|
-
|
|
11
|
-
function createMutation(arg1, arg2, arg3) {
|
|
12
|
-
const [options, setOptions] = store.createStore(queryCore.parseMutationArgs(arg1, arg2, arg3));
|
|
13
|
-
const queryClient = QueryClientProvider.useQueryClient({
|
|
14
|
-
context: options.context
|
|
15
|
-
});
|
|
16
|
-
const observer = new queryCore.MutationObserver(queryClient, options);
|
|
17
|
-
|
|
18
|
-
const mutate = (variables, mutateOptions) => {
|
|
19
|
-
observer.mutate(variables, mutateOptions).catch(noop);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const [state, setState] = store.createStore({ ...observer.getCurrentResult(),
|
|
23
|
-
mutate,
|
|
24
|
-
mutateAsync: observer.getCurrentResult().mutate
|
|
25
|
-
});
|
|
26
|
-
solidJs.createComputed(() => {
|
|
27
|
-
const newParsedOptions = queryCore.parseMutationArgs(arg1, arg2, arg3);
|
|
28
|
-
setOptions(newParsedOptions);
|
|
29
|
-
observer.setOptions(newParsedOptions);
|
|
30
|
-
});
|
|
31
|
-
solidJs.createComputed(solidJs.on(() => state.status, () => {
|
|
32
|
-
if (state.isError && utils.shouldThrowError(observer.options.useErrorBoundary, [state.error])) {
|
|
33
|
-
throw state.error;
|
|
34
|
-
}
|
|
35
|
-
}));
|
|
36
|
-
const unsubscribe = observer.subscribe(result => {
|
|
37
|
-
setState({ ...result,
|
|
38
|
-
mutate,
|
|
39
|
-
mutateAsync: result.mutate
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
solidJs.onCleanup(unsubscribe);
|
|
43
|
-
return state;
|
|
44
|
-
} // eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
45
|
-
|
|
46
|
-
function noop() {}
|
|
47
|
-
|
|
48
|
-
exports.createMutation = createMutation;
|
|
49
|
-
//# sourceMappingURL=createMutation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.js","sources":["../../src/createMutation.ts"],"sourcesContent":["import { MutationObserver, parseMutationArgs } from '@tanstack/query-core'\nimport { createComputed, on, onCleanup } from 'solid-js'\nimport { createStore } from 'solid-js/store'\nimport { useQueryClient } from './QueryClientProvider'\nimport { shouldThrowError } from './utils'\nimport type {\n CreateMutateFunction,\n CreateMutationOptions,\n CreateMutationResult,\n} from './types'\nimport type { MutationFunction, MutationKey } from '@tanstack/query-core'\n\n// HOOK\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n options: CreateMutationOptions<TData, TError, TVariables, TContext>,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationFn: MutationFunction<TData, TVariables>,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationFn'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MutationKey,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MutationKey,\n mutationFn?: MutationFunction<TData, TVariables>,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationKey' | 'mutationFn'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MutationKey\n | MutationFunction<TData, TVariables>\n | CreateMutationOptions<TData, TError, TVariables, TContext>,\n arg2?:\n | MutationFunction<TData, TVariables>\n | CreateMutationOptions<TData, TError, TVariables, TContext>,\n arg3?: CreateMutationOptions<TData, TError, TVariables, TContext>,\n): CreateMutationResult<TData, TError, TVariables, TContext> {\n const [options, setOptions] = createStore(parseMutationArgs(arg1, arg2, arg3))\n const queryClient = useQueryClient({ context: options.context })\n\n const observer = new MutationObserver<TData, TError, TVariables, TContext>(\n queryClient,\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 const newParsedOptions = parseMutationArgs(arg1, arg2, arg3)\n setOptions(newParsedOptions)\n observer.setOptions(newParsedOptions)\n })\n\n createComputed(\n on(\n () => state.status,\n () => {\n if (\n state.isError &&\n shouldThrowError(observer.options.useErrorBoundary, [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","arg1","arg2","arg3","options","setOptions","createStore","parseMutationArgs","queryClient","useQueryClient","context","observer","MutationObserver","mutate","variables","mutateOptions","catch","noop","state","setState","getCurrentResult","mutateAsync","createComputed","newParsedOptions","on","status","isError","shouldThrowError","useErrorBoundary","error","unsubscribe","subscribe","result","onCleanup"],"mappings":";;;;;;;;;;AA0DO,SAASA,cAAT,CAMLC,IANK,EAULC,IAVK,EAaLC,IAbK,EAcsD;AAC3D,EAAA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,iBAAW,CAACC,2BAAiB,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAlB,CAAzC,CAAA;EACA,MAAMK,WAAW,GAAGC,kCAAc,CAAC;IAAEC,OAAO,EAAEN,OAAO,CAACM,OAAAA;AAAnB,GAAD,CAAlC,CAAA;EAEA,MAAMC,QAAQ,GAAG,IAAIC,0BAAJ,CACfJ,WADe,EAEfJ,OAFe,CAAjB,CAAA;;AAKA,EAAA,MAAMS,MAAiE,GAAG,CACxEC,SADwE,EAExEC,aAFwE,KAGrE;IACHJ,QAAQ,CAACE,MAAT,CAAgBC,SAAhB,EAA2BC,aAA3B,CAAA,CAA0CC,KAA1C,CAAgDC,IAAhD,CAAA,CAAA;GAJF,CAAA;;AAOA,EAAA,MAAM,CAACC,KAAD,EAAQC,QAAR,CAAoBb,GAAAA,iBAAW,CAEnC,EACA,GAAGK,QAAQ,CAACS,gBAAT,EADH;IAEAP,MAFA;AAGAQ,IAAAA,WAAW,EAAEV,QAAQ,CAACS,gBAAT,EAA4BP,CAAAA,MAAAA;AAHzC,GAFmC,CAArC,CAAA;AAQAS,EAAAA,sBAAc,CAAC,MAAM;IACnB,MAAMC,gBAAgB,GAAGhB,2BAAiB,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAA1C,CAAA;IACAE,UAAU,CAACkB,gBAAD,CAAV,CAAA;IACAZ,QAAQ,CAACN,UAAT,CAAoBkB,gBAApB,CAAA,CAAA;AACD,GAJa,CAAd,CAAA;EAMAD,sBAAc,CACZE,UAAE,CACA,MAAMN,KAAK,CAACO,MADZ,EAEA,MAAM;AACJ,IAAA,IACEP,KAAK,CAACQ,OAAN,IACAC,sBAAgB,CAAChB,QAAQ,CAACP,OAAT,CAAiBwB,gBAAlB,EAAoC,CAACV,KAAK,CAACW,KAAP,CAApC,CAFlB,EAGE;MACA,MAAMX,KAAK,CAACW,KAAZ,CAAA;AACD,KAAA;AACF,GATD,CADU,CAAd,CAAA;AAcA,EAAA,MAAMC,WAAW,GAAGnB,QAAQ,CAACoB,SAAT,CAAoBC,MAAD,IAAY;IACjDb,QAAQ,CAAC,EACP,GAAGa,MADI;MAEPnB,MAFO;MAGPQ,WAAW,EAAEW,MAAM,CAACnB,MAAAA;AAHb,KAAD,CAAR,CAAA;AAKD,GANmB,CAApB,CAAA;EAQAoB,iBAAS,CAACH,WAAD,CAAT,CAAA;AAEA,EAAA,OAAOZ,KAAP,CAAA;AACD;;AAGD,SAASD,IAAT,GAAgB;;;;"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { parseMutationArgs, MutationObserver } from '@tanstack/query-core';
|
|
2
|
-
import { createComputed, on, onCleanup } from 'solid-js';
|
|
3
|
-
import { createStore } from 'solid-js/store';
|
|
4
|
-
import { useQueryClient } from './QueryClientProvider.mjs';
|
|
5
|
-
import { shouldThrowError } from './utils.mjs';
|
|
6
|
-
|
|
7
|
-
function createMutation(arg1, arg2, arg3) {
|
|
8
|
-
const [options, setOptions] = createStore(parseMutationArgs(arg1, arg2, arg3));
|
|
9
|
-
const queryClient = useQueryClient({
|
|
10
|
-
context: options.context
|
|
11
|
-
});
|
|
12
|
-
const observer = new MutationObserver(queryClient, options);
|
|
13
|
-
|
|
14
|
-
const mutate = (variables, mutateOptions) => {
|
|
15
|
-
observer.mutate(variables, mutateOptions).catch(noop);
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const [state, setState] = createStore({ ...observer.getCurrentResult(),
|
|
19
|
-
mutate,
|
|
20
|
-
mutateAsync: observer.getCurrentResult().mutate
|
|
21
|
-
});
|
|
22
|
-
createComputed(() => {
|
|
23
|
-
const newParsedOptions = parseMutationArgs(arg1, arg2, arg3);
|
|
24
|
-
setOptions(newParsedOptions);
|
|
25
|
-
observer.setOptions(newParsedOptions);
|
|
26
|
-
});
|
|
27
|
-
createComputed(on(() => state.status, () => {
|
|
28
|
-
if (state.isError && shouldThrowError(observer.options.useErrorBoundary, [state.error])) {
|
|
29
|
-
throw state.error;
|
|
30
|
-
}
|
|
31
|
-
}));
|
|
32
|
-
const unsubscribe = observer.subscribe(result => {
|
|
33
|
-
setState({ ...result,
|
|
34
|
-
mutate,
|
|
35
|
-
mutateAsync: result.mutate
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
onCleanup(unsubscribe);
|
|
39
|
-
return state;
|
|
40
|
-
} // eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
41
|
-
|
|
42
|
-
function noop() {}
|
|
43
|
-
|
|
44
|
-
export { createMutation };
|
|
45
|
-
//# sourceMappingURL=createMutation.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMutation.mjs","sources":["../../src/createMutation.ts"],"sourcesContent":["import { MutationObserver, parseMutationArgs } from '@tanstack/query-core'\nimport { createComputed, on, onCleanup } from 'solid-js'\nimport { createStore } from 'solid-js/store'\nimport { useQueryClient } from './QueryClientProvider'\nimport { shouldThrowError } from './utils'\nimport type {\n CreateMutateFunction,\n CreateMutationOptions,\n CreateMutationResult,\n} from './types'\nimport type { MutationFunction, MutationKey } from '@tanstack/query-core'\n\n// HOOK\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n options: CreateMutationOptions<TData, TError, TVariables, TContext>,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationFn: MutationFunction<TData, TVariables>,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationFn'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MutationKey,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationKey'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n mutationKey: MutationKey,\n mutationFn?: MutationFunction<TData, TVariables>,\n options?: Omit<\n CreateMutationOptions<TData, TError, TVariables, TContext>,\n 'mutationKey' | 'mutationFn'\n >,\n): CreateMutationResult<TData, TError, TVariables, TContext>\nexport function createMutation<\n TData = unknown,\n TError = unknown,\n TVariables = void,\n TContext = unknown,\n>(\n arg1:\n | MutationKey\n | MutationFunction<TData, TVariables>\n | CreateMutationOptions<TData, TError, TVariables, TContext>,\n arg2?:\n | MutationFunction<TData, TVariables>\n | CreateMutationOptions<TData, TError, TVariables, TContext>,\n arg3?: CreateMutationOptions<TData, TError, TVariables, TContext>,\n): CreateMutationResult<TData, TError, TVariables, TContext> {\n const [options, setOptions] = createStore(parseMutationArgs(arg1, arg2, arg3))\n const queryClient = useQueryClient({ context: options.context })\n\n const observer = new MutationObserver<TData, TError, TVariables, TContext>(\n queryClient,\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 const newParsedOptions = parseMutationArgs(arg1, arg2, arg3)\n setOptions(newParsedOptions)\n observer.setOptions(newParsedOptions)\n })\n\n createComputed(\n on(\n () => state.status,\n () => {\n if (\n state.isError &&\n shouldThrowError(observer.options.useErrorBoundary, [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","arg1","arg2","arg3","options","setOptions","createStore","parseMutationArgs","queryClient","useQueryClient","context","observer","MutationObserver","mutate","variables","mutateOptions","catch","noop","state","setState","getCurrentResult","mutateAsync","createComputed","newParsedOptions","on","status","isError","shouldThrowError","useErrorBoundary","error","unsubscribe","subscribe","result","onCleanup"],"mappings":";;;;;;AA0DO,SAASA,cAAT,CAMLC,IANK,EAULC,IAVK,EAaLC,IAbK,EAcsD;AAC3D,EAAA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,WAAW,CAACC,iBAAiB,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAAlB,CAAzC,CAAA;EACA,MAAMK,WAAW,GAAGC,cAAc,CAAC;IAAEC,OAAO,EAAEN,OAAO,CAACM,OAAAA;AAAnB,GAAD,CAAlC,CAAA;EAEA,MAAMC,QAAQ,GAAG,IAAIC,gBAAJ,CACfJ,WADe,EAEfJ,OAFe,CAAjB,CAAA;;AAKA,EAAA,MAAMS,MAAiE,GAAG,CACxEC,SADwE,EAExEC,aAFwE,KAGrE;IACHJ,QAAQ,CAACE,MAAT,CAAgBC,SAAhB,EAA2BC,aAA3B,CAAA,CAA0CC,KAA1C,CAAgDC,IAAhD,CAAA,CAAA;GAJF,CAAA;;AAOA,EAAA,MAAM,CAACC,KAAD,EAAQC,QAAR,CAAoBb,GAAAA,WAAW,CAEnC,EACA,GAAGK,QAAQ,CAACS,gBAAT,EADH;IAEAP,MAFA;AAGAQ,IAAAA,WAAW,EAAEV,QAAQ,CAACS,gBAAT,EAA4BP,CAAAA,MAAAA;AAHzC,GAFmC,CAArC,CAAA;AAQAS,EAAAA,cAAc,CAAC,MAAM;IACnB,MAAMC,gBAAgB,GAAGhB,iBAAiB,CAACN,IAAD,EAAOC,IAAP,EAAaC,IAAb,CAA1C,CAAA;IACAE,UAAU,CAACkB,gBAAD,CAAV,CAAA;IACAZ,QAAQ,CAACN,UAAT,CAAoBkB,gBAApB,CAAA,CAAA;AACD,GAJa,CAAd,CAAA;EAMAD,cAAc,CACZE,EAAE,CACA,MAAMN,KAAK,CAACO,MADZ,EAEA,MAAM;AACJ,IAAA,IACEP,KAAK,CAACQ,OAAN,IACAC,gBAAgB,CAAChB,QAAQ,CAACP,OAAT,CAAiBwB,gBAAlB,EAAoC,CAACV,KAAK,CAACW,KAAP,CAApC,CAFlB,EAGE;MACA,MAAMX,KAAK,CAACW,KAAZ,CAAA;AACD,KAAA;AACF,GATD,CADU,CAAd,CAAA;AAcA,EAAA,MAAMC,WAAW,GAAGnB,QAAQ,CAACoB,SAAT,CAAoBC,MAAD,IAAY;IACjDb,QAAQ,CAAC,EACP,GAAGa,MADI;MAEPnB,MAFO;MAGPQ,WAAW,EAAEW,MAAM,CAACnB,MAAAA;AAHb,KAAD,CAAR,CAAA;AAKD,GANmB,CAApB,CAAA;EAQAoB,SAAS,CAACH,WAAD,CAAT,CAAA;AAEA,EAAA,OAAOZ,KAAP,CAAA;AACD;;AAGD,SAASD,IAAT,GAAgB;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createQueries.d.ts","sourceRoot":"","sources":["../../src/createQueries.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACd,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIzD,aAAK,kCAAkC,CACrC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,aAAa,GAAG,aAAa,IAC7C,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;AAG/E,aAAK,aAAa,GAAG,EAAE,CAAA;AAEvB,aAAK,UAAU,CAAC,CAAC,IAEf,CAAC,SAAS;IACR,WAAW,EAAE,MAAM,YAAY,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,KAAK,CAAA;CAClB,GACG,kCAAkC,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,GAC/D,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GACnE,kCAAkC,CAAC,YAAY,EAAE,MAAM,CAAC,GACxD,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GACrD,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,GAE5D,CAAC,SAAS,CAAC,MAAM,YAAY,EAAE,MAAM,MAAM,EAAE,MAAM,KAAK,CAAC,GACvD,kCAAkC,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,GAC/D,CAAC,SAAS,CAAC,MAAM,YAAY,EAAE,MAAM,MAAM,CAAC,GAC5C,kCAAkC,CAAC,YAAY,EAAE,MAAM,CAAC,GACxD,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,GAC9B,kCAAkC,CAAC,YAAY,CAAC,GAElD,CAAC,SAAS;IACN,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,YAAY,EAAE,MAAM,SAAS,CAAC,CAAA;IAC5D,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,KAAK,CAAA;CACnC,GACD,kCAAkC,CAChC,YAAY,EACZ,OAAO,EACP,KAAK,EACL,MAAM,SAAS,CAChB,GACD,CAAC,SAAS;IAAE,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,YAAY,EAAE,MAAM,SAAS,CAAC,CAAA;CAAE,GAC1E,kCAAkC,CAChC,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,MAAM,SAAS,CAChB,GAED,kCAAkC,CAAA;AAExC,aAAK,UAAU,CAAC,CAAC,IAEf,CAAC,SAAS;IAAE,WAAW,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,KAAK,CAAA;CAAE,GACnE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,GAChC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GACnE,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,GACvC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GACrD,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,GAElC,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,MAAM,KAAK,CAAC,GACxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,GAChC,CAAC,SAAS,CAAC,MAAM,YAAY,EAAE,MAAM,MAAM,CAAC,GAC5C,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,GACvC,CAAC,SAAS,CAAC,MAAM,YAAY,CAAC,GAC9B,iBAAiB,CAAC,YAAY,CAAC,GAEjC,CAAC,SAAS;IACN,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,KAAK,CAAA;CACnC,GACD,iBAAiB,CAAC,KAAK,CAAC,GACxB,CAAC,SAAS;IAAE,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,YAAY,EAAE,GAAG,CAAC,CAAA;CAAE,GAC9D,iBAAiB,CAAC,YAAY,CAAC,GAE/B,iBAAiB,CAAA;AAEvB;;GAEG;AACH,oBAAY,cAAc,CACxB,CAAC,SAAS,GAAG,EAAE,EACf,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,EACzB,KAAK,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,IACtC,KAAK,CAAC,QAAQ,CAAC,SAAS,aAAa,GACrC,kCAAkC,EAAE,GACpC,CAAC,SAAS,EAAE,GACZ,EAAE,GACF,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,GACtB,CAAC,GAAG,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAC7B,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACrC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GACvE,OAAO,EAAE,SAAS,CAAC,GACnB,CAAC,GAGH,CAAC,SAAS,kCAAkC,CACxC,MAAM,YAAY,EAClB,MAAM,MAAM,EACZ,MAAM,KAAK,EACX,MAAM,SAAS,CAChB,EAAE,GACH,kCAAkC,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAE5E,kCAAkC,EAAE,CAAA;AAExC;;GAEG;AACH,oBAAY,cAAc,CACxB,CAAC,SAAS,GAAG,EAAE,EACf,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,EACzB,KAAK,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,IACtC,KAAK,CAAC,QAAQ,CAAC,SAAS,aAAa,GACrC,iBAAiB,EAAE,GACnB,CAAC,SAAS,EAAE,GACZ,EAAE,GACF,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,GACtB,CAAC,GAAG,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAC7B,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACrC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GACvE,CAAC,SAAS,kCAAkC,CAC1C,MAAM,YAAY,EAClB,MAAM,MAAM,EACZ,MAAM,KAAK,EACX,GAAG,CACJ,EAAE,GAEH,iBAAiB,CAAC,OAAO,SAAS,KAAK,GAAG,YAAY,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,GAEzE,iBAAiB,EAAE,CAAA;AAIvB,wBAAgB,aAAa,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,cAAc,EAAE;IAC7D,OAAO,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;CACxC,GAAG,cAAc,CAAC,CAAC,CAAC,CAoDpB"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { onCleanup, onMount, createComputed } from 'solid-js';
|
|
2
|
-
import { QueriesObserver } from '@tanstack/query-core';
|
|
3
|
-
import { createStore, unwrap } from 'solid-js/store';
|
|
4
|
-
import { useQueryClient } from './QueryClientProvider.esm.js';
|
|
5
|
-
import { scheduleMicrotask } from './utils.esm.js';
|
|
6
|
-
|
|
7
|
-
function createQueries(queriesOptions) {
|
|
8
|
-
const queryClient = useQueryClient({
|
|
9
|
-
context: queriesOptions.context
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
const normalizeOptions = options => {
|
|
13
|
-
const normalizedOptions = { ...options,
|
|
14
|
-
queryKey: options.queryKey == null ? void 0 : options.queryKey()
|
|
15
|
-
};
|
|
16
|
-
const defaultedOptions = queryClient.defaultQueryOptions(normalizedOptions);
|
|
17
|
-
defaultedOptions._optimisticResults = 'optimistic';
|
|
18
|
-
return defaultedOptions;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const defaultedQueries = queriesOptions.queries.map(options => normalizeOptions(options));
|
|
22
|
-
const observer = new QueriesObserver(queryClient, defaultedQueries);
|
|
23
|
-
const [state, setState] = createStore(observer.getOptimisticResult(defaultedQueries));
|
|
24
|
-
const taskQueue = [];
|
|
25
|
-
const unsubscribe = observer.subscribe(result => {
|
|
26
|
-
taskQueue.push(() => {
|
|
27
|
-
setState(unwrap(result));
|
|
28
|
-
});
|
|
29
|
-
scheduleMicrotask(() => {
|
|
30
|
-
const taskToRun = taskQueue.pop();
|
|
31
|
-
|
|
32
|
-
if (taskToRun) {
|
|
33
|
-
taskToRun();
|
|
34
|
-
taskQueue.splice(0, taskQueue.length);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
onCleanup(unsubscribe);
|
|
39
|
-
onMount(() => {
|
|
40
|
-
observer.setQueries(defaultedQueries, {
|
|
41
|
-
listeners: false
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
createComputed(() => {
|
|
45
|
-
const updateDefaultedQueries = queriesOptions.queries.map(options => normalizeOptions(options));
|
|
46
|
-
observer.setQueries(updateDefaultedQueries);
|
|
47
|
-
});
|
|
48
|
-
return state;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export { createQueries };
|
|
52
|
-
//# sourceMappingURL=createQueries.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createQueries.esm.js","sources":["../../src/createQueries.ts"],"sourcesContent":["import { createComputed, onCleanup, onMount } from 'solid-js'\nimport { QueriesObserver } from '@tanstack/query-core'\nimport { createStore, unwrap } from 'solid-js/store'\nimport { useQueryClient } from './QueryClientProvider'\nimport { scheduleMicrotask } from './utils'\nimport type {\n CreateQueryOptions,\n CreateQueryResult,\n SolidQueryKey,\n} from './types'\nimport type { QueryFunction } from '@tanstack/query-core'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// - `context` is omitted as it is passed as a root-level option to `useQueries` instead.\ntype CreateQueryOptionsForCreateQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n> = Omit<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'context'>\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<\n TQueryFnData,\n unknown,\n TData,\n () => TQueryKey\n >\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? CreateQueryOptionsForCreateQueries<\n TQueryFnData,\n unknown,\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<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n CreateQueryResult[]\n\ntype ArrType<T> = T extends (infer U)[] ? U : never\n\nexport function createQueries<T extends any[]>(queriesOptions: {\n queries: readonly [...QueriesOptions<T>]\n context?: CreateQueryOptions['context']\n}): QueriesResults<T> {\n const queryClient = useQueryClient({ context: queriesOptions.context })\n\n const normalizeOptions = (\n options: ArrType<typeof queriesOptions.queries>,\n ) => {\n const normalizedOptions = { ...options, queryKey: options.queryKey?.() }\n const defaultedOptions = queryClient.defaultQueryOptions(normalizedOptions)\n defaultedOptions._optimisticResults = 'optimistic'\n return defaultedOptions\n }\n\n const defaultedQueries = queriesOptions.queries.map((options) =>\n normalizeOptions(options),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries)\n\n const [state, setState] = createStore(\n observer.getOptimisticResult(defaultedQueries),\n )\n\n const taskQueue: Array<() => void> = []\n\n const unsubscribe = observer.subscribe((result) => {\n taskQueue.push(() => {\n setState(unwrap(result))\n })\n\n scheduleMicrotask(() => {\n const taskToRun = taskQueue.pop()\n if (taskToRun) {\n taskToRun()\n taskQueue.splice(0, taskQueue.length)\n }\n })\n })\n\n onCleanup(unsubscribe)\n\n onMount(() => {\n observer.setQueries(defaultedQueries, { listeners: false })\n })\n\n createComputed(() => {\n const updateDefaultedQueries = queriesOptions.queries.map((options) =>\n normalizeOptions(options),\n )\n observer.setQueries(updateDefaultedQueries)\n })\n\n return state as QueriesResults<T>\n}\n"],"names":["createQueries","queriesOptions","queryClient","useQueryClient","context","normalizeOptions","options","normalizedOptions","queryKey","defaultedOptions","defaultQueryOptions","_optimisticResults","defaultedQueries","queries","map","observer","QueriesObserver","state","setState","createStore","getOptimisticResult","taskQueue","unsubscribe","subscribe","result","push","unwrap","scheduleMicrotask","taskToRun","pop","splice","length","onCleanup","onMount","setQueries","listeners","createComputed","updateDefaultedQueries"],"mappings":";;;;;;AAmJO,SAASA,aAAT,CAAwCC,cAAxC,EAGe;EACpB,MAAMC,WAAW,GAAGC,cAAc,CAAC;IAAEC,OAAO,EAAEH,cAAc,CAACG,OAAAA;AAA1B,GAAD,CAAlC,CAAA;;EAEA,MAAMC,gBAAgB,GACpBC,OADuB,IAEpB;AACH,IAAA,MAAMC,iBAAiB,GAAG,EAAE,GAAGD,OAAL;AAAcE,MAAAA,QAAQ,EAAEF,OAAO,CAACE,QAAV,IAAEF,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACE,QAAR,EAAA;KAAlD,CAAA;AACA,IAAA,MAAMC,gBAAgB,GAAGP,WAAW,CAACQ,mBAAZ,CAAgCH,iBAAhC,CAAzB,CAAA;IACAE,gBAAgB,CAACE,kBAAjB,GAAsC,YAAtC,CAAA;AACA,IAAA,OAAOF,gBAAP,CAAA;GANF,CAAA;;AASA,EAAA,MAAMG,gBAAgB,GAAGX,cAAc,CAACY,OAAf,CAAuBC,GAAvB,CAA4BR,OAAD,IAClDD,gBAAgB,CAACC,OAAD,CADO,CAAzB,CAAA;EAIA,MAAMS,QAAQ,GAAG,IAAIC,eAAJ,CAAoBd,WAApB,EAAiCU,gBAAjC,CAAjB,CAAA;AAEA,EAAA,MAAM,CAACK,KAAD,EAAQC,QAAR,CAAoBC,GAAAA,WAAW,CACnCJ,QAAQ,CAACK,mBAAT,CAA6BR,gBAA7B,CADmC,CAArC,CAAA;EAIA,MAAMS,SAA4B,GAAG,EAArC,CAAA;AAEA,EAAA,MAAMC,WAAW,GAAGP,QAAQ,CAACQ,SAAT,CAAoBC,MAAD,IAAY;IACjDH,SAAS,CAACI,IAAV,CAAe,MAAM;AACnBP,MAAAA,QAAQ,CAACQ,MAAM,CAACF,MAAD,CAAP,CAAR,CAAA;KADF,CAAA,CAAA;AAIAG,IAAAA,iBAAiB,CAAC,MAAM;AACtB,MAAA,MAAMC,SAAS,GAAGP,SAAS,CAACQ,GAAV,EAAlB,CAAA;;AACA,MAAA,IAAID,SAAJ,EAAe;QACbA,SAAS,EAAA,CAAA;AACTP,QAAAA,SAAS,CAACS,MAAV,CAAiB,CAAjB,EAAoBT,SAAS,CAACU,MAA9B,CAAA,CAAA;AACD,OAAA;AACF,KANgB,CAAjB,CAAA;AAOD,GAZmB,CAApB,CAAA;EAcAC,SAAS,CAACV,WAAD,CAAT,CAAA;AAEAW,EAAAA,OAAO,CAAC,MAAM;AACZlB,IAAAA,QAAQ,CAACmB,UAAT,CAAoBtB,gBAApB,EAAsC;AAAEuB,MAAAA,SAAS,EAAE,KAAA;KAAnD,CAAA,CAAA;AACD,GAFM,CAAP,CAAA;AAIAC,EAAAA,cAAc,CAAC,MAAM;AACnB,IAAA,MAAMC,sBAAsB,GAAGpC,cAAc,CAACY,OAAf,CAAuBC,GAAvB,CAA4BR,OAAD,IACxDD,gBAAgB,CAACC,OAAD,CADa,CAA/B,CAAA;IAGAS,QAAQ,CAACmB,UAAT,CAAoBG,sBAApB,CAAA,CAAA;AACD,GALa,CAAd,CAAA;AAOA,EAAA,OAAOpB,KAAP,CAAA;AACD;;;;"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var solidJs = require('solid-js');
|
|
6
|
-
var queryCore = require('@tanstack/query-core');
|
|
7
|
-
var store = require('solid-js/store');
|
|
8
|
-
var QueryClientProvider = require('./QueryClientProvider.js');
|
|
9
|
-
var utils = require('./utils.js');
|
|
10
|
-
|
|
11
|
-
function createQueries(queriesOptions) {
|
|
12
|
-
const queryClient = QueryClientProvider.useQueryClient({
|
|
13
|
-
context: queriesOptions.context
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
const normalizeOptions = options => {
|
|
17
|
-
const normalizedOptions = { ...options,
|
|
18
|
-
queryKey: options.queryKey == null ? void 0 : options.queryKey()
|
|
19
|
-
};
|
|
20
|
-
const defaultedOptions = queryClient.defaultQueryOptions(normalizedOptions);
|
|
21
|
-
defaultedOptions._optimisticResults = 'optimistic';
|
|
22
|
-
return defaultedOptions;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const defaultedQueries = queriesOptions.queries.map(options => normalizeOptions(options));
|
|
26
|
-
const observer = new queryCore.QueriesObserver(queryClient, defaultedQueries);
|
|
27
|
-
const [state, setState] = store.createStore(observer.getOptimisticResult(defaultedQueries));
|
|
28
|
-
const taskQueue = [];
|
|
29
|
-
const unsubscribe = observer.subscribe(result => {
|
|
30
|
-
taskQueue.push(() => {
|
|
31
|
-
setState(store.unwrap(result));
|
|
32
|
-
});
|
|
33
|
-
utils.scheduleMicrotask(() => {
|
|
34
|
-
const taskToRun = taskQueue.pop();
|
|
35
|
-
|
|
36
|
-
if (taskToRun) {
|
|
37
|
-
taskToRun();
|
|
38
|
-
taskQueue.splice(0, taskQueue.length);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
solidJs.onCleanup(unsubscribe);
|
|
43
|
-
solidJs.onMount(() => {
|
|
44
|
-
observer.setQueries(defaultedQueries, {
|
|
45
|
-
listeners: false
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
solidJs.createComputed(() => {
|
|
49
|
-
const updateDefaultedQueries = queriesOptions.queries.map(options => normalizeOptions(options));
|
|
50
|
-
observer.setQueries(updateDefaultedQueries);
|
|
51
|
-
});
|
|
52
|
-
return state;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
exports.createQueries = createQueries;
|
|
56
|
-
//# sourceMappingURL=createQueries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createQueries.js","sources":["../../src/createQueries.ts"],"sourcesContent":["import { createComputed, onCleanup, onMount } from 'solid-js'\nimport { QueriesObserver } from '@tanstack/query-core'\nimport { createStore, unwrap } from 'solid-js/store'\nimport { useQueryClient } from './QueryClientProvider'\nimport { scheduleMicrotask } from './utils'\nimport type {\n CreateQueryOptions,\n CreateQueryResult,\n SolidQueryKey,\n} from './types'\nimport type { QueryFunction } from '@tanstack/query-core'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// - `context` is omitted as it is passed as a root-level option to `useQueries` instead.\ntype CreateQueryOptionsForCreateQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends SolidQueryKey = SolidQueryKey,\n> = Omit<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'context'>\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<\n TQueryFnData,\n unknown,\n TData,\n () => TQueryKey\n >\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? CreateQueryOptionsForCreateQueries<\n TQueryFnData,\n unknown,\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<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n CreateQueryResult[]\n\ntype ArrType<T> = T extends (infer U)[] ? U : never\n\nexport function createQueries<T extends any[]>(queriesOptions: {\n queries: readonly [...QueriesOptions<T>]\n context?: CreateQueryOptions['context']\n}): QueriesResults<T> {\n const queryClient = useQueryClient({ context: queriesOptions.context })\n\n const normalizeOptions = (\n options: ArrType<typeof queriesOptions.queries>,\n ) => {\n const normalizedOptions = { ...options, queryKey: options.queryKey?.() }\n const defaultedOptions = queryClient.defaultQueryOptions(normalizedOptions)\n defaultedOptions._optimisticResults = 'optimistic'\n return defaultedOptions\n }\n\n const defaultedQueries = queriesOptions.queries.map((options) =>\n normalizeOptions(options),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries)\n\n const [state, setState] = createStore(\n observer.getOptimisticResult(defaultedQueries),\n )\n\n const taskQueue: Array<() => void> = []\n\n const unsubscribe = observer.subscribe((result) => {\n taskQueue.push(() => {\n setState(unwrap(result))\n })\n\n scheduleMicrotask(() => {\n const taskToRun = taskQueue.pop()\n if (taskToRun) {\n taskToRun()\n taskQueue.splice(0, taskQueue.length)\n }\n })\n })\n\n onCleanup(unsubscribe)\n\n onMount(() => {\n observer.setQueries(defaultedQueries, { listeners: false })\n })\n\n createComputed(() => {\n const updateDefaultedQueries = queriesOptions.queries.map((options) =>\n normalizeOptions(options),\n )\n observer.setQueries(updateDefaultedQueries)\n })\n\n return state as QueriesResults<T>\n}\n"],"names":["createQueries","queriesOptions","queryClient","useQueryClient","context","normalizeOptions","options","normalizedOptions","queryKey","defaultedOptions","defaultQueryOptions","_optimisticResults","defaultedQueries","queries","map","observer","QueriesObserver","state","setState","createStore","getOptimisticResult","taskQueue","unsubscribe","subscribe","result","push","unwrap","scheduleMicrotask","taskToRun","pop","splice","length","onCleanup","onMount","setQueries","listeners","createComputed","updateDefaultedQueries"],"mappings":";;;;;;;;;;AAmJO,SAASA,aAAT,CAAwCC,cAAxC,EAGe;EACpB,MAAMC,WAAW,GAAGC,kCAAc,CAAC;IAAEC,OAAO,EAAEH,cAAc,CAACG,OAAAA;AAA1B,GAAD,CAAlC,CAAA;;EAEA,MAAMC,gBAAgB,GACpBC,OADuB,IAEpB;AACH,IAAA,MAAMC,iBAAiB,GAAG,EAAE,GAAGD,OAAL;AAAcE,MAAAA,QAAQ,EAAEF,OAAO,CAACE,QAAV,IAAEF,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAACE,QAAR,EAAA;KAAlD,CAAA;AACA,IAAA,MAAMC,gBAAgB,GAAGP,WAAW,CAACQ,mBAAZ,CAAgCH,iBAAhC,CAAzB,CAAA;IACAE,gBAAgB,CAACE,kBAAjB,GAAsC,YAAtC,CAAA;AACA,IAAA,OAAOF,gBAAP,CAAA;GANF,CAAA;;AASA,EAAA,MAAMG,gBAAgB,GAAGX,cAAc,CAACY,OAAf,CAAuBC,GAAvB,CAA4BR,OAAD,IAClDD,gBAAgB,CAACC,OAAD,CADO,CAAzB,CAAA;EAIA,MAAMS,QAAQ,GAAG,IAAIC,yBAAJ,CAAoBd,WAApB,EAAiCU,gBAAjC,CAAjB,CAAA;AAEA,EAAA,MAAM,CAACK,KAAD,EAAQC,QAAR,CAAoBC,GAAAA,iBAAW,CACnCJ,QAAQ,CAACK,mBAAT,CAA6BR,gBAA7B,CADmC,CAArC,CAAA;EAIA,MAAMS,SAA4B,GAAG,EAArC,CAAA;AAEA,EAAA,MAAMC,WAAW,GAAGP,QAAQ,CAACQ,SAAT,CAAoBC,MAAD,IAAY;IACjDH,SAAS,CAACI,IAAV,CAAe,MAAM;AACnBP,MAAAA,QAAQ,CAACQ,YAAM,CAACF,MAAD,CAAP,CAAR,CAAA;KADF,CAAA,CAAA;AAIAG,IAAAA,uBAAiB,CAAC,MAAM;AACtB,MAAA,MAAMC,SAAS,GAAGP,SAAS,CAACQ,GAAV,EAAlB,CAAA;;AACA,MAAA,IAAID,SAAJ,EAAe;QACbA,SAAS,EAAA,CAAA;AACTP,QAAAA,SAAS,CAACS,MAAV,CAAiB,CAAjB,EAAoBT,SAAS,CAACU,MAA9B,CAAA,CAAA;AACD,OAAA;AACF,KANgB,CAAjB,CAAA;AAOD,GAZmB,CAApB,CAAA;EAcAC,iBAAS,CAACV,WAAD,CAAT,CAAA;AAEAW,EAAAA,eAAO,CAAC,MAAM;AACZlB,IAAAA,QAAQ,CAACmB,UAAT,CAAoBtB,gBAApB,EAAsC;AAAEuB,MAAAA,SAAS,EAAE,KAAA;KAAnD,CAAA,CAAA;AACD,GAFM,CAAP,CAAA;AAIAC,EAAAA,sBAAc,CAAC,MAAM;AACnB,IAAA,MAAMC,sBAAsB,GAAGpC,cAAc,CAACY,OAAf,CAAuBC,GAAvB,CAA4BR,OAAD,IACxDD,gBAAgB,CAACC,OAAD,CADa,CAA/B,CAAA;IAGAS,QAAQ,CAACmB,UAAT,CAAoBG,sBAApB,CAAA,CAAA;AACD,GALa,CAAd,CAAA;AAOA,EAAA,OAAOpB,KAAP,CAAA;AACD;;;;"}
|