@tanstack/solid-query 5.0.0-alpha.18 → 5.0.0-alpha.19

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.
@@ -0,0 +1,32 @@
1
+ import { notifyManager, QueriesObserver } from '@tanstack/query-core';
2
+ import { createComputed, onCleanup, onMount } from 'solid-js';
3
+ import { createStore, unwrap } from 'solid-js/store';
4
+ import { useQueryClient } from './QueryClientProvider';
5
+ export function createQueries(queriesOptions, queryClient) {
6
+ const client = useQueryClient(queryClient?.());
7
+ const defaultedQueries = queriesOptions().queries.map((options) => {
8
+ const defaultedOptions = client.defaultQueryOptions(options);
9
+ defaultedOptions._optimisticResults = 'optimistic';
10
+ return defaultedOptions;
11
+ });
12
+ const observer = new QueriesObserver(client, defaultedQueries);
13
+ const [state, setState] = createStore(observer.getOptimisticResult(defaultedQueries));
14
+ const unsubscribe = observer.subscribe((result) => {
15
+ notifyManager.batchCalls(() => {
16
+ setState(unwrap(result));
17
+ })();
18
+ });
19
+ onCleanup(unsubscribe);
20
+ onMount(() => {
21
+ observer.setQueries(defaultedQueries, { listeners: false });
22
+ });
23
+ createComputed(() => {
24
+ const updatedQueries = queriesOptions().queries.map((options) => {
25
+ const defaultedOptions = client.defaultQueryOptions(options);
26
+ defaultedOptions._optimisticResults = 'optimistic';
27
+ return defaultedOptions;
28
+ });
29
+ observer.setQueries(updatedQueries);
30
+ });
31
+ return state;
32
+ }
@@ -0,0 +1,6 @@
1
+ import { QueryObserver } from '@tanstack/query-core';
2
+ import { createMemo } from 'solid-js';
3
+ import { createBaseQuery } from './createBaseQuery';
4
+ export function createQuery(options, queryClient) {
5
+ return createBaseQuery(createMemo(() => options()), QueryObserver, queryClient);
6
+ }
@@ -0,0 +1,14 @@
1
+ /* istanbul ignore file */
2
+ // Side Effects
3
+ import './setBatchUpdatesFn';
4
+ // Re-export core
5
+ export * from '@tanstack/query-core';
6
+ // Solid Query
7
+ export * from './types';
8
+ export { createQuery } from './createQuery';
9
+ export { QueryClientContext, QueryClientProvider, useQueryClient, } from './QueryClientProvider';
10
+ export { useIsFetching } from './useIsFetching';
11
+ export { createInfiniteQuery } from './createInfiniteQuery';
12
+ export { createMutation } from './createMutation';
13
+ export { useIsMutating } from './useIsMutating';
14
+ export { createQueries } from './createQueries';
@@ -0,0 +1,3 @@
1
+ import { notifyManager } from '@tanstack/query-core';
2
+ import { batch } from 'solid-js';
3
+ notifyManager.setBatchNotifyFunction(batch);
@@ -0,0 +1,2 @@
1
+ /* istanbul ignore file */
2
+ export {};
@@ -0,0 +1,12 @@
1
+ import { createMemo, createSignal, onCleanup } from 'solid-js';
2
+ import { useQueryClient } from './QueryClientProvider';
3
+ export function useIsFetching(filters, queryClient) {
4
+ const client = createMemo(() => useQueryClient(queryClient?.()));
5
+ const queryCache = createMemo(() => client().getQueryCache());
6
+ const [fetches, setFetches] = createSignal(client().isFetching(filters?.()));
7
+ const unsubscribe = queryCache().subscribe(() => {
8
+ setFetches(client().isFetching(filters?.()));
9
+ });
10
+ onCleanup(unsubscribe);
11
+ return fetches;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { useQueryClient } from './QueryClientProvider';
2
+ import { createSignal, onCleanup, createMemo } from 'solid-js';
3
+ export function useIsMutating(filters, queryClient) {
4
+ const client = createMemo(() => useQueryClient(queryClient?.()));
5
+ const mutationCache = createMemo(() => client().getMutationCache());
6
+ const [mutations, setMutations] = createSignal(client().isMutating(filters?.()));
7
+ const unsubscribe = mutationCache().subscribe((_result) => {
8
+ setMutations(client().isMutating(filters?.()));
9
+ });
10
+ onCleanup(unsubscribe);
11
+ return mutations;
12
+ }
@@ -0,0 +1,7 @@
1
+ export 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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/solid-query",
3
- "version": "5.0.0-alpha.18",
3
+ "version": "5.0.0-alpha.19",
4
4
  "description": "Primitives for managing, caching and syncing asynchronous and remote data in Solid",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -43,7 +43,7 @@
43
43
  "vite-plugin-solid": "^2.3.9"
44
44
  },
45
45
  "dependencies": {
46
- "@tanstack/query-core": "5.0.0-alpha.18"
46
+ "@tanstack/query-core": "5.0.0-alpha.19"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "solid-js": "^1.6.13"