@effect-app/vue 2.52.3 → 2.52.5

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 (49) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/experimental/commander.d.ts +120 -0
  3. package/dist/experimental/commander.d.ts.map +1 -0
  4. package/dist/experimental/commander.js +206 -0
  5. package/dist/experimental/confirm.d.ts +12 -0
  6. package/dist/experimental/confirm.d.ts.map +1 -0
  7. package/dist/experimental/confirm.js +14 -0
  8. package/dist/experimental/intl.d.ts +32 -0
  9. package/dist/experimental/intl.d.ts.map +1 -0
  10. package/dist/experimental/intl.js +4 -0
  11. package/dist/experimental/makeExperimental.d.ts +59 -26
  12. package/dist/experimental/makeExperimental.d.ts.map +1 -1
  13. package/dist/experimental/makeExperimental.js +8 -16
  14. package/dist/experimental/toast.d.ts +54 -0
  15. package/dist/experimental/toast.d.ts.map +1 -0
  16. package/dist/experimental/toast.js +4 -0
  17. package/dist/experimental/withToast.d.ts +17 -0
  18. package/dist/experimental/withToast.d.ts.map +1 -0
  19. package/dist/experimental/withToast.js +36 -0
  20. package/dist/makeClient.js +6 -6
  21. package/dist/makeIntl.d.ts +1 -1
  22. package/dist/makeIntl.d.ts.map +1 -1
  23. package/dist/makeIntl.js +9 -4
  24. package/package.json +19 -11
  25. package/src/experimental/commander.ts +567 -0
  26. package/src/experimental/confirm.ts +20 -0
  27. package/src/experimental/intl.ts +5 -0
  28. package/src/experimental/makeExperimental.ts +7 -25
  29. package/src/experimental/toast.ts +14 -0
  30. package/src/experimental/withToast.ts +58 -0
  31. package/src/makeClient.ts +5 -5
  32. package/src/makeIntl.ts +8 -3
  33. package/test/Mutation.test.ts +22 -41
  34. package/test/dist/stubs.d.ts +58 -21
  35. package/test/dist/stubs.d.ts.map +1 -1
  36. package/test/dist/stubs.js +28 -22
  37. package/test/stubs.ts +65 -61
  38. package/dist/experimental/useCommand.d.ts +0 -74
  39. package/dist/experimental/useCommand.d.ts.map +0 -1
  40. package/dist/experimental/useCommand.js +0 -198
  41. package/dist/experimental/useConfirm.d.ts +0 -7
  42. package/dist/experimental/useConfirm.d.ts.map +0 -1
  43. package/dist/experimental/useConfirm.js +0 -9
  44. package/dist/experimental/useWithToast.d.ts +0 -23
  45. package/dist/experimental/useWithToast.d.ts.map +0 -1
  46. package/dist/experimental/useWithToast.js +0 -31
  47. package/src/experimental/useCommand.ts +0 -563
  48. package/src/experimental/useConfirm.ts +0 -17
  49. package/src/experimental/useWithToast.ts +0 -65
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 2.52.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 02a2cd3: improve command implementation
8
+
9
+ ## 2.52.4
10
+
11
+ ### Patch Changes
12
+
13
+ - a02c7db: fix arg access
14
+
3
15
  ## 2.52.3
4
16
 
5
17
  ### Patch Changes
@@ -0,0 +1,120 @@
1
+ import { type Result } from "@effect-atom/atom/Result";
2
+ import { Context, Effect, type Exit, Runtime } from "effect-app";
3
+ import { type RuntimeFiber } from "effect/Fiber";
4
+ import { type NoInfer } from "effect/Types";
5
+ import { type YieldWrap } from "effect/Utils";
6
+ import { type ComputedRef } from "vue";
7
+ import { ConfirmSvc } from "./confirm.js";
8
+ import { IntlSvc } from "./intl.js";
9
+ import { WithToastSvc } from "./withToast.js";
10
+ export declare const DefaultIntl: {
11
+ de: {
12
+ "handle.confirmation": string;
13
+ "handle.waiting": string;
14
+ "handle.success": string;
15
+ "handle.with_errors": string;
16
+ "handle.with_warnings": string;
17
+ "handle.error_response": string;
18
+ "handle.response_error": string;
19
+ "handle.request_error": string;
20
+ "handle.unexpected_error2": string;
21
+ };
22
+ en: {
23
+ "handle.confirmation": string;
24
+ "handle.waiting": string;
25
+ "handle.success": string;
26
+ "handle.with_errors": string;
27
+ "handle.with_warnings": string;
28
+ "handle.error_response": string;
29
+ "handle.request_error": string;
30
+ "handle.response_error": string;
31
+ "handle.unexpected_error2": string;
32
+ };
33
+ };
34
+ declare const CommandContext_base: Context.TagClass<CommandContext, "CommandContext", {
35
+ action: string;
36
+ }>;
37
+ export declare class CommandContext extends CommandContext_base {
38
+ }
39
+ export interface CommandProps<A, E> {
40
+ action: string;
41
+ result: Result<A, E>;
42
+ waiting: boolean;
43
+ }
44
+ declare const Commander_base: Effect.Service.Class<Commander, "Commander", {
45
+ readonly dependencies: readonly [import("effect/Layer").Layer<WithToastSvc, never, import("./toast.js").ToastSvc>, import("effect/Layer").Layer<ConfirmSvc, never, IntlSvc>];
46
+ readonly effect: Effect.Effect<{
47
+ /** Version of confirmOrInterrupt that automatically includes the action name in the default messages */
48
+ confirmOrInterrupt: (message?: string | undefined) => Effect.Effect<void, never, CommandContext>;
49
+ /** Version of withDefaultToast that automatically includes the action name in the default messages and uses intl */
50
+ withDefaultToast: <A, E>(errorRenderer?: (e: E) => string | undefined) => (self: Effect.Effect<A, E, CommandContext>) => Effect.Effect<A, E, CommandContext>;
51
+ /**
52
+ * Define a Command
53
+ * @param actionName The internal name of the action. will be used as Span. will be used to lookup user facing name via intl. `action.${actionName}`
54
+ * @returns A function that can be called to execute the mutation, like directly in a `@click` handler. Error reporting is built-in.
55
+ * the Effects **only** have access to the `CommandContext` service, which contains the user-facing action name.
56
+ * The function also has the following properties:
57
+ * - action: The user-facing name of the action, as defined in the intl messages. Can be used e.g as Button label.
58
+ * - result: The Result of the mutation
59
+ * - waiting: Whether the mutation is currently in progress. (shorthand for .result.waiting). Can be used e.g as Button loading/disabled state.
60
+ * Reporting status to the user is recommended to use the `withDefaultToast` helper, or render the .result inline
61
+ */
62
+ fn: <RT>(runtime: Runtime.Runtime<RT>) => (actionName: string) => {
63
+ <Eff extends YieldWrap<Effect.Effect<any, any, CommandContext | RT>>, AEff, Args extends Array<any>>(body: (...args: Args) => Generator<Eff, AEff, never>): ComputedRef<((...a: Args) => RuntimeFiber<Exit.Exit<AEff, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E, infer _R>>] ? E : never>, never>) & {
64
+ action: string;
65
+ result: Result<AEff, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E, infer _R>>] ? E : never>;
66
+ waiting: boolean;
67
+ }>;
68
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_1, Args_1 extends Array<any>, A extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_1) => Generator<Eff, AEff_1, never>, a: (_: Effect.Effect<AEff_1, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E, infer _R>>] ? E : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_1>) => A): ComputedRef<((...a: Args_1) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<A>, Effect.Effect.Error<A>>, never>) & {
69
+ action: string;
70
+ result: Result<Effect.Effect.Success<A>, Effect.Effect.Error<A>>;
71
+ waiting: boolean;
72
+ }>;
73
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_2, Args_2 extends Array<any>, A_1, B extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_2) => Generator<Eff, AEff_2, never>, a: (_: Effect.Effect<AEff_2, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E, infer _R>>] ? E : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_2>) => A_1, b: (_: A_1, ...args: NoInfer<Args_2>) => B): ComputedRef<((...a: Args_2) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<B>, Effect.Effect.Error<B>>, never>) & {
74
+ action: string;
75
+ result: Result<Effect.Effect.Success<B>, Effect.Effect.Error<B>>;
76
+ waiting: boolean;
77
+ }>;
78
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_3, Args_3 extends Array<any>, A_2, B_1, C extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_3) => Generator<Eff, AEff_3, never>, a: (_: Effect.Effect<AEff_3, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E, infer _R>>] ? E : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_3>) => A_2, b: (_: A_2, ...args: NoInfer<Args_3>) => B_1, c: (_: B_1, ...args: NoInfer<Args_3>) => C): ComputedRef<((...a: Args_3) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<C>, Effect.Effect.Error<C>>, never>) & {
79
+ action: string;
80
+ result: Result<Effect.Effect.Success<C>, Effect.Effect.Error<C>>;
81
+ waiting: boolean;
82
+ }>;
83
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_4, Args_4 extends Array<any>, A_3, B_2, C_1, D extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_4) => Generator<Eff, AEff_4, never>, a: (_: Effect.Effect<AEff_4, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E, infer _R>>] ? E : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_4>) => A_3, b: (_: A_3, ...args: NoInfer<Args_4>) => B_2, c: (_: B_2, ...args: NoInfer<Args_4>) => C_1, d: (_: C_1, ...args: NoInfer<Args_4>) => D): ComputedRef<((...a: Args_4) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<D>, Effect.Effect.Error<D>>, never>) & {
84
+ action: string;
85
+ result: Result<Effect.Effect.Success<D>, Effect.Effect.Error<D>>;
86
+ waiting: boolean;
87
+ }>;
88
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_5, Args_5 extends Array<any>, A_4, B_3, C_2, D_1, E extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_5) => Generator<Eff, AEff_5, never>, a: (_: Effect.Effect<AEff_5, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_5>) => A_4, b: (_: A_4, ...args: NoInfer<Args_5>) => B_3, c: (_: B_3, ...args: NoInfer<Args_5>) => C_2, d: (_: C_2, ...args: NoInfer<Args_5>) => D_1, e: (_: D_1, ...args: NoInfer<Args_5>) => E): ComputedRef<((...a: Args_5) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<E>, Effect.Effect.Error<E>>, never>) & {
89
+ action: string;
90
+ result: Result<Effect.Effect.Success<E>, Effect.Effect.Error<E>>;
91
+ waiting: boolean;
92
+ }>;
93
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_6, Args_6 extends Array<any>, A_5, B_4, C_3, D_2, E_1, F extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_6) => Generator<Eff, AEff_6, never>, a: (_: Effect.Effect<AEff_6, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E_2, infer _R>>] ? E_2 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_6>) => A_5, b: (_: A_5, ...args: NoInfer<Args_6>) => B_4, c: (_: B_4, ...args: NoInfer<Args_6>) => C_3, d: (_: C_3, ...args: NoInfer<Args_6>) => D_2, e: (_: D_2, ...args: NoInfer<Args_6>) => E_1, f: (_: E_1, ...args: NoInfer<Args_6>) => F): ComputedRef<((...a: Args_6) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<F>, Effect.Effect.Error<F>>, never>) & {
94
+ action: string;
95
+ result: Result<Effect.Effect.Success<F>, Effect.Effect.Error<F>>;
96
+ waiting: boolean;
97
+ }>;
98
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_7, Args_7 extends Array<any>, A_6, B_5, C_4, D_3, E_2, F_1, G extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_7) => Generator<Eff, AEff_7, never>, a: (_: Effect.Effect<AEff_7, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E_3, infer _R>>] ? E_3 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_7>) => A_6, b: (_: A_6, ...args: NoInfer<Args_7>) => B_5, c: (_: B_5, ...args: NoInfer<Args_7>) => C_4, d: (_: C_4, ...args: NoInfer<Args_7>) => D_3, e: (_: D_3, ...args: NoInfer<Args_7>) => E_2, f: (_: E_2, ...args: NoInfer<Args_7>) => F_1, g: (_: F_1, ...args: NoInfer<Args_7>) => G): ComputedRef<((...a: Args_7) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<G>, Effect.Effect.Error<G>>, never>) & {
99
+ action: string;
100
+ result: Result<Effect.Effect.Success<G>, Effect.Effect.Error<G>>;
101
+ waiting: boolean;
102
+ }>;
103
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_8, Args_8 extends Array<any>, A_7, B_6, C_5, D_4, E_3, F_2, G_1, H extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_8) => Generator<Eff, AEff_8, never>, a: (_: Effect.Effect<AEff_8, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E_4, infer _R>>] ? E_4 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_8>) => A_7, b: (_: A_7, ...args: NoInfer<Args_8>) => B_6, c: (_: B_6, ...args: NoInfer<Args_8>) => C_5, d: (_: C_5, ...args: NoInfer<Args_8>) => D_4, e: (_: D_4, ...args: NoInfer<Args_8>) => E_3, f: (_: E_3, ...args: NoInfer<Args_8>) => F_2, g: (_: F_2, ...args: NoInfer<Args_8>) => G_1, h: (_: G_1, ...args: NoInfer<Args_8>) => H): ComputedRef<((...a: Args_8) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<H>, Effect.Effect.Error<H>>, never>) & {
104
+ action: string;
105
+ result: Result<Effect.Effect.Success<H>, Effect.Effect.Error<H>>;
106
+ waiting: boolean;
107
+ }>;
108
+ <Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_9, Args_9 extends Array<any>, A_8, B_7, C_6, D_5, E_4, F_3, G_2, H_1, I extends Effect.Effect<any, any, CommandContext | RT>>(body: (...args: Args_9) => Generator<Eff, AEff_9, never>, a: (_: Effect.Effect<AEff_9, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E_5, infer _R>>] ? E_5 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R>>] ? R : never>, ...args: NoInfer<Args_9>) => A_8, b: (_: A_8, ...args: NoInfer<Args_9>) => B_7, c: (_: B_7, ...args: NoInfer<Args_9>) => C_6, d: (_: C_6, ...args: NoInfer<Args_9>) => D_5, e: (_: D_5, ...args: NoInfer<Args_9>) => E_4, f: (_: E_4, ...args: NoInfer<Args_9>) => F_3, g: (_: F_3, ...args: NoInfer<Args_9>) => G_2, h: (_: G_2, ...args: NoInfer<Args_9>) => H_1, i: (_: H_1, ...args: NoInfer<Args_9>) => I): ComputedRef<((...a: Args_9) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<I>, Effect.Effect.Error<I>>, never>) & {
109
+ action: string;
110
+ result: Result<Effect.Effect.Success<I>, Effect.Effect.Error<I>>;
111
+ waiting: boolean;
112
+ }>;
113
+ };
114
+ alt: <RT>(runtime: Runtime.Runtime<RT>) => (actionName: string) => <Args extends ReadonlyArray<any>, A, E, R extends RT | CommandContext>(handler: (...args: Args) => Effect.Effect<A, E, R>) => ComputedRef<((...a: Args) => RuntimeFiber<Exit.Exit<A, E>, never>) & CommandProps<A, E>>;
115
+ }, never, WithToastSvc | ConfirmSvc | IntlSvc>;
116
+ }>;
117
+ export declare class Commander extends Commander_base {
118
+ }
119
+ export {};
120
+ //# sourceMappingURL=commander.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commander.d.ts","sourceRoot":"","sources":["../../src/experimental/commander.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,EAAuB,OAAO,EAAK,MAAM,YAAY,CAAA;AAG/F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,KAAK,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;CAyBvB,CAAA;;YAIW,MAAM;;AAFlB,qBAAa,cAAe,SAAQ,mBAGjC;CAAG;AAEN,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;;;;QAuYK,wGAAwG;;QAaxG,oHAAoH;2BACjG,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,YAE7D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;QAwE3C;;;;;;;;;;WAUG;aACE,EAAE,WAAW,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,kBAEf,MAAM;aApd3B,GAAG,kEAAkE,IAAI,EAAE,IAAI,SAAS,KAAK,CAAC,GAAG,CAAC,gMAMhD,EAAE,QAAQ,CAAC,QAAQ,EAAE;wBAnB9D,MAAM;kHAmBmC,EAAE,QAAQ,CAAC,QAAQ,EAAE;yBAjB7D,OAAO;;aAqBhB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,EACvB,CAAC,2NAOoD,EAAE,QAAQ,CAAC,QAAQ,EAAE,0GAGX,EAAE,QAAQ,CAAC;wBApClE,MAAM;;yBAEL,OAAO;;aAyChB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,OAEvB,CAAC,2NAOoD,EAAE,QAAQ,CAAC,QAAQ,EAAE,0GAGX,EAAE,QAAQ,CAAC;wBAzDlE,MAAM;;yBAEL,OAAO;;aA+DhB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,YAGvB,CAAC,2NAOoD,EAAE,QAAQ,CAAC,QAAQ,EAAE,0GAGX,EAAE,QAAQ,CAAC;wBAhFlE,MAAM;;yBAEL,OAAO;;aAuFhB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,iBAIvB,CAAC,2NAOoD,EAAE,QAAQ,CAAC,QAAQ,EAAE,0GAGX,EAAE,QAAQ,CAAC;wBAzGlE,MAAM;;yBAEL,OAAO;;aAiHhB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,sBAKvB,CAAC,2NAOoD,EAAE,mBAAiB,EAAE,4GAGX,EAAE,QAAQ,CAAC;wBApIlE,MAAM;;yBAEL,OAAO;;aA6IhB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,2BAMvB,CAAC,2NAOoD,EAAE,mBAAiB,EAAE,4GAGX,EAAE,QAAQ,CAAC;wBAjKlE,MAAM;;yBAEL,OAAO;;aA2KhB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,gCAOvB,CAAC,2NAOoD,EAAE,mBAAiB,EAAE,4GAGX,EAAE,QAAQ,CAAC;wBAhMlE,MAAM;;yBAEL,OAAO;;aA2MhB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,qCAQvB,CAAC,2NAOoD,EAAE,mBAAiB,EAAE,4GAGX,EAAE,QAAQ,CAAC;wBAjOlE,MAAM;;yBAEL,OAAO;;aA6OhB,GAAG,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,yBAEtC,KAAK,CAAC,GAAG,CAAC,0CASvB,CAAC,2NAOoD,EAAE,mBAAiB,EAAE,4GAGX,EAAE,QAAQ,CAAC;wBApQlE,MAAM;;yBAEL,OAAO;;;aA+eE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CACxD,UAAU,EAAE,MAAM,KACf,CAAC,IAAI,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,cAAc,EACxE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC/C,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;AA9fnG,qBAAa,SAAU,SAAQ,cAigB7B;CAAG"}
@@ -0,0 +1,206 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { asResult, reportRuntimeError } from "@effect-app/vue";
3
+ import { reportMessage } from "@effect-app/vue/errorReporter";
4
+ import { Cause, Context, Effect, flow, Match, Option, Runtime, S } from "effect-app";
5
+ import { SupportedErrors } from "effect-app/client";
6
+ import { OperationFailure, OperationSuccess } from "effect-app/Operations";
7
+ import { computed } from "vue";
8
+ import { ConfirmSvc } from "./confirm.js";
9
+ import { IntlSvc } from "./intl.js";
10
+ import { WithToastSvc } from "./withToast.js";
11
+ export const DefaultIntl = {
12
+ de: {
13
+ "handle.confirmation": "{action} bestätigen?",
14
+ "handle.waiting": "{action} wird ausgeführt...",
15
+ "handle.success": "{action} erfolgreich",
16
+ "handle.with_errors": "{action} fehlgeschlagen",
17
+ "handle.with_warnings": "{action} erfolgreich, mit Warnungen",
18
+ "handle.error_response": "Die Anfrage war nicht erfolgreich:\n{error}\nWir wurden benachrichtigt und werden das Problem in Kürze beheben.",
19
+ "handle.response_error": "Die Antwort konnte nicht verarbeitet werden:\n{error}",
20
+ "handle.request_error": "Die Anfrage konnte nicht gesendet werden:\n{error}",
21
+ "handle.unexpected_error2": "{action} unerwarteter Fehler, probieren sie es in kurze nochmals."
22
+ },
23
+ en: {
24
+ "handle.confirmation": "Confirm {action}?",
25
+ "handle.waiting": "{action} executing...",
26
+ "handle.success": "{action} Success",
27
+ "handle.with_errors": "{action} Failed",
28
+ "handle.with_warnings": "{action}, with warnings",
29
+ "handle.error_response": "There was an error in processing the response:\n{error}\nWe have been notified and will fix the problem shortly.",
30
+ "handle.request_error": "There was an error in the request:\n{error}",
31
+ "handle.response_error": "The request was not successful:\n{error}",
32
+ "handle.unexpected_error2": "{action} unexpected error, please try again shortly."
33
+ }
34
+ };
35
+ export class CommandContext extends Context.Tag("CommandContext")() {
36
+ }
37
+ // @effect-diagnostics-next-line missingEffectServiceDependency:off
38
+ export class Commander extends Effect.Service()("Commander", {
39
+ dependencies: [WithToastSvc.Default, ConfirmSvc.Default],
40
+ effect: Effect.gen(function* () {
41
+ const { intl } = yield* IntlSvc;
42
+ const withToast = yield* WithToastSvc;
43
+ const { confirmOrInterrupt } = yield* ConfirmSvc;
44
+ const makeCommand = (runtime) => (actionName, errorDef) => (handler) => {
45
+ const limit = Error.stackTraceLimit;
46
+ Error.stackTraceLimit = 2;
47
+ const localErrorDef = new Error();
48
+ Error.stackTraceLimit = limit;
49
+ if (!errorDef) {
50
+ errorDef = localErrorDef;
51
+ }
52
+ const action = intl.formatMessage({
53
+ id: `action.${actionName}`,
54
+ defaultMessage: actionName
55
+ });
56
+ const context = { action };
57
+ const errorReporter = (self) => self.pipe(Effect.tapErrorCause(Effect.fnUntraced(function* (cause) {
58
+ if (Cause.isInterruptedOnly(cause)) {
59
+ console.info(`Interrupted while trying to ${actionName}`);
60
+ return;
61
+ }
62
+ const fail = Cause.failureOption(cause);
63
+ if (Option.isSome(fail)) {
64
+ // if (fail.value._tag === "SuppressErrors") {
65
+ // console.info(
66
+ // `Suppressed error trying to ${action}`,
67
+ // fail.value,
68
+ // )
69
+ // return
70
+ // }
71
+ const message = `Failure trying to ${actionName}`;
72
+ yield* reportMessage(message, {
73
+ action: actionName,
74
+ error: fail.value
75
+ });
76
+ return;
77
+ }
78
+ const extra = {
79
+ action,
80
+ message: `Unexpected Error trying to ${actionName}`
81
+ };
82
+ yield* reportRuntimeError(cause, extra);
83
+ })));
84
+ const theHandler = flow(handler,
85
+ // all must be within the Effect.fn to fit within the Span
86
+ Effect.provideService(CommandContext, context), (_) => Effect.annotateCurrentSpan({ action }).pipe(Effect.zipRight(_)), errorReporter);
87
+ const [result, mut] = asResult(theHandler);
88
+ return computed(() => Object.assign((...args) => {
89
+ const limit = Error.stackTraceLimit;
90
+ Error.stackTraceLimit = 2;
91
+ const errorCall = new Error();
92
+ Error.stackTraceLimit = limit;
93
+ let cache = false;
94
+ const captureStackTrace = () => {
95
+ if (cache !== false) {
96
+ return cache;
97
+ }
98
+ if (errorCall.stack) {
99
+ const stackDef = errorDef.stack.trim().split("\n");
100
+ const stackCall = errorCall.stack.trim().split("\n");
101
+ let endStackDef = stackDef.slice(2).join("\n").trim();
102
+ if (!endStackDef.includes(`(`)) {
103
+ endStackDef = endStackDef.replace(/at (.*)/, "at ($1)");
104
+ }
105
+ let endStackCall = stackCall.slice(2).join("\n").trim();
106
+ if (!endStackCall.includes(`(`)) {
107
+ endStackCall = endStackCall.replace(/at (.*)/, "at ($1)");
108
+ }
109
+ cache = `${endStackDef}\n${endStackCall}`;
110
+ return cache;
111
+ }
112
+ };
113
+ return Runtime.runFork(runtime)(Effect.withSpan(mut(...args), actionName, { captureStackTrace }));
114
+ }, /* make sure always create a new one, or the state won't properly propagate */ {
115
+ action,
116
+ result: result.value,
117
+ waiting: result.value.waiting
118
+ }));
119
+ };
120
+ return {
121
+ /** Version of confirmOrInterrupt that automatically includes the action name in the default messages */
122
+ confirmOrInterrupt: Effect.fnUntraced(function* (message = undefined) {
123
+ const context = yield* CommandContext;
124
+ yield* confirmOrInterrupt(message
125
+ ?? intl.formatMessage({ id: "handle.confirmation" }, { action: context.action }));
126
+ }),
127
+ /** Version of withDefaultToast that automatically includes the action name in the default messages and uses intl */
128
+ withDefaultToast: (errorRenderer) => (self) => Effect.gen(function* () {
129
+ const { action } = yield* CommandContext;
130
+ const defaultWarnMessage = intl.formatMessage({ id: "handle.with_warnings" }, { action });
131
+ const defaultErrorMessage = intl.formatMessage({ id: "handle.with_errors" }, { action });
132
+ function renderError(e) {
133
+ if (errorRenderer) {
134
+ const m = errorRenderer(e);
135
+ if (m) {
136
+ return m;
137
+ }
138
+ }
139
+ if (!S.is(SupportedErrors)(e) && !S.ParseResult.isParseError(e)) {
140
+ if (typeof e === "object" && e !== null) {
141
+ if ("message" in e) {
142
+ return `${e.message}`;
143
+ }
144
+ if ("_tag" in e) {
145
+ return `${e._tag}`;
146
+ }
147
+ }
148
+ return "";
149
+ }
150
+ const e2 = e;
151
+ return Match.value(e2).pipe(Match.tags({
152
+ ParseError: (e) => {
153
+ console.warn(e.toString());
154
+ return intl.formatMessage({ id: "validation.failed" });
155
+ }
156
+ }), Match.orElse((e) => `${e.message ?? e._tag ?? e}`));
157
+ }
158
+ return yield* self.pipe(withToast({
159
+ onWaiting: intl.formatMessage({ id: "handle.waiting" }, { action }),
160
+ onSuccess: (a) => intl.formatMessage({ id: "handle.success" }, { action })
161
+ + (S.is(OperationSuccess)(a) && a.message ? "\n" + a.message : ""),
162
+ onFailure: Option.match({
163
+ onNone: () => intl.formatMessage({ id: "handle.unexpected_error2" }, {
164
+ action,
165
+ error: "" // TODO consider again Cause.pretty(cause), // will be reported to Sentry/Otel anyway.. and we shouldn't bother users with error dumps?
166
+ }),
167
+ onSome: (e) => S.is(OperationFailure)(e)
168
+ ? {
169
+ level: "warn",
170
+ message: defaultWarnMessage + e.message ? "\n" + e.message : ""
171
+ }
172
+ : `${defaultErrorMessage}:\n` + renderError(e)
173
+ })
174
+ }));
175
+ }),
176
+ /**
177
+ * Define a Command
178
+ * @param actionName The internal name of the action. will be used as Span. will be used to lookup user facing name via intl. `action.${actionName}`
179
+ * @returns A function that can be called to execute the mutation, like directly in a `@click` handler. Error reporting is built-in.
180
+ * the Effects **only** have access to the `CommandContext` service, which contains the user-facing action name.
181
+ * The function also has the following properties:
182
+ * - action: The user-facing name of the action, as defined in the intl messages. Can be used e.g as Button label.
183
+ * - result: The Result of the mutation
184
+ * - waiting: Whether the mutation is currently in progress. (shorthand for .result.waiting). Can be used e.g as Button loading/disabled state.
185
+ * Reporting status to the user is recommended to use the `withDefaultToast` helper, or render the .result inline
186
+ */
187
+ fn: (runtime) => {
188
+ const make = makeCommand(runtime);
189
+ return (actionName) =>
190
+ // TODO constrain/type combinators
191
+ (fn,
192
+ // TODO: combinators can freely take A, E, R and change it to whatever they want, as long as the end result Requires not more than CommandContext | R
193
+ ...combinators) => {
194
+ const limit = Error.stackTraceLimit;
195
+ Error.stackTraceLimit = 2;
196
+ const errorDef = new Error();
197
+ Error.stackTraceLimit = limit;
198
+ return make(actionName, errorDef)(Effect.fnUntraced(fn, ...combinators));
199
+ };
200
+ },
201
+ alt: makeCommand
202
+ };
203
+ })
204
+ }) {
205
+ }
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cGVyaW1lbnRhbC9jb21tYW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFFN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFhLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBSTFFLE9BQU8sRUFBRSxRQUFRLEVBQW9CLE1BQU0sS0FBSyxDQUFBO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3pCLEVBQUUsRUFBRTtRQUNGLHFCQUFxQixFQUFFLHNCQUFzQjtRQUM3QyxnQkFBZ0IsRUFBRSw2QkFBNkI7UUFDL0MsZ0JBQWdCLEVBQUUsc0JBQXNCO1FBQ3hDLG9CQUFvQixFQUFFLHlCQUF5QjtRQUMvQyxzQkFBc0IsRUFBRSxxQ0FBcUM7UUFDN0QsdUJBQXVCLEVBQ3JCLGlIQUFpSDtRQUNuSCx1QkFBdUIsRUFBRSx1REFBdUQ7UUFDaEYsc0JBQXNCLEVBQUUsb0RBQW9EO1FBQzVFLDBCQUEwQixFQUFFLG1FQUFtRTtLQUNoRztJQUNELEVBQUUs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
@@ -0,0 +1,12 @@
1
+ import { Effect } from "effect-app";
2
+ import { IntlSvc } from "./intl.js";
3
+ declare const ConfirmSvc_base: Effect.Service.Class<ConfirmSvc, "ConfirmSvc", {
4
+ readonly effect: Effect.Effect<{
5
+ confirm: (message?: string) => Effect.Effect<boolean, never, never>;
6
+ confirmOrInterrupt: (message?: string) => Effect.Effect<void, never, never>;
7
+ }, never, IntlSvc>;
8
+ }>;
9
+ export declare class ConfirmSvc extends ConfirmSvc_base {
10
+ }
11
+ export {};
12
+ //# sourceMappingURL=confirm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm.d.ts","sourceRoot":"","sources":["../../src/experimental/confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;;;;;;;AAGnC,qBAAa,UAAW,SAAQ,eAe9B;CAAG"}
@@ -0,0 +1,14 @@
1
+ import { Effect } from "effect-app";
2
+ import { IntlSvc } from "./intl.js";
3
+ // @effect-diagnostics-next-line missingEffectServiceDependency:off
4
+ export class ConfirmSvc extends Effect.Service()("ConfirmSvc", {
5
+ effect: Effect.gen(function* () {
6
+ const { intl } = yield* IntlSvc;
7
+ const getDefaultMessage = () => intl.formatMessage({ id: "confirm.default", defaultMessage: "Sind sie Sicher?" });
8
+ const confirm = (message = getDefaultMessage()) => Effect.sync(() => window.confirm(message));
9
+ const confirmOrInterrupt = (message = getDefaultMessage()) => confirm(message).pipe(Effect.flatMap((result) => (result ? Effect.void : Effect.interrupt)));
10
+ return { confirm, confirmOrInterrupt };
11
+ })
12
+ }) {
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBlcmltZW50YWwvY29uZmlybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ25DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkMsbUVBQW1FO0FBQ25FLE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTSxDQUFDLE9BQU8sRUFBYyxDQUFDLFlBQVksRUFBRTtJQUN6RSxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDMUIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQTtRQUUvQixNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQTtRQUVqSCxNQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUU3RixNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBTyxHQUFHLGlCQUFpQixFQUFFLEVBQUUsRUFBRSxDQUMzRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNuQixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ3RFLENBQUE7UUFFSCxPQUFPLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUE7SUFDeEMsQ0FBQyxDQUFDO0NBQ0gsQ0FBQztDQUFHIn0=
@@ -0,0 +1,32 @@
1
+ import { Context } from "effect-app";
2
+ declare const IntlSvc_base: (abstract new (service: {
3
+ locale: import("vue").Ref<string, string>;
4
+ trans: (id: string, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>) => string;
5
+ readonly intl: import("../makeIntl.js").IntlShape<Locale>;
6
+ }) => Readonly<{
7
+ locale: import("vue").Ref<string, string>;
8
+ trans: (id: string, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>) => string;
9
+ readonly intl: import("../makeIntl.js").IntlShape<Locale>;
10
+ }> & Context.TagClassShape<"IntlSvc", {
11
+ locale: import("vue").Ref<string, string>;
12
+ trans: (id: string, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>) => string;
13
+ readonly intl: import("../makeIntl.js").IntlShape<Locale>;
14
+ }>) & {
15
+ toLayer: <E, R>(eff: import("effect/Effect").Effect<Omit<IntlSvc, keyof Context.TagClassShape<any, any>>, E, R>) => import("effect/Layer").Layer<IntlSvc, E, R>;
16
+ toLayerScoped: <E, R_1>(eff: import("effect/Effect").Effect<Omit<IntlSvc, keyof Context.TagClassShape<any, any>>, E, R_1>) => import("effect/Layer").Layer<IntlSvc, E, Exclude<R_1, import("effect/Scope").Scope>>;
17
+ of: (service: Omit<IntlSvc, keyof Context.TagClassShape<any, any>>) => IntlSvc;
18
+ } & Context.Tag<IntlSvc, IntlSvc> & {
19
+ locale: import("effect/Effect").Effect<import("vue").Ref<string, string>, never, IntlSvc>;
20
+ trans: (id: string, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>> | undefined) => import("effect/Effect").Effect<string, never, IntlSvc>;
21
+ readonly intl: import("../makeIntl.js").IntlShape<Locale>;
22
+ } & {
23
+ use: <X>(body: (_: {
24
+ locale: import("vue").Ref<string, string>;
25
+ trans: (id: string, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>) => string;
26
+ readonly intl: import("../makeIntl.js").IntlShape<Locale>;
27
+ }) => X) => X extends import("effect/Effect").Effect<infer A, infer E, infer R_2> ? import("effect/Effect").Effect<A, E, IntlSvc | R_2> : import("effect/Effect").Effect<X, never, IntlSvc>;
28
+ };
29
+ export declare class IntlSvc extends IntlSvc_base {
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=intl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intl.d.ts","sourceRoot":"","sources":["../../src/experimental/intl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGpC,qBAAa,OAAQ,SAAQ,YAAkF;CAC9G"}
@@ -0,0 +1,4 @@
1
+ import { Context } from "effect-app";
2
+ export class IntlSvc extends Context.TagId("IntlSvc")() {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50bC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBlcmltZW50YWwvaW50bC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3BDLE1BQU0sT0FBTyxPQUFRLFNBQVEsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBMEQ7Q0FDOUcifQ==
@@ -1,28 +1,61 @@
1
- import { type Runtime } from "effect-app";
2
- import { type MakeIntlReturn } from "../makeIntl.js";
3
- import { type UseToast } from "./useWithToast.js";
4
- export declare const makeExperimental: <Locale extends string, R>(_useIntl: MakeIntlReturn<Locale>["useIntl"], _useToast: UseToast, runtime: Runtime.Runtime<R>) => {
5
- useConfirm: () => {
6
- confirm: (message?: string) => import("effect/Effect").Effect<boolean, never, never>;
7
- confirmOrInterrupt: (message?: string) => import("effect/Effect").Effect<void, never, never>;
1
+ import { Effect } from "effect-app";
2
+ import { Commander } from "./commander.js";
3
+ export declare const makeExperimental: <R = never>() => Effect.Effect<{
4
+ alt: (actionName: string) => <Args extends ReadonlyArray<any>, A, E, R_1 extends import("./commander.js").CommandContext | R>(handler: (...args: Args) => Effect.Effect<A, E, R_1>) => import("vue").ComputedRef<((...a: Args) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<A, E>, never>) & import("./commander.js").CommandProps<A, E>>;
5
+ fn: (actionName: string) => {
6
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, import("./commander.js").CommandContext | R>>, AEff, Args extends Array<any>>(body: (...args: Args) => Generator<Eff, AEff, never>): import("vue").ComputedRef<((...a: Args) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<AEff, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never>, never>) & {
7
+ action: string;
8
+ result: import("@effect-atom/atom/Result").Result<AEff, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never>;
9
+ waiting: boolean;
10
+ }>;
11
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_1, Args_1 extends Array<any>, A_1 extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_1) => Generator<Eff, AEff_1, never>, a: (_: Effect.Effect<AEff_1, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_1>) => A_1): import("vue").ComputedRef<((...a: Args_1) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<A_1>, Effect.Effect.Error<A_1>>, never>) & {
12
+ action: string;
13
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<A_1>, Effect.Effect.Error<A_1>>;
14
+ waiting: boolean;
15
+ }>;
16
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_2, Args_2 extends Array<any>, A_2, B extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_2) => Generator<Eff, AEff_2, never>, a: (_: Effect.Effect<AEff_2, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_2>) => A_2, b: (_: A_2, ...args: import("effect/Types").NoInfer<Args_2>) => B): import("vue").ComputedRef<((...a: Args_2) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<B>, Effect.Effect.Error<B>>, never>) & {
17
+ action: string;
18
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<B>, Effect.Effect.Error<B>>;
19
+ waiting: boolean;
20
+ }>;
21
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_3, Args_3 extends Array<any>, A_3, B_1, C extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_3) => Generator<Eff, AEff_3, never>, a: (_: Effect.Effect<AEff_3, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_3>) => A_3, b: (_: A_3, ...args: import("effect/Types").NoInfer<Args_3>) => B_1, c: (_: B_1, ...args: import("effect/Types").NoInfer<Args_3>) => C): import("vue").ComputedRef<((...a: Args_3) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<C>, Effect.Effect.Error<C>>, never>) & {
22
+ action: string;
23
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<C>, Effect.Effect.Error<C>>;
24
+ waiting: boolean;
25
+ }>;
26
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_4, Args_4 extends Array<any>, A_4, B_2, C_1, D extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_4) => Generator<Eff, AEff_4, never>, a: (_: Effect.Effect<AEff_4, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_4>) => A_4, b: (_: A_4, ...args: import("effect/Types").NoInfer<Args_4>) => B_2, c: (_: B_2, ...args: import("effect/Types").NoInfer<Args_4>) => C_1, d: (_: C_1, ...args: import("effect/Types").NoInfer<Args_4>) => D): import("vue").ComputedRef<((...a: Args_4) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<D>, Effect.Effect.Error<D>>, never>) & {
27
+ action: string;
28
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<D>, Effect.Effect.Error<D>>;
29
+ waiting: boolean;
30
+ }>;
31
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_5, Args_5 extends Array<any>, A_5, B_3, C_2, D_1, E_1 extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_5) => Generator<Eff, AEff_5, never>, a: (_: Effect.Effect<AEff_5, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_2, infer _R>>] ? E_2 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_5>) => A_5, b: (_: A_5, ...args: import("effect/Types").NoInfer<Args_5>) => B_3, c: (_: B_3, ...args: import("effect/Types").NoInfer<Args_5>) => C_2, d: (_: C_2, ...args: import("effect/Types").NoInfer<Args_5>) => D_1, e: (_: D_1, ...args: import("effect/Types").NoInfer<Args_5>) => E_1): import("vue").ComputedRef<((...a: Args_5) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<E_1>, Effect.Effect.Error<E_1>>, never>) & {
32
+ action: string;
33
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<E_1>, Effect.Effect.Error<E_1>>;
34
+ waiting: boolean;
35
+ }>;
36
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_6, Args_6 extends Array<any>, A_6, B_4, C_3, D_2, E_2, F extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_6) => Generator<Eff, AEff_6, never>, a: (_: Effect.Effect<AEff_6, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_3, infer _R>>] ? E_3 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_6>) => A_6, b: (_: A_6, ...args: import("effect/Types").NoInfer<Args_6>) => B_4, c: (_: B_4, ...args: import("effect/Types").NoInfer<Args_6>) => C_3, d: (_: C_3, ...args: import("effect/Types").NoInfer<Args_6>) => D_2, e: (_: D_2, ...args: import("effect/Types").NoInfer<Args_6>) => E_2, f: (_: E_2, ...args: import("effect/Types").NoInfer<Args_6>) => F): import("vue").ComputedRef<((...a: Args_6) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<F>, Effect.Effect.Error<F>>, never>) & {
37
+ action: string;
38
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<F>, Effect.Effect.Error<F>>;
39
+ waiting: boolean;
40
+ }>;
41
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_7, Args_7 extends Array<any>, A_7, B_5, C_4, D_3, E_3, F_1, G extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_7) => Generator<Eff, AEff_7, never>, a: (_: Effect.Effect<AEff_7, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_4, infer _R>>] ? E_4 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_7>) => A_7, b: (_: A_7, ...args: import("effect/Types").NoInfer<Args_7>) => B_5, c: (_: B_5, ...args: import("effect/Types").NoInfer<Args_7>) => C_4, d: (_: C_4, ...args: import("effect/Types").NoInfer<Args_7>) => D_3, e: (_: D_3, ...args: import("effect/Types").NoInfer<Args_7>) => E_3, f: (_: E_3, ...args: import("effect/Types").NoInfer<Args_7>) => F_1, g: (_: F_1, ...args: import("effect/Types").NoInfer<Args_7>) => G): import("vue").ComputedRef<((...a: Args_7) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<G>, Effect.Effect.Error<G>>, never>) & {
42
+ action: string;
43
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<G>, Effect.Effect.Error<G>>;
44
+ waiting: boolean;
45
+ }>;
46
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_8, Args_8 extends Array<any>, A_8, B_6, C_5, D_4, E_4, F_2, G_1, H extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_8) => Generator<Eff, AEff_8, never>, a: (_: Effect.Effect<AEff_8, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_5, infer _R>>] ? E_5 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_8>) => A_8, b: (_: A_8, ...args: import("effect/Types").NoInfer<Args_8>) => B_6, c: (_: B_6, ...args: import("effect/Types").NoInfer<Args_8>) => C_5, d: (_: C_5, ...args: import("effect/Types").NoInfer<Args_8>) => D_4, e: (_: D_4, ...args: import("effect/Types").NoInfer<Args_8>) => E_4, f: (_: E_4, ...args: import("effect/Types").NoInfer<Args_8>) => F_2, g: (_: F_2, ...args: import("effect/Types").NoInfer<Args_8>) => G_1, h: (_: G_1, ...args: import("effect/Types").NoInfer<Args_8>) => H): import("vue").ComputedRef<((...a: Args_8) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<H>, Effect.Effect.Error<H>>, never>) & {
47
+ action: string;
48
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<H>, Effect.Effect.Error<H>>;
49
+ waiting: boolean;
50
+ }>;
51
+ <Eff extends import("effect/Utils").YieldWrap<Effect.Effect<any, any, any>>, AEff_9, Args_9 extends Array<any>, A_9, B_7, C_6, D_5, E_5, F_3, G_2, H_1, I extends Effect.Effect<any, any, import("./commander.js").CommandContext | R>>(body: (...args: Args_9) => Generator<Eff, AEff_9, never>, a: (_: Effect.Effect<AEff_9, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A, infer E_6, infer _R>>] ? E_6 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<Effect.Effect<infer _A_1, infer _E, infer R_2>>] ? R_2 : never>, ...args: import("effect/Types").NoInfer<Args_9>) => A_9, b: (_: A_9, ...args: import("effect/Types").NoInfer<Args_9>) => B_7, c: (_: B_7, ...args: import("effect/Types").NoInfer<Args_9>) => C_6, d: (_: C_6, ...args: import("effect/Types").NoInfer<Args_9>) => D_5, e: (_: D_5, ...args: import("effect/Types").NoInfer<Args_9>) => E_5, f: (_: E_5, ...args: import("effect/Types").NoInfer<Args_9>) => F_3, g: (_: F_3, ...args: import("effect/Types").NoInfer<Args_9>) => G_2, h: (_: G_2, ...args: import("effect/Types").NoInfer<Args_9>) => H_1, i: (_: H_1, ...args: import("effect/Types").NoInfer<Args_9>) => I): import("vue").ComputedRef<((...a: Args_9) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<Effect.Effect.Success<I>, Effect.Effect.Error<I>>, never>) & {
52
+ action: string;
53
+ result: import("@effect-atom/atom/Result").Result<Effect.Effect.Success<I>, Effect.Effect.Error<I>>;
54
+ waiting: boolean;
55
+ }>;
8
56
  };
9
- useCommand: () => {
10
- confirmOrInterrupt: (message?: string | undefined) => import("effect/Effect").Effect<void, never, import("./useCommand.js").CommandContext>;
11
- withDefaultToast: <A, E>(errorRenderer?: ((e: E) => string | undefined) | undefined) => (self: import("effect/Effect").Effect<A, E, import("./useCommand.js").CommandContext>) => import("effect/Effect").Effect<A, E, import("./useCommand.js").CommandContext>;
12
- fn: (actionName: string) => {
13
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>, AEff, Args extends Array<any>>(body: (...args: Args) => Generator<Eff, AEff, never>): import("vue").ComputedRef<((...a: Args) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<AEff, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never>, never>) & import("./useCommand.js").CommandProps<AEff, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never>>;
14
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_1, Args_1 extends Array<any>, A extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_1) => Generator<Eff, AEff_1, never>, a: (_: import("effect/Effect").Effect<AEff_1, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A): import("vue").ComputedRef<((...a: Args_1) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<A>, import("effect/Effect").Effect.Error<A>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<A>, import("effect/Effect").Effect.Error<A>>>;
15
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_2, Args_2 extends Array<any>, A_1, B extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_2) => Generator<Eff, AEff_2, never>, a: (_: import("effect/Effect").Effect<AEff_2, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A_1, b: (_: A_1) => B): import("vue").ComputedRef<((...a: Args_2) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<B>, import("effect/Effect").Effect.Error<B>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<B>, import("effect/Effect").Effect.Error<B>>>;
16
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_3, Args_3 extends Array<any>, A_2, B_1, C extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_3) => Generator<Eff, AEff_3, never>, a: (_: import("effect/Effect").Effect<AEff_3, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A_2, b: (_: A_2) => B_1, c: (_: B_1) => C): import("vue").ComputedRef<((...a: Args_3) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<C>, import("effect/Effect").Effect.Error<C>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<C>, import("effect/Effect").Effect.Error<C>>>;
17
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_4, Args_4 extends Array<any>, A_3, B_2, C_1, D extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_4) => Generator<Eff, AEff_4, never>, a: (_: import("effect/Effect").Effect<AEff_4, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A_3, b: (_: A_3) => B_2, c: (_: B_2) => C_1, d: (_: C_1) => D): import("vue").ComputedRef<((...a: Args_4) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<D>, import("effect/Effect").Effect.Error<D>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<D>, import("effect/Effect").Effect.Error<D>>>;
18
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_5, Args_5 extends Array<any>, A_4, B_3, C_2, D_1, E_1 extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_5) => Generator<Eff, AEff_5, never>, a: (_: import("effect/Effect").Effect<AEff_5, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_2, infer _R>>] ? E_2 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A_4, b: (_: A_4) => B_3, c: (_: B_3) => C_2, d: (_: C_2) => D_1, e: (_: D_1) => E_1): import("vue").ComputedRef<((...a: Args_5) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<E_1>, import("effect/Effect").Effect.Error<E_1>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<E_1>, import("effect/Effect").Effect.Error<E_1>>>;
19
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_6, Args_6 extends Array<any>, A_5, B_4, C_3, D_2, E_2, F extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_6) => Generator<Eff, AEff_6, never>, a: (_: import("effect/Effect").Effect<AEff_6, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_3, infer _R>>] ? E_3 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A_5, b: (_: A_5) => B_4, c: (_: B_4) => C_3, d: (_: C_3) => D_2, e: (_: D_2) => E_2, f: (_: E_2) => F): import("vue").ComputedRef<((...a: Args_6) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<F>, import("effect/Effect").Effect.Error<F>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<F>, import("effect/Effect").Effect.Error<F>>>;
20
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_7, Args_7 extends Array<any>, A_6, B_5, C_4, D_3, E_3, F_1, G extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_7) => Generator<Eff, AEff_7, never>, a: (_: import("effect/Effect").Effect<AEff_7, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_4, infer _R>>] ? E_4 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A_6, b: (_: A_6) => B_5, c: (_: B_5) => C_4, d: (_: C_4) => D_3, e: (_: D_3) => E_3, f: (_: E_3) => F_1, g: (_: F_1) => G): import("vue").ComputedRef<((...a: Args_7) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<G>, import("effect/Effect").Effect.Error<G>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<G>, import("effect/Effect").Effect.Error<G>>>;
21
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_8, Args_8 extends Array<any>, A_7, B_6, C_5, D_4, E_4, F_2, G_1, H extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_8) => Generator<Eff, AEff_8, never>, a: (_: import("effect/Effect").Effect<AEff_8, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_5, infer _R>>] ? E_5 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A_7, b: (_: A_7) => B_6, c: (_: B_6) => C_5, d: (_: C_5) => D_4, e: (_: D_4) => E_4, f: (_: E_4) => F_2, g: (_: F_2) => G_1, h: (_: G_1) => H): import("vue").ComputedRef<((...a: Args_8) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<H>, import("effect/Effect").Effect.Error<H>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<H>, import("effect/Effect").Effect.Error<H>>>;
22
- <Eff extends import("effect/Utils").YieldWrap<import("effect/Effect").Effect<any, any, any>>, AEff_9, Args_9 extends Array<any>, A_8, B_7, C_6, D_5, E_5, F_3, G_2, H_1, I extends import("effect/Effect").Effect<any, any, import("./useCommand.js").CommandContext | R>>(body: (...args: Args_9) => Generator<Eff, AEff_9, never>, a: (_: import("effect/Effect").Effect<AEff_9, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A, infer E_6, infer _R>>] ? E_6 : never, [Eff] extends [never] ? never : [Eff] extends [import("effect/Utils").YieldWrap<import("effect/Effect").Effect<infer _A_1, infer _E, infer R_1>>] ? R_1 : never>) => A_8, b: (_: A_8) => B_7, c: (_: B_7) => C_6, d: (_: C_6) => D_5, e: (_: D_5) => E_5, f: (_: E_5) => F_3, g: (_: F_3) => G_2, h: (_: G_2) => H_1, i: (_: H_1) => I): import("vue").ComputedRef<((...a: Args_9) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<import("effect/Effect").Effect.Success<I>, import("effect/Effect").Effect.Error<I>>, never>) & import("./useCommand.js").CommandProps<import("effect/Effect").Effect.Success<I>, import("effect/Effect").Effect.Error<I>>>;
23
- };
24
- alt: (actionName: string) => <Args_10 extends ReadonlyArray<any>, A_9, E_6, R_1 extends import("./useCommand.js").CommandContext | R>(handler: (...args: Args_10) => import("effect/Effect").Effect<A_9, E_6, R_1>) => import("vue").ComputedRef<((...a: Args_10) => import("effect/Fiber").RuntimeFiber<import("effect/Exit").Exit<A_9, E_6>, never>) & import("./useCommand.js").CommandProps<A_9, E_6>>;
25
- };
26
- useWithToast: () => <A_10, E_7, Args_10 extends ReadonlyArray<unknown>, R_2>(options: import("./useWithToast.js").ToastOptions<A_10, E_7, Args_10>) => (self: import("effect/Effect").Effect<A_10, E_7, R_2>, ...args: Args_10) => import("effect/Effect").Effect<A_10, E_7, R_2>;
27
- };
57
+ confirmOrInterrupt: (message?: string | undefined) => Effect.Effect<void, never, import("./commander.js").CommandContext>;
58
+ withDefaultToast: <A_10, E_6>(errorRenderer?: ((e: E_6) => string | undefined) | undefined) => (self: Effect.Effect<A_10, E_6, import("./commander.js").CommandContext>) => Effect.Effect<A_10, E_6, import("./commander.js").CommandContext>;
59
+ _tag: "Commander";
60
+ }, never, Commander | R>;
28
61
  //# sourceMappingURL=makeExperimental.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeExperimental.d.ts","sourceRoot":"","sources":["../../src/experimental/makeExperimental.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGpD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEnE,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,MAAM,EAAE,CAAC,EAEvD,UAAU,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAC3C,WAAW,QAAQ,EACnB,SAAS,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;;;iGAiBgre,oFAAgD;;;;;;;;;;;;;;;yBAAtqe,IAAC,EAAC,GAAE,EAAC,sCAAoC,EAAC,GAAE,EAAE,qEAAsC;CAD1K,CAAA"}
1
+ {"version":3,"file":"makeExperimental.d.ts","sourceRoot":"","sources":["../../src/experimental/makeExperimental.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,eAAO,MAAM,gBAAgB,GAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAK3D,CAAA"}