@effect-app/vue 2.14.0 → 2.15.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/_cjs/index.cjs +0 -22
  3. package/_cjs/index.cjs.map +1 -1
  4. package/_cjs/makeClient.cjs +169 -72
  5. package/_cjs/makeClient.cjs.map +1 -1
  6. package/_cjs/mutate.cjs +84 -101
  7. package/_cjs/mutate.cjs.map +1 -1
  8. package/_cjs/query.cjs +9 -52
  9. package/_cjs/query.cjs.map +1 -1
  10. package/dist/index.d.ts +0 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -3
  13. package/dist/makeClient.d.ts +87 -70
  14. package/dist/makeClient.d.ts.map +1 -1
  15. package/dist/makeClient.js +164 -84
  16. package/dist/mutate.d.ts +18 -26
  17. package/dist/mutate.d.ts.map +1 -1
  18. package/dist/mutate.js +67 -84
  19. package/dist/query.d.ts +10 -24
  20. package/dist/query.d.ts.map +1 -1
  21. package/dist/query.js +13 -55
  22. package/package.json +8 -48
  23. package/src/index.ts +0 -2
  24. package/src/makeClient.ts +463 -227
  25. package/src/mutate.ts +111 -141
  26. package/src/query.ts +30 -116
  27. package/_cjs/hooks.cjs +0 -28
  28. package/_cjs/hooks.cjs.map +0 -1
  29. package/_cjs/makeClient2.cjs +0 -221
  30. package/_cjs/makeClient2.cjs.map +0 -1
  31. package/_cjs/mutate2.cjs +0 -118
  32. package/_cjs/mutate2.cjs.map +0 -1
  33. package/_cjs/query2.cjs +0 -105
  34. package/_cjs/query2.cjs.map +0 -1
  35. package/dist/hooks.d.ts +0 -3
  36. package/dist/hooks.d.ts.map +0 -1
  37. package/dist/hooks.js +0 -4
  38. package/dist/makeClient2.d.ts +0 -74
  39. package/dist/makeClient2.d.ts.map +0 -1
  40. package/dist/makeClient2.js +0 -187
  41. package/dist/mutate2.d.ts +0 -42
  42. package/dist/mutate2.d.ts.map +0 -1
  43. package/dist/mutate2.js +0 -88
  44. package/dist/query2.d.ts +0 -23
  45. package/dist/query2.d.ts.map +0 -1
  46. package/dist/query2.js +0 -97
  47. package/src/hooks.ts +0 -4
  48. package/src/makeClient2.ts +0 -353
  49. package/src/mutate2.ts +0 -197
  50. package/src/query2.ts +0 -205
@@ -1,10 +1,11 @@
1
- import type { Either } from "effect-app";
2
- import { Cause, Effect, S } from "effect-app";
1
+ import { Cause, Effect, Exit, Runtime, S } from "effect-app";
3
2
  import { type SupportedErrors } from "effect-app/client";
3
+ import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor";
4
4
  import type { OperationFailure } from "effect-app/Operations";
5
- import { type ComputedRef } from "vue";
5
+ import type { Schema } from "effect-app/Schema";
6
+ import type { ComputedRef, Ref, ShallowRef } from "vue";
6
7
  import type { MakeIntlReturn } from "./makeIntl.js";
7
- import type { MakeMutation, MutationOptions, Res } from "./mutate.js";
8
+ import type { MutationOptions, Res } from "./mutate.js";
8
9
  /**
9
10
  * Use this after handling an error yourself, still continueing on the Error track, but the error will not be reported.
10
11
  */
@@ -12,88 +13,104 @@ export declare class SuppressErrors extends Cause.YieldableError {
12
13
  readonly _tag = "SuppressErrors";
13
14
  }
14
15
  export type ResponseErrors = S.ParseResult.ParseError | SupportedErrors | SuppressErrors | OperationFailure;
15
- export interface Opts<A, I = void> extends MutationOptions<A, I> {
16
- suppressErrorToast?: boolean;
17
- suppressSuccessToast?: boolean;
18
- successToast?: (a: A) => any;
16
+ export interface Opts<A, E, I = void, ESuccess = never, RSuccess = never, EError = never, RError = never, EDefect = never, RDefect = never> extends MutationOptions {
17
+ /** set to `undefined` to use default message */
18
+ successMessage?: ((a: A, i: I) => Effect<string | undefined, ESuccess, RSuccess>) | undefined;
19
+ /** set to `undefined` to use default message */
20
+ failMessage?: ((e: E, i: I) => Effect<string | undefined, EError, RError>) | undefined;
21
+ /** set to `undefined` to use default message */
22
+ defectMessage?: ((e: Cause.Cause<E>, i: I) => Effect<string | undefined, EDefect, RDefect>) | undefined;
23
+ }
24
+ export interface LowOpts<A, E, I = void, ESuccess = never, RSuccess = never, EError = never, RError = never, EDefect = never, RDefect = never> {
25
+ onSuccess: (a: A, i: I) => Effect<void, ESuccess, RSuccess>;
26
+ onFail: (e: E, i: I) => Effect<void, EError, RError>;
27
+ onDefect: (e: Cause.Cause<E>, i: I) => Effect<void, EDefect, RDefect>;
28
+ }
29
+ export interface LowOptsOptional<A, E, I = void, ESuccess = never, RSuccess = never, EError = never, RError = never, EDefect = never, RDefect = never> extends MutationOptions {
30
+ onSuccess?: (a: A, i: I) => Effect<void, ESuccess, RSuccess>;
31
+ onFail?: (e: E, i: I) => Effect<void, EError, RError>;
32
+ onDefect?: (e: Cause.Cause<E>, i: I) => Effect<void, EDefect, RDefect>;
19
33
  }
20
- /** @deprecated - use mapHandler */
21
- export declare const withSuccess: {
22
- <I, A, E, X, R>(self: {
23
- handler: (i: I) => Effect<A, E, R>;
24
- name: string;
25
- }, onSuccess: (a: A, i: I) => Promise<X>): {
26
- handler: (i: I) => Effect<X, E, R>;
27
- name: string;
28
- };
29
- <A, E, X, R>(self: {
30
- handler: Effect<A, E, R>;
31
- name: string;
32
- }, onSuccess: (_: A) => Promise<X>): {
33
- handler: Effect<X, E, R>;
34
- name: string;
35
- };
36
- };
37
- /** @deprecated - use mapHandler */
38
- export declare const withSuccessE: {
39
- <I, E, A, E2, X, R>(self: {
40
- handler: (i: I) => Effect<A, E, R>;
41
- name: string;
42
- }, onSuccessE: (_: A, i: I) => Effect<X, E2>): {
43
- handler: (i: I) => Effect<X, E | E2, R>;
44
- name: string;
45
- };
46
- <E, A, E2, X, R>(self: {
47
- handler: Effect<A, E, R>;
48
- name: string;
49
- }, onSuccessE: (_: A) => Effect<X, E2>): {
50
- handler: Effect<X, E | E2, R>;
51
- name: string;
52
- };
53
- };
54
34
  type WithAction<A> = A & {
55
35
  action: string;
56
36
  };
57
- type Resp<I, E, A> = readonly [
37
+ type Resp<I, A, E, R> = readonly [
58
38
  ComputedRef<Res<A, E>>,
59
- WithAction<(I: I) => Promise<void>>
39
+ WithAction<(I: I) => Effect<Exit<A, E>, never, R>>
60
40
  ];
61
- type ActResp<E, A> = readonly [
41
+ type ActResp<A, E, R> = readonly [
62
42
  ComputedRef<Res<A, E>>,
63
- WithAction<() => Promise<void>>
43
+ WithAction<Effect<Exit<A, E>, never, R>>
64
44
  ];
65
- export declare const makeClient: <Locale extends string, R>(useIntl: MakeIntlReturn<Locale>["useIntl"], useToast: () => {
45
+ export declare const suppressToast: import("effect/Function").LazyArg<Effect.Effect<undefined, never, never>>;
46
+ export declare function handleRequest<E extends ResponseErrors, A, R, I = void, ESuccess = never, RSuccess = never, EError = never, RError = never, EDefect = never, RDefect = never>(f: Effect<A, E, R> | ((i: I) => Effect<A, E, R>), action: string, options: {
47
+ onSuccess: (a: A, i: I) => Effect<void, ESuccess, RSuccess>;
48
+ onFail: (e: E, i: I) => Effect<void, EError, RError>;
49
+ onDefect: (e: Cause.Cause<E>, i: I) => Effect<void, EDefect, RDefect>;
50
+ }): (Effect.Effect<Exit.Exit<A, E>, ESuccess | EError | EDefect, R | RSuccess | RError | RDefect> | ((i: I) => Effect.Effect<Exit.Exit<A, E>, ESuccess | EError | EDefect, R | RSuccess | RError | RDefect>)) & {
51
+ action: string;
52
+ };
53
+ export declare const makeClient2: <Locale extends string, R>(useIntl: MakeIntlReturn<Locale>["useIntl"], useToast: () => {
66
54
  error: (message: string) => void;
67
55
  warning: (message: string) => void;
68
56
  success: (message: string) => void;
69
- }, useSafeMutation: MakeMutation<R>, messages?: Record<string, string | undefined>) => {
70
- useSafeMutationWithState: <I, E, A>(self: {
71
- handler: (i: I) => Effect<A, E, R>;
72
- name: string;
73
- }) => readonly [ComputedRef<Res<A, E>>, (i: I, signal?: AbortSignal) => Promise<Either.Either<A, E>>];
57
+ }, runtime: ShallowRef<Runtime.Runtime<R> | undefined>, messages?: Record<string, string | undefined>) => {
58
+ useSafeMutationWithState: <I, E, A, Request extends TaggedRequestClassAny>(self: RequestHandlerWithInput<I, A, E, R, Request>) => readonly [ComputedRef<Res<A, E>>, (i: I) => Effect<A, E, R>];
74
59
  useAndHandleMutation: {
75
- <I, E_1 extends ResponseErrors, A_1>(self: {
76
- handler: (i: I) => Effect<A_1, E_1, R>;
77
- name: string;
78
- }, action: string, options?: Opts<A_1, I>): Resp<I, A_1, E_1>;
79
- <E_2 extends ResponseErrors, A_2>(self: {
80
- handler: Effect<A_2, E_2, R>;
81
- name: string;
82
- }, action: string, options?: Opts<A_2>): ActResp<E_2, A_2>;
60
+ <I, E_1 extends ResponseErrors, A_1, R_1, Request_1 extends TaggedRequestClassAny, 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, I, ESuccess, RSuccess, EError, RError, EDefect, RDefect>): Resp<I, void, never, R_1>;
61
+ <E_2 extends ResponseErrors, A_2, R_2, Request_2 extends TaggedRequestClassAny, 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, void, ESuccess_1, RSuccess_1, EError_1, RError_1, EDefect_1, RDefect_1>): ActResp<void, never, R_2>;
62
+ };
63
+ useAndHandleMutationSilently: {
64
+ <I, E_2 extends ResponseErrors, A_3, R_3, Request_3 extends TaggedRequestClassAny, 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, I, ESuccess_2, RSuccess_2, EError_2, RError_2, EDefect_2, RDefect_2>): Resp<I, void, never, R_3>;
65
+ <E_3 extends ResponseErrors, A_4, R_4, Request_4 extends TaggedRequestClassAny, 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, void, ESuccess_3, RSuccess_3, EError_3, RError_3, EDefect_3, RDefect_3>): ActResp<void, never, R_4>;
66
+ };
67
+ useAndHandleMutationCustom: {
68
+ <I, E_3 extends ResponseErrors, A_5, R_5, Request_5 extends TaggedRequestClassAny, 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?: LowOptsOptional<A_5, E_3, I, ESuccess_4, RSuccess_4, EError_4, RError_4, EDefect_4, RDefect_4>): Resp<I, void, never, R_5>;
69
+ <E_4 extends ResponseErrors, A_6, R_6, Request_6 extends TaggedRequestClassAny, 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?: LowOptsOptional<A_6, E_4, void, ESuccess_5, RSuccess_5, EError_5, RError_5, EDefect_5, RDefect_5>): ActResp<void, never, R_6>;
83
70
  };
84
- makeUseAndHandleMutation: (onSuccess?: () => Promise<void>, defaultOptions?: Opts<any>) => {
85
- <I, E_2 extends ResponseErrors, A_3>(self: {
86
- handler: (i: I) => Effect<A_3, E_2, R>;
87
- name: string;
88
- }, action: string, options?: Opts<A_3, I>): Resp<I, A_3, E_2>;
89
- <E_3 extends ResponseErrors, A_4>(self: {
90
- handler: Effect<A_4, E_3, R>;
91
- name: string;
92
- }, action: string, options?: Opts<A_4>): ActResp<E_3, A_4>;
71
+ makeUseAndHandleMutation: (defaultOptions?: Opts<any, any, any, any, any, any, any, any, any>) => {
72
+ <I, E_4 extends ResponseErrors, A_7, R_7, Request_7 extends TaggedRequestClassAny, 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?: Opts<A_7, E_4, I, ESuccess_6, RSuccess_6, EError_6, RError_6, EDefect_6, RDefect_6>): Resp<I, A_7, E_4, R_7>;
73
+ <E_5 extends ResponseErrors, A_8, Request_8 extends TaggedRequestClassAny, 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, Request_8>, action: string, options?: Opts<A_8, E_5, void, ESuccess_7, RSuccess_7, EError_7, RError_7, EDefect_7, RDefect_7>): ActResp<A_8, E_5, R>;
93
74
  };
94
- useHandleRequestWithToast: () => <E_3 extends ResponseErrors, A_5, Args extends unknown[]>(f: (...args: Args) => Promise<Either<A_5, E_3>>, action: string, options?: Opts<A_5>) => ((...a: Args) => Promise<void>) & {
75
+ useHandleRequestWithToast: () => <E_5 extends ResponseErrors, A_9, R_8, I = void, ESuccess_8 = never, RSuccess_8 = never, EError_8 = never, RError_8 = never, EDefect_8 = never, RDefect_8 = never>(f: Effect<A_9, E_5, R_8> | ((i: I) => Effect<A_9, E_5, R_8>), action: string, options?: Opts<A_9, E_5, I, ESuccess_8, RSuccess_8, EError_8, RError_8, EDefect_8, RDefect_8>) => (Effect.Effect<Exit.Exit<A_9, E_5>, ESuccess_8 | EError_8 | EDefect_8, R_8 | RSuccess_8 | RError_8 | RDefect_8> | ((i: any) => Effect.Effect<Exit.Exit<A_9, E_5>, ESuccess_8 | EError_8 | EDefect_8, R_8 | RSuccess_8 | RError_8 | RDefect_8>)) & {
95
76
  action: string;
96
77
  };
78
+ buildFormFromSchema: <From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, C extends Record<PropertyKey, any>, OnSubmitA>(s: Schema<To, From, R> & {
79
+ new (c: C): any;
80
+ fields: S.Struct.Fields;
81
+ }, state: Ref<Omit<From, "_tag">>, onSubmit: (a: To) => Effect<OnSubmitA, never, R>) => {
82
+ fields: { [K in keyof To]-?: {
83
+ true: {
84
+ true: To[K] extends {
85
+ _tag: string;
86
+ } ? import("./form.js").DiscriminatedUnionFieldInfo<{ [P in import("./form.js").DistributiveNestedFieldInfoKey<To[K]> as P["_infoTag" & keyof P] & string]: P; }> : import("./form.js").UnionFieldInfo<import("./form.js").DistributiveNestedFieldInfoKey<To[K]>[]>;
87
+ false: import("./form.js").NestedFieldInfoKey<To[K]>;
88
+ }[`${To[K] extends object ? true : false}`];
89
+ false: import("./form.js").NestedFieldInfoKey<To[K]>;
90
+ }[`${import("effect-app/utils").IsUnion<To[K]>}`]; };
91
+ /** optimized for Vuetify v-form submit callback */
92
+ submit: <T extends Promise<{
93
+ valid: boolean;
94
+ }>>(e: T) => Promise<OnSubmitA | undefined>;
95
+ /** optimized for Native form submit callback or general use */
96
+ submitFromState: Effect.Effect<OnSubmitA | undefined, S.ParseResult.ParseError, R>;
97
+ isDirty: Ref<boolean, boolean>;
98
+ isValid: Ref<boolean, boolean>;
99
+ };
100
+ useSafeQuery: {
101
+ <E_5, A_10, Request_9 extends TaggedRequestClassAny>(self: RequestHandler<A_10, E_5, R, Request_9>, options?: (import("./query.js").QueryObserverOptionsCustom<A_10, E_5, A_10, A_10, import("@tanstack/vue-query").QueryKey, never> & {
102
+ initialData: A_10 | import("@tanstack/vue-query").InitialDataFunction<A_10>;
103
+ }) | undefined): readonly [ComputedRef<import("@effect-rx/rx/Result").Result<A_10, E_5>>, ComputedRef<A_10>, (options?: import("@tanstack/vue-query").RefetchOptions) => Effect<import("@tanstack/vue-query").QueryObserverResult<A_10, import("./query.js").KnownFiberFailure<E_5>>>, import("@tanstack/vue-query").UseQueryReturnType<any, any>];
104
+ <Arg, E_5, A_11, Request_10 extends TaggedRequestClassAny>(self: RequestHandlerWithInput<Arg, A_11, E_5, R, Request_10>, arg: Arg | import("vue").WatchSource<Arg>, options?: (import("./query.js").QueryObserverOptionsCustom<A_11, E_5, A_11, A_11, import("@tanstack/vue-query").QueryKey, never> & {
105
+ initialData: A_11 | import("@tanstack/vue-query").InitialDataFunction<A_11>;
106
+ }) | undefined): readonly [ComputedRef<import("@effect-rx/rx/Result").Result<A_11, E_5>>, ComputedRef<A_11>, (options?: import("@tanstack/vue-query").RefetchOptions) => Effect<import("@tanstack/vue-query").QueryObserverResult<A_11, import("./query.js").KnownFiberFailure<E_5>>>, import("@tanstack/vue-query").UseQueryReturnType<any, any>];
107
+ <E_6, A_12, Request_11 extends TaggedRequestClassAny>(self: RequestHandler<A_12, E_6, R, Request_11>, options?: import("./query.js").QueryObserverOptionsCustom<A_12, E_6, A_12, A_12, import("@tanstack/vue-query").QueryKey, never> | undefined): readonly [ComputedRef<import("@effect-rx/rx/Result").Result<A_12, E_6>>, ComputedRef<A_12 | undefined>, (options?: import("@tanstack/vue-query").RefetchOptions) => Effect<import("@tanstack/vue-query").QueryObserverResult<A_12, import("./query.js").KnownFiberFailure<E_6>>>, import("@tanstack/vue-query").UseQueryReturnType<any, any>];
108
+ <Arg, E_6, A_13, Request_12 extends TaggedRequestClassAny>(self: RequestHandlerWithInput<Arg, A_13, E_6, R, Request_12>, arg: Arg | import("vue").WatchSource<Arg>, options?: import("./query.js").QueryObserverOptionsCustom<A_13, E_6, A_13, A_13, import("@tanstack/vue-query").QueryKey, never> | undefined): readonly [ComputedRef<import("@effect-rx/rx/Result").Result<A_13, E_6>>, ComputedRef<A_13 | undefined>, (options?: import("@tanstack/vue-query").RefetchOptions) => Effect<import("@tanstack/vue-query").QueryObserverResult<A_13, import("./query.js").KnownFiberFailure<E_6>>>, import("@tanstack/vue-query").UseQueryReturnType<any, any>];
109
+ };
110
+ useSafeMutation: {
111
+ <I_1, E_7, A_14, R_9, Request_13 extends TaggedRequestClassAny>(self: RequestHandlerWithInput<I_1, A_14, E_7, R_9, Request_13>, options?: MutationOptions): readonly [Readonly<Ref<import("./mutate.js").MutationResult<A_14, E_7>>>, (i: I_1) => Effect<A_14, E_7, R_9>];
112
+ <E_8, A_15, R_10, Request_14 extends TaggedRequestClassAny>(self: RequestHandler<A_15, E_8, R_10, Request_14>, options?: MutationOptions): readonly [Readonly<Ref<import("./mutate.js").MutationResult<A_15, E_8>>>, Effect<A_15, E_8, R_10>];
113
+ };
97
114
  };
98
115
  export {};
99
116
  //# sourceMappingURL=makeClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../src/makeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../src/makeClient.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,65 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import * as Sentry from "@sentry/browser";
3
- import { Cause, Effect, Match, Runtime, S } from "effect-app";
4
- import { flow, pipe, tuple } from "effect-app/Function";
3
+ import { Cause, Effect, Exit, Match, Option, Runtime, S, Struct } from "effect-app";
4
+ import { CauseException } from "effect-app/client";
5
+ import { constant, pipe, tuple } from "effect-app/Function";
5
6
  import { OperationSuccess } from "effect-app/Operations";
6
7
  import { dropUndefinedT } from "effect-app/utils";
7
- import { computed } from "vue";
8
- import { mutationResultToVue } from "./mutate.js";
8
+ import { computed, ref, watch } from "vue";
9
+ import { buildFieldInfoFromFieldsRoot } from "./form.js";
10
+ import { getRuntime } from "./lib.js";
11
+ import { makeMutation2, mutationResultToVue } from "./mutate.js";
12
+ import { makeQuery2 } from "./query.js";
9
13
  /**
10
14
  * Use this after handling an error yourself, still continueing on the Error track, but the error will not be reported.
11
15
  */
12
16
  export class SuppressErrors extends Cause.YieldableError {
13
17
  _tag = "SuppressErrors";
14
18
  }
15
- /** @deprecated - use mapHandler */
16
- export const withSuccess = (self, onSuccess) => ({
17
- ...self,
18
- handler: typeof self.handler === "function"
19
- ? (i) => pipe(self.handler(i), Effect.flatMap((_) => Effect.promise(() => onSuccess(_, i)).pipe(Effect.withSpan("onSuccess"))))
20
- : Effect.flatMap(self.handler, (_) => Effect.promise(() => onSuccess(_)).pipe(Effect.withSpan("onSuccess")))
21
- });
22
- /** @deprecated - use mapHandler */
23
- export const withSuccessE = (self, onSuccessE) => {
24
- return {
25
- ...self,
26
- handler: typeof self.handler === "function"
27
- ? (i) => pipe(self.handler(i), Effect.flatMap((_) => onSuccessE(_, i)))
28
- : Effect.flatMap(self.handler, (_) => onSuccessE(_))
29
- };
30
- };
31
- export const makeClient = (useIntl, useToast, useSafeMutation, messages = {}) => {
19
+ export const suppressToast = constant(Effect.succeed(undefined));
20
+ export function handleRequest(f, action, options) {
21
+ const handleEffect = (i) => (self) => self.pipe(Effect.exit, Effect.tap(Exit.matchEffect({
22
+ onSuccess: (r) => options.onSuccess(r, i),
23
+ onFailure: (cause) => Effect.gen(function* () {
24
+ if (Cause.isInterruptedOnly(cause)) {
25
+ console.info(`Interrupted while trying to ${action}`);
26
+ return;
27
+ }
28
+ const fail = Cause.failureOption(cause);
29
+ if (Option.isSome(fail)) {
30
+ if (fail.value._tag === "SuppressErrors") {
31
+ console.info(`Suppressed error trying to ${action}`, fail.value);
32
+ return;
33
+ }
34
+ const message = `Failure trying to ${action}`;
35
+ console.warn(message, fail.value);
36
+ Sentry.captureMessage(message, { extra: { action, error: fail.value } });
37
+ yield* options.onFail(fail.value, i);
38
+ return;
39
+ }
40
+ const extra = {
41
+ action,
42
+ message: `Unexpected Error trying to ${action}`
43
+ };
44
+ console.error(extra.message, cause);
45
+ Sentry.captureException(new CauseException(cause, "defect"), { extra });
46
+ yield* options.onDefect(cause, i);
47
+ })
48
+ })), Effect.tapErrorCause((cause) => Effect.sync(() => {
49
+ const extra = {
50
+ action,
51
+ message: `Unexpected Error trying to handle errors for ${action}`
52
+ };
53
+ Sentry.captureException(new CauseException(cause, "unhandled"), { extra });
54
+ console.error(Cause.pretty(cause), extra);
55
+ })));
56
+ return Object.assign(Effect.isEffect(f)
57
+ ? pipe(f, handleEffect(void 0))
58
+ : (i) => pipe(f(i), handleEffect(i)), { action });
59
+ }
60
+ export const makeClient2 = (useIntl, useToast, runtime, messages = {}) => {
61
+ const useSafeMutation = makeMutation2();
62
+ const useSafeQuery = makeQuery2(runtime);
32
63
  const useHandleRequestWithToast = () => {
33
64
  const toast = useToast();
34
65
  const { intl } = useIntl();
@@ -37,54 +68,47 @@ export const makeClient = (useIntl, useToast, useSafeMutation, messages = {}) =>
37
68
  * Pass a function that returns a Promise.
38
69
  * Returns an execution function which reports errors as Toast.
39
70
  */
40
- function handleRequestWithToast(f, action, options = { suppressErrorToast: false }) {
41
- const message = messages[action] ?? action;
42
- const warnMessage = intl.value.formatMessage({ id: "handle.with_warnings" }, { action: message });
43
- const successMessage = intl.value.formatMessage({ id: "handle.success" }, { action: message });
44
- const errorMessage = intl.value.formatMessage({ id: "handle.with_errors" }, { action: message });
45
- return Object.assign(flow(f, (p) => p.then((r) => {
46
- if (r._tag === "Right") {
47
- if (options.suppressSuccessToast) {
71
+ function handleRequestWithToast(f, action, options = {}) {
72
+ const actionMessage = messages[action] ?? action;
73
+ const defaultWarnMessage = intl.value.formatMessage({ id: "handle.with_warnings" }, { action: actionMessage });
74
+ const defaultSuccessMessage = intl.value.formatMessage({ id: "handle.success" }, { action: actionMessage });
75
+ const defaultErrorMessage = intl.value.formatMessage({ id: "handle.with_errors" }, { action: actionMessage });
76
+ return handleRequest(f, action, {
77
+ onSuccess: (a, i) => Effect.gen(function* () {
78
+ const message = options.successMessage ? yield* options.successMessage(a, i) : defaultSuccessMessage
79
+ + (S.is(OperationSuccess)(a) && a.message
80
+ ? "\n" + a.message
81
+ : "");
82
+ if (message) {
83
+ toast.success(message);
84
+ }
85
+ }),
86
+ onFail: (e, i) => Effect.gen(function* () {
87
+ if (!options.failMessage && e._tag === "OperationFailure") {
88
+ toast.warning(defaultWarnMessage + e.message
89
+ ? "\n" + e.message
90
+ : "");
48
91
  return;
49
92
  }
50
- return Promise
51
- .resolve(toast.success(successMessage
52
- + (S.is(OperationSuccess)(r.right) && r.right.message
53
- ? "\n" + r.right.message
54
- : "")))
55
- .then((_) => { });
56
- }
57
- if (r.left._tag === "SuppressErrors") {
58
- return Promise.resolve(void 0);
59
- }
60
- if (r.left._tag === "OperationFailure") {
61
- return toast.warning(warnMessage + r.left.message
62
- ? "\n" + r.left.message
63
- : "");
64
- }
65
- if (!options.suppressErrorToast) {
66
- toast.error(`${errorMessage}:\n` + renderError(r.left));
67
- }
68
- console.warn(r.left, r.left.toString());
69
- }, (err) => {
70
- if (Cause.isInterruptedException(err)
71
- || (Runtime.isFiberFailure(err)
72
- && Cause.isInterruptedOnly(err[Runtime.FiberFailureCauseId]))) {
73
- return;
74
- }
75
- const extra = {
76
- action,
77
- message: `Unexpected Error trying to ${action}`
78
- };
79
- Sentry.captureException(err, {
80
- extra
81
- });
82
- console.error(err, extra);
83
- return toast.error(intl.value.formatMessage({ id: "handle.unexpected_error" }, {
84
- action: message,
85
- error: JSON.stringify(err, undefined, 2)
86
- }));
87
- })), { action });
93
+ const message = options.failMessage
94
+ ? yield* options.failMessage(e, i)
95
+ : `${defaultErrorMessage}:\n` + renderError(e);
96
+ if (message) {
97
+ toast.error(message);
98
+ }
99
+ }),
100
+ onDefect: (cause, i) => Effect.gen(function* () {
101
+ const message = options.defectMessage
102
+ ? yield* options.defectMessage(cause, i)
103
+ : intl.value.formatMessage({ id: "handle.unexpected_error" }, {
104
+ action: actionMessage,
105
+ error: Cause.pretty(cause)
106
+ });
107
+ if (message) {
108
+ toast.error(message);
109
+ }
110
+ })
111
+ });
88
112
  }
89
113
  function renderError(e) {
90
114
  return Match.value(e).pipe(Match.tags({
@@ -132,42 +156,98 @@ export const makeClient = (useIntl, useToast, useSafeMutation, messages = {}) =>
132
156
  }
133
157
  };
134
158
  /**
135
- * Pass a function that returns an Effect, e.g from a client action, give it a name, and optionally pass an onSuccess callback.
136
- * Returns a tuple with state ref and execution function which reports errors as Toast.
159
+ * Pass a function that returns an Effect, e.g from a client action, give it a name.
160
+ * Returns a tuple with state ref and execution function which reports success and errors as Toast.
137
161
  */
138
162
  const useAndHandleMutation = (self, action, options) => {
139
163
  const handleRequestWithToast = useHandleRequestWithToast();
140
164
  const [a, b] = useSafeMutation({
165
+ ...self,
141
166
  handler: Effect.isEffect(self.handler)
142
167
  ? pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler))
143
- : (...args) => pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler(...args))),
144
- name: self.name
168
+ : (...args) => pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler(...args)))
145
169
  }, options ? dropUndefinedT(options) : undefined);
146
170
  return tuple(computed(() => mutationResultToVue(a.value)), handleRequestWithToast(b, action, options));
147
171
  };
148
- function makeUseAndHandleMutation(onSuccess, defaultOptions) {
172
+ /**
173
+ * The same as @see useAndHandleMutation, but does not display any toasts by default.
174
+ * Messages for success, error and defect toasts can be provided in the Options.
175
+ */
176
+ const useAndHandleMutationSilently = makeUseAndHandleMutation({
177
+ successMessage: suppressToast,
178
+ failMessage: suppressToast,
179
+ defectMessage: suppressToast
180
+ });
181
+ /**
182
+ * The same as @see useAndHandleMutation, but does not act on success, error or defect by default.
183
+ * Actions for success, error and defect can be provided in the Options.
184
+ */
185
+ const useAndHandleMutationCustom = (self, action, options) => {
186
+ const [a, b] = useSafeMutation({
187
+ ...self,
188
+ handler: Effect.isEffect(self.handler)
189
+ ? pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler))
190
+ : (...args) => pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler(...args)))
191
+ }, options ? dropUndefinedT(options) : undefined);
192
+ return tuple(computed(() => mutationResultToVue(a.value)), handleRequest(b, action, {
193
+ onSuccess: suppressToast,
194
+ onDefect: suppressToast,
195
+ onFail: suppressToast,
196
+ ...options
197
+ }));
198
+ };
199
+ function makeUseAndHandleMutation(defaultOptions) {
149
200
  return ((self, action, options) => {
150
- return useAndHandleMutation({
151
- handler: typeof self.handler === "function"
152
- ? onSuccess
153
- ? (i) => Effect.tap(self.handler(i), () => Effect.promise(onSuccess))
154
- : self.handler
155
- : onSuccess
156
- ? Effect.tap(self.handler, () => Effect.promise(onSuccess))
157
- : self.handler,
158
- name: self.name
159
- }, action, { ...defaultOptions, ...options });
201
+ return useAndHandleMutation(self, action, { ...defaultOptions, ...options });
160
202
  });
161
203
  }
162
204
  const useSafeMutationWithState = (self) => {
163
205
  const [a, b] = useSafeMutation(self);
164
206
  return tuple(computed(() => mutationResultToVue(a.value)), b);
165
207
  };
208
+ const buildFormFromSchema = (s, state, onSubmit) => {
209
+ const fields = buildFieldInfoFromFieldsRoot(s).fields;
210
+ const schema = S.Struct(Struct.omit(s.fields, "_tag"));
211
+ const parse = S.decodeUnknown(schema);
212
+ const isDirty = ref(false);
213
+ const isValid = ref(true);
214
+ const runPromise = Runtime.runPromise(getRuntime(runtime));
215
+ const submit1 = (onSubmit) => async (e) => {
216
+ const r = await e;
217
+ if (!r.valid)
218
+ return;
219
+ return runPromise(onSubmit(new s(await runPromise(parse(state.value)))));
220
+ };
221
+ const submit = submit1(onSubmit);
222
+ watch(state, (v) => {
223
+ // TODO: do better
224
+ isDirty.value = JSON.stringify(v) !== JSON.stringify(state.value);
225
+ }, { deep: true });
226
+ const submitFromState = Effect.gen(function* () {
227
+ if (!isValid.value)
228
+ return;
229
+ return yield* onSubmit(yield* parse(state.value));
230
+ }); // () => submit(Promise.resolve({ valid: isValid.value }))
231
+ return {
232
+ fields,
233
+ /** optimized for Vuetify v-form submit callback */
234
+ submit,
235
+ /** optimized for Native form submit callback or general use */
236
+ submitFromState,
237
+ isDirty,
238
+ isValid
239
+ };
240
+ };
166
241
  return {
167
242
  useSafeMutationWithState,
168
243
  useAndHandleMutation,
244
+ useAndHandleMutationSilently,
245
+ useAndHandleMutationCustom,
169
246
  makeUseAndHandleMutation,
170
- useHandleRequestWithToast
247
+ useHandleRequestWithToast,
248
+ buildFormFromSchema,
249
+ useSafeQuery,
250
+ useSafeMutation
171
251
  };
172
252
  };
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBRXpDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTdELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFvQixNQUFNLEtBQUssQ0FBQTtBQUdoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLEtBQUssQ0FBQyxjQUFjO0lBQzdDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQTtDQUNqQztBQVVELG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBcUJwQixDQUFDLElBQVMsRUFBRSxTQUFjLEVBQU8sRUFBRSxDQUFDLENBQUM7SUFDdkMsR0FBRyxJQUFJO0lBQ1AsT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVO1FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQ1gsSUFBSSxDQUVBLElBQUksQ0FBQyxPQUdOLENBQUMsQ0FBQyxDQUFDLEVBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFD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
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQXdCLE1BQU0sbUJBQW1CLENBQUE7QUFFeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUMxQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLEtBQUssQ0FBQyxjQUFjO0lBQzdDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQTtDQUNqQztBQXVFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtBQUVoRSxNQUFNLFVBQVUsYUFBYSxDQVkzQixDQUFnRCxFQUNoRCxNQUFjLEVBQ2QsT0FJQztJQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQXFCLEVBQUUsRUFBRSxDQUN6RCxJQUFJLENBQUMsSUFBSSxDQUNQLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTSxDQUFDLEdBQUcsQ0FDUixJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ2YsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekMsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDbkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDbEIsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQywrQkFBK0IsTUFBTSxFQUFFLENBQUMsQ0FBQTtnQkFDckQsT0FBTTtZQUNSLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3ZDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFLENBQUM7b0JBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDaEUsT0FBTTtnQkFDUixDQUFDO2dCQUNELE1BQU0sT0FBTyxHQUFHLHFCQUFxQixNQUFNLEVBQUUsQ0FBQTtnQkFDN0MsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNqQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtnQkFDeEUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO2dCQUNwQyxPQUFNO1lBQ1IsQ0FBQztZQUVELE1BQU0sS0FBSyxHQUFHO2dCQUNaLE1BQU07Z0JBQ04sT0FBTyxFQUFFLDhCQUE4QixNQUFNLEVBQUU7YUFDaEQsQ0FBQTtZQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUNuQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtZQUV2RSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNuQyxDQUFDLENBQUM7S0FDTCxDQUFDLENBQ0gsRUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDZixNQUFNLEtBQUssR0FBRztZQUNaLE1BQU07WUFDTixPQUFPLEVBQUUsZ0RBQWdELE1BQU0sRUFBRTtTQUNsRSxDQUFBO1FBQ0QsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDMUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzNDLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQTtJQUNILE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLElBQUksQ0FDSixDQUFDLEVBQ0QsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3JCO1FBQ0QsQ0FBQyxDQUFDLENBQUMsQ0FBSSxFQUFFLEVBQUUsQ0FDVCxJQUFJLENBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNKLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FDaEIsRUFDTCxFQUFFLE1BQU0sRUFBRSxDQUNYLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQ3pCLE9BQTBDLEVBQzFDLFFBSUMsRUFDRCxPQUFtRCxFQUNuRCxXQUErQyxFQUFFLEVBQ2pELEVBQUU7SUFDRixNQUFNLGVBQWUsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUN2QyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsUUFBUSxFQUFFLENBQUE7UUFDeEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBRTFCLE9BQU8sc0JBQXNCLENBQUE7UUFDN0I7OztXQUdHO1FBQ0gsU0FBUyxzQkFBc0IsQ0FZN0IsQ0FBZ0QsRUFDaEQsTUFBYyxFQUNkLFVBQStFLEVBQUU7WUFFakYsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQTtZQUNoRCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUNqRCxFQUFFLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxFQUM5QixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FDMUIsQ0FBQTtZQUNELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQ3BELEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLEVBQ3hCLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUMxQixDQUFBO1lBQ0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDbEQsRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsRUFDNUIsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLENBQzFCLENBQUE7WUFFRCxPQUFPLGFBQWEsQ0FBcUUsQ0FBQyxFQUFFLE1BQU0sRUFBRTtnQkFDbEcsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO29CQUNsQixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCOzBCQUNoRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTzs0QkFDdkMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTzs0QkFDbEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUNULElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ1osS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDeEIsQ0FBQztnQkFDSCxDQUFDLENBQUM7Z0JBQ0osTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ2YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLEVBQUUsQ0FBQzt3QkFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FDWCxrQkFBa0IsR0FBRyxDQUFDLENBQUMsT0FBTzs0QkFDNUIsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTzs0QkFDbEIsQ0FBQyxDQUFDLEVBQUUsQ0FDUCxDQUFBO3dCQUNELE9BQU07b0JBQ1IsQ0FBQztvQkFFRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVzt3QkFDakMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbEMsQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ2hELElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDdEIsQ0FBQztnQkFDSCxDQUFDLENBQUM7Z0JBQ0osUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO29CQUNsQixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYTt3QkFDbkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQzt3QkFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUN4QixFQUFFLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxFQUNqQzs0QkFDRSxNQUFNLEVBQUUsYUFBYTs0QkFDckIsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO3lCQUMzQixDQUNGLENBQUE7b0JBQ0gsSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDWixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO29CQUN0QixDQUFDO2dCQUNILENBQUMsQ0FBQzthQUNMLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxTQUFTLFdBQVcsQ0FBQyxDQUFpQjtZQUNwQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULHlCQUF5QjtnQkFDekIsOEJBQThCO2dCQUM5QixzQ0FBc0M7Z0JBQ3RDLCtCQUErQjtnQkFDL0IsT0FBTztnQkFDUCwwQkFBMEI7Z0JBQzFCLGdDQUFnQztnQkFDaEMsdUNBQXVDO2dCQUN2QywyQkFBMkI7Z0JBQzNCLGtDQUFrQztnQkFDbEMsMkNBQTJDO2dCQUMzQyxZQUFZO2dCQUNaLHVCQUF1QjtnQkFDdkIsdUVBQXVFO2dCQUN2RSxvREFBb0Q7Z0JBQ3BELDRCQUE0QjtnQkFDNUIsdUNBQXVDO2dCQUN2QyxhQUFhO2dCQUNiLFVBQVU7Z0JBQ1Ysa0NBQWtDO2dCQUNsQyw2Q0FBNkM7Z0JBQzdDLFlBQVk7Z0JBQ1osbUJBQW1CO2dCQUNuQiw4REFBOEQ7Z0JBQzlELHFCQUFxQjtnQkFDckIsa0NBQWtDO2dCQUNsQyxtQkFBbUI7Z0JBQ25CLGFBQWE7Z0JBQ2IsV0FBVztnQkFDWCxzQkFBc0I7Z0JBQ3RCLDhCQUE4QjtnQkFDOUIsdUNBQXVDO2dCQUN2QywrQkFBK0I7Z0JBQy9CLE9BQU87Z0JBQ1AsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7b0JBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFBO2dCQUM5RCxDQUFDO2FBQ0YsQ0FBQyxFQUNGLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDdEIsRUFBRSxFQUFFLEVBQUUseUJBQXlCLEVBQUUsRUFDakM7Z0JBQ0UsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRTthQUNyQyxDQUNGLENBQ0YsQ0FDRixDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQTtJQUVEOzs7T0FHRztJQUNILE1BQU0sb0JBQW9CLEdBa0N0QixDQUFDLElBQVMsRUFBRSxNQUFXLEVBQUUsT0FBMkQsRUFBTyxFQUFFO1FBQy9GLE1BQU0sc0JBQXNCLEdBQUcseUJBQXlCLEVBQUUsQ0FBQTtRQUMxRCxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQztZQUM3QixHQUFHLElBQUk7WUFDUCxPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUNwQyxDQUFDLENBQUUsSUFBSSxDQUNMLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNyQjtnQkFDVCxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLENBQ25CLElBQUksQ0FDRixNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUN0QztTQUNOLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpELE9BQU8sS0FBSyxDQUNWLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDNUMsc0JBQXNCLENBQUMsQ0FBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FDbEQsQ0FBQTtJQUNILENBQUMsQ0FBQTtJQUVEOzs7T0FHRztJQUNILE1BQU0sNEJBQTRCLEdBa0M5Qix3QkFBd0IsQ0FBQztRQUMzQixjQUFjLEVBQUUsYUFBYTtRQUM3QixXQUFXLEVBQUUsYUFBYTtRQUMxQixhQUFhLEVBQUUsYUFBYTtLQUM3QixDQUFRLENBQUE7SUFFVDs7O09BR0c7SUFDSCxNQUFNLDBCQUEwQixHQWtDNUIsQ0FBQyxJQUFTLEVBQUUsTUFBYyxFQUFFLE9BQVksRUFBRSxFQUFFO1FBQzlDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDO1lBQzdCLEdBQUcsSUFBSTtZQUNQLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ3BDLENBQUMsQ0FBRSxJQUFJLENBQ0wsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQ3JCO2dCQUNULENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FDbkIsSUFBSSxDQUNGLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQ3RDO1NBQ04sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakQsT0FBTyxLQUFLLENBQ1YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUM1QyxhQUFhLENBQUMsQ0FBUSxFQUFFLE1BQU0sRUFBRTtZQUM5QixTQUFTLEVBQUUsYUFBYTtZQUN4QixRQUFRLEVBQUUsYUFBYTtZQUN2QixNQUFNLEVBQUUsYUFBYTtZQUNyQixHQUFHLE9BQU87U0FDWCxDQUFDLENBQ0ksQ0FBQTtJQUNWLENBQUMsQ0FBQTtJQUVELFNBQVMsd0JBQXdCLENBQy9CLGNBQWtFO1FBRWxFLE9BQU8sQ0FBQyxDQUFDLElBQVMsRUFBRSxNQUFXLEVBQUUsT0FBWSxFQUFFLEVBQUU7WUFDL0MsT0FBTyxvQkFBb0IsQ0FDekIsSUFBSSxFQUNKLE1BQU0sRUFDTixFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQ2xDLENBQUE7UUFDSCxDQUFDLENBaUNBLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSx3QkFBd0IsR0FBRyxDQUMvQixJQUFrRCxFQUNsRCxFQUFFO1FBQ0YsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFcEMsT0FBTyxLQUFLLENBQ1YsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUM1QyxDQUFDLENBQ0YsQ0FBQTtJQUNILENBQUMsQ0FBQTtJQUVELE1BQU0sbUJBQW1CLEdBQUcsQ0FNMUIsQ0FNK0MsRUFDL0MsS0FBOEIsRUFDOUIsUUFBZ0QsRUFDaEQsRUFBRTtRQUNGLE1BQU0sTUFBTSxHQUFHLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUNyRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBUSxDQUFBO1FBQzdELE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQWMsTUFBTSxDQUFDLENBQUE7UUFDbEQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzFCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN6QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRTFELE1BQU0sT0FBTyxHQUNYLENBQUMsUUFBZ0QsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUF5QyxDQUFJLEVBQUUsRUFBRTtZQUMxRyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUNqQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQUUsT0FBTTtZQUNwQixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFFLENBQUMsQ0FBQTtRQUNILE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUVoQyxLQUFLLENBQ0gsS0FBSyxFQUNMLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDSixrQkFBa0I7WUFDbEIsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25FLENBQUMsRUFDRCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFBO1FBRUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO2dCQUFFLE9BQU07WUFDMUIsT0FBTyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ25ELENBQUMsQ0FBQyxDQUFBLENBQUMsMERBQTBEO1FBRTdELE9BQU87WUFDTCxNQUFNO1lBQ04sbURBQW1EO1lBQ25ELE1BQU07WUFDTiwrREFBK0Q7WUFDL0QsZUFBZTtZQUNmLE9BQU87WUFDUCxPQUFPO1NBQ1IsQ0FBQTtJQUNILENBQUMsQ0FBQTtJQUVELE9BQU87UUFDTCx3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGVBQWU7S0FDaEIsQ0FBQTtBQUNILENBQUMsQ0FBQSJ9