@effect-app/vue 2.51.9 → 2.51.10
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/CHANGELOG.md +6 -0
- package/dist/query.d.ts +4 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +19 -2
- package/package.json +1 -1
- package/src/query.ts +29 -1
package/CHANGELOG.md
CHANGED
package/dist/query.d.ts
CHANGED
|
@@ -26,4 +26,8 @@ export declare function composeQueries<R extends Record<string, Result.Result<an
|
|
|
26
26
|
}, {
|
|
27
27
|
[Property in keyof R]: R[Property] extends Result.Result<any, infer E> ? E : never;
|
|
28
28
|
}[keyof R]>;
|
|
29
|
+
export declare const useUpdateQuery: () => {
|
|
30
|
+
<A>(query: RequestHandler<A, any, any, any>, updater: (data: NoInfer<A>) => NoInfer<A>): void;
|
|
31
|
+
<I, A>(query: RequestHandlerWithInput<I, A, any, any, any>, input: I, updater: (data: NoInfer<A>) => NoInfer<A>): void;
|
|
32
|
+
};
|
|
29
33
|
//# sourceMappingURL=query.d.ts.map
|
package/dist/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAA;AAElD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,QAAQ,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/query.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
5
|
import * as Result from "@effect-atom/atom/Result";
|
|
6
6
|
import { isHttpClientError } from "@effect/platform/HttpClientError";
|
|
7
|
-
import { useQuery } from "@tanstack/vue-query";
|
|
7
|
+
import { useQuery, useQueryClient } from "@tanstack/vue-query";
|
|
8
8
|
import { Array, Cause, Effect, Option, Runtime, S } from "effect-app";
|
|
9
9
|
import { ServiceUnavailableError } from "effect-app/client/errors";
|
|
10
10
|
import { computed, ref, shallowRef, watch } from "vue";
|
|
@@ -125,4 +125,21 @@ export function composeQueries(results, renderPreviousOnFailure) {
|
|
|
125
125
|
}, {});
|
|
126
126
|
return Result.success(r, { waiting: isRefreshing });
|
|
127
127
|
}
|
|
128
|
-
|
|
128
|
+
export const useUpdateQuery = () => {
|
|
129
|
+
const queryClient = useQueryClient();
|
|
130
|
+
const f = (query, updateOrInput, updaterMaybe) => {
|
|
131
|
+
const updater = updaterMaybe !== undefined ? updaterMaybe : updateOrInput;
|
|
132
|
+
const key = updaterMaybe !== undefined
|
|
133
|
+
? [...makeQueryKey(query), updateOrInput]
|
|
134
|
+
: makeQueryKey(query);
|
|
135
|
+
const data = queryClient.getQueryData(key);
|
|
136
|
+
if (data) {
|
|
137
|
+
queryClient.setQueryData(key, updater);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.warn(`Query data for key ${key} not found`, key);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
return f;
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCx3REFBd0Q7QUFDeEQsNERBQTREO0FBQzVELE9BQU8sS0FBSyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDcEUsT0FBTyxFQUFtSSxRQUFRLEVBQUUsY0FBYyxFQUEyQixNQUFNLHFCQUFxQixDQUFBO0FBQ3hOLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsUUFBUSxFQUEyQyxHQUFHLEVBQW1CLFVBQVUsRUFBRSxLQUFLLEVBQW9CLE1BQU0sS0FBSyxDQUFBO0FBQ2xJLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBa0J2RSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBSSxPQUFtRCxFQUFFLEVBQUU7SUFDbEYsZ0JBQWdCO0lBQ2hCLHNSQUFzUjtJQUN0UiwyUkFBMlI7SUFDM1IsdVJBQXVSO0lBQ3ZSLE1BQU0sYUFBYSxHQUFHLENBQ3BCLENBRW9DLEVBQ3BDLEdBQXdCLEVBQ3hCLFVBQXdFLEVBQUUsQ0FBQyxPQUFPO01BQ2xGLEVBQUU7UUFDRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQzFELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUNmLE1BQU0sR0FBRyxHQUFpQixDQUFDLEdBQUc7WUFDNUIsQ0FBQyxDQUFDLFNB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
|
package/package.json
CHANGED
package/src/query.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
5
|
import * as Result from "@effect-atom/atom/Result"
|
|
6
6
|
import { isHttpClientError } from "@effect/platform/HttpClientError"
|
|
7
|
-
import { type Enabled, type InitialDataFunction, type QueryKey, type QueryObserverOptions, type QueryObserverResult, type RefetchOptions, useQuery, type UseQueryReturnType } from "@tanstack/vue-query"
|
|
7
|
+
import { type Enabled, type InitialDataFunction, type QueryKey, type QueryObserverOptions, type QueryObserverResult, type RefetchOptions, useQuery, useQueryClient, type UseQueryReturnType } from "@tanstack/vue-query"
|
|
8
8
|
import { Array, Cause, Effect, Option, Runtime, S } from "effect-app"
|
|
9
9
|
import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor"
|
|
10
10
|
import { ServiceUnavailableError } from "effect-app/client/errors"
|
|
@@ -260,3 +260,31 @@ export function composeQueries<
|
|
|
260
260
|
}, {} as any)
|
|
261
261
|
return Result.success(r, { waiting: isRefreshing })
|
|
262
262
|
}
|
|
263
|
+
|
|
264
|
+
export const useUpdateQuery = () => {
|
|
265
|
+
const queryClient = useQueryClient()
|
|
266
|
+
|
|
267
|
+
const f: {
|
|
268
|
+
<A>(
|
|
269
|
+
query: RequestHandler<A, any, any, any>,
|
|
270
|
+
updater: (data: NoInfer<A>) => NoInfer<A>
|
|
271
|
+
): void
|
|
272
|
+
<I, A>(
|
|
273
|
+
query: RequestHandlerWithInput<I, A, any, any, any>,
|
|
274
|
+
input: I,
|
|
275
|
+
updater: (data: NoInfer<A>) => NoInfer<A>
|
|
276
|
+
): void
|
|
277
|
+
} = (query: any, updateOrInput: any, updaterMaybe?: any) => {
|
|
278
|
+
const updater = updaterMaybe !== undefined ? updaterMaybe : updateOrInput
|
|
279
|
+
const key = updaterMaybe !== undefined
|
|
280
|
+
? [...makeQueryKey(query), updateOrInput]
|
|
281
|
+
: makeQueryKey(query)
|
|
282
|
+
const data = queryClient.getQueryData(key)
|
|
283
|
+
if (data) {
|
|
284
|
+
queryClient.setQueryData(key, updater)
|
|
285
|
+
} else {
|
|
286
|
+
console.warn(`Query data for key ${key} not found`, key)
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return f
|
|
290
|
+
}
|