@legendapp/state 3.0.0-beta.1 → 3.0.0-beta.3
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 +1 -1
- package/sync-plugins/tanstack-query.d.mts +2 -2
- package/sync-plugins/tanstack-query.d.ts +2 -2
- package/sync-plugins/tanstack-query.js +17 -2
- package/sync-plugins/tanstack-query.mjs +17 -2
- package/sync-plugins/tanstack-react-query.d.mts +4 -2
- package/sync-plugins/tanstack-react-query.d.ts +4 -2
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { SyncedOptions } from '@legendapp/state/sync';
|
|
2
2
|
import { QueryKey, QueryObserverOptions, QueryClient, MutationObserverOptions, DefaultError } from '@tanstack/query-core';
|
|
3
3
|
|
|
4
|
-
interface ObservableQueryOptions<TQueryFnData, TError, TData, TQueryKey extends QueryKey> extends Omit<QueryObserverOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'> {
|
|
4
|
+
interface ObservableQueryOptions<TQueryFnData, TError, TData, TQueryKey extends QueryKey> extends Omit<QueryObserverOptions<TQueryFnData, TError, TData, TData, TQueryKey>, 'queryKey'> {
|
|
5
5
|
queryKey?: TQueryKey | (() => TQueryKey);
|
|
6
6
|
}
|
|
7
|
-
interface SyncedQueryParams<TQueryFnData, TError, TData, TQueryKey extends QueryKey> extends Omit<SyncedOptions<TData>, 'get' | 'set'> {
|
|
7
|
+
interface SyncedQueryParams<TQueryFnData, TError, TData, TQueryKey extends QueryKey> extends Omit<SyncedOptions<TData>, 'get' | 'set' | 'retry'> {
|
|
8
8
|
queryClient: QueryClient;
|
|
9
9
|
query: ObservableQueryOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
10
10
|
mutation?: MutationObserverOptions<TData, TError, void>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { SyncedOptions } from '@legendapp/state/sync';
|
|
2
2
|
import { QueryKey, QueryObserverOptions, QueryClient, MutationObserverOptions, DefaultError } from '@tanstack/query-core';
|
|
3
3
|
|
|
4
|
-
interface ObservableQueryOptions<TQueryFnData, TError, TData, TQueryKey extends QueryKey> extends Omit<QueryObserverOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'> {
|
|
4
|
+
interface ObservableQueryOptions<TQueryFnData, TError, TData, TQueryKey extends QueryKey> extends Omit<QueryObserverOptions<TQueryFnData, TError, TData, TData, TQueryKey>, 'queryKey'> {
|
|
5
5
|
queryKey?: TQueryKey | (() => TQueryKey);
|
|
6
6
|
}
|
|
7
|
-
interface SyncedQueryParams<TQueryFnData, TError, TData, TQueryKey extends QueryKey> extends Omit<SyncedOptions<TData>, 'get' | 'set'> {
|
|
7
|
+
interface SyncedQueryParams<TQueryFnData, TError, TData, TQueryKey extends QueryKey> extends Omit<SyncedOptions<TData>, 'get' | 'set' | 'retry'> {
|
|
8
8
|
queryClient: QueryClient;
|
|
9
9
|
query: ObservableQueryOptions<TQueryFnData, TError, TData, TQueryKey>;
|
|
10
10
|
mutation?: MutationObserverOptions<TData, TError, void>;
|
|
@@ -5,8 +5,14 @@ var sync = require('@legendapp/state/sync');
|
|
|
5
5
|
var queryCore = require('@tanstack/query-core');
|
|
6
6
|
|
|
7
7
|
// src/sync-plugins/tanstack-query.ts
|
|
8
|
+
var nextMutationKey = 0;
|
|
8
9
|
function syncedQuery(params) {
|
|
9
|
-
const { query: options, mutation: mutationOptions, queryClient, ...rest } = params;
|
|
10
|
+
const { query: options, mutation: mutationOptions, queryClient, initial: initialParam, ...rest } = params;
|
|
11
|
+
if (initialParam !== void 0) {
|
|
12
|
+
const initialValue = state.isFunction(initialParam) ? initialParam() : initialParam;
|
|
13
|
+
options.initialData = initialValue;
|
|
14
|
+
}
|
|
15
|
+
const initial = options.initialData;
|
|
10
16
|
const Observer = queryCore.QueryObserver;
|
|
11
17
|
const defaultedOptions = queryClient.defaultQueryOptions(
|
|
12
18
|
options
|
|
@@ -66,8 +72,16 @@ function syncedQuery(params) {
|
|
|
66
72
|
};
|
|
67
73
|
let set = void 0;
|
|
68
74
|
if (mutationOptions) {
|
|
69
|
-
const
|
|
75
|
+
const options2 = {
|
|
76
|
+
mutationKey: ["LS-mutation", nextMutationKey++],
|
|
77
|
+
...mutationOptions
|
|
78
|
+
};
|
|
79
|
+
const mutator = new queryCore.MutationObserver(queryClient, options2);
|
|
70
80
|
set = ({ value }) => {
|
|
81
|
+
const mutationCache = queryClient.getMutationCache();
|
|
82
|
+
mutationCache.findAll({ mutationKey: options2.mutationKey }).forEach((mutation) => {
|
|
83
|
+
mutationCache.remove(mutation);
|
|
84
|
+
});
|
|
71
85
|
return mutator.mutate(value);
|
|
72
86
|
};
|
|
73
87
|
}
|
|
@@ -75,6 +89,7 @@ function syncedQuery(params) {
|
|
|
75
89
|
get,
|
|
76
90
|
set,
|
|
77
91
|
subscribe,
|
|
92
|
+
initial,
|
|
78
93
|
...rest
|
|
79
94
|
});
|
|
80
95
|
}
|
|
@@ -3,8 +3,14 @@ import { synced } from '@legendapp/state/sync';
|
|
|
3
3
|
import { MutationObserver, QueryObserver, notifyManager } from '@tanstack/query-core';
|
|
4
4
|
|
|
5
5
|
// src/sync-plugins/tanstack-query.ts
|
|
6
|
+
var nextMutationKey = 0;
|
|
6
7
|
function syncedQuery(params) {
|
|
7
|
-
const { query: options, mutation: mutationOptions, queryClient, ...rest } = params;
|
|
8
|
+
const { query: options, mutation: mutationOptions, queryClient, initial: initialParam, ...rest } = params;
|
|
9
|
+
if (initialParam !== void 0) {
|
|
10
|
+
const initialValue = isFunction(initialParam) ? initialParam() : initialParam;
|
|
11
|
+
options.initialData = initialValue;
|
|
12
|
+
}
|
|
13
|
+
const initial = options.initialData;
|
|
8
14
|
const Observer = QueryObserver;
|
|
9
15
|
const defaultedOptions = queryClient.defaultQueryOptions(
|
|
10
16
|
options
|
|
@@ -64,8 +70,16 @@ function syncedQuery(params) {
|
|
|
64
70
|
};
|
|
65
71
|
let set = void 0;
|
|
66
72
|
if (mutationOptions) {
|
|
67
|
-
const
|
|
73
|
+
const options2 = {
|
|
74
|
+
mutationKey: ["LS-mutation", nextMutationKey++],
|
|
75
|
+
...mutationOptions
|
|
76
|
+
};
|
|
77
|
+
const mutator = new MutationObserver(queryClient, options2);
|
|
68
78
|
set = ({ value }) => {
|
|
79
|
+
const mutationCache = queryClient.getMutationCache();
|
|
80
|
+
mutationCache.findAll({ mutationKey: options2.mutationKey }).forEach((mutation) => {
|
|
81
|
+
mutationCache.remove(mutation);
|
|
82
|
+
});
|
|
69
83
|
return mutator.mutate(value);
|
|
70
84
|
};
|
|
71
85
|
}
|
|
@@ -73,6 +87,7 @@ function syncedQuery(params) {
|
|
|
73
87
|
get,
|
|
74
88
|
set,
|
|
75
89
|
subscribe,
|
|
90
|
+
initial,
|
|
76
91
|
...rest
|
|
77
92
|
});
|
|
78
93
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { SyncedQueryParams } from '@legendapp/state/sync-plugins/tanstack-query';
|
|
2
|
-
import { DefaultError, QueryKey } from '@tanstack/query-core';
|
|
2
|
+
import { DefaultError, QueryKey, QueryClient } from '@tanstack/query-core';
|
|
3
3
|
import { Observable } from '@legendapp/state';
|
|
4
4
|
import { Synced } from '@legendapp/state/sync';
|
|
5
5
|
|
|
6
|
-
declare function useObservableSyncedQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(params: SyncedQueryParams<TQueryFnData, TError, TData, TQueryKey>
|
|
6
|
+
declare function useObservableSyncedQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(params: Omit<SyncedQueryParams<TQueryFnData, TError, TData, TQueryKey>, 'queryClient'> & {
|
|
7
|
+
queryClient?: QueryClient;
|
|
8
|
+
}): Observable<Synced<TData>>;
|
|
7
9
|
|
|
8
10
|
export { useObservableSyncedQuery };
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { SyncedQueryParams } from '@legendapp/state/sync-plugins/tanstack-query';
|
|
2
|
-
import { DefaultError, QueryKey } from '@tanstack/query-core';
|
|
2
|
+
import { DefaultError, QueryKey, QueryClient } from '@tanstack/query-core';
|
|
3
3
|
import { Observable } from '@legendapp/state';
|
|
4
4
|
import { Synced } from '@legendapp/state/sync';
|
|
5
5
|
|
|
6
|
-
declare function useObservableSyncedQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(params: SyncedQueryParams<TQueryFnData, TError, TData, TQueryKey>
|
|
6
|
+
declare function useObservableSyncedQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(params: Omit<SyncedQueryParams<TQueryFnData, TError, TData, TQueryKey>, 'queryClient'> & {
|
|
7
|
+
queryClient?: QueryClient;
|
|
8
|
+
}): Observable<Synced<TData>>;
|
|
7
9
|
|
|
8
10
|
export { useObservableSyncedQuery };
|