@effect-app/vue 2.21.1 → 2.23.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/CHANGELOG.md +12 -0
- package/dist/makeClient.d.ts +26 -21
- package/dist/makeClient.d.ts.map +1 -1
- package/dist/makeClient.js +13 -5
- package/dist/mutate.d.ts +3 -1
- package/dist/mutate.d.ts.map +1 -1
- package/dist/mutate.js +14 -18
- package/package.json +1 -1
- package/src/makeClient.ts +69 -9
- package/src/mutate.ts +30 -31
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-app/vue
|
|
2
2
|
|
|
3
|
+
## 2.23.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9185c11: add "asResult"
|
|
8
|
+
|
|
9
|
+
## 2.22.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- e0855e9: Added `useAndHandleMutationResult` that returns the Result unwrapped instead of `useAndHandleMutation` simplified version
|
|
14
|
+
|
|
3
15
|
## 2.21.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/makeClient.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Result } from "@effect-rx/rx/Result";
|
|
1
2
|
import { Cause, Effect, Exit, Runtime, S } from "effect-app";
|
|
2
3
|
import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor";
|
|
3
4
|
import { type SupportedErrors } from "effect-app/client/errors";
|
|
@@ -34,12 +35,12 @@ export interface LowOptsOptional<A, E, R, I = void, A2 = A, E2 = E, R2 = R, ESuc
|
|
|
34
35
|
type WithAction<A> = A & {
|
|
35
36
|
action: string;
|
|
36
37
|
};
|
|
37
|
-
type Resp<I, A, E, R
|
|
38
|
-
|
|
38
|
+
type Resp<I, A, E, R, V = ComputedRef<Res<A, E>>> = readonly [
|
|
39
|
+
V,
|
|
39
40
|
WithAction<(I: I) => Effect<Exit<A, E>, never, R>>
|
|
40
41
|
];
|
|
41
|
-
type ActResp<A, E, R
|
|
42
|
-
|
|
42
|
+
type ActResp<A, E, R, V = ComputedRef<Res<A, E>>> = readonly [
|
|
43
|
+
V,
|
|
43
44
|
WithAction<Effect<Exit<A, E>, never, R>>
|
|
44
45
|
];
|
|
45
46
|
export declare const suppressToast: import("effect/Function").LazyArg<Effect.Effect<undefined, never, never>>;
|
|
@@ -60,19 +61,23 @@ export declare const makeClient: <Locale extends string, R>(useIntl: MakeIntlRet
|
|
|
60
61
|
<I, E_1 extends ResponseErrors, A_1, R_1, Request_1 extends TaggedRequestClassAny, A2 = A_1, E2 extends ResponseErrors = E_1, R2 = R_1, ESuccess = never, RSuccess = never, EError = never, RError = never, EDefect = never, RDefect = never>(self: RequestHandlerWithInput<I, A_1, E_1, R_1, Request_1>, action: string, options?: Opts<A_1, E_1, R_1, I, A2, E2, R2, ESuccess, RSuccess, EError, RError, EDefect, RDefect>): Resp<I, A2, E2, R2>;
|
|
61
62
|
<E_2 extends ResponseErrors, A_2, R_2, Request_2 extends TaggedRequestClassAny, A2_1 = A_2, E2_1 extends ResponseErrors = E_2, R2_1 = R_2, ESuccess_1 = never, RSuccess_1 = never, EError_1 = never, RError_1 = never, EDefect_1 = never, RDefect_1 = never>(self: RequestHandler<A_2, E_2, R_2, Request_2>, action: string, options?: Opts<A_2, E_2, R_2, void, A2_1, E2_1, R2_1, ESuccess_1, RSuccess_1, EError_1, RError_1, EDefect_1, RDefect_1>): ActResp<A2_1, E2_1, R2_1>;
|
|
62
63
|
};
|
|
64
|
+
useAndHandleMutationResult: {
|
|
65
|
+
<I, E_2 extends ResponseErrors, A_3, R_3, Request_3 extends TaggedRequestClassAny, A2_2 = A_3, E2_2 extends ResponseErrors = E_2, R2_2 = R_3, ESuccess_2 = never, RSuccess_2 = never, EError_2 = never, RError_2 = never, EDefect_2 = never, RDefect_2 = never>(self: RequestHandlerWithInput<I, A_3, E_2, R_3, Request_3>, action: string, options?: Opts<A_3, E_2, R_3, I, A2_2, E2_2, R2_2, ESuccess_2, RSuccess_2, EError_2, RError_2, EDefect_2, RDefect_2>): Resp<I, A2_2, E2_2, R2_2, Readonly<Ref<Result<A2_2, E2_2>, Result<A2_2, E2_2>>>>;
|
|
66
|
+
<E_3 extends ResponseErrors, A_4, R_4, Request_4 extends TaggedRequestClassAny, A2_3 = A_4, E2_3 extends ResponseErrors = E_3, R2_3 = R_4, ESuccess_3 = never, RSuccess_3 = never, EError_3 = never, RError_3 = never, EDefect_3 = never, RDefect_3 = never>(self: RequestHandler<A_4, E_3, R_4, Request_4>, action: string, options?: Opts<A_4, E_3, R_4, void, A2_3, E2_3, R2_3, ESuccess_3, RSuccess_3, EError_3, RError_3, EDefect_3, RDefect_3>): ActResp<A2_3, E2_3, R2_3, Readonly<Ref<Result<A2_3, E2_3>, Result<A2_3, E2_3>>>>;
|
|
67
|
+
};
|
|
63
68
|
useAndHandleMutationSilently: {
|
|
64
|
-
<I,
|
|
65
|
-
<
|
|
69
|
+
<I, E_3 extends ResponseErrors, A_5, R_5, Request_5 extends TaggedRequestClassAny, A2_4 = A_5, E2_4 extends ResponseErrors = E_3, R2_4 = R_5, ESuccess_4 = never, RSuccess_4 = never, EError_4 = never, RError_4 = never, EDefect_4 = never, RDefect_4 = never>(self: RequestHandlerWithInput<I, A_5, E_3, R_5, Request_5>, action: string, options?: Opts<A_5, E_3, R_5, I, A2_4, E2_4, R2_4, ESuccess_4, RSuccess_4, EError_4, RError_4, EDefect_4, RDefect_4>): Resp<I, A2_4, E2_4, R_5>;
|
|
70
|
+
<E_4 extends ResponseErrors, A_6, R_6, Request_6 extends TaggedRequestClassAny, A2_5 = A_6, E2_5 extends ResponseErrors = E_4, R2_5 = R_6, ESuccess_5 = never, RSuccess_5 = never, EError_5 = never, RError_5 = never, EDefect_5 = never, RDefect_5 = never>(self: RequestHandler<A_6, E_4, R_6, Request_6>, action: string, options?: Opts<A_6, E_4, R_6, void, A2_5, E2_5, R2_5, ESuccess_5, RSuccess_5, EError_5, RError_5, EDefect_5, RDefect_5>): ActResp<void, never, R_6>;
|
|
66
71
|
};
|
|
67
72
|
useAndHandleMutationCustom: {
|
|
68
|
-
<I,
|
|
69
|
-
<
|
|
73
|
+
<I, E_4 extends ResponseErrors, A_7, R_7, Request_7 extends TaggedRequestClassAny, A2_6 = A_7, E2_6 extends ResponseErrors = E_4, R2_6 = R_7, ESuccess_6 = never, RSuccess_6 = never, EError_6 = never, RError_6 = never, EDefect_6 = never, RDefect_6 = never>(self: RequestHandlerWithInput<I, A_7, E_4, R_7, Request_7>, action: string, options?: LowOptsOptional<A_7, E_4, R_7, I, A2_6, E2_6, R2_6, ESuccess_6, RSuccess_6, EError_6, RError_6, EDefect_6, RDefect_6>): Resp<I, A2_6, E2_6, R2_6>;
|
|
74
|
+
<E_5 extends ResponseErrors, A_8, R_8, Request_8 extends TaggedRequestClassAny, A2_7 = A_8, E2_7 extends ResponseErrors = E_5, R2_7 = R_8, ESuccess_7 = never, RSuccess_7 = never, EError_7 = never, RError_7 = never, EDefect_7 = never, RDefect_7 = never>(self: RequestHandler<A_8, E_5, R_8, Request_8>, action: string, options?: LowOptsOptional<A_8, E_5, R_8, void, A2_7, E2_7, R2_7, ESuccess_7, RSuccess_7, EError_7, RError_7, EDefect_7, RDefect_7>): ActResp<A2_7, E2_7, R2_7>;
|
|
70
75
|
};
|
|
71
76
|
makeUseAndHandleMutation: (defaultOptions?: Opts<any, any, any, any, any, any, any, any, any>) => {
|
|
72
|
-
<I,
|
|
73
|
-
<
|
|
77
|
+
<I, E_5 extends ResponseErrors, A_9, R_9, Request_9 extends TaggedRequestClassAny, A2_8 = A_9, E2_8 extends ResponseErrors = E_5, R2_8 = R_9, ESuccess_8 = never, RSuccess_8 = never, EError_8 = never, RError_8 = never, EDefect_8 = never, RDefect_8 = never>(self: RequestHandlerWithInput<I, A_9, E_5, R_9, Request_9>, action: string, options?: Opts<A_9, E_5, R_9, I, A2_8, E2_8, R2_8, ESuccess_8, RSuccess_8, EError_8, RError_8, EDefect_8, RDefect_8>): Resp<I, A2_8, E2_8, R2_8>;
|
|
78
|
+
<E_6 extends ResponseErrors, A_10, Request_10 extends TaggedRequestClassAny, A2_9 = A_10, E2_9 extends ResponseErrors = E_6, R2_9 = R, ESuccess_9 = never, RSuccess_9 = never, EError_9 = never, RError_9 = never, EDefect_9 = never, RDefect_9 = never>(self: RequestHandler<A_10, E_6, R, Request_10>, action: string, options?: Opts<A_10, E_6, R, void, A2_9, E2_9, R2_9, ESuccess_9, RSuccess_9, EError_9, RError_9, EDefect_9, RDefect_9>): ActResp<A2_9, E2_9, R2_9>;
|
|
74
79
|
};
|
|
75
|
-
useHandleRequestWithToast: () => <
|
|
80
|
+
useHandleRequestWithToast: () => <A_11, E_6 extends ResponseErrors, R_10, I = void, A2_10 = A_11, E2_10 extends ResponseErrors = E_6, R2_10 = R_10, ESuccess_10 = never, RSuccess_10 = never, EError_10 = never, RError_10 = never, EDefect_10 = never, RDefect_10 = never>(f: Effect<A2_10, E2_10, R2_10> | ((i: I) => Effect<A2_10, E2_10, R2_10>), action: string, options?: Opts<A_11, E_6, R_10, I, A2_10, E2_10, R2_10, ESuccess_10, RSuccess_10, EError_10, RError_10, EDefect_10, RDefect_10>) => (Effect.Effect<Exit.Exit<A2_10, E2_10>, ESuccess_10 | EError_10 | EDefect_10, R2_10 | RSuccess_10 | RError_10 | RDefect_10> | ((i: any) => Effect.Effect<Exit.Exit<A2_10, E2_10>, ESuccess_10 | EError_10 | EDefect_10, R2_10 | RSuccess_10 | RError_10 | RDefect_10>)) & {
|
|
76
81
|
action: string;
|
|
77
82
|
};
|
|
78
83
|
buildFormFromSchema: <From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, C extends Record<PropertyKey, any>, OnSubmitA>(s: Schema<To, From, R> & {
|
|
@@ -100,18 +105,18 @@ export declare const makeClient: <Locale extends string, R>(useIntl: MakeIntlRet
|
|
|
100
105
|
isLoading: Ref<boolean, boolean>;
|
|
101
106
|
};
|
|
102
107
|
useSafeQuery: {
|
|
103
|
-
<
|
|
104
|
-
initialData:
|
|
105
|
-
}): readonly [ComputedRef<
|
|
106
|
-
<Arg,
|
|
107
|
-
initialData:
|
|
108
|
-
}): readonly [ComputedRef<
|
|
109
|
-
<
|
|
110
|
-
<Arg,
|
|
108
|
+
<E_7, A_11, Request_11 extends TaggedRequestClassAny>(self: RequestHandler<A_11, E_7, R, Request_11>, options: import("./query.js").QueryObserverOptionsCustom<A_11, E_7, A_11, A_11, readonly unknown[], never> & {
|
|
109
|
+
initialData: A_11 | import("@tanstack/vue-query").InitialDataFunction<A_11>;
|
|
110
|
+
}): readonly [ComputedRef<Result<A_11, E_7>>, ComputedRef<A_11>, (options?: import("@tanstack/vue-query").RefetchOptions) => Effect<import("@tanstack/vue-query").QueryObserverResult<A_11, import("./query.js").KnownFiberFailure<E_7>>>, import("@tanstack/vue-query").UseQueryReturnType<any, any>];
|
|
111
|
+
<Arg, E_7, A_12, Request_12 extends TaggedRequestClassAny>(self: RequestHandlerWithInput<Arg, A_12, E_7, R, Request_12>, arg: Arg | import("vue").WatchSource<Arg>, options: import("./query.js").QueryObserverOptionsCustom<A_12, E_7, A_12, A_12, readonly unknown[], never> & {
|
|
112
|
+
initialData: A_12 | import("@tanstack/vue-query").InitialDataFunction<A_12>;
|
|
113
|
+
}): readonly [ComputedRef<Result<A_12, E_7>>, ComputedRef<A_12>, (options?: import("@tanstack/vue-query").RefetchOptions) => Effect<import("@tanstack/vue-query").QueryObserverResult<A_12, import("./query.js").KnownFiberFailure<E_7>>>, import("@tanstack/vue-query").UseQueryReturnType<any, any>];
|
|
114
|
+
<E_8, A_13, Request_13 extends TaggedRequestClassAny>(self: RequestHandler<A_13, E_8, R, Request_13>, options?: import("./query.js").QueryObserverOptionsCustom<A_13, E_8, A_13, A_13, readonly unknown[], never> | undefined): readonly [ComputedRef<Result<A_13, E_8>>, ComputedRef<A_13 | undefined>, (options?: import("@tanstack/vue-query").RefetchOptions) => Effect<import("@tanstack/vue-query").QueryObserverResult<A_13, import("./query.js").KnownFiberFailure<E_8>>>, import("@tanstack/vue-query").UseQueryReturnType<any, any>];
|
|
115
|
+
<Arg, E_8, A_14, Request_14 extends TaggedRequestClassAny>(self: RequestHandlerWithInput<Arg, A_14, E_8, R, Request_14>, arg: Arg | import("vue").WatchSource<Arg>, options?: import("./query.js").QueryObserverOptionsCustom<A_14, E_8, A_14, A_14, readonly unknown[], never> | undefined): readonly [ComputedRef<Result<A_14, E_8>>, ComputedRef<A_14 | undefined>, (options?: import("@tanstack/vue-query").RefetchOptions) => Effect<import("@tanstack/vue-query").QueryObserverResult<A_14, import("./query.js").KnownFiberFailure<E_8>>>, import("@tanstack/vue-query").UseQueryReturnType<any, any>];
|
|
111
116
|
};
|
|
112
117
|
useSafeMutation: {
|
|
113
|
-
<I_1,
|
|
114
|
-
<
|
|
118
|
+
<I_1, E_9, A_15, R_11, Request_15 extends TaggedRequestClassAny, A2_11 = A_15, E2_11 = E_9, R2_11 = R_11>(self: RequestHandlerWithInput<I_1, A_15, E_9, R_11, Request_15>, options?: MutationOptions<A_15, E_9, R_11, A2_11, E2_11, R2_11, I_1>): readonly [Readonly<Ref<Result<A2_11, E2_11>>>, (i: I_1) => Effect<A2_11, E2_11, R2_11>];
|
|
119
|
+
<E_10, A_16, R_12, Request_16 extends TaggedRequestClassAny, A2_12 = A_16, E2_12 = E_10, R2_12 = R_12>(self: RequestHandler<A_16, E_10, R_12, Request_16>, options?: MutationOptions<A_16, E_10, R_12, A2_12, E2_12, R2_12>): readonly [Readonly<Ref<Result<A2_12, E2_12>>>, Effect<A2_12, E2_12, R2_12>];
|
|
115
120
|
};
|
|
116
121
|
};
|
|
117
122
|
export {};
|
package/dist/makeClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../src/makeClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../src/makeClient.ts"],"names":[],"mappings":"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"}
|
package/dist/makeClient.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
1
|
import * as Sentry from "@sentry/browser";
|
|
3
2
|
import { Cause, Effect, Exit, Match, Option, Runtime, S, Struct } from "effect-app";
|
|
4
3
|
import { CauseException } from "effect-app/client/errors";
|
|
@@ -158,9 +157,9 @@ export const makeClient = (useIntl, useToast, runtime, messages = {}) => {
|
|
|
158
157
|
};
|
|
159
158
|
/**
|
|
160
159
|
* Pass a function that returns an Effect, e.g from a client action, give it a name.
|
|
161
|
-
* Returns a tuple with
|
|
160
|
+
* Returns a tuple with raw Result and execution function which reports success and errors as Toast.
|
|
162
161
|
*/
|
|
163
|
-
const
|
|
162
|
+
const _useAndHandleMutationResult = (self, action, options) => {
|
|
164
163
|
const handleRequestWithToast = _useHandleRequestWithToast();
|
|
165
164
|
const [a, b] = _useSafeMutation({
|
|
166
165
|
...self,
|
|
@@ -168,7 +167,15 @@ export const makeClient = (useIntl, useToast, runtime, messages = {}) => {
|
|
|
168
167
|
? pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler))
|
|
169
168
|
: (...args) => pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler(...args)))
|
|
170
169
|
}, options ? dropUndefinedT(options) : undefined);
|
|
171
|
-
return tuple(
|
|
170
|
+
return tuple(a, handleRequestWithToast(b, action, options));
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Pass a function that returns an Effect, e.g from a client action, give it a name.
|
|
174
|
+
* Returns a tuple with state ref and execution function which reports success and errors as Toast.
|
|
175
|
+
*/
|
|
176
|
+
const _useAndHandleMutation = (self, action, options) => {
|
|
177
|
+
const [a, b] = _useAndHandleMutationResult(self, action, options);
|
|
178
|
+
return tuple(computed(() => mutationResultToVue(a.value)), b);
|
|
172
179
|
};
|
|
173
180
|
/**
|
|
174
181
|
* The same as @see useAndHandleMutation, but does not display any toasts by default.
|
|
@@ -248,6 +255,7 @@ export const makeClient = (useIntl, useToast, runtime, messages = {}) => {
|
|
|
248
255
|
return {
|
|
249
256
|
useSafeMutationWithState: _useSafeMutationWithState,
|
|
250
257
|
useAndHandleMutation: _useAndHandleMutation,
|
|
258
|
+
useAndHandleMutationResult: _useAndHandleMutationResult,
|
|
251
259
|
useAndHandleMutationSilently: _useAndHandleMutationSilently,
|
|
252
260
|
useAndHandleMutationCustom: _useAndHandleMutationCustom,
|
|
253
261
|
makeUseAndHandleMutation: _makeUseAndHandleMutation,
|
|
@@ -257,4 +265,4 @@ export const makeClient = (useIntl, useToast, runtime, messages = {}) => {
|
|
|
257
265
|
useSafeMutation: _useSafeMutation
|
|
258
266
|
};
|
|
259
267
|
};
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRW5GLE9BQU8sRUFBRSxjQUFjLEVBQXdCLE1BQU0sMEJBQTBCLENBQUE7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUMxQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRS9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFdEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLEtBQUssQ0FBQyxjQUFjO0lBQzdDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQTtDQUNqQztBQStFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtBQUVoRSxNQUFNLFVBQVUsYUFBYSxDQVkzQixD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
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUE7QUFDekMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFbkYsT0FBTyxFQUFFLGNBQWMsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUUzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQzFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV0Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsS0FBSyxDQUFDLGNBQWM7SUFDN0MsSUFBSSxHQUFHLGdCQUFnQixDQUFBO0NBQ2pDO0FBZ0ZELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0FBRWhFLE1BQU0sVUFBVSxhQUFhLENBWTNCLENBQWdELEVBQ2hELE1BQWMsRUFDZCxPQUlDO0lBRUQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQ3pELElBQUksQ0FBQyxJQUFJLENBQ1AsTUFBTSxDQUFDLElBQUksRUFDWCxNQUFNLENBQUMsR0FBRyxDQUNSLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDZixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNsQixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixNQUFNLEVBQUUsQ0FBQyxDQUFBO2dCQUNyRCxPQUFNO1lBQ1IsQ0FBQztZQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDdkMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztvQkFDekMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNoRSxPQUFNO2dCQUNSLENBQUM7Z0JBQ0QsTUFBTSxPQUFPLEdBQUcscUJBQXFCLE1BQU0sRUFBRSxDQUFBO2dCQUM3QyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ2pDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUN4RSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQ3BDLE9BQU07WUFDUixDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUc7Z0JBQ1osTUFBTTtnQkFDTixPQUFPLEVBQUUsOEJBQThCLE1BQU0sRUFBRTthQUNoRCxDQUFBO1lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ25DLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1lBRXZFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ25DLENBQUMsQ0FBQztLQUNMLENBQUMsQ0FDSCxFQUNELE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNmLE1BQU0sS0FBSyxHQUFHO1lBQ1osTUFBTTtZQUNOLE9BQU8sRUFBRSxnREFBZ0QsTUFBTSxFQUFFO1NBQ2xFLENBQUE7UUFDRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUMxRSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDM0MsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFBO0lBQ0gsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsSUFBSSxDQUNKLENBQUMsRUFDRCxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDckI7UUFDRCxDQUFDLENBQUMsQ0FBQyxDQUFJLEVBQUUsRUFBRSxDQUNULElBQUksQ0FDRixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ0osWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUNoQixFQUNMLEVBQUUsTUFBTSxFQUFFLENBQ1gsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsT0FBMEMsRUFDMUMsUUFJQyxFQUNELE9BQW1ELEVBQ25ELFdBQStDLEVBQUUsRUFDakQsRUFBRTtJQUNGLDBGQUEwRjtJQUMxRixNQUFNLGdCQUFnQixHQUFHLFlBQVksRUFBRSxDQUFBO0lBQ3ZDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN4QyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsRUFBRTtRQUN0QyxNQUFNLEtBQUssR0FBRyxRQUFRLEVBQUUsQ0FBQTtRQUN4QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUE7UUFFMUIsT0FBTyxzQkFBc0IsQ0FBQTtRQUM3Qjs7O1dBR0c7UUFDSCxTQUFTLHNCQUFzQixDQWU3QixDQUFzRCxFQUN0RCxNQUFjLEVBQ2QsVUFBOEYsRUFBRTtZQUVoRyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFBO1lBQ2hELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQ2pELEVBQUUsRUFBRSxFQUFFLHNCQUFzQixFQUFFLEVBQzlCLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUMxQixDQUFBO1lBQ0QsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDcEQsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsRUFDeEIsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLENBQzFCLENBQUE7WUFDRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUNsRCxFQUFFLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxFQUM1QixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FDMUIsQ0FBQTtZQUVELE9BQU8sYUFBYSxDQUF3RSxDQUFDLEVBQUUsTUFBTSxFQUFFO2dCQUNyRyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7b0JBQ2xCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7MEJBQ2hHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPOzRCQUN2QyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxPQUFPOzRCQUNsQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7b0JBQ1QsSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDWixLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO29CQUN4QixDQUFDO2dCQUNILENBQUMsQ0FBQztnQkFDSixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDZixNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztvQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRSxDQUFDO3dCQUMxRCxLQUFLLENBQUMsT0FBTyxDQUNYLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxPQUFPOzRCQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxPQUFPOzRCQUNsQixDQUFDLENBQUMsRUFBRSxDQUNQLENBQUE7d0JBQ0QsT0FBTTtvQkFDUixDQUFDO29CQUVELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxXQUFXO3dCQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNsQyxDQUFDLENBQUMsR0FBRyxtQkFBbUIsS0FBSyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDaEQsSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDWixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO29CQUN0QixDQUFDO2dCQUNILENBQUMsQ0FBQztnQkFDSixRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7b0JBQ2xCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhO3dCQUNuQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO3dCQUN4QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQ3hCLEVBQUUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLEVBQ2pDOzRCQUNFLE1BQU0sRUFBRSxhQUFhOzRCQUNyQixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7eUJBQzNCLENBQ0YsQ0FBQTtvQkFDSCxJQUFJLE9BQU8sRUFBRSxDQUFDO3dCQUNaLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7b0JBQ3RCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDO2FBQ0wsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUVELFNBQVMsV0FBVyxDQUFDLENBQWlCO1lBQ3BDLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ1QseUJBQXlCO2dCQUN6Qiw4QkFBOEI7Z0JBQzlCLHNDQUFzQztnQkFDdEMsK0JBQStCO2dCQUMvQixPQUFPO2dCQUNQLDBCQUEwQjtnQkFDMUIsZ0NBQWdDO2dCQUNoQyx1Q0FBdUM7Z0JBQ3ZDLDJCQUEyQjtnQkFDM0Isa0NBQWtDO2dCQUNsQywyQ0FBMkM7Z0JBQzNDLFlBQVk7Z0JBQ1osdUJBQXVCO2dCQUN2Qix1RUFBdUU7Z0JBQ3ZFLG9EQUFvRDtnQkFDcEQsNEJBQTRCO2dCQUM1Qix1Q0FBdUM7Z0JBQ3ZDLGFBQWE7Z0JBQ2IsVUFBVTtnQkFDVixrQ0FBa0M7Z0JBQ2xDLDZDQUE2QztnQkFDN0MsWUFBWTtnQkFDWixtQkFBbUI7Z0JBQ25CLDhEQUE4RDtnQkFDOUQscUJBQXFCO2dCQUNyQixrQ0FBa0M7Z0JBQ2xDLG1CQUFtQjtnQkFDbkIsYUFBYTtnQkFDYixXQUFXO2dCQUNYLHNCQUFzQjtnQkFDdEIsOEJBQThCO2dCQUM5Qix1Q0FBdUM7Z0JBQ3ZDLCtCQUErQjtnQkFDL0IsT0FBTztnQkFDUCxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtvQkFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUE7Z0JBQzlELENBQUM7YUFDRixDQUFDLEVBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUN0QixFQUFFLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxFQUNqQztnQkFDRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFO2FBQ3JDLENBQ0YsQ0FDRixDQUNGLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSwyQkFBMkIsR0F3QzdCLENBQ0YsSUFBUyxFQUNULE1BQVcsRUFDWCxPQUErRSxFQUMxRSxFQUFFO1FBQ1AsTUFBTSxzQkFBc0IsR0FBRywwQkFBMEIsRUFBRSxDQUFBO1FBQzNELE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7WUFDOUIsR0FBRyxJQUFJO1lBQ1AsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDcEMsQ0FBQyxDQUFFLElBQUksQ0FDTCxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDckI7Z0JBQ1QsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUNuQixJQUFJLENBQ0YsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FDdEM7U0FDTixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqRCxPQUFPLEtBQUssQ0FDVixDQUFDLEVBQ0Qsc0JBQXNCLENBQUMsQ0FBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FDbEQsQ0FBQTtJQUNILENBQUMsQ0FBQTtJQUVEOzs7T0FHRztJQUNILE1BQU0scUJBQXFCLEdBd0N2QixDQUNGLElBQVMsRUFDVCxNQUFXLEVBQ1gsT0FBK0UsRUFDMUUsRUFBRTtRQUNQLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUVqRSxPQUFPLEtBQUssQ0FDVixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzVDLENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQyxDQUFBO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSw2QkFBNkIsR0F3Qy9CLHlCQUF5QixDQUFDO1FBQzVCLGNBQWMsRUFBRSxhQUFhO1FBQzdCLFdBQVcsRUFBRSxhQUFhO1FBQzFCLGFBQWEsRUFBRSxhQUFhO0tBQzdCLENBQVEsQ0FBQTtJQUVUOzs7T0FHRztJQUNILE1BQU0sMkJBQTJCLEdBd0M3QixDQUFDLElBQVMsRUFBRSxNQUFjLEVBQUUsT0FBWSxFQUFFLEVBQUU7UUFDOUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztZQUM5QixHQUFHLElBQUk7WUFDUCxPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNwQyxDQUFDLENBQUUsSUFBSSxDQUNMLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNyQjtnQkFDVCxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQ25CLElBQUksQ0FDRixNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUN0QztTQUNOLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpELE9BQU8sS0FBSyxDQUNWLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDNUMsYUFBYSxDQUFDLENBQVEsRUFBRSxNQUFNLEVBQUU7WUFDOUIsU0FBUyxFQUFFLGFBQWE7WUFDeEIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsTUFBTSxFQUFFLGFBQWE7WUFDckIsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUNJLENBQUE7SUFDVixDQUFDLENBQUE7SUFFRCxTQUFTLHlCQUF5QixDQUNoQyxjQUFrRTtRQUVsRSxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsTUFBVyxFQUFFLE9BQVksRUFBRSxFQUFFO1lBQy9DLE9BQU8scUJBQXFCLENBQzFCLElBQUksRUFDSixNQUFNLEVBQ04sRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUNsQyxDQUFBO1FBQ0gsQ0FBQyxDQXVDQSxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0seUJBQXlCLEdBQUcsQ0FDaEMsSUFBa0QsRUFDbEQsRUFBRTtRQUNGLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFckMsT0FBTyxLQUFLLENBQ1YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUM1QyxDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUMsQ0FBQTtJQUVELE1BQU0sb0JBQW9CLEdBQUcsQ0FNM0IsQ0FNNEQsRUFDNUQsS0FBOEIsRUFDOUIsUUFBZ0QsRUFDaEQsRUFBRTtRQUNGLE1BQU0sTUFBTSxHQUFHLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUNyRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBUSxDQUFBO1FBQzdELE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQWMsTUFBTSxDQUFDLENBQUE7UUFDbEQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzFCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN6QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDNUIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUUxRCxNQUFNLE9BQU8sR0FDWCxDQUFDLFFBQWdELEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBeUMsQ0FBSSxFQUFFLEVBQUU7WUFDMUcsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7WUFDdEIsSUFBSSxDQUFDO2dCQUNILE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO2dCQUNqQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7b0JBQUUsT0FBTTtnQkFDcEIsT0FBTyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hGLENBQUM7b0JBQVMsQ0FBQztnQkFDVCxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtZQUN6QixDQUFDO1FBQ0gsQ0FBQyxDQUFBO1FBQ0gsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRWhDLEtBQUssQ0FDSCxLQUFLLEVBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNKLGtCQUFrQjtZQUNsQixPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkUsQ0FBQyxFQUNELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUNmLENBQUE7UUFFRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUMxQyxPQUFPLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDbkQsQ0FBQyxDQUFDLENBQUE7UUFFRixPQUFPO1lBQ0wsTUFBTTtZQUNOLG1EQUFtRDtZQUNuRCxNQUFNO1lBQ04sK0RBQStEO1lBQy9ELGVBQWU7WUFDZixPQUFPO1lBQ1AsT0FBTztZQUNQLFNBQVM7U0FDVixDQUFBO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsT0FBTztRQUNMLHdCQUF3QixFQUFFLHlCQUF5QjtRQUNuRCxvQkFBb0IsRUFBRSxxQkFBcUI7UUFDM0MsMEJBQTBCLEVBQUUsMkJBQTJCO1FBQ3ZELDRCQUE0QixFQUFFLDZCQUE2QjtRQUMzRCwwQkFBMEIsRUFBRSwyQkFBMkI7UUFDdkQsd0JBQXdCLEVBQUUseUJBQXlCO1FBQ25ELHlCQUF5QixFQUFFLDBCQUEwQjtRQUNyRCxtQkFBbUIsRUFBRSxvQkFBb0I7UUFDekMsWUFBWSxFQUFFLGFBQWE7UUFDM0IsZUFBZSxFQUFFLGdCQUFnQjtLQUNsQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBIn0=
|
package/dist/mutate.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Result from "@effect-rx/rx/Result";
|
|
2
2
|
import type { InvalidateOptions, InvalidateQueryFilters } from "@tanstack/vue-query";
|
|
3
|
-
import { Cause
|
|
3
|
+
import type { Cause } from "effect-app";
|
|
4
|
+
import { Effect } from "effect-app";
|
|
4
5
|
import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor";
|
|
5
6
|
import type { ComputedRef, Ref } from "vue";
|
|
6
7
|
export declare const getQueryKey: (h: {
|
|
@@ -33,6 +34,7 @@ export interface MutationOptions<A, E, R, A2 = A, E2 = E, R2 = R, I = void> {
|
|
|
33
34
|
options?: MaybeRefDeep<InvalidateOptions> | undefined;
|
|
34
35
|
}[];
|
|
35
36
|
}
|
|
37
|
+
export declare const asResult: <Args extends readonly any[], A, E, R>(handler: (...args: Args) => Effect<A, E, R>) => readonly [import("vue").ShallowRef<Result.Result<A, E>, Result.Result<A, E>>, (...args: Args) => Effect.Effect<A, E, R>];
|
|
36
38
|
export declare const makeMutation: () => {
|
|
37
39
|
<I, E, A, R, Request extends TaggedRequestClassAny, A2 = A, E2 = E, R2 = R>(self: RequestHandlerWithInput<I, A, E, R, Request>, options?: MutationOptions<A, E, R, A2, E2, R2, I>): readonly [Readonly<Ref<Result.Result<A2, E2>>>, (i: I) => Effect<A2, E2, R2>];
|
|
38
40
|
<E, A, R, Request extends TaggedRequestClassAny, A2 = A, E2 = E, R2 = R>(self: RequestHandler<A, E, R, Request>, options?: MutationOptions<A, E, R, A2, E2, R2>): readonly [Readonly<Ref<Result.Result<A2, E2>>>, Effect<A2, E2, R2>];
|
package/dist/mutate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEpF,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"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"}
|
package/dist/mutate.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import * as Result from "@effect-rx/rx/Result";
|
|
3
3
|
import { useQueryClient } from "@tanstack/vue-query";
|
|
4
|
-
import { Effect,
|
|
4
|
+
import { Effect, Option } from "effect-app";
|
|
5
5
|
import { tuple } from "effect-app/Function";
|
|
6
|
-
import { computed,
|
|
6
|
+
import { computed, shallowRef } from "vue";
|
|
7
7
|
import { makeQueryKey, reportRuntimeError } from "./lib.js";
|
|
8
8
|
export const getQueryKey = (h) => {
|
|
9
9
|
const key = makeQueryKey(h);
|
|
@@ -56,6 +56,15 @@ export function make(self) {
|
|
|
56
56
|
// nses.push(ns.slice(0, i + 1).join("/"))
|
|
57
57
|
// }
|
|
58
58
|
*/
|
|
59
|
+
export const asResult = (handler) => {
|
|
60
|
+
const state = shallowRef(Result.initial());
|
|
61
|
+
const act = (...args) => Effect
|
|
62
|
+
.sync(() => {
|
|
63
|
+
state.value = Result.initial(true);
|
|
64
|
+
})
|
|
65
|
+
.pipe(Effect.zipRight(Effect.suspend(() => handler(...args))), Effect.onExit((exit) => Effect.sync(() => (state.value = Result.fromExit(exit)))));
|
|
66
|
+
return tuple(state, act);
|
|
67
|
+
};
|
|
59
68
|
export const makeMutation = () => {
|
|
60
69
|
/**
|
|
61
70
|
* Pass a function that returns an Effect, e.g from a client action, or an Effect
|
|
@@ -63,17 +72,7 @@ export const makeMutation = () => {
|
|
|
63
72
|
*/
|
|
64
73
|
const useSafeMutation = (self, options) => {
|
|
65
74
|
const queryClient = useQueryClient();
|
|
66
|
-
const state = ref(Result.initial());
|
|
67
75
|
const invalidateQueries = (filters, options) => Effect.promise(() => queryClient.invalidateQueries(filters, options));
|
|
68
|
-
function handleExit(exit) {
|
|
69
|
-
return Effect.sync(() => {
|
|
70
|
-
if (Exit.isSuccess(exit)) {
|
|
71
|
-
state.value = Result.success(exit.value);
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
state.value = Result.failure(exit.cause);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
76
|
const invalidateCache = Effect.suspend(() => {
|
|
78
77
|
const queryKey = getQueryKey(self);
|
|
79
78
|
if (options?.queryInvalidation) {
|
|
@@ -92,15 +91,12 @@ export const makeMutation = () => {
|
|
|
92
91
|
.pipe(Effect.withSpan("client.query.invalidation", { captureStackTrace: false }));
|
|
93
92
|
});
|
|
94
93
|
const mapHandler = options?.mapHandler ?? ((_) => _);
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
state.value = Result.initial(true);
|
|
98
|
-
})
|
|
99
|
-
.pipe(Effect.zipRight(mapHandler(Effect.tapBoth(self, { onFailure: () => invalidateCache, onSuccess: () => invalidateCache }), i)), Effect.tapDefect(reportRuntimeError), Effect.onExit(handleExit), Effect.withSpan(`mutation ${name}`, { captureStackTrace: false }));
|
|
94
|
+
const [state, handle_] = asResult((self, i = void 0) => mapHandler(Effect.tapBoth(self, { onFailure: () => invalidateCache, onSuccess: () => invalidateCache }), i));
|
|
95
|
+
const handle = (self, name, i = void 0) => handle_(self, i).pipe(Effect.tapDefect(reportRuntimeError), Effect.withSpan(`mutation ${name}`, { captureStackTrace: false }));
|
|
100
96
|
const handler = self.handler;
|
|
101
97
|
const r = tuple(state, Effect.isEffect(handler) ? handle(handler, self.name) : (i) => handle(handler(i), self.name, i));
|
|
102
98
|
return r;
|
|
103
99
|
};
|
|
104
100
|
return useSafeMutation;
|
|
105
101
|
};
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL211dGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLE1BQU0sTUFBTSxzQkFBc0IsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFM0QsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBbUIsRUFBRSxFQUFFO0lBQ2pELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMzQixNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDL0MsNkZBQTZGO0lBQzdGLG9GQUFvRjtJQUNwRixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDakYsSUFBSSxDQUFDLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6RCxPQUFPLENBQUMsQ0FBQTtBQUNWLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsY0FBbUM7SUFFbkMsUUFBUSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2YsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFBO1FBQy9FLENBQUM7UUFDRCxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDZixPQUFPO2dCQUNMLE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRSxjQUFjLENBQUMsS0FBSztnQkFDMUIsS0FBSyxFQUFFLFNBQVM7YUFDakIsQ0FBQTtRQUNILENBQUM7UUFDRCxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDZixPQUFPO2dCQUNMLE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRSxTQUFTO2dCQUNmLEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSzthQUM1QixDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBU0QsTUFBTSxVQUFVLElBQUksQ0FBVSxJQUFxQjtJQUNqRCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBeUIsQ0FBQyxDQUFBO0lBRWxFLE1BQU0sT0FBTyxHQUFHLE1BQU07U0FDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNULE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0MsQ0FBQyxDQUFDO1NBQ0QsSUFBSSxDQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQ3BCLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUMzRCxDQUFBO0lBRUgsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRXZGLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDOUMsQ0FBQztBQTRCRCx3REFBd0Q7QUFDeEQsOERBQThEO0FBQzlELDJGQUEyRjtBQUMzRixNQUFNO0FBQ047Ozs7O2tCQUtrQjtBQUVsQixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FDdEIsT0FBMkMsRUFDM0MsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBc0IsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFFL0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQVUsRUFBRSxFQUFFLENBQzVCLE1BQU07U0FDSCxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1QsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3BDLENBQUMsQ0FBQztTQUNELElBQUksQ0FDSCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUN2RCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNsRixDQUFBO0lBRUwsT0FBTyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQzFCLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7SUFDL0I7OztPQUdHO0lBQ0gsTUFBTSxlQUFlLEdBZWpCLENBQ0YsSUFBcUYsRUFDckYsT0FBaUQsRUFDakQsRUFBRTtRQUNGLE1BQU0sV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFBO1FBRXBDLE1BQU0saUJBQWlCLEdBQUcsQ0FDeEIsT0FBOEMsRUFDOUMsT0FBeUMsRUFDekMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRTFFLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQzFDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUVsQyxJQUFJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2dCQUMvQixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFBO2dCQUNwQixDQUFDO2dCQUNELE9BQU8sTUFBTTtxQkFDVixPQUFPLENBQ04sTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQzlDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUNqRztxQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsRUFBRSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNyRixDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFBO1lBRWpDLE9BQU8sTUFBTTtpQkFDVixPQUFPLENBQ04sTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFDeEMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUNoQztpQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsRUFBRSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNyRixDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFcEQsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxJQUFxQixFQUFFLElBQWMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFFLFVBQVUsQ0FDNUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUM1RixDQUFNLENBQ2dCLENBQUMsQ0FBQTtRQUV6QixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQXFCLEVBQUUsSUFBWSxFQUFFLElBQWMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUMzRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbkIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksSUFBSSxFQUFFLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUNsRSxDQUFBO1FBRUgsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUM1QixNQUFNLENBQUMsR0FBRyxLQUFLLENBQ2IsS0FBSyxFQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUNuRyxDQUFBO1FBRUQsT0FBTyxDQUFRLENBQUE7SUFDakIsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxlQUFlLENBQUE7QUFDeEIsQ0FBQyxDQUFBIn0=
|
package/package.json
CHANGED
package/src/makeClient.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import type { Result } from "@effect-rx/rx/Result"
|
|
2
3
|
import * as Sentry from "@sentry/browser"
|
|
3
4
|
import { Cause, Effect, Exit, Match, Option, Runtime, S, Struct } from "effect-app"
|
|
4
5
|
import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor"
|
|
@@ -91,13 +92,14 @@ type WithAction<A> = A & {
|
|
|
91
92
|
|
|
92
93
|
// computed() takes a getter function and returns a readonly reactive ref
|
|
93
94
|
// object for the returned value from the getter.
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
|
|
96
|
+
type Resp<I, A, E, R, V = ComputedRef<Res<A, E>>> = readonly [
|
|
97
|
+
V,
|
|
96
98
|
WithAction<(I: I) => Effect<Exit<A, E>, never, R>>
|
|
97
99
|
]
|
|
98
100
|
|
|
99
|
-
type ActResp<A, E, R
|
|
100
|
-
|
|
101
|
+
type ActResp<A, E, R, V = ComputedRef<Res<A, E>>> = readonly [
|
|
102
|
+
V,
|
|
101
103
|
WithAction<Effect<Exit<A, E>, never, R>>
|
|
102
104
|
]
|
|
103
105
|
|
|
@@ -344,9 +346,9 @@ export const makeClient = <Locale extends string, R>(
|
|
|
344
346
|
|
|
345
347
|
/**
|
|
346
348
|
* Pass a function that returns an Effect, e.g from a client action, give it a name.
|
|
347
|
-
* Returns a tuple with
|
|
349
|
+
* Returns a tuple with raw Result and execution function which reports success and errors as Toast.
|
|
348
350
|
*/
|
|
349
|
-
const
|
|
351
|
+
const _useAndHandleMutationResult: {
|
|
350
352
|
<
|
|
351
353
|
I,
|
|
352
354
|
E extends ResponseErrors,
|
|
@@ -366,7 +368,7 @@ export const makeClient = <Locale extends string, R>(
|
|
|
366
368
|
self: RequestHandlerWithInput<I, A, E, R, Request>,
|
|
367
369
|
action: string,
|
|
368
370
|
options?: Opts<A, E, R, I, A2, E2, R2, ESuccess, RSuccess, EError, RError, EDefect, RDefect>
|
|
369
|
-
): Resp<I, A2, E2, R2
|
|
371
|
+
): Resp<I, A2, E2, R2, Readonly<Ref<Result<A2, E2>, Result<A2, E2>>>>
|
|
370
372
|
<
|
|
371
373
|
E extends ResponseErrors,
|
|
372
374
|
A,
|
|
@@ -385,7 +387,7 @@ export const makeClient = <Locale extends string, R>(
|
|
|
385
387
|
self: RequestHandler<A, E, R, Request>,
|
|
386
388
|
action: string,
|
|
387
389
|
options?: Opts<A, E, R, void, A2, E2, R2, ESuccess, RSuccess, EError, RError, EDefect, RDefect>
|
|
388
|
-
): ActResp<A2, E2, R2
|
|
390
|
+
): ActResp<A2, E2, R2, Readonly<Ref<Result<A2, E2>, Result<A2, E2>>>>
|
|
389
391
|
} = (
|
|
390
392
|
self: any,
|
|
391
393
|
action: any,
|
|
@@ -407,11 +409,68 @@ export const makeClient = <Locale extends string, R>(
|
|
|
407
409
|
}, options ? dropUndefinedT(options) : undefined)
|
|
408
410
|
|
|
409
411
|
return tuple(
|
|
410
|
-
|
|
412
|
+
a,
|
|
411
413
|
handleRequestWithToast(b as any, action, options)
|
|
412
414
|
)
|
|
413
415
|
}
|
|
414
416
|
|
|
417
|
+
/**
|
|
418
|
+
* Pass a function that returns an Effect, e.g from a client action, give it a name.
|
|
419
|
+
* Returns a tuple with state ref and execution function which reports success and errors as Toast.
|
|
420
|
+
*/
|
|
421
|
+
const _useAndHandleMutation: {
|
|
422
|
+
<
|
|
423
|
+
I,
|
|
424
|
+
E extends ResponseErrors,
|
|
425
|
+
A,
|
|
426
|
+
R,
|
|
427
|
+
Request extends TaggedRequestClassAny,
|
|
428
|
+
A2 = A,
|
|
429
|
+
E2 extends ResponseErrors = E,
|
|
430
|
+
R2 = R,
|
|
431
|
+
ESuccess = never,
|
|
432
|
+
RSuccess = never,
|
|
433
|
+
EError = never,
|
|
434
|
+
RError = never,
|
|
435
|
+
EDefect = never,
|
|
436
|
+
RDefect = never
|
|
437
|
+
>(
|
|
438
|
+
self: RequestHandlerWithInput<I, A, E, R, Request>,
|
|
439
|
+
action: string,
|
|
440
|
+
options?: Opts<A, E, R, I, A2, E2, R2, ESuccess, RSuccess, EError, RError, EDefect, RDefect>
|
|
441
|
+
): Resp<I, A2, E2, R2>
|
|
442
|
+
<
|
|
443
|
+
E extends ResponseErrors,
|
|
444
|
+
A,
|
|
445
|
+
R,
|
|
446
|
+
Request extends TaggedRequestClassAny,
|
|
447
|
+
A2 = A,
|
|
448
|
+
E2 extends ResponseErrors = E,
|
|
449
|
+
R2 = R,
|
|
450
|
+
ESuccess = never,
|
|
451
|
+
RSuccess = never,
|
|
452
|
+
EError = never,
|
|
453
|
+
RError = never,
|
|
454
|
+
EDefect = never,
|
|
455
|
+
RDefect = never
|
|
456
|
+
>(
|
|
457
|
+
self: RequestHandler<A, E, R, Request>,
|
|
458
|
+
action: string,
|
|
459
|
+
options?: Opts<A, E, R, void, A2, E2, R2, ESuccess, RSuccess, EError, RError, EDefect, RDefect>
|
|
460
|
+
): ActResp<A2, E2, R2>
|
|
461
|
+
} = (
|
|
462
|
+
self: any,
|
|
463
|
+
action: any,
|
|
464
|
+
options?: Opts<any, any, any, any, any, any, any, any, any, any, any, any, any>
|
|
465
|
+
): any => {
|
|
466
|
+
const [a, b] = _useAndHandleMutationResult(self, action, options)
|
|
467
|
+
|
|
468
|
+
return tuple(
|
|
469
|
+
computed(() => mutationResultToVue(a.value)),
|
|
470
|
+
b
|
|
471
|
+
)
|
|
472
|
+
}
|
|
473
|
+
|
|
415
474
|
/**
|
|
416
475
|
* The same as @see useAndHandleMutation, but does not display any toasts by default.
|
|
417
476
|
* Messages for success, error and defect toasts can be provided in the Options.
|
|
@@ -659,6 +718,7 @@ export const makeClient = <Locale extends string, R>(
|
|
|
659
718
|
return {
|
|
660
719
|
useSafeMutationWithState: _useSafeMutationWithState,
|
|
661
720
|
useAndHandleMutation: _useAndHandleMutation,
|
|
721
|
+
useAndHandleMutationResult: _useAndHandleMutationResult,
|
|
662
722
|
useAndHandleMutationSilently: _useAndHandleMutationSilently,
|
|
663
723
|
useAndHandleMutationCustom: _useAndHandleMutationCustom,
|
|
664
724
|
makeUseAndHandleMutation: _makeUseAndHandleMutation,
|
package/src/mutate.ts
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
import * as Result from "@effect-rx/rx/Result"
|
|
3
3
|
import type { InvalidateOptions, InvalidateQueryFilters } from "@tanstack/vue-query"
|
|
4
4
|
import { useQueryClient } from "@tanstack/vue-query"
|
|
5
|
-
import { Cause
|
|
5
|
+
import type { Cause } from "effect-app"
|
|
6
|
+
import { Effect, Option } from "effect-app"
|
|
6
7
|
import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor"
|
|
7
8
|
import { tuple } from "effect-app/Function"
|
|
8
9
|
import type { ComputedRef, Ref } from "vue"
|
|
9
|
-
import { computed,
|
|
10
|
+
import { computed, shallowRef } from "vue"
|
|
10
11
|
import { makeQueryKey, reportRuntimeError } from "./lib.js"
|
|
11
12
|
|
|
12
13
|
export const getQueryKey = (h: { name: string }) => {
|
|
@@ -69,8 +70,6 @@ export function make<A, E, R>(self: Effect<A, E, R>) {
|
|
|
69
70
|
return tuple(result, latestSuccess, execute)
|
|
70
71
|
}
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
73
|
export type MaybeRef<T> = Ref<T> | ComputedRef<T> | T
|
|
75
74
|
type MaybeRefDeep<T> = MaybeRef<
|
|
76
75
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
@@ -108,6 +107,24 @@ export interface MutationOptions<A, E, R, A2 = A, E2 = E, R2 = R, I = void> {
|
|
|
108
107
|
// }
|
|
109
108
|
*/
|
|
110
109
|
|
|
110
|
+
export const asResult = <Args extends readonly any[], A, E, R>(
|
|
111
|
+
handler: (...args: Args) => Effect<A, E, R>
|
|
112
|
+
) => {
|
|
113
|
+
const state = shallowRef<Result.Result<A, E>>(Result.initial())
|
|
114
|
+
|
|
115
|
+
const act = (...args: Args) =>
|
|
116
|
+
Effect
|
|
117
|
+
.sync(() => {
|
|
118
|
+
state.value = Result.initial(true)
|
|
119
|
+
})
|
|
120
|
+
.pipe(
|
|
121
|
+
Effect.zipRight(Effect.suspend(() => handler(...args))),
|
|
122
|
+
Effect.onExit((exit) => Effect.sync(() => (state.value = Result.fromExit(exit))))
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
return tuple(state, act)
|
|
126
|
+
}
|
|
127
|
+
|
|
111
128
|
export const makeMutation = () => {
|
|
112
129
|
/**
|
|
113
130
|
* Pass a function that returns an Effect, e.g from a client action, or an Effect
|
|
@@ -133,24 +150,12 @@ export const makeMutation = () => {
|
|
|
133
150
|
options?: MutationOptions<A, E, R, A2, E2, R2, I>
|
|
134
151
|
) => {
|
|
135
152
|
const queryClient = useQueryClient()
|
|
136
|
-
const state: Ref<Result.Result<A2, E2>> = ref<Result.Result<A2, E2>>(Result.initial()) as any
|
|
137
153
|
|
|
138
154
|
const invalidateQueries = (
|
|
139
155
|
filters?: MaybeRefDeep<InvalidateQueryFilters>,
|
|
140
156
|
options?: MaybeRefDeep<InvalidateOptions>
|
|
141
157
|
) => Effect.promise(() => queryClient.invalidateQueries(filters, options))
|
|
142
158
|
|
|
143
|
-
function handleExit(exit: Exit.Exit<A2, E2>) {
|
|
144
|
-
return Effect.sync(() => {
|
|
145
|
-
if (Exit.isSuccess(exit)) {
|
|
146
|
-
state.value = Result.success(exit.value)
|
|
147
|
-
return
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
state.value = Result.failure(exit.cause)
|
|
151
|
-
})
|
|
152
|
-
}
|
|
153
|
-
|
|
154
159
|
const invalidateCache = Effect.suspend(() => {
|
|
155
160
|
const queryKey = getQueryKey(self)
|
|
156
161
|
|
|
@@ -179,22 +184,16 @@ export const makeMutation = () => {
|
|
|
179
184
|
|
|
180
185
|
const mapHandler = options?.mapHandler ?? ((_) => _)
|
|
181
186
|
|
|
187
|
+
const [state, handle_] = asResult((self: Effect<A, E, R>, i: I | void = void 0) => (mapHandler(
|
|
188
|
+
Effect.tapBoth(self, { onFailure: () => invalidateCache, onSuccess: () => invalidateCache }),
|
|
189
|
+
i as I
|
|
190
|
+
) as Effect<A2, E2, R2>))
|
|
191
|
+
|
|
182
192
|
const handle = (self: Effect<A, E, R>, name: string, i: I | void = void 0) =>
|
|
183
|
-
|
|
184
|
-
.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
.pipe(
|
|
188
|
-
Effect.zipRight(
|
|
189
|
-
mapHandler(
|
|
190
|
-
Effect.tapBoth(self, { onFailure: () => invalidateCache, onSuccess: () => invalidateCache }),
|
|
191
|
-
i as I
|
|
192
|
-
) as Effect<A2, E2, R2>
|
|
193
|
-
),
|
|
194
|
-
Effect.tapDefect(reportRuntimeError),
|
|
195
|
-
Effect.onExit(handleExit),
|
|
196
|
-
Effect.withSpan(`mutation ${name}`, { captureStackTrace: false })
|
|
197
|
-
)
|
|
193
|
+
handle_(self, i).pipe(
|
|
194
|
+
Effect.tapDefect(reportRuntimeError),
|
|
195
|
+
Effect.withSpan(`mutation ${name}`, { captureStackTrace: false })
|
|
196
|
+
)
|
|
198
197
|
|
|
199
198
|
const handler = self.handler
|
|
200
199
|
const r = tuple(
|