@veams/status-quo-query 0.1.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/.turbo/turbo-build.log +12 -0
- package/.turbo/turbo-check$colon$types.log +4 -0
- package/.turbo/turbo-lint.log +8 -0
- package/.turbo/turbo-test.log +13 -0
- package/CHANGELOG.md +5 -0
- package/README.md +173 -0
- package/dist/cache.d.ts +16 -0
- package/dist/cache.js +17 -0
- package/dist/cache.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/mutation-service.d.ts +24 -0
- package/dist/mutation-service.js +31 -0
- package/dist/mutation-service.js.map +1 -0
- package/dist/mutation.d.ts +24 -0
- package/dist/mutation.js +31 -0
- package/dist/mutation.js.map +1 -0
- package/dist/query-service.d.ts +33 -0
- package/dist/query-service.js +55 -0
- package/dist/query-service.js.map +1 -0
- package/dist/query.d.ts +33 -0
- package/dist/query.js +55 -0
- package/dist/query.js.map +1 -0
- package/dist/runtime.d.ts +16 -0
- package/dist/runtime.js +17 -0
- package/dist/runtime.js.map +1 -0
- package/eslint.config.mjs +50 -0
- package/jest.config.cjs +22 -0
- package/package.json +84 -0
- package/src/__tests__/cache.spec.ts +32 -0
- package/src/__tests__/mutation.spec.ts +49 -0
- package/src/__tests__/query.spec.ts +80 -0
- package/src/cache.ts +34 -0
- package/src/index.ts +3 -0
- package/src/mutation.ts +100 -0
- package/src/query.ts +152 -0
- package/tsconfig.eslint.json +12 -0
- package/tsconfig.json +32 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
> @veams/status-quo-query@0.1.0 test
|
|
3
|
+
> cross-env NODE_ENV=test jest --config jest.config.cjs
|
|
4
|
+
|
|
5
|
+
PASS src/__tests__/cache.spec.ts
|
|
6
|
+
PASS src/__tests__/mutation.spec.ts
|
|
7
|
+
PASS src/__tests__/query.spec.ts
|
|
8
|
+
|
|
9
|
+
Test Suites: 3 passed, 3 total
|
|
10
|
+
Tests: 7 passed, 7 total
|
|
11
|
+
Snapshots: 0 total
|
|
12
|
+
Time: 0.816 s, estimated 1 s
|
|
13
|
+
Ran all test suites.
|
package/CHANGELOG.md
ADDED
package/README.md
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# @veams/status-quo-query
|
|
2
|
+
|
|
3
|
+
TanStack Query service helpers with a small subscribable surface that fits naturally into the StatusQuo ecosystem.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @veams/status-quo-query @tanstack/query-core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Package Exports
|
|
12
|
+
|
|
13
|
+
Root exports:
|
|
14
|
+
|
|
15
|
+
- `setupCache`
|
|
16
|
+
- `setupQuery`
|
|
17
|
+
- `setupMutation`
|
|
18
|
+
- `isQueryLoading`
|
|
19
|
+
- `toQueryMetaState`
|
|
20
|
+
- `QueryFetchStatus`
|
|
21
|
+
- `QueryStatus`
|
|
22
|
+
- `MutationStatus`
|
|
23
|
+
- `CacheApi`
|
|
24
|
+
- `CreateQuery`
|
|
25
|
+
- `CreateMutation`
|
|
26
|
+
- `QueryService`
|
|
27
|
+
- `MutationService`
|
|
28
|
+
- `QueryServiceSnapshot`
|
|
29
|
+
- `MutationServiceSnapshot`
|
|
30
|
+
- `QueryServiceOptions`
|
|
31
|
+
- `MutationServiceOptions`
|
|
32
|
+
- `QueryInvalidateOptions`
|
|
33
|
+
- `QueryMetaState`
|
|
34
|
+
|
|
35
|
+
Subpath exports:
|
|
36
|
+
|
|
37
|
+
- `@veams/status-quo-query/cache`
|
|
38
|
+
- `@veams/status-quo-query/query`
|
|
39
|
+
- `@veams/status-quo-query/mutation`
|
|
40
|
+
|
|
41
|
+
## Quickstart
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
import { QueryClient } from '@tanstack/query-core';
|
|
45
|
+
import {
|
|
46
|
+
setupCache,
|
|
47
|
+
} from '@veams/status-quo-query';
|
|
48
|
+
|
|
49
|
+
const queryClient = new QueryClient();
|
|
50
|
+
const cache = setupCache(queryClient);
|
|
51
|
+
|
|
52
|
+
const userQuery = cache.createQuery(['user', 42], () => fetchUser(42), {
|
|
53
|
+
enabled: false,
|
|
54
|
+
});
|
|
55
|
+
await userQuery.refetch();
|
|
56
|
+
await userQuery.invalidate({ refetchType: 'none' });
|
|
57
|
+
|
|
58
|
+
const updateUser = cache.createMutation((payload: UpdateUserPayload) => saveUser(payload));
|
|
59
|
+
await updateUser.mutate({ id: 42 });
|
|
60
|
+
|
|
61
|
+
await cache.invalidateQueries({ queryKey: ['user'] });
|
|
62
|
+
cache.setQueryData(['user', 42], (current) => current);
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## API
|
|
66
|
+
|
|
67
|
+
### `setupCache(queryClient)`
|
|
68
|
+
|
|
69
|
+
Creates the package-level cache facade around an existing TanStack `QueryClient`.
|
|
70
|
+
|
|
71
|
+
Returns `CacheApi` with:
|
|
72
|
+
|
|
73
|
+
- `createQuery(queryKey, queryFn, options?)`
|
|
74
|
+
- `createMutation(mutationFn, options?)`
|
|
75
|
+
- `cancelQueries(...)`
|
|
76
|
+
- `getQueryData(...)`
|
|
77
|
+
- `invalidateQueries(...)`
|
|
78
|
+
- `refetchQueries(...)`
|
|
79
|
+
- `removeQueries(...)`
|
|
80
|
+
- `resetQueries(...)`
|
|
81
|
+
- `setQueryData(...)`
|
|
82
|
+
- `unsafe_getClient()`
|
|
83
|
+
|
|
84
|
+
All cache methods forward directly to the corresponding `QueryClient` methods. `unsafe_getClient()` returns the raw TanStack client as an explicit escape hatch.
|
|
85
|
+
|
|
86
|
+
### `setupQuery(queryClient)`
|
|
87
|
+
|
|
88
|
+
Creates a `createQuery` factory bound to a `QueryClient`.
|
|
89
|
+
|
|
90
|
+
`createQuery(queryKey, queryFn, options?)` returns `QueryService<TData, TError>`.
|
|
91
|
+
|
|
92
|
+
`QueryServiceOptions` is based on TanStack `QueryObserverOptions`, without `queryKey` and `queryFn` because those are provided directly to `createQuery`.
|
|
93
|
+
|
|
94
|
+
`QueryService` methods:
|
|
95
|
+
|
|
96
|
+
- `getSnapshot()`
|
|
97
|
+
- `subscribe(listener)`
|
|
98
|
+
- `refetch(options?)`
|
|
99
|
+
- `invalidate(options?)`
|
|
100
|
+
- `unsafe_getResult()`
|
|
101
|
+
|
|
102
|
+
`QueryServiceSnapshot<TData, TError>` fields:
|
|
103
|
+
|
|
104
|
+
- `data`
|
|
105
|
+
- `error`
|
|
106
|
+
- `fetchStatus`
|
|
107
|
+
- `status`
|
|
108
|
+
- `isError`
|
|
109
|
+
- `isFetching`
|
|
110
|
+
- `isPending`
|
|
111
|
+
- `isSuccess`
|
|
112
|
+
|
|
113
|
+
`invalidate(options?)` invalidates the query by its exact key. `QueryInvalidateOptions` supports:
|
|
114
|
+
|
|
115
|
+
- `refetchType`
|
|
116
|
+
- `cancelRefetch`
|
|
117
|
+
- `throwOnError`
|
|
118
|
+
|
|
119
|
+
`unsafe_getResult()` returns the raw TanStack `QueryObserverResult`.
|
|
120
|
+
|
|
121
|
+
### `setupMutation(queryClient)`
|
|
122
|
+
|
|
123
|
+
Creates a `createMutation` factory bound to a `QueryClient`.
|
|
124
|
+
|
|
125
|
+
`createMutation(mutationFn, options?)` returns `MutationService<TData, TError, TVariables, TOnMutateResult>`.
|
|
126
|
+
|
|
127
|
+
`MutationServiceOptions` is based on TanStack `MutationObserverOptions`, without `mutationFn` because it is provided directly to `createMutation`.
|
|
128
|
+
|
|
129
|
+
`MutationService` methods:
|
|
130
|
+
|
|
131
|
+
- `getSnapshot()`
|
|
132
|
+
- `subscribe(listener)`
|
|
133
|
+
- `mutate(variables, options?)`
|
|
134
|
+
- `reset()`
|
|
135
|
+
- `unsafe_getResult()`
|
|
136
|
+
|
|
137
|
+
`MutationServiceSnapshot<TData, TError, TVariables>` fields:
|
|
138
|
+
|
|
139
|
+
- `data`
|
|
140
|
+
- `error`
|
|
141
|
+
- `status`
|
|
142
|
+
- `variables`
|
|
143
|
+
- `isError`
|
|
144
|
+
- `isIdle`
|
|
145
|
+
- `isPending`
|
|
146
|
+
- `isSuccess`
|
|
147
|
+
|
|
148
|
+
`unsafe_getResult()` returns the raw TanStack `MutationObserverResult`.
|
|
149
|
+
|
|
150
|
+
### Query Helpers
|
|
151
|
+
|
|
152
|
+
`toQueryMetaState(snapshot)` reduces a query snapshot to:
|
|
153
|
+
|
|
154
|
+
- `status`
|
|
155
|
+
- `fetchStatus`
|
|
156
|
+
|
|
157
|
+
`isQueryLoading(metaState)` returns `true` when:
|
|
158
|
+
|
|
159
|
+
- `status === 'pending'`
|
|
160
|
+
- `fetchStatus === 'fetching'`
|
|
161
|
+
|
|
162
|
+
### Status Types
|
|
163
|
+
|
|
164
|
+
- `QueryFetchStatus` re-exports TanStack `FetchStatus`
|
|
165
|
+
- `QueryStatus` re-exports TanStack query status
|
|
166
|
+
- `MutationStatus` re-exports TanStack mutation status
|
|
167
|
+
|
|
168
|
+
## Design Notes
|
|
169
|
+
|
|
170
|
+
- `getSnapshot()` always returns passive state only.
|
|
171
|
+
- Commands live on the handle itself: `refetch`, `invalidate`, `mutate`, `reset`.
|
|
172
|
+
- Raw TanStack observer and client access is explicit through `unsafe_getResult()` and `unsafe_getClient()`.
|
|
173
|
+
- Cache-level operations live on `setupCache()`, not on individual snapshots.
|
package/dist/cache.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type QueryClient } from '@tanstack/query-core';
|
|
2
|
+
import { type CreateMutation } from './mutation';
|
|
3
|
+
import { type CreateQuery } from './query';
|
|
4
|
+
export interface CacheApi {
|
|
5
|
+
createMutation: CreateMutation;
|
|
6
|
+
createQuery: CreateQuery;
|
|
7
|
+
cancelQueries: QueryClient['cancelQueries'];
|
|
8
|
+
getQueryData: QueryClient['getQueryData'];
|
|
9
|
+
invalidateQueries: QueryClient['invalidateQueries'];
|
|
10
|
+
refetchQueries: QueryClient['refetchQueries'];
|
|
11
|
+
removeQueries: QueryClient['removeQueries'];
|
|
12
|
+
resetQueries: QueryClient['resetQueries'];
|
|
13
|
+
setQueryData: QueryClient['setQueryData'];
|
|
14
|
+
unsafe_getClient: () => QueryClient;
|
|
15
|
+
}
|
|
16
|
+
export declare function setupCache(queryClient: QueryClient): CacheApi;
|
package/dist/cache.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { setupMutation } from './mutation';
|
|
2
|
+
import { setupQuery } from './query';
|
|
3
|
+
export function setupCache(queryClient) {
|
|
4
|
+
return {
|
|
5
|
+
createMutation: setupMutation(queryClient),
|
|
6
|
+
createQuery: setupQuery(queryClient),
|
|
7
|
+
cancelQueries: queryClient.cancelQueries.bind(queryClient),
|
|
8
|
+
getQueryData: queryClient.getQueryData.bind(queryClient),
|
|
9
|
+
invalidateQueries: queryClient.invalidateQueries.bind(queryClient),
|
|
10
|
+
refetchQueries: queryClient.refetchQueries.bind(queryClient),
|
|
11
|
+
removeQueries: queryClient.removeQueries.bind(queryClient),
|
|
12
|
+
resetQueries: queryClient.resetQueries.bind(queryClient),
|
|
13
|
+
setQueryData: queryClient.setQueryData.bind(queryClient),
|
|
14
|
+
unsafe_getClient: () => queryClient,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,aAAa,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAoB,UAAU,EAAE,MAAM,SAAS,CAAC;AAevD,MAAM,UAAU,UAAU,CAAC,WAAwB;IACjD,OAAO;QACL,cAAc,EAAE,aAAa,CAAC,WAAW,CAAC;QAC1C,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC;QACpC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1D,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;QAClE,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5D,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1D,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,gBAAgB,EAAE,GAAG,EAAE,CAAC,WAAW;KACpC,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type MutationFunction, type MutateOptions, type MutationObserverOptions, type MutationObserverResult, type MutationStatus as TanstackMutationStatus, type QueryClient } from '@tanstack/query-core';
|
|
2
|
+
export type MutationStatus = TanstackMutationStatus;
|
|
3
|
+
export interface MutationServiceSnapshot<TData = unknown, TError = Error, TVariables = void> {
|
|
4
|
+
data: TData | undefined;
|
|
5
|
+
error: TError | null;
|
|
6
|
+
status: MutationStatus;
|
|
7
|
+
variables: TVariables | undefined;
|
|
8
|
+
isError: boolean;
|
|
9
|
+
isIdle: boolean;
|
|
10
|
+
isPending: boolean;
|
|
11
|
+
isSuccess: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface MutationService<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown> {
|
|
14
|
+
getSnapshot: () => MutationServiceSnapshot<TData, TError, TVariables>;
|
|
15
|
+
subscribe: (listener: (snapshot: MutationServiceSnapshot<TData, TError, TVariables>) => void) => () => void;
|
|
16
|
+
mutate: (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>) => Promise<TData>;
|
|
17
|
+
reset: () => void;
|
|
18
|
+
unsafe_getResult: () => MutationObserverResult<TData, TError, TVariables, TOnMutateResult>;
|
|
19
|
+
}
|
|
20
|
+
export type MutationServiceOptions<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown> = Omit<MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>, 'mutationFn'>;
|
|
21
|
+
export interface CreateMutation {
|
|
22
|
+
<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown>(mutationFn: MutationFunction<TData, TVariables>, options?: MutationServiceOptions<TData, TError, TVariables, TOnMutateResult>): MutationService<TData, TError, TVariables, TOnMutateResult>;
|
|
23
|
+
}
|
|
24
|
+
export declare function setupMutation(queryClient: QueryClient): CreateMutation;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MutationObserver, } from '@tanstack/query-core';
|
|
2
|
+
export function setupMutation(queryClient) {
|
|
3
|
+
return function createMutation(mutationFn, options) {
|
|
4
|
+
const observer = new MutationObserver(queryClient, {
|
|
5
|
+
...options,
|
|
6
|
+
mutationFn,
|
|
7
|
+
});
|
|
8
|
+
return {
|
|
9
|
+
getSnapshot: () => toMutationServiceSnapshot(observer.getCurrentResult()),
|
|
10
|
+
subscribe: (listener) => observer.subscribe((result) => {
|
|
11
|
+
listener(toMutationServiceSnapshot(result));
|
|
12
|
+
}),
|
|
13
|
+
mutate: (variables, mutateOptions) => observer.mutate(variables, mutateOptions),
|
|
14
|
+
reset: () => observer.reset(),
|
|
15
|
+
unsafe_getResult: () => observer.getCurrentResult(),
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function toMutationServiceSnapshot(result) {
|
|
20
|
+
return {
|
|
21
|
+
data: result.data,
|
|
22
|
+
error: result.error,
|
|
23
|
+
status: result.status,
|
|
24
|
+
variables: result.variables,
|
|
25
|
+
isError: result.isError,
|
|
26
|
+
isIdle: result.isIdle,
|
|
27
|
+
isPending: result.isPending,
|
|
28
|
+
isSuccess: result.isSuccess,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=mutation-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-service.js","sourceRoot":"","sources":["../src/mutation-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAOjB,MAAM,sBAAsB,CAAC;AA+C9B,MAAM,UAAU,aAAa,CAAC,WAAwB;IACpD,OAAO,SAAS,cAAc,CAM5B,UAA+C,EAC/C,OAA4E;QAE5E,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CACnC,WAAW,EACX;YACE,GAAG,OAAO;YACV,UAAU;SACX,CACF,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACzE,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CACtB,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC5B,QAAQ,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC;YACJ,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC/E,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC7B,gBAAgB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE;SACpD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,MAA0E;IAE1E,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type MutationFunction, type MutateOptions, type MutationObserverOptions, type MutationObserverResult, type MutationStatus as TanstackMutationStatus, type QueryClient } from '@tanstack/query-core';
|
|
2
|
+
export type MutationStatus = TanstackMutationStatus;
|
|
3
|
+
export interface MutationServiceSnapshot<TData = unknown, TError = Error, TVariables = void> {
|
|
4
|
+
data: TData | undefined;
|
|
5
|
+
error: TError | null;
|
|
6
|
+
status: MutationStatus;
|
|
7
|
+
variables: TVariables | undefined;
|
|
8
|
+
isError: boolean;
|
|
9
|
+
isIdle: boolean;
|
|
10
|
+
isPending: boolean;
|
|
11
|
+
isSuccess: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface MutationService<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown> {
|
|
14
|
+
getSnapshot: () => MutationServiceSnapshot<TData, TError, TVariables>;
|
|
15
|
+
subscribe: (listener: (snapshot: MutationServiceSnapshot<TData, TError, TVariables>) => void) => () => void;
|
|
16
|
+
mutate: (variables: TVariables, options?: MutateOptions<TData, TError, TVariables, TOnMutateResult>) => Promise<TData>;
|
|
17
|
+
reset: () => void;
|
|
18
|
+
unsafe_getResult: () => MutationObserverResult<TData, TError, TVariables, TOnMutateResult>;
|
|
19
|
+
}
|
|
20
|
+
export type MutationServiceOptions<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown> = Omit<MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>, 'mutationFn'>;
|
|
21
|
+
export interface CreateMutation {
|
|
22
|
+
<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown>(mutationFn: MutationFunction<TData, TVariables>, options?: MutationServiceOptions<TData, TError, TVariables, TOnMutateResult>): MutationService<TData, TError, TVariables, TOnMutateResult>;
|
|
23
|
+
}
|
|
24
|
+
export declare function setupMutation(queryClient: QueryClient): CreateMutation;
|
package/dist/mutation.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MutationObserver, } from '@tanstack/query-core';
|
|
2
|
+
export function setupMutation(queryClient) {
|
|
3
|
+
return function createMutation(mutationFn, options) {
|
|
4
|
+
const observer = new MutationObserver(queryClient, {
|
|
5
|
+
...options,
|
|
6
|
+
mutationFn,
|
|
7
|
+
});
|
|
8
|
+
return {
|
|
9
|
+
getSnapshot: () => toMutationServiceSnapshot(observer.getCurrentResult()),
|
|
10
|
+
subscribe: (listener) => observer.subscribe((result) => {
|
|
11
|
+
listener(toMutationServiceSnapshot(result));
|
|
12
|
+
}),
|
|
13
|
+
mutate: (variables, mutateOptions) => observer.mutate(variables, mutateOptions),
|
|
14
|
+
reset: () => observer.reset(),
|
|
15
|
+
unsafe_getResult: () => observer.getCurrentResult(),
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function toMutationServiceSnapshot(result) {
|
|
20
|
+
return {
|
|
21
|
+
data: result.data,
|
|
22
|
+
error: result.error,
|
|
23
|
+
status: result.status,
|
|
24
|
+
variables: result.variables,
|
|
25
|
+
isError: result.isError,
|
|
26
|
+
isIdle: result.isIdle,
|
|
27
|
+
isPending: result.isPending,
|
|
28
|
+
isSuccess: result.isSuccess,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../src/mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAOjB,MAAM,sBAAsB,CAAC;AA+C9B,MAAM,UAAU,aAAa,CAAC,WAAwB;IACpD,OAAO,SAAS,cAAc,CAM5B,UAA+C,EAC/C,OAA4E;QAE5E,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CACnC,WAAW,EACX;YACE,GAAG,OAAO;YACV,UAAU;SACX,CACF,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACzE,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CACtB,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC5B,QAAQ,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC;YACJ,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC;YAC/E,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC7B,gBAAgB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE;SACpD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,MAA0E;IAE1E,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type FetchStatus, type InvalidateOptions, type InvalidateQueryFilters, type QueryClient, type QueryFunction, type QueryKey, type QueryObserverOptions, type QueryObserverResult, type RefetchOptions, type QueryStatus as TanstackQueryStatus } from '@tanstack/query-core';
|
|
2
|
+
export type QueryFetchStatus = FetchStatus;
|
|
3
|
+
export type QueryStatus = TanstackQueryStatus;
|
|
4
|
+
export interface QueryServiceSnapshot<TData, TError> {
|
|
5
|
+
data: TData | undefined;
|
|
6
|
+
error: TError | null;
|
|
7
|
+
fetchStatus: QueryFetchStatus;
|
|
8
|
+
status: QueryStatus;
|
|
9
|
+
isError: boolean;
|
|
10
|
+
isFetching: boolean;
|
|
11
|
+
isPending: boolean;
|
|
12
|
+
isSuccess: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface QueryMetaState {
|
|
15
|
+
fetchStatus: QueryFetchStatus;
|
|
16
|
+
status: QueryStatus;
|
|
17
|
+
}
|
|
18
|
+
export interface QueryService<TData, TError> {
|
|
19
|
+
getSnapshot: () => QueryServiceSnapshot<TData, TError>;
|
|
20
|
+
subscribe: (listener: (snapshot: QueryServiceSnapshot<TData, TError>) => void) => () => void;
|
|
21
|
+
refetch: (options?: RefetchOptions) => Promise<QueryServiceSnapshot<TData, TError>>;
|
|
22
|
+
invalidate: (options?: QueryInvalidateOptions) => Promise<void>;
|
|
23
|
+
unsafe_getResult: () => QueryObserverResult<TData, TError>;
|
|
24
|
+
}
|
|
25
|
+
export interface QueryInvalidateOptions extends Pick<InvalidateOptions, 'cancelRefetch' | 'throwOnError'>, Pick<InvalidateQueryFilters, 'refetchType'> {
|
|
26
|
+
}
|
|
27
|
+
export interface CreateQuery {
|
|
28
|
+
<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: QueryServiceOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryService<TData, TError>;
|
|
29
|
+
}
|
|
30
|
+
export type QueryServiceOptions<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'queryFn' | 'queryKey'>;
|
|
31
|
+
export declare function toQueryMetaState<TData, TError>(snapshot: Pick<QueryServiceSnapshot<TData, TError>, 'fetchStatus' | 'status'>): QueryMetaState;
|
|
32
|
+
export declare function isQueryLoading(query: QueryMetaState): boolean;
|
|
33
|
+
export declare function setupQuery(queryClient: QueryClient): CreateQuery;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { QueryObserver, } from '@tanstack/query-core';
|
|
2
|
+
export function toQueryMetaState(snapshot) {
|
|
3
|
+
return {
|
|
4
|
+
fetchStatus: snapshot.fetchStatus,
|
|
5
|
+
status: snapshot.status,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export function isQueryLoading(query) {
|
|
9
|
+
return query.status === 'pending' && query.fetchStatus === 'fetching';
|
|
10
|
+
}
|
|
11
|
+
export function setupQuery(queryClient) {
|
|
12
|
+
return function createQuery(queryKey, queryFn, options) {
|
|
13
|
+
const observer = new QueryObserver(queryClient, {
|
|
14
|
+
...options,
|
|
15
|
+
queryFn,
|
|
16
|
+
queryKey,
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
getSnapshot: () => toQueryServiceSnapshot(observer.getCurrentResult()),
|
|
20
|
+
subscribe: (listener) => observer.subscribe((result) => {
|
|
21
|
+
listener(toQueryServiceSnapshot(result));
|
|
22
|
+
}),
|
|
23
|
+
refetch: async (options) => toQueryServiceSnapshot(await observer.refetch(options)),
|
|
24
|
+
invalidate: (options) => queryClient.invalidateQueries({
|
|
25
|
+
exact: true,
|
|
26
|
+
queryKey,
|
|
27
|
+
...(options?.refetchType === undefined ? {} : { refetchType: options.refetchType }),
|
|
28
|
+
}, toInvalidateOptions(options)),
|
|
29
|
+
unsafe_getResult: () => observer.getCurrentResult(),
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function toQueryServiceSnapshot(result) {
|
|
34
|
+
return {
|
|
35
|
+
data: result.data,
|
|
36
|
+
error: result.error,
|
|
37
|
+
fetchStatus: result.fetchStatus,
|
|
38
|
+
status: result.status,
|
|
39
|
+
isError: result.isError,
|
|
40
|
+
isFetching: result.isFetching,
|
|
41
|
+
isPending: result.isPending,
|
|
42
|
+
isSuccess: result.isSuccess,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function toInvalidateOptions(options) {
|
|
46
|
+
if (options === undefined) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const invalidateOptions = {
|
|
50
|
+
...(options.cancelRefetch === undefined ? {} : { cancelRefetch: options.cancelRefetch }),
|
|
51
|
+
...(options.throwOnError === undefined ? {} : { throwOnError: options.throwOnError }),
|
|
52
|
+
};
|
|
53
|
+
return Object.keys(invalidateOptions).length > 0 ? invalidateOptions : undefined;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=query-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-service.js","sourceRoot":"","sources":["../src/query-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,aAAa,GAKd,MAAM,sBAAsB,CAAC;AA0D9B,MAAM,UAAU,gBAAgB,CAC9B,QAA6E;IAE7E,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,WAAwB;IACjD,OAAO,SAAS,WAAW,CAOzB,QAAmB,EACnB,OAA+C,EAC/C,OAAiF;QAEjF,MAAM,QAAQ,GAAG,IAAI,aAAa,CAChC,WAAW,EACX;YACE,GAAG,OAAO;YACV,OAAO;YACP,QAAQ;SACT,CACF,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACtE,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CACtB,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC5B,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC;YACJ,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnF,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CACtB,WAAW,CAAC,iBAAiB,CAC3B;gBACE,KAAK,EAAE,IAAI;gBACX,QAAQ;gBACR,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;aACpF,EACD,mBAAmB,CAAC,OAAO,CAAC,CAC7B;YACH,gBAAgB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE;SACpD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAA0C;IAE1C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IAC3D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAsB;QAC3C,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QACxF,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;KACtF,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC"}
|
package/dist/query.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type FetchStatus, type InvalidateOptions, type InvalidateQueryFilters, type QueryClient, type QueryFunction, type QueryKey, type QueryObserverOptions, type QueryObserverResult, type RefetchOptions, type QueryStatus as TanstackQueryStatus } from '@tanstack/query-core';
|
|
2
|
+
export type QueryFetchStatus = FetchStatus;
|
|
3
|
+
export type QueryStatus = TanstackQueryStatus;
|
|
4
|
+
export interface QueryServiceSnapshot<TData, TError> {
|
|
5
|
+
data: TData | undefined;
|
|
6
|
+
error: TError | null;
|
|
7
|
+
fetchStatus: QueryFetchStatus;
|
|
8
|
+
status: QueryStatus;
|
|
9
|
+
isError: boolean;
|
|
10
|
+
isFetching: boolean;
|
|
11
|
+
isPending: boolean;
|
|
12
|
+
isSuccess: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface QueryMetaState {
|
|
15
|
+
fetchStatus: QueryFetchStatus;
|
|
16
|
+
status: QueryStatus;
|
|
17
|
+
}
|
|
18
|
+
export interface QueryService<TData, TError> {
|
|
19
|
+
getSnapshot: () => QueryServiceSnapshot<TData, TError>;
|
|
20
|
+
subscribe: (listener: (snapshot: QueryServiceSnapshot<TData, TError>) => void) => () => void;
|
|
21
|
+
refetch: (options?: RefetchOptions) => Promise<QueryServiceSnapshot<TData, TError>>;
|
|
22
|
+
invalidate: (options?: QueryInvalidateOptions) => Promise<void>;
|
|
23
|
+
unsafe_getResult: () => QueryObserverResult<TData, TError>;
|
|
24
|
+
}
|
|
25
|
+
export interface QueryInvalidateOptions extends Pick<InvalidateOptions, 'cancelRefetch' | 'throwOnError'>, Pick<InvalidateQueryFilters, 'refetchType'> {
|
|
26
|
+
}
|
|
27
|
+
export interface CreateQuery {
|
|
28
|
+
<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryKey: TQueryKey, queryFn: QueryFunction<TQueryFnData, TQueryKey>, options?: QueryServiceOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>): QueryService<TData, TError>;
|
|
29
|
+
}
|
|
30
|
+
export type QueryServiceOptions<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'queryFn' | 'queryKey'>;
|
|
31
|
+
export declare function toQueryMetaState<TData, TError>(snapshot: Pick<QueryServiceSnapshot<TData, TError>, 'fetchStatus' | 'status'>): QueryMetaState;
|
|
32
|
+
export declare function isQueryLoading(query: QueryMetaState): boolean;
|
|
33
|
+
export declare function setupQuery(queryClient: QueryClient): CreateQuery;
|
package/dist/query.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { QueryObserver, } from '@tanstack/query-core';
|
|
2
|
+
export function toQueryMetaState(snapshot) {
|
|
3
|
+
return {
|
|
4
|
+
fetchStatus: snapshot.fetchStatus,
|
|
5
|
+
status: snapshot.status,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export function isQueryLoading(query) {
|
|
9
|
+
return query.status === 'pending' && query.fetchStatus === 'fetching';
|
|
10
|
+
}
|
|
11
|
+
export function setupQuery(queryClient) {
|
|
12
|
+
return function createQuery(queryKey, queryFn, options) {
|
|
13
|
+
const observer = new QueryObserver(queryClient, {
|
|
14
|
+
...options,
|
|
15
|
+
queryFn,
|
|
16
|
+
queryKey,
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
getSnapshot: () => toQueryServiceSnapshot(observer.getCurrentResult()),
|
|
20
|
+
subscribe: (listener) => observer.subscribe((result) => {
|
|
21
|
+
listener(toQueryServiceSnapshot(result));
|
|
22
|
+
}),
|
|
23
|
+
refetch: async (options) => toQueryServiceSnapshot(await observer.refetch(options)),
|
|
24
|
+
invalidate: (options) => queryClient.invalidateQueries({
|
|
25
|
+
exact: true,
|
|
26
|
+
queryKey,
|
|
27
|
+
...(options?.refetchType === undefined ? {} : { refetchType: options.refetchType }),
|
|
28
|
+
}, toInvalidateOptions(options)),
|
|
29
|
+
unsafe_getResult: () => observer.getCurrentResult(),
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function toQueryServiceSnapshot(result) {
|
|
34
|
+
return {
|
|
35
|
+
data: result.data,
|
|
36
|
+
error: result.error,
|
|
37
|
+
fetchStatus: result.fetchStatus,
|
|
38
|
+
status: result.status,
|
|
39
|
+
isError: result.isError,
|
|
40
|
+
isFetching: result.isFetching,
|
|
41
|
+
isPending: result.isPending,
|
|
42
|
+
isSuccess: result.isSuccess,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function toInvalidateOptions(options) {
|
|
46
|
+
if (options === undefined) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const invalidateOptions = {
|
|
50
|
+
...(options.cancelRefetch === undefined ? {} : { cancelRefetch: options.cancelRefetch }),
|
|
51
|
+
...(options.throwOnError === undefined ? {} : { throwOnError: options.throwOnError }),
|
|
52
|
+
};
|
|
53
|
+
return Object.keys(invalidateOptions).length > 0 ? invalidateOptions : undefined;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,aAAa,GAKd,MAAM,sBAAsB,CAAC;AA0D9B,MAAM,UAAU,gBAAgB,CAC9B,QAA6E;IAE7E,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,WAAwB;IACjD,OAAO,SAAS,WAAW,CAOzB,QAAmB,EACnB,OAA+C,EAC/C,OAAiF;QAEjF,MAAM,QAAQ,GAAG,IAAI,aAAa,CAChC,WAAW,EACX;YACE,GAAG,OAAO;YACV,OAAO;YACP,QAAQ;SACT,CACF,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YACtE,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CACtB,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC5B,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC;YACJ,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnF,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CACtB,WAAW,CAAC,iBAAiB,CAC3B;gBACE,KAAK,EAAE,IAAI;gBACX,QAAQ;gBACR,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;aACpF,EACD,mBAAmB,CAAC,OAAO,CAAC,CAC7B;YACH,gBAAgB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE;SACpD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAA0C;IAE1C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IAC3D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAsB;QAC3C,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QACxF,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;KACtF,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type QueryClient } from '@tanstack/query-core';
|
|
2
|
+
import { type CreateMutation } from './mutation';
|
|
3
|
+
import { type CreateQuery } from './query';
|
|
4
|
+
export interface QueryRuntime {
|
|
5
|
+
createMutation: CreateMutation;
|
|
6
|
+
createQuery: CreateQuery;
|
|
7
|
+
cancelQueries: QueryClient['cancelQueries'];
|
|
8
|
+
getQueryData: QueryClient['getQueryData'];
|
|
9
|
+
invalidateQueries: QueryClient['invalidateQueries'];
|
|
10
|
+
refetchQueries: QueryClient['refetchQueries'];
|
|
11
|
+
removeQueries: QueryClient['removeQueries'];
|
|
12
|
+
resetQueries: QueryClient['resetQueries'];
|
|
13
|
+
setQueryData: QueryClient['setQueryData'];
|
|
14
|
+
unsafe_getClient: () => QueryClient;
|
|
15
|
+
}
|
|
16
|
+
export declare function setupQueryRuntime(queryClient: QueryClient): QueryRuntime;
|
package/dist/runtime.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { setupMutation } from './mutation';
|
|
2
|
+
import { setupQuery } from './query';
|
|
3
|
+
export function setupQueryRuntime(queryClient) {
|
|
4
|
+
return {
|
|
5
|
+
createMutation: setupMutation(queryClient),
|
|
6
|
+
createQuery: setupQuery(queryClient),
|
|
7
|
+
cancelQueries: queryClient.cancelQueries.bind(queryClient),
|
|
8
|
+
getQueryData: queryClient.getQueryData.bind(queryClient),
|
|
9
|
+
invalidateQueries: queryClient.invalidateQueries.bind(queryClient),
|
|
10
|
+
refetchQueries: queryClient.refetchQueries.bind(queryClient),
|
|
11
|
+
removeQueries: queryClient.removeQueries.bind(queryClient),
|
|
12
|
+
resetQueries: queryClient.resetQueries.bind(queryClient),
|
|
13
|
+
setQueryData: queryClient.setQueryData.bind(queryClient),
|
|
14
|
+
unsafe_getClient: () => queryClient,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,aAAa,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAoB,UAAU,EAAE,MAAM,SAAS,CAAC;AAevD,MAAM,UAAU,iBAAiB,CAAC,WAAwB;IACxD,OAAO;QACL,cAAc,EAAE,aAAa,CAAC,WAAW,CAAC;QAC1C,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC;QACpC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1D,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,iBAAiB,EAAE,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;QAClE,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5D,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1D,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;QACxD,gBAAgB,EAAE,GAAG,EAAE,CAAC,WAAW;KACpC,CAAC;AACJ,CAAC"}
|