@effect-app/vue 2.51.17 → 2.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/experimental/makeExperimental.d.ts +67 -0
- package/dist/experimental/makeExperimental.d.ts.map +1 -0
- package/dist/experimental/makeExperimental.js +16 -0
- package/dist/experimental/useCommand.d.ts +108 -0
- package/dist/experimental/useCommand.d.ts.map +1 -0
- package/dist/experimental/useCommand.js +162 -0
- package/dist/experimental/useConfirm.d.ts +7 -0
- package/dist/experimental/useConfirm.d.ts.map +1 -0
- package/dist/experimental/useConfirm.js +9 -0
- package/dist/experimental/useWithToast.d.ts +23 -0
- package/dist/experimental/useWithToast.d.ts.map +1 -0
- package/dist/experimental/useWithToast.js +31 -0
- package/dist/form.d.ts +1 -1
- package/dist/form.d.ts.map +1 -1
- package/dist/mutate.d.ts +2 -2
- package/dist/mutate.d.ts.map +1 -1
- package/package.json +22 -3
- package/src/experimental/makeExperimental.ts +27 -0
- package/src/experimental/useCommand.ts +513 -0
- package/src/experimental/useConfirm.ts +17 -0
- package/src/experimental/useWithToast.ts +65 -0
- package/src/mutate.ts +2 -2
- package/test/Mutation.test.ts +296 -0
- package/test/dist/Mutation.test.d.ts.map +1 -0
- package/test/dist/stubs.d.ts +68 -0
- package/test/dist/stubs.d.ts.map +1 -0
- package/test/dist/stubs.js +60 -0
- package/test/stubs.ts +75 -0
- package/tsconfig.src.json +2 -1
- package/vitest.config.ts +15 -2
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,67 @@
|
|
|
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>;
|
|
8
|
+
};
|
|
9
|
+
useCommand: () => {
|
|
10
|
+
confirmOrInterrupt: (message?: string | undefined) => import("effect/Effect").Effect<void, never, import("./useCommand.js").CommandContext>;
|
|
11
|
+
withDefaultToast: <A, E>(self: import("effect/Effect").Effect<A, E, import("./useCommand.js").CommandContext>, errorRenderer?: ((e: E) => string | undefined) | undefined) => 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>) & {
|
|
14
|
+
action: string;
|
|
15
|
+
result: import("@effect-atom/atom/Result").Result<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>;
|
|
16
|
+
waiting: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
<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>) & {
|
|
19
|
+
action: string;
|
|
20
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<A>, import("effect/Effect").Effect.Error<A>>;
|
|
21
|
+
waiting: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
<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>) & {
|
|
24
|
+
action: string;
|
|
25
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<B>, import("effect/Effect").Effect.Error<B>>;
|
|
26
|
+
waiting: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
<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>) & {
|
|
29
|
+
action: string;
|
|
30
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<C>, import("effect/Effect").Effect.Error<C>>;
|
|
31
|
+
waiting: boolean;
|
|
32
|
+
}>;
|
|
33
|
+
<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>) & {
|
|
34
|
+
action: string;
|
|
35
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<D>, import("effect/Effect").Effect.Error<D>>;
|
|
36
|
+
waiting: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
<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>) & {
|
|
39
|
+
action: string;
|
|
40
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<E_1>, import("effect/Effect").Effect.Error<E_1>>;
|
|
41
|
+
waiting: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
<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>) & {
|
|
44
|
+
action: string;
|
|
45
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<F>, import("effect/Effect").Effect.Error<F>>;
|
|
46
|
+
waiting: boolean;
|
|
47
|
+
}>;
|
|
48
|
+
<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>) & {
|
|
49
|
+
action: string;
|
|
50
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<G>, import("effect/Effect").Effect.Error<G>>;
|
|
51
|
+
waiting: boolean;
|
|
52
|
+
}>;
|
|
53
|
+
<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>) & {
|
|
54
|
+
action: string;
|
|
55
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<H>, import("effect/Effect").Effect.Error<H>>;
|
|
56
|
+
waiting: boolean;
|
|
57
|
+
}>;
|
|
58
|
+
<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>) & {
|
|
59
|
+
action: string;
|
|
60
|
+
result: import("@effect-atom/atom/Result").Result<import("effect/Effect").Effect.Success<I>, import("effect/Effect").Effect.Error<I>>;
|
|
61
|
+
waiting: boolean;
|
|
62
|
+
}>;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
useWithToast: () => <A_9, E_6, Args_10 extends ReadonlyArray<unknown>, R_1>(options: import("./useWithToast.js").ToastOptions<A_9, E_6, Args_10>) => (self: import("effect/Effect").Effect<A_9, E_6, R_1>, ...args: Args_10) => import("effect/Effect").Effect<A_9, E_6, R_1>;
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=makeExperimental.d.ts.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiB0D,GAAC,EAAC,GAAE,EAAC,sCAAoC,EAAC,GAAE,EAAE,oEAAsC;CAD1K,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { makeUseCommand } from "./useCommand.js";
|
|
2
|
+
import { makeUseConfirm } from "./useConfirm.js";
|
|
3
|
+
import { makeUseWithToast } from "./useWithToast.js";
|
|
4
|
+
export const makeExperimental = (
|
|
5
|
+
// NOTE: underscores to not collide with auto exports in nuxt apps
|
|
6
|
+
_useIntl, _useToast, runtime) => {
|
|
7
|
+
const _useConfirm = makeUseConfirm(_useIntl);
|
|
8
|
+
const _useWithToast = makeUseWithToast(_useToast);
|
|
9
|
+
const _useCommand = makeUseCommand(_useIntl, _useConfirm, _useWithToast, runtime);
|
|
10
|
+
return {
|
|
11
|
+
useConfirm: _useConfirm,
|
|
12
|
+
useCommand: _useCommand,
|
|
13
|
+
useWithToast: _useWithToast
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUV4cGVyaW1lbnRhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBlcmltZW50YWwvbWFrZUV4cGVyaW1lbnRhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxtQkFBbUIsQ0FBQTtBQUVuRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztBQUM5QixrRUFBa0U7QUFDbEUsUUFBMkMsRUFDM0MsU0FBbUIsRUFDbkIsT0FBMkIsRUFDM0IsRUFBRTtJQUNGLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1QyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqRCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQ2hDLFFBQVEsRUFDUixXQUFXLEVBQ1gsYUFBYSxFQUNiLE9BQU8sQ0FDUixDQUFBO0lBRUQsT0FBTztRQUNMLFVBQVUsRUFBRSxXQUFXO1FBQ3ZCLFVBQVUsRUFBRSxXQUFXO1FBQ3ZCLFlBQVksRUFBRSxhQUFhO0tBQzVCLENBQUE7QUFDSCxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { type MakeIntlReturn } from "@effect-app/vue";
|
|
2
|
+
import { type Result } from "@effect-atom/atom/Result";
|
|
3
|
+
import { Context, Effect, type Exit, Runtime } from "effect-app";
|
|
4
|
+
import { type RuntimeFiber } from "effect/Fiber";
|
|
5
|
+
import { type YieldWrap } from "effect/Utils";
|
|
6
|
+
import { type ComputedRef } from "vue";
|
|
7
|
+
import { type makeUseConfirm } from "./useConfirm.js";
|
|
8
|
+
import { type makeUseWithToast } from "./useWithToast.js";
|
|
9
|
+
export declare const DefaultIntl: {
|
|
10
|
+
de: {
|
|
11
|
+
"handle.confirmation": string;
|
|
12
|
+
"handle.waiting": string;
|
|
13
|
+
"handle.success": string;
|
|
14
|
+
"handle.with_errors": string;
|
|
15
|
+
"handle.with_warnings": string;
|
|
16
|
+
"handle.error_response": string;
|
|
17
|
+
"handle.response_error": string;
|
|
18
|
+
"handle.request_error": string;
|
|
19
|
+
"handle.unexpected_error2": string;
|
|
20
|
+
};
|
|
21
|
+
en: {
|
|
22
|
+
"handle.confirmation": string;
|
|
23
|
+
"handle.waiting": string;
|
|
24
|
+
"handle.success": string;
|
|
25
|
+
"handle.with_errors": string;
|
|
26
|
+
"handle.with_warnings": string;
|
|
27
|
+
"handle.error_response": string;
|
|
28
|
+
"handle.request_error": string;
|
|
29
|
+
"handle.response_error": string;
|
|
30
|
+
"handle.unexpected_error2": string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
declare const CommandContext_base: Context.TagClass<CommandContext, "CommandContext", {
|
|
34
|
+
action: string;
|
|
35
|
+
}>;
|
|
36
|
+
export declare class CommandContext extends CommandContext_base {
|
|
37
|
+
}
|
|
38
|
+
export declare const makeUseCommand: <Locale extends string, RT>(_useIntl: MakeIntlReturn<Locale>["useIntl"], _useConfirm: ReturnType<typeof makeUseConfirm>, _useWithToast: ReturnType<typeof makeUseWithToast>, runtime: Runtime.Runtime<RT>) => () => {
|
|
39
|
+
/** Version of confirmOrInterrupt that automatically includes the action name in the default messages */
|
|
40
|
+
confirmOrInterrupt: (message?: string | undefined) => Effect.Effect<void, never, CommandContext>;
|
|
41
|
+
/** Version of withDefaultToast that automatically includes the action name in the default messages and uses intl */
|
|
42
|
+
withDefaultToast: <A_9, E>(self: Effect.Effect<A_9, E, CommandContext>, errorRenderer?: (e: E) => string | undefined) => Effect.Effect<A_9, E, CommandContext>;
|
|
43
|
+
/**
|
|
44
|
+
* Define a Command
|
|
45
|
+
* @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}`
|
|
46
|
+
* @returns A function that can be called to execute the mutation, like directly in a `@click` handler. Error reporting is built-in.
|
|
47
|
+
* the Effects **only** have access to the `CommandContext` service, which contains the user-facing action name.
|
|
48
|
+
* The function also has the following properties:
|
|
49
|
+
* - action: The user-facing name of the action, as defined in the intl messages. Can be used e.g as Button label.
|
|
50
|
+
* - result: The Result of the mutation
|
|
51
|
+
* - waiting: Whether the mutation is currently in progress. (shorthand for .result.waiting). Can be used e.g as Button loading/disabled state.
|
|
52
|
+
* Reporting status to the user is recommended to use the `withDefaultToast` helper, or render the .result inline
|
|
53
|
+
*/
|
|
54
|
+
fn: (actionName: string) => {
|
|
55
|
+
<Eff extends YieldWrap<Effect.Effect<any, any, RT | CommandContext>>, 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_1, infer _R>>] ? E_1 : never>, never>) & {
|
|
56
|
+
action: string;
|
|
57
|
+
result: Result<AEff, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E_1, infer _R>>] ? E_1 : never>;
|
|
58
|
+
waiting: boolean;
|
|
59
|
+
}>;
|
|
60
|
+
<Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_1, Args_1 extends Array<any>, A extends Effect.Effect<any, any, RT | CommandContext>>(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_2, infer _R_1>>] ? E_2 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E, infer R>>] ? R : never>) => A): ComputedRef<((...a: Args_1) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<A>, Effect.Effect.Error<A>>, never>) & {
|
|
61
|
+
action: string;
|
|
62
|
+
result: Result<Effect.Effect.Success<A>, Effect.Effect.Error<A>>;
|
|
63
|
+
waiting: boolean;
|
|
64
|
+
}>;
|
|
65
|
+
<Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_2, Args_2 extends Array<any>, A_1, B extends Effect.Effect<any, any, RT | CommandContext>>(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_3, infer _R_2>>] ? E_3 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E_1, infer R_1>>] ? R_1 : never>) => A_1, b: (_: A_1) => B): ComputedRef<((...a: Args_2) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<B>, Effect.Effect.Error<B>>, never>) & {
|
|
66
|
+
action: string;
|
|
67
|
+
result: Result<Effect.Effect.Success<B>, Effect.Effect.Error<B>>;
|
|
68
|
+
waiting: boolean;
|
|
69
|
+
}>;
|
|
70
|
+
<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, RT | CommandContext>>(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_4, infer _R_3>>] ? E_4 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E_2, infer R_2>>] ? R_2 : never>) => A_2, b: (_: A_2) => B_1, c: (_: B_1) => C): ComputedRef<((...a: Args_3) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<C>, Effect.Effect.Error<C>>, never>) & {
|
|
71
|
+
action: string;
|
|
72
|
+
result: Result<Effect.Effect.Success<C>, Effect.Effect.Error<C>>;
|
|
73
|
+
waiting: boolean;
|
|
74
|
+
}>;
|
|
75
|
+
<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, RT | CommandContext>>(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_5, infer _R_4>>] ? E_5 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E_3, infer R_3>>] ? R_3 : never>) => A_3, b: (_: A_3) => B_2, c: (_: B_2) => C_1, d: (_: C_1) => D): ComputedRef<((...a: Args_4) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<D>, Effect.Effect.Error<D>>, never>) & {
|
|
76
|
+
action: string;
|
|
77
|
+
result: Result<Effect.Effect.Success<D>, Effect.Effect.Error<D>>;
|
|
78
|
+
waiting: boolean;
|
|
79
|
+
}>;
|
|
80
|
+
<Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_5, Args_5 extends Array<any>, A_4, B_3, C_2, D_1, E_6 extends Effect.Effect<any, any, RT | CommandContext>>(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_7, infer _R_5>>] ? E_7 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E_4, infer R_4>>] ? R_4 : never>) => A_4, b: (_: A_4) => B_3, c: (_: B_3) => C_2, d: (_: C_2) => D_1, e: (_: D_1) => E_6): ComputedRef<((...a: Args_5) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<E_6>, Effect.Effect.Error<E_6>>, never>) & {
|
|
81
|
+
action: string;
|
|
82
|
+
result: Result<Effect.Effect.Success<E_6>, Effect.Effect.Error<E_6>>;
|
|
83
|
+
waiting: boolean;
|
|
84
|
+
}>;
|
|
85
|
+
<Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_6, Args_6 extends Array<any>, A_5, B_4, C_3, D_2, E_8, F extends Effect.Effect<any, any, RT | CommandContext>>(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_9, infer _R_6>>] ? E_9 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E_5, infer R_5>>] ? R_5 : never>) => A_5, b: (_: A_5) => B_4, c: (_: B_4) => C_3, d: (_: C_3) => D_2, e: (_: D_2) => E_8, f: (_: E_8) => F): ComputedRef<((...a: Args_6) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<F>, Effect.Effect.Error<F>>, never>) & {
|
|
86
|
+
action: string;
|
|
87
|
+
result: Result<Effect.Effect.Success<F>, Effect.Effect.Error<F>>;
|
|
88
|
+
waiting: boolean;
|
|
89
|
+
}>;
|
|
90
|
+
<Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_7, Args_7 extends Array<any>, A_6, B_5, C_4, D_3, E_10, F_1, G extends Effect.Effect<any, any, RT | CommandContext>>(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_11, infer _R_7>>] ? E_11 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E_6, infer R_6>>] ? R_6 : never>) => A_6, b: (_: A_6) => B_5, c: (_: B_5) => C_4, d: (_: C_4) => D_3, e: (_: D_3) => E_10, f: (_: E_10) => F_1, g: (_: F_1) => G): ComputedRef<((...a: Args_7) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<G>, Effect.Effect.Error<G>>, never>) & {
|
|
91
|
+
action: string;
|
|
92
|
+
result: Result<Effect.Effect.Success<G>, Effect.Effect.Error<G>>;
|
|
93
|
+
waiting: boolean;
|
|
94
|
+
}>;
|
|
95
|
+
<Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_8, Args_8 extends Array<any>, A_7, B_6, C_5, D_4, E_12, F_2, G_1, H extends Effect.Effect<any, any, RT | CommandContext>>(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_13, infer _R_8>>] ? E_13 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E_7, infer R_7>>] ? R_7 : never>) => A_7, b: (_: A_7) => B_6, c: (_: B_6) => C_5, d: (_: C_5) => D_4, e: (_: D_4) => E_12, f: (_: E_12) => F_2, g: (_: F_2) => G_1, h: (_: G_1) => H): ComputedRef<((...a: Args_8) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<H>, Effect.Effect.Error<H>>, never>) & {
|
|
96
|
+
action: string;
|
|
97
|
+
result: Result<Effect.Effect.Success<H>, Effect.Effect.Error<H>>;
|
|
98
|
+
waiting: boolean;
|
|
99
|
+
}>;
|
|
100
|
+
<Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff_9, Args_9 extends Array<any>, A_8, B_7, C_6, D_5, E_14, F_3, G_2, H_1, I extends Effect.Effect<any, any, RT | CommandContext>>(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_15, infer _R_9>>] ? E_15 : never, [Eff] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E_8, infer R_8>>] ? R_8 : never>) => A_8, b: (_: A_8) => B_7, c: (_: B_7) => C_6, d: (_: C_6) => D_5, e: (_: D_5) => E_14, f: (_: E_14) => F_3, g: (_: F_3) => G_2, h: (_: G_2) => H_1, i: (_: H_1) => I): ComputedRef<((...a: Args_9) => RuntimeFiber<Exit.Exit<Effect.Effect.Success<I>, Effect.Effect.Error<I>>, never>) & {
|
|
101
|
+
action: string;
|
|
102
|
+
result: Result<Effect.Effect.Success<I>, Effect.Effect.Error<I>>;
|
|
103
|
+
waiting: boolean;
|
|
104
|
+
}>;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
export {};
|
|
108
|
+
//# sourceMappingURL=useCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCommand.d.ts","sourceRoot":"","sources":["../../src/experimental/useCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
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
|
+
export const DefaultIntl = {
|
|
9
|
+
de: {
|
|
10
|
+
"handle.confirmation": "{action} bestätigen?",
|
|
11
|
+
"handle.waiting": "{action} wird ausgeführt...",
|
|
12
|
+
"handle.success": "{action} erfolgreich",
|
|
13
|
+
"handle.with_errors": "{action} fehlgeschlagen",
|
|
14
|
+
"handle.with_warnings": "{action} erfolgreich, mit Warnungen",
|
|
15
|
+
"handle.error_response": "Die Anfrage war nicht erfolgreich:\n{error}\nWir wurden benachrichtigt und werden das Problem in Kürze beheben.",
|
|
16
|
+
"handle.response_error": "Die Antwort konnte nicht verarbeitet werden:\n{error}",
|
|
17
|
+
"handle.request_error": "Die Anfrage konnte nicht gesendet werden:\n{error}",
|
|
18
|
+
"handle.unexpected_error2": "{action} unerwarteter Fehler, probieren sie es in kurze nochmals."
|
|
19
|
+
},
|
|
20
|
+
en: {
|
|
21
|
+
"handle.confirmation": "Confirm {action}?",
|
|
22
|
+
"handle.waiting": "{action} executing...",
|
|
23
|
+
"handle.success": "{action} Success",
|
|
24
|
+
"handle.with_errors": "{action} Failed",
|
|
25
|
+
"handle.with_warnings": "{action}, with warnings",
|
|
26
|
+
"handle.error_response": "There was an error in processing the response:\n{error}\nWe have been notified and will fix the problem shortly.",
|
|
27
|
+
"handle.request_error": "There was an error in the request:\n{error}",
|
|
28
|
+
"handle.response_error": "The request was not successful:\n{error}",
|
|
29
|
+
"handle.unexpected_error2": "{action} unexpected error, please try again shortly."
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export class CommandContext extends Context.Tag("CommandContext")() {
|
|
33
|
+
}
|
|
34
|
+
export const makeUseCommand = (
|
|
35
|
+
// NOTE: underscores to not collide with auto exports in nuxt apps
|
|
36
|
+
_useIntl, _useConfirm, _useWithToast, runtime) => () => {
|
|
37
|
+
const withToast = _useWithToast();
|
|
38
|
+
const { intl } = _useIntl();
|
|
39
|
+
const { confirmOrInterrupt } = _useConfirm();
|
|
40
|
+
const runFork = Runtime.runFork(runtime);
|
|
41
|
+
return {
|
|
42
|
+
/** Version of confirmOrInterrupt that automatically includes the action name in the default messages */
|
|
43
|
+
confirmOrInterrupt: Effect.fnUntraced(function* (message = undefined) {
|
|
44
|
+
const context = yield* CommandContext;
|
|
45
|
+
yield* confirmOrInterrupt(message
|
|
46
|
+
?? intl.value.formatMessage({ id: "handle.confirmation" }, { action: context.action }));
|
|
47
|
+
}),
|
|
48
|
+
/** Version of withDefaultToast that automatically includes the action name in the default messages and uses intl */
|
|
49
|
+
withDefaultToast: (self, errorRenderer // undefined falls back to default?
|
|
50
|
+
) => Effect.gen(function* () {
|
|
51
|
+
const { action } = yield* CommandContext;
|
|
52
|
+
const defaultWarnMessage = intl.value.formatMessage({ id: "handle.with_warnings" }, { action });
|
|
53
|
+
const defaultErrorMessage = intl.value.formatMessage({ id: "handle.with_errors" }, { action });
|
|
54
|
+
function renderError(e) {
|
|
55
|
+
if (errorRenderer) {
|
|
56
|
+
const m = errorRenderer(e);
|
|
57
|
+
if (m) {
|
|
58
|
+
return m;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (!S.is(SupportedErrors)(e) && !S.ParseResult.isParseError(e)) {
|
|
62
|
+
if (typeof e === "object" && e !== null) {
|
|
63
|
+
if ("message" in e) {
|
|
64
|
+
return `${e.message}`;
|
|
65
|
+
}
|
|
66
|
+
if ("_tag" in e) {
|
|
67
|
+
return `${e._tag}`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return "";
|
|
71
|
+
}
|
|
72
|
+
const e2 = e;
|
|
73
|
+
return Match.value(e2).pipe(Match.tags({
|
|
74
|
+
ParseError: (e) => {
|
|
75
|
+
console.warn(e.toString());
|
|
76
|
+
return intl.value.formatMessage({ id: "validation.failed" });
|
|
77
|
+
}
|
|
78
|
+
}), Match.orElse((e) => `${e.message ?? e._tag ?? e}`));
|
|
79
|
+
}
|
|
80
|
+
return yield* self.pipe(withToast({
|
|
81
|
+
onWaiting: intl.value.formatMessage({ id: "handle.waiting" }, { action }),
|
|
82
|
+
onSuccess: (a) => intl.value.formatMessage({ id: "handle.success" }, { action })
|
|
83
|
+
+ (S.is(OperationSuccess)(a) && a.message ? "\n" + a.message : ""),
|
|
84
|
+
onFailure: Option.match({
|
|
85
|
+
onNone: () => intl.value.formatMessage({ id: "handle.unexpected_error2" }, {
|
|
86
|
+
action,
|
|
87
|
+
error: "" // TODO consider again Cause.pretty(cause), // will be reported to Sentry/Otel anyway.. and we shouldn't bother users with error dumps?
|
|
88
|
+
}),
|
|
89
|
+
onSome: (e) => S.is(OperationFailure)(e)
|
|
90
|
+
? {
|
|
91
|
+
level: "warn",
|
|
92
|
+
message: defaultWarnMessage + e.message ? "\n" + e.message : ""
|
|
93
|
+
}
|
|
94
|
+
: `${defaultErrorMessage}:\n` + renderError(e)
|
|
95
|
+
})
|
|
96
|
+
}));
|
|
97
|
+
}),
|
|
98
|
+
/**
|
|
99
|
+
* Define a Command
|
|
100
|
+
* @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}`
|
|
101
|
+
* @returns A function that can be called to execute the mutation, like directly in a `@click` handler. Error reporting is built-in.
|
|
102
|
+
* the Effects **only** have access to the `CommandContext` service, which contains the user-facing action name.
|
|
103
|
+
* The function also has the following properties:
|
|
104
|
+
* - action: The user-facing name of the action, as defined in the intl messages. Can be used e.g as Button label.
|
|
105
|
+
* - result: The Result of the mutation
|
|
106
|
+
* - waiting: Whether the mutation is currently in progress. (shorthand for .result.waiting). Can be used e.g as Button loading/disabled state.
|
|
107
|
+
* Reporting status to the user is recommended to use the `withDefaultToast` helper, or render the .result inline
|
|
108
|
+
*/
|
|
109
|
+
fn: (actionName) =>
|
|
110
|
+
// TODO constrain/type combinators
|
|
111
|
+
(fn,
|
|
112
|
+
// 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
|
|
113
|
+
...combinators) => {
|
|
114
|
+
const action = intl.value.formatMessage({
|
|
115
|
+
id: `action.${actionName}`,
|
|
116
|
+
defaultMessage: actionName
|
|
117
|
+
});
|
|
118
|
+
const context = { action };
|
|
119
|
+
const errorReporter = (self) => self.pipe(Effect.tapErrorCause(Effect.fnUntraced(function* (cause) {
|
|
120
|
+
if (Cause.isInterruptedOnly(cause)) {
|
|
121
|
+
console.info(`Interrupted while trying to ${actionName}`);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const fail = Cause.failureOption(cause);
|
|
125
|
+
if (Option.isSome(fail)) {
|
|
126
|
+
// if (fail.value._tag === "SuppressErrors") {
|
|
127
|
+
// console.info(
|
|
128
|
+
// `Suppressed error trying to ${action}`,
|
|
129
|
+
// fail.value,
|
|
130
|
+
// )
|
|
131
|
+
// return
|
|
132
|
+
// }
|
|
133
|
+
const message = `Failure trying to ${actionName}`;
|
|
134
|
+
yield* reportMessage(message, {
|
|
135
|
+
action: actionName,
|
|
136
|
+
error: fail.value
|
|
137
|
+
});
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const extra = {
|
|
141
|
+
action,
|
|
142
|
+
message: `Unexpected Error trying to ${actionName}`
|
|
143
|
+
};
|
|
144
|
+
yield* reportRuntimeError(cause, extra);
|
|
145
|
+
})));
|
|
146
|
+
// TODO: override span stack set by Effect.fn as it points here instead of to the caller of Command.fn.
|
|
147
|
+
// perhaps copying Effect.fn implementation is better than using it?
|
|
148
|
+
const handler = Effect.fn(actionName)(fn, ...combinators,
|
|
149
|
+
// all must be within the Effect.fn to fit within the Span
|
|
150
|
+
Effect.provideService(CommandContext, context), /* TODO */ ((_) => Effect.annotateCurrentSpan({ action }).pipe(Effect.zipRight(_))), /* TODO */ errorReporter /* TODO */); // (...args: Args) => Effect.Effect<AEff, $WrappedEffectError, R>
|
|
151
|
+
const [result, mut] = asResult(handler);
|
|
152
|
+
return computed(() => Object.assign(flow(mut, runFork
|
|
153
|
+
// (_) => {}
|
|
154
|
+
), /* make sure always create a new one, or the state won't properly propagate */ {
|
|
155
|
+
action,
|
|
156
|
+
result: result.value,
|
|
157
|
+
waiting: result.value.waiting
|
|
158
|
+
}));
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBlcmltZW50YWwvdXNlQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBdUIsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFFN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFhLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBRzFFLE9BQU8sRUFBRSxRQUFRLEVBQW9CLE1BQU0sS0FBSyxDQUFBO0FBSWhELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixFQUFFLEVBQUU7UUFDRixxQkFBcUIsRUFBRSxzQkFBc0I7UUFDN0MsZ0JBQWdCLEVBQUUsNkJBQTZCO1FBQy9DLGdCQUFnQixFQUFFLHNCQUFzQjtRQUN4QyxvQkFBb0IsRUFBRSx5QkFBeUI7UUFDL0Msc0JBQXNCLEVBQUUscUNBQXFDO1FBQzdELHVCQUF1QixFQUNyQixpSEFBaUg7UUFDbkgsdUJBQXVCLEVBQUUsdURBQXVEO1FBQ2hGLHNCQUFzQixFQUFFLG9EQUFvRDtRQUM1RSwwQkFBMEIsRUFBRSxtRUFBbUU7S0FDaEc7SUFDRCxFQUFFLEVBQUU7UUFDRixxQkFBcUIsRUFBRSxtQkFBbUI7UUFDMUMsZ0JBQWdCLEVBQUUsdUJBQXVCO1FBQ3pDLGdCQUFnQixFQUFFLGtCQUFrQjtRQUNwQyxvQkFBb0IsRUFBRSxpQkFBaUI7UUFDdkMsc0JBQXNCLEVBQUUs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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Effect } from "effect-app";
|
|
2
|
+
import { type MakeIntlReturn } from "../makeIntl.js";
|
|
3
|
+
export declare const makeUseConfirm: <Locale extends string>(_useIntl: MakeIntlReturn<Locale>["useIntl"]) => () => {
|
|
4
|
+
confirm: (message?: string) => Effect.Effect<boolean, never, never>;
|
|
5
|
+
confirmOrInterrupt: (message?: string) => Effect.Effect<void, never, never>;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=useConfirm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConfirm.d.ts","sourceRoot":"","sources":["../../src/experimental/useConfirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,MAAM,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;;;CAahG,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Effect } from "effect-app";
|
|
2
|
+
export const makeUseConfirm = (_useIntl) => () => {
|
|
3
|
+
const { intl } = _useIntl();
|
|
4
|
+
const getDefaultMessage = () => intl.value.formatMessage({ id: "confirm.default", defaultMessage: "Sind sie Sicher?" });
|
|
5
|
+
const confirm = (message = getDefaultMessage()) => Effect.sync(() => window.confirm(message));
|
|
6
|
+
const confirmOrInterrupt = (message = getDefaultMessage()) => confirm(message).pipe(Effect.flatMap((result) => (result ? Effect.void : Effect.interrupt)));
|
|
7
|
+
return { confirm, confirmOrInterrupt };
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlQ29uZmlybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHBlcmltZW50YWwvdXNlQ29uZmlybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR25DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUF3QixRQUEyQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7SUFDekcsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFBO0lBQzNCLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxFQUFFLENBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUE7SUFFekYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFN0YsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FDM0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUN0RSxDQUFBO0lBRUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxDQUFBO0FBQ3hDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Effect, type Option } from "effect-app";
|
|
2
|
+
export interface ToastOptions<A, E, Args extends ReadonlyArray<unknown>> {
|
|
3
|
+
onWaiting: string | ((...args: Args) => string);
|
|
4
|
+
onSuccess: string | ((a: A, ...args: Args) => string);
|
|
5
|
+
onFailure: string | ((error: Option.Option<E>, ...args: Args) => string | {
|
|
6
|
+
level: "warn" | "error";
|
|
7
|
+
message: string;
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
export type ToastId = string | number;
|
|
11
|
+
export type ToastOpts = {
|
|
12
|
+
id?: ToastId;
|
|
13
|
+
timeout?: number;
|
|
14
|
+
};
|
|
15
|
+
export type UseToast = () => {
|
|
16
|
+
error: (message: string, options?: ToastOpts) => ToastId;
|
|
17
|
+
warning: (message: string, options?: ToastOpts) => ToastId;
|
|
18
|
+
success: (message: string, options?: ToastOpts) => ToastId;
|
|
19
|
+
info: (message: string, options?: ToastOpts) => ToastId;
|
|
20
|
+
dismiss: (id: ToastId) => void;
|
|
21
|
+
};
|
|
22
|
+
export declare const makeUseWithToast: (useToast: UseToast) => () => <A, E, Args extends ReadonlyArray<unknown>, R>(options: ToastOptions<A, E, Args>) => (self: Effect.Effect<A, E, R>, ...args: Args) => Effect.Effect<A, E, R>;
|
|
23
|
+
//# sourceMappingURL=useWithToast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWithToast.d.ts","sourceRoot":"","sources":["../../src/experimental/useWithToast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC;IACrE,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAA;IAC/C,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAA;IACrD,SAAS,EACL,MAAM,GACN,CAAC,CACD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACvB,GAAG,IAAI,EAAE,IAAI,KACV,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC9D;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AACrC,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1D,MAAM,MAAM,QAAQ,GAAG,MAAM;IAC3B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACxD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IAC1D,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACvD,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,YAEzC,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAClD,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,4EAqCpC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Cause, Effect } from "effect-app";
|
|
2
|
+
export const makeUseWithToast = (useToast) => () => {
|
|
3
|
+
const toast = useToast();
|
|
4
|
+
return (options) => Effect.fnUntraced(function* (self, ...args) {
|
|
5
|
+
const toastId = toast.info(
|
|
6
|
+
// .loading
|
|
7
|
+
typeof options.onWaiting === "string"
|
|
8
|
+
? options.onWaiting
|
|
9
|
+
: options.onWaiting(...args));
|
|
10
|
+
return yield* self.pipe(Effect.tap((a) => {
|
|
11
|
+
toast.success(typeof options.onSuccess === "string"
|
|
12
|
+
? options.onSuccess
|
|
13
|
+
: options.onSuccess(a, ...args), { id: toastId, timeout: 3_000 });
|
|
14
|
+
}), Effect.tapErrorCause((cause) => Effect.sync(() => {
|
|
15
|
+
if (Cause.isInterruptedOnly(cause)) {
|
|
16
|
+
toast.dismiss(toastId);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const t = typeof options.onFailure === "string"
|
|
20
|
+
? options.onFailure
|
|
21
|
+
: options.onFailure(Cause.failureOption(cause), ...args);
|
|
22
|
+
if (typeof t === "object") {
|
|
23
|
+
return t.level === "warn"
|
|
24
|
+
? toast.warning(t.message, { id: toastId, timeout: 5_000 })
|
|
25
|
+
: toast.error(t.message, { id: toastId, timeout: 5_000 });
|
|
26
|
+
}
|
|
27
|
+
toast.error(t, { id: toastId, timeout: 5_000 });
|
|
28
|
+
})));
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2l0aFRvYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cGVyaW1lbnRhbC91c2VXaXRoVG9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWUsTUFBTSxZQUFZLENBQUE7QUF3QnZELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO0lBQzNELE1BQU0sS0FBSyxHQUFHLFFBQVEsRUFBRSxDQUFBO0lBQ3hCLE9BQU8sQ0FDTCxPQUFpQyxFQUNqQyxFQUFFLENBQ0YsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBQyxJQUE0QixFQUFFLEdBQUcsSUFBVTtRQUNyRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSTtRQUN4QixXQUFXO1FBQ1gsT0FBTyxPQUFPLENBQUMsU0FBUyxLQUFLLFFBQVE7WUFDbkMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQ25CLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQy9CLENBQUE7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLEtBQUssQ0FBQyxPQUFPLENBQ1gsT0FBTyxPQUFPLENBQUMsU0FBUyxLQUFLLFFBQVE7Z0JBQ25DLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUztnQkFDbkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQ2pDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQ2hDLENBQUE7UUFDSCxDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUN0QixPQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxHQUFHLE9BQU8sT0FBTyxDQUFDLFNBQVMsS0FBSyxRQUFRO2dCQUM3QyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVM7Z0JBQ25CLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUMxRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixPQUFPLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTTtvQkFDdkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO29CQUMzRCxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtZQUM3RCxDQUFDO1lBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ2pELENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBIn0=
|
package/dist/form.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ export declare const translate: Ref<{
|
|
|
80
80
|
(this: void, descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>>, opts?: import("intl-messageformat").Options): string;
|
|
81
81
|
<T extends unknown, TValue extends T | import("intl-messageformat").FormatXMLElementFn<T>>(this: void, descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").PrimitiveType | TValue> | undefined, opts?: import("intl-messageformat").Options): string | T | (string | T)[];
|
|
82
82
|
}>;
|
|
83
|
-
export declare const customSchemaErrors: Ref<Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string>, Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string
|
|
83
|
+
export declare const customSchemaErrors: Ref<Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string> & Omit<Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string>, keyof Map<any, any>>, Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string> | (Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string> & Omit<Map<string | S.AST.AST, (message: string, e: unknown, v: unknown) => string>, keyof Map<any, any>>)>;
|
|
84
84
|
export declare const buildFormFromSchema: <From extends Record<PropertyKey, any>, To extends Record<PropertyKey, any>, C extends Record<PropertyKey, any>, OnSubmitA>(s: Schema<To, From, never> & {
|
|
85
85
|
new (c: C): any;
|
|
86
86
|
extend: any;
|
package/dist/form.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
|
package/dist/mutate.d.ts
CHANGED
|
@@ -30,8 +30,8 @@ export interface MutationOptions<A, E, R, A2 = A, E2 = E, R2 = R, I = void> {
|
|
|
30
30
|
}[];
|
|
31
31
|
}
|
|
32
32
|
export declare const asResult: {
|
|
33
|
-
<A, E, R>(handler: Effect.Effect<A, E, R>): readonly [ComputedRef<Result.Result<A, E>>, Effect.Effect<Exit.Exit<A, E>, never,
|
|
34
|
-
<Args extends readonly any[], A, E, R>(handler: (...args: Args) => Effect.Effect<A, E, R>): readonly [ComputedRef<Result.Result<A, E>>, (...args: Args) => Effect.Effect<Exit.Exit<A, E>, never,
|
|
33
|
+
<A, E, R>(handler: Effect.Effect<A, E, R>): readonly [ComputedRef<Result.Result<A, E>>, Effect.Effect<Exit.Exit<A, E>, never, R>];
|
|
34
|
+
<Args extends readonly any[], A, E, R>(handler: (...args: Args) => Effect.Effect<A, E, R>): readonly [ComputedRef<Result.Result<A, E>>, (...args: Args) => Effect.Effect<Exit.Exit<A, E>, never, R>];
|
|
35
35
|
};
|
|
36
36
|
export declare const makeMutation: () => {
|
|
37
37
|
<I, E, A, R, Request extends TaggedRequestClassAny, A2 = A, E2 = E, R2 = R>(self: RequestHandlerWithInput<I, A, E, R, Request>, options?: MutationOptions<A, E, R, A2, E2, R2, I>): (i: I) => Effect.Effect<A2, E2, R2>;
|
package/dist/mutate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAkB,MAAM,qBAAqB,CAAA;AACzG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAU,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAEjH,OAAO,EAAY,KAAK,WAAW,EAAE,KAAK,GAAG,EAAc,MAAM,KAAK,CAAA;AAGtE,eAAO,MAAM,WAAW,GAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,aAQ9C,CAAA;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAClC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAoBX;AAED,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAC3C;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AACtE,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,mLAiBzD;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI;IACxE;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACrF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK;QAC1D,OAAO,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAA;QAC5C,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;KACxC,EAAE,CAAA;CACJ;AAaD,eAAO,MAAM,QAAQ,EAAE;IACrB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACN,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC9B,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"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"}
|