@effect-app/vue 4.0.0-beta.19 → 4.0.0-beta.190
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 +1383 -0
- package/dist/commander.d.ts +620 -0
- package/dist/commander.d.ts.map +1 -0
- package/dist/commander.js +1056 -0
- package/dist/confirm.d.ts +19 -0
- package/dist/confirm.d.ts.map +1 -0
- package/dist/confirm.js +24 -0
- package/dist/errorReporter.d.ts +4 -4
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +12 -18
- package/dist/form.d.ts +13 -4
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +41 -12
- package/dist/index.d.ts +1 -1
- package/dist/intl.d.ts +15 -0
- package/dist/intl.d.ts.map +1 -0
- package/dist/intl.js +9 -0
- package/dist/lib.d.ts +6 -8
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +34 -7
- package/dist/makeClient.d.ts +191 -292
- package/dist/makeClient.d.ts.map +1 -1
- package/dist/makeClient.js +217 -369
- package/dist/makeContext.d.ts +1 -1
- package/dist/makeContext.d.ts.map +1 -1
- package/dist/makeIntl.d.ts +1 -1
- package/dist/makeIntl.d.ts.map +1 -1
- package/dist/makeUseCommand.d.ts +8 -0
- package/dist/makeUseCommand.d.ts.map +1 -0
- package/dist/makeUseCommand.js +13 -0
- package/dist/mutate.d.ts +56 -25
- package/dist/mutate.d.ts.map +1 -1
- package/dist/mutate.js +132 -33
- package/dist/query.d.ts +24 -16
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +119 -37
- package/dist/routeParams.d.ts +1 -1
- package/dist/runtime.d.ts +5 -2
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +27 -17
- package/dist/toast.d.ts +46 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +32 -0
- package/dist/withToast.d.ts +26 -0
- package/dist/withToast.d.ts.map +1 -0
- package/dist/withToast.js +54 -0
- package/eslint.config.mjs +2 -2
- package/examples/streamMutation.ts +70 -0
- package/package.json +48 -48
- package/src/commander.ts +3378 -0
- package/src/{experimental/confirm.ts → confirm.ts} +10 -14
- package/src/errorReporter.ts +62 -74
- package/src/form.ts +55 -16
- package/src/intl.ts +12 -0
- package/src/lib.ts +46 -13
- package/src/makeClient.ts +623 -1043
- package/src/{experimental/makeUseCommand.ts → makeUseCommand.ts} +6 -4
- package/src/mutate.ts +273 -72
- package/src/query.ts +181 -68
- package/src/runtime.ts +39 -18
- package/src/{experimental/toast.ts → toast.ts} +11 -25
- package/src/{experimental/withToast.ts → withToast.ts} +28 -10
- package/test/Mutation.test.ts +105 -11
- package/test/dist/form.test.d.ts.map +1 -1
- package/test/dist/lib.test.d.ts.map +1 -0
- package/test/dist/streamFinal.test.d.ts.map +1 -0
- package/test/dist/streamFn.test.d.ts.map +1 -0
- package/test/dist/stubs.d.ts +3289 -114
- package/test/dist/stubs.d.ts.map +1 -1
- package/test/dist/stubs.js +152 -25
- package/test/form-validation-errors.test.ts +23 -19
- package/test/form.test.ts +20 -2
- package/test/lib.test.ts +240 -0
- package/test/makeClient.test.ts +286 -38
- package/test/streamFinal.test.ts +63 -0
- package/test/streamFn.test.ts +436 -0
- package/test/stubs.ts +192 -42
- package/tsconfig.examples.json +20 -0
- package/tsconfig.json +0 -1
- package/tsconfig.json.bak +5 -2
- package/tsconfig.src.json +34 -34
- package/tsconfig.test.json +2 -2
- package/vitest.config.ts +5 -5
- package/dist/experimental/commander.d.ts +0 -359
- package/dist/experimental/commander.d.ts.map +0 -1
- package/dist/experimental/commander.js +0 -557
- package/dist/experimental/confirm.d.ts +0 -19
- package/dist/experimental/confirm.d.ts.map +0 -1
- package/dist/experimental/confirm.js +0 -28
- package/dist/experimental/intl.d.ts +0 -16
- package/dist/experimental/intl.d.ts.map +0 -1
- package/dist/experimental/intl.js +0 -5
- package/dist/experimental/makeUseCommand.d.ts +0 -8
- package/dist/experimental/makeUseCommand.d.ts.map +0 -1
- package/dist/experimental/makeUseCommand.js +0 -13
- package/dist/experimental/toast.d.ts +0 -47
- package/dist/experimental/toast.d.ts.map +0 -1
- package/dist/experimental/toast.js +0 -41
- package/dist/experimental/withToast.d.ts +0 -25
- package/dist/experimental/withToast.d.ts.map +0 -1
- package/dist/experimental/withToast.js +0 -45
- package/src/experimental/commander.ts +0 -1835
- package/src/experimental/intl.ts +0 -9
package/dist/makeContext.d.ts
CHANGED
|
@@ -14,4 +14,4 @@ export declare const makeContextCertain: <T>() => {
|
|
|
14
14
|
use: () => T & ({} | null);
|
|
15
15
|
provide: (locale: T) => void;
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNvbnRleHQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlQ29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsS0FBSyxZQUFZLEVBQVcsTUFBTSxLQUFLLENBQUE7QUFFeEQsZUFBTyxNQUFNLFdBQVcsRUFBRTtJQUN4QixDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHO1FBQ1gsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ1osT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUE7S0FDN0IsQ0FBQTtJQUNELENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRztRQUNaLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUE7UUFDeEIsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUE7S0FDN0IsQ0FBQTtDQU9GLENBQUE7QUFFRCxlQUFPLE1BQU0sYUFBYSxHQUFJLENBQUMsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG9CQU1wRCxDQUFBO0FBRUQsZUFBTyxNQUFNLGtCQUFrQixHQUFJLENBQUM7SUFHaEMsR0FBRztJQUNILE9BQU8sV0FBVyxDQUFDO0NBRXRCLENBQUEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeContext.d.ts","sourceRoot":"","sources":["../src/makeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAW,MAAM,KAAK,CAAA;AAExD,eAAO,MAAM,WAAW,EAAE;IACxB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG;QACX,GAAG,EAAE,MAAM,CAAC,CAAA;QACZ,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;KAC7B,CAAA;IACD,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG;QACZ,GAAG,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QACxB,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;KAC7B,CAAA;CAOF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"makeContext.d.ts","sourceRoot":"","sources":["../src/makeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAW,MAAM,KAAK,CAAA;AAExD,eAAO,MAAM,WAAW,EAAE;IACxB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG;QACX,GAAG,EAAE,MAAM,CAAC,CAAA;QACZ,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;KAC7B,CAAA;IACD,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG;QACZ,GAAG,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QACxB,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;KAC7B,CAAA;CAOF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,oBAMpD,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC;IAGhC,GAAG;IACH,OAAO,WAAW,CAAC;CAEtB,CAAA"}
|
package/dist/makeIntl.d.ts
CHANGED
|
@@ -18,4 +18,4 @@ export declare const makeIntl: <Locale extends string>(messages: Record<Locale,
|
|
|
18
18
|
provide: (locale: Ref<NoInfer<Locale>, NoInfer<Locale>>) => void;
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUludGwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlSW50bC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQStCLEtBQUssVUFBVSxFQUFFLEtBQUssY0FBYyxFQUFFLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRW5KLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFFLEtBQUssT0FBTyxJQUFJLHdCQUF3QixFQUFFLEtBQUssYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDMUgsT0FBTyxFQUFFLEtBQUssR0FBRyxFQUFTLE1BQU0sS0FBSyxDQUFBO0FBSXJDLE1BQU0sV0FBVyxjQUFjLENBQUMsTUFBTSxTQUFTLE1BQU0sQ0FBRSxTQUFRLFVBQVUsQ0FBQyxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUFHO0FBR3JHLE1BQU0sV0FBVyxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBRSxTQUFRLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDckYsVUFBVSxFQUFFLFVBQVUsQ0FBQTtDQUN2QjtBQUVELGVBQU8sTUFBTSxRQUFRLEdBQUksTUFBTSxTQUFTLE1BQU0sWUFDbEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLGFBRXJDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7OztvQkF5QnZCLE1BQU0sQ0FBQyxPQUFPLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUMxQixNQUFNLENBQ2IsTUFBTSxFQUNOLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQ25EO2dDQWdCb0IsQ0FDbkIsVUFBVSxFQUFFLGlCQUFpQixFQUM3QixNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFDM0UsSUFBSSxDQUFDLEVBQUUsd0JBQXdCLEtBQzVCLE1BQU07dUJBSXFCLFNBQVMsQ0FBQyxNQUFNLENBQUM7Ozs7OztDQUt0RCxDQUFBIn0=
|
package/dist/makeIntl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeIntl.d.ts","sourceRoot":"","sources":["../src/makeIntl.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnJ,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,OAAO,IAAI,wBAAwB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC1H,OAAO,EAAE,KAAK,GAAG,EAAS,MAAM,KAAK,CAAA;AAIrC,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,MAAM,CAAE,SAAQ,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;CAAG;AAGrG,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACrF,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"makeIntl.d.ts","sourceRoot":"","sources":["../src/makeIntl.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnJ,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,OAAO,IAAI,wBAAwB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC1H,OAAO,EAAE,KAAK,GAAG,EAAS,MAAM,KAAK,CAAA;AAIrC,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,MAAM,CAAE,SAAQ,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;CAAG;AAGrG,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACrF,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,MAAM,YAClC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,aAErC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;;oBAyBvB,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,WAC1B,MAAM,CACb,MAAM,EACN,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CACnD;gCAgBoB,CACnB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC3E,IAAI,CAAC,EAAE,wBAAwB,KAC5B,MAAM;uBAIqB,SAAS,CAAC,MAAM,CAAC;;;;;;CAKtD,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Effect, type Layer } from "effect-app";
|
|
2
|
+
import { Commander, type CommanderImpl, CommanderStatic } from "./commander.js";
|
|
3
|
+
type X<X> = X;
|
|
4
|
+
export interface CommanderResolved<RT, RTHooks> extends X<typeof CommanderStatic>, Pick<CommanderImpl<RT, RTHooks>, "fn" | "wrap" | "streamWrap" | "streamFn" | "alt" | "alt2"> {
|
|
5
|
+
}
|
|
6
|
+
export declare const makeUseCommand: <R = never, RTHooks = never>(rtHooks: Layer.Layer<RTHooks, never, R>) => Effect.Effect<CommanderResolved<R, RTHooks>, never, R | Commander>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVVzZUNvbW1hbmQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlVXNlQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFL0UsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUdiLE1BQU0sV0FBVyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUM1QyxTQUNFLENBQUMsQ0FBQyxPQUFPLGVBQWUsQ0FBQyxFQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLEdBQUcsTUFBTSxHQUFHLFlBQVksR0FBRyxVQUFVLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FBQztDQUUvRjtBQUVELGVBQU8sTUFBTSxjQUFjLEdBQ2YsQ0FBQyxVQUFVLE9BQU8sd0hBYTdCLENBQUEifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeUseCommand.d.ts","sourceRoot":"","sources":["../src/makeUseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE/E,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAGb,MAAM,WAAW,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAC5C,SACE,CAAC,CAAC,OAAO,eAAe,CAAC,EACzB,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;CAE/F;AAED,eAAO,MAAM,cAAc,GACf,CAAC,UAAU,OAAO,wHAa7B,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Effect } from "effect-app";
|
|
2
|
+
import { Commander, CommanderStatic } from "./commander.js";
|
|
3
|
+
export const makeUseCommand = Effect.fnUntraced(function* (rtHooks) {
|
|
4
|
+
const cmndr = yield* Commander;
|
|
5
|
+
const runtime = yield* Effect.context();
|
|
6
|
+
const comm = cmndr(runtime, rtHooks);
|
|
7
|
+
const command = {
|
|
8
|
+
...comm,
|
|
9
|
+
...CommanderStatic
|
|
10
|
+
};
|
|
11
|
+
return command;
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVVzZUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFrZVVzZUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLFlBQVksQ0FBQTtBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFzQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVkvRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FDN0MsUUFBUSxDQUFDLEVBQTZCLE9BQXVDO0lBQzNFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUM5QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFLLENBQUE7SUFFMUMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUVwQyxNQUFNLE9BQU8sR0FBa0M7UUFDN0MsR0FBRyxJQUFJO1FBQ1AsR0FBRyxlQUFlO0tBQ25CLENBQUE7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDLENBQ0YsQ0FBQSJ9
|
package/dist/mutate.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type InvalidateOptions, type InvalidateQueryFilters, type QueryClient } from "@tanstack/vue-query";
|
|
2
|
-
import { type Cause, Effect,
|
|
2
|
+
import { type Cause, Effect, Exit } from "effect-app";
|
|
3
3
|
import { type Req } from "effect-app/client";
|
|
4
4
|
import type { ClientForOptions, RequestHandler, RequestHandlerWithInput } from "effect-app/client/clientFor";
|
|
5
|
+
import * as Stream from "effect/Stream";
|
|
5
6
|
import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
|
|
6
7
|
import { type ComputedRef } from "vue";
|
|
7
8
|
export declare const getQueryKey: (h: {
|
|
@@ -14,49 +15,79 @@ export interface Res<A, E> {
|
|
|
14
15
|
readonly data: A | undefined;
|
|
15
16
|
readonly error: Cause.Cause<E> | undefined;
|
|
16
17
|
}
|
|
17
|
-
export declare function make<A, E, R>(self: Effect.Effect<A, E, R>): readonly [import("vue").ShallowRef<AsyncResult.AsyncResult<A, E>, AsyncResult.AsyncResult<A, E>>, ComputedRef<A | undefined>, Effect.Effect<AsyncResult.
|
|
18
|
-
export interface MutationOptionsBase {
|
|
18
|
+
export declare function make<A, E, R>(self: Effect.Effect<A, E, R>): readonly [import("vue").ShallowRef<AsyncResult.AsyncResult<A, E>, AsyncResult.AsyncResult<A, E>>, ComputedRef<A | undefined>, Effect.Effect<AsyncResult.Failure<A, E> | AsyncResult.Success<A, E>, never, R>];
|
|
19
|
+
export interface MutationOptionsBase<A = unknown, B = A, E2 = never, R2 = never> {
|
|
19
20
|
/**
|
|
20
21
|
* By default we invalidate one level of the query key, e.g $project/$configuration.get, we invalidate $project.
|
|
21
22
|
* This can be overridden by providing a function that returns an array of filters and options.
|
|
22
23
|
*/
|
|
23
|
-
queryInvalidation?: (defaultKey: string[], name: string) => {
|
|
24
|
+
queryInvalidation?: (defaultKey: string[], name: string, input?: unknown, output?: Exit.Exit<unknown, unknown>) => {
|
|
24
25
|
filters?: InvalidateQueryFilters | undefined;
|
|
25
26
|
options?: InvalidateOptions | undefined;
|
|
26
27
|
}[];
|
|
27
|
-
}
|
|
28
|
-
/** @deprecated prefer more basic @see MutationOptionsBase and separate useMutation from Command.fn */
|
|
29
|
-
export interface MutationOptions<A, E, R, A2 = A, E2 = E, R2 = R, I = void> extends MutationOptionsBase {
|
|
30
28
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
29
|
+
* Run an additional Effect after the mutation succeeds. Its output becomes the
|
|
30
|
+
* final result returned to the caller. Query cache is invalidated once on
|
|
31
|
+
* mutation exit and again after this Effect completes. Useful for long-running
|
|
32
|
+
* operations (e.g. polling a background job) where you want the caller to
|
|
33
|
+
* receive the downstream result and the cache to refresh once it is ready.
|
|
33
34
|
*
|
|
34
|
-
* @
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* useMutation(startExportCommand, {
|
|
38
|
+
* select: (result) => pollUntilDone(result.jobId)
|
|
39
|
+
* // caller receives the pollUntilDone output, not the original result
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
35
42
|
*/
|
|
36
|
-
|
|
43
|
+
select?: (result: A) => Effect.Effect<B, E2, R2>;
|
|
37
44
|
}
|
|
38
45
|
export declare const asResult: {
|
|
39
46
|
<A, E, R>(handler: Effect.Effect<A, E, R>): readonly [ComputedRef<AsyncResult.AsyncResult<A, E>>, Effect.Effect<Exit.Exit<A, E>, never, R>];
|
|
40
47
|
<Args extends readonly any[], A, E, R>(handler: (...args: Args) => Effect.Effect<A, E, R>): readonly [ComputedRef<AsyncResult.AsyncResult<A, E>>, (...args: Args) => Effect.Effect<Exit.Exit<A, E>, never, R>];
|
|
41
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Like `asResult`, but for streams. The ref is updated with each emitted value
|
|
51
|
+
* (keeping `waiting: true`) and is finalised (with `waiting: false`) once the
|
|
52
|
+
* stream terminates successfully. Errors are surfaced as `AsyncResult.failure`.
|
|
53
|
+
*/
|
|
54
|
+
export declare const asStreamResult: {
|
|
55
|
+
<A, E, R>(handler: Stream.Stream<A, E, R>): readonly [ComputedRef<AsyncResult.AsyncResult<A, E>>, Effect.Effect<void, never, R>];
|
|
56
|
+
<Args extends readonly any[], A, E, R>(handler: (...args: Args) => Stream.Stream<A, E, R>): readonly [ComputedRef<AsyncResult.AsyncResult<A, E>>, (...args: Args) => Effect.Effect<void, never, R>];
|
|
57
|
+
};
|
|
42
58
|
export declare const invalidateQueries: (queryClient: QueryClient, self: {
|
|
43
59
|
id: string;
|
|
44
60
|
options?: ClientForOptions;
|
|
45
|
-
}, options?: MutationOptionsBase
|
|
61
|
+
}, options?: MutationOptionsBase) => <A, E, R>(eff: Effect.Effect<A, E, R>, input?: unknown) => Effect.Effect<unknown, E, Exclude<R, never>>;
|
|
62
|
+
export interface MutationFnWithInput<I, A, E, R, Id extends string> {
|
|
63
|
+
<B = A, E2 = never, R2 = never>(input: I, options?: MutationOptionsBase<A, B, E2, R2>): Effect.Effect<B, E | E2, R | R2>;
|
|
64
|
+
readonly id: Id;
|
|
65
|
+
}
|
|
66
|
+
export interface MutationFn<A, E, R, Id extends string> {
|
|
67
|
+
<B = A, E2 = never, R2 = never>(options?: MutationOptionsBase<A, B, E2, R2>): Effect.Effect<B, E | E2, R | R2>;
|
|
68
|
+
readonly id: Id;
|
|
69
|
+
}
|
|
46
70
|
export declare const makeMutation: () => {
|
|
47
|
-
<I, E, A, R, Request extends Req, Id extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Id
|
|
48
|
-
|
|
49
|
-
};
|
|
50
|
-
<E, A, R, Request extends Req, Id extends string>(self: RequestHandler<A, E, R, Request, Id>, options?: MutationOptionsBase): Effect.Effect<A, E, R> & {
|
|
51
|
-
readonly id: Id;
|
|
52
|
-
};
|
|
71
|
+
<I, E, A, R, Request extends Req, Id extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Id>): MutationFnWithInput<I, A, E, R, Id>;
|
|
72
|
+
<E, A, R, Request extends Req, Id extends string>(self: RequestHandler<A, E, R, Request, Id>): MutationFn<A, E, R, Id>;
|
|
53
73
|
};
|
|
54
74
|
export declare const useMakeMutation: () => {
|
|
55
|
-
<I, E, A, R, Request extends Req, Id extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Id
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
<E, A, R, Request extends Req, Id extends string>(self: RequestHandler<A, E, R, Request, Id>, options?: MutationOptionsBase): Effect.Effect<A, E, R> & {
|
|
59
|
-
readonly id: Id;
|
|
60
|
-
};
|
|
75
|
+
<I, E, A, R, Request extends Req, Id extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Id>): MutationFnWithInput<I, A, E, R, Id>;
|
|
76
|
+
<E, A, R, Request extends Req, Id extends string>(self: RequestHandler<A, E, R, Request, Id>): MutationFn<A, E, R, Id>;
|
|
61
77
|
};
|
|
62
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Returns a stream-based mutation factory for use with `streamFn`.
|
|
80
|
+
* The outer Effect sets up per-invocation invalidation scaffolding
|
|
81
|
+
* and returns a stream that triggers query invalidation via `Stream.ensuring` when it completes.
|
|
82
|
+
*
|
|
83
|
+
* Use with `streamFn` / `Command.streamFn(id)(mutateHandler, ...combinators)` so that
|
|
84
|
+
* the command manages its own reactive state internally.
|
|
85
|
+
*
|
|
86
|
+
* Must be called inside a Vue setup context (uses `useQueryClient` internally).
|
|
87
|
+
*/
|
|
88
|
+
export declare const makeStreamMutation2: () => (self: {
|
|
89
|
+
id: string;
|
|
90
|
+
options?: ClientForOptions;
|
|
91
|
+
handler: Stream.Stream<any, any, any> | ((i: any) => Stream.Stream<any, any, any>);
|
|
92
|
+
}, mergedInvalidation?: MutationOptionsBase["queryInvalidation"]) => Stream.Stream<any, any, any> | ((i: any) => Stream.Stream<any, any, any>);
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbXV0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUFFLEtBQUssc0JBQXNCLEVBQUUsS0FBSyxXQUFXLEVBQWtCLE1BQU0scUJBQXFCLENBQUE7QUFDM0gsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQVUsTUFBTSxZQUFZLENBQUE7QUFDN0QsT0FBTyxFQUErRixLQUFLLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3pJLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRzVHLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFDckUsT0FBTyxFQUFZLEtBQUssV0FBVyxFQUFjLE1BQU0sS0FBSyxDQUFBO0FBRTVELGVBQU8sTUFBTSxXQUFXLE1BQU87SUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsZ0JBQWdCLENBQUE7Q0FBRSxhQVF4RSxDQUFBO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQ3RDLGNBQWMsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FDNUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FvQlg7QUFFRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZCLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFBO0lBQ3pCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtJQUM1QixRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FB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
|
package/dist/mutate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"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"}
|
package/dist/mutate.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { matchQuery } from "@tanstack/query-core";
|
|
2
3
|
import { useQueryClient } from "@tanstack/vue-query";
|
|
3
|
-
import { Effect, Option } from "effect-app";
|
|
4
|
+
import { Effect, Exit, Option } from "effect-app";
|
|
5
|
+
import { InvalidationKeysFromServer, makeInvalidationKeysService, makeQueryKey } from "effect-app/client";
|
|
4
6
|
import { tuple } from "effect-app/Function";
|
|
7
|
+
import * as Ref from "effect/Ref";
|
|
8
|
+
import * as Stream from "effect/Stream";
|
|
5
9
|
import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
|
|
6
10
|
import { computed, shallowRef } from "vue";
|
|
7
|
-
import { makeQueryKey } from "./lib.js";
|
|
8
11
|
export const getQueryKey = (h) => {
|
|
9
12
|
const key = makeQueryKey(h);
|
|
10
13
|
const ns = key.filter((_) => _.startsWith("$"));
|
|
@@ -46,16 +49,6 @@ export function make(self) {
|
|
|
46
49
|
const latestSuccess = computed(() => Option.getOrUndefined(AsyncResult.value(result.value)));
|
|
47
50
|
return tuple(result, latestSuccess, execute);
|
|
48
51
|
}
|
|
49
|
-
// TODO: more efficient invalidation, including args etc
|
|
50
|
-
// return Effect.promise(() => queryClient.invalidateQueries({
|
|
51
|
-
// predicate: (_) => nses.includes(_.queryKey.filter((_) => _.startsWith("$")).join("/"))
|
|
52
|
-
// }))
|
|
53
|
-
/*
|
|
54
|
-
// const nses: string[] = []`
|
|
55
|
-
// for (let i = 0; i < ns.length; i++) {
|
|
56
|
-
// nses.push(ns.slice(0, i + 1).join("/"))
|
|
57
|
-
// }
|
|
58
|
-
*/
|
|
59
52
|
export const asResult = (handler) => {
|
|
60
53
|
const state = shallowRef(AsyncResult.initial());
|
|
61
54
|
const act = Effect.isEffect(handler)
|
|
@@ -71,37 +64,111 @@ export const asResult = (handler) => {
|
|
|
71
64
|
.pipe(Effect.andThen(Effect.suspend(() => handler(...args).pipe(Effect.exit, Effect.tap((exit) => Effect.sync(() => (state.value = AsyncResult.fromExit(exit))))))));
|
|
72
65
|
return tuple(computed(() => state.value), act);
|
|
73
66
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Like `asResult`, but for streams. The ref is updated with each emitted value
|
|
69
|
+
* (keeping `waiting: true`) and is finalised (with `waiting: false`) once the
|
|
70
|
+
* stream terminates successfully. Errors are surfaced as `AsyncResult.failure`.
|
|
71
|
+
*/
|
|
72
|
+
export const asStreamResult = (handler) => {
|
|
73
|
+
const state = shallowRef(AsyncResult.initial());
|
|
74
|
+
const runStream = (stream) => Effect
|
|
75
|
+
.sync(() => {
|
|
76
|
+
state.value = AsyncResult.initial(true);
|
|
77
|
+
})
|
|
78
|
+
.pipe(Effect.andThen(stream.pipe(Stream.runForEach((value) => Effect.sync(() => {
|
|
79
|
+
state.value = AsyncResult.success(value, { waiting: true });
|
|
80
|
+
})), Effect.exit, Effect.flatMap((exit) => Effect.sync(() => {
|
|
81
|
+
if (exit._tag === "Success") {
|
|
82
|
+
const current = state.value;
|
|
83
|
+
if (AsyncResult.isSuccess(current)) {
|
|
84
|
+
state.value = AsyncResult.success(current.value, { waiting: false });
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
state.value = AsyncResult.initial(false);
|
|
82
88
|
}
|
|
83
|
-
return Effect
|
|
84
|
-
.andThen(Effect.annotateCurrentSpan({ queryKey, opts }), Effect.forEach(opts, (_) => invalidateQueries(_.filters, _.options), { concurrency: "inherit" }))
|
|
85
|
-
.pipe(Effect.withSpan("client.query.invalidation", {}, { captureStackTrace: false }));
|
|
86
89
|
}
|
|
87
|
-
|
|
90
|
+
else {
|
|
91
|
+
state.value = AsyncResult.failure(exit.cause);
|
|
92
|
+
}
|
|
93
|
+
})))));
|
|
94
|
+
const act = Stream.isStream(handler)
|
|
95
|
+
? runStream(handler)
|
|
96
|
+
: (...args) => runStream(handler(...args));
|
|
97
|
+
return tuple(computed(() => state.value), act);
|
|
98
|
+
};
|
|
99
|
+
const buildInvalidateCache = (queryClient, self, queryInvalidation) => {
|
|
100
|
+
const invalidateQueriesFn = (filters, options) => Effect.currentSpan.pipe(Effect.orElseSucceed(() => null), Effect.flatMap((span) => Effect.promise(() => queryClient.invalidateQueries(filters, { ...options, updateMeta: { span } }))));
|
|
101
|
+
const getClientInvalidationTargets = (input, output) => {
|
|
102
|
+
const queryKey = getQueryKey(self);
|
|
103
|
+
if (queryInvalidation) {
|
|
104
|
+
return queryInvalidation(queryKey, self.id, input, output).map((_) => ({
|
|
105
|
+
filters: _.filters,
|
|
106
|
+
options: _.options
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
if (!queryKey) {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
return [{ filters: { queryKey }, options: undefined }];
|
|
113
|
+
};
|
|
114
|
+
const invalidateCache = (input, output, serverKeys) => Effect.suspend(() => {
|
|
115
|
+
const clientTargets = getClientInvalidationTargets(input, output);
|
|
116
|
+
const serverTargets = serverKeys.map((queryKey) => ({
|
|
117
|
+
filters: { queryKey },
|
|
118
|
+
options: undefined
|
|
119
|
+
}));
|
|
120
|
+
const allTargets = [...clientTargets, ...serverTargets];
|
|
121
|
+
if (!allTargets.length)
|
|
88
122
|
return Effect.void;
|
|
123
|
+
const groups = new Map();
|
|
124
|
+
for (const target of allTargets) {
|
|
125
|
+
const key = `${target.filters?.refetchType ?? ""}|${target.options?.cancelRefetch ?? ""}|${target.options?.throwOnError?.toString() ?? ""}`;
|
|
126
|
+
const existing = groups.get(key);
|
|
127
|
+
if (existing) {
|
|
128
|
+
existing.targets.push(target);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
groups.set(key, { targets: [target], refetchType: target.filters?.refetchType, options: target.options });
|
|
132
|
+
}
|
|
133
|
+
}
|
|
89
134
|
return Effect
|
|
90
|
-
.andThen(Effect.annotateCurrentSpan({
|
|
135
|
+
.andThen(Effect.annotateCurrentSpan({ clientTargets, serverKeys }), Effect.forEach(groups.values(), ({ options, refetchType, targets }) => invalidateQueriesFn({
|
|
136
|
+
...(refetchType !== undefined ? { refetchType } : {}),
|
|
137
|
+
predicate: (query) => targets.some((t) => t.filters ? matchQuery(t.filters, query) : true)
|
|
138
|
+
}, options), { discard: true, concurrency: "inherit" }))
|
|
91
139
|
.pipe(Effect.tap(
|
|
92
140
|
// hand over control back to the event loop so that state can be updated..
|
|
93
141
|
// TODO: should we do this in general on any mutation, regardless of invalidation?
|
|
94
142
|
Effect.sleep(0)), Effect.withSpan("client.query.invalidation", {}, { captureStackTrace: false }));
|
|
95
143
|
});
|
|
96
|
-
|
|
144
|
+
return invalidateCache;
|
|
145
|
+
};
|
|
146
|
+
export const invalidateQueries = (queryClient, self, options) => {
|
|
147
|
+
const invalidateCache = buildInvalidateCache(queryClient, self, options?.queryInvalidation);
|
|
148
|
+
const select = options?.select;
|
|
149
|
+
const handle = (eff, input) => Effect.gen(function* () {
|
|
150
|
+
const keysRef = yield* Ref.make([]);
|
|
151
|
+
const result = yield* eff.pipe(Effect.provideService(InvalidationKeysFromServer, makeInvalidationKeysService(keysRef)), Effect.onExit((exit) => Effect.gen(function* () {
|
|
152
|
+
const serverKeys = yield* Ref.get(keysRef);
|
|
153
|
+
yield* invalidateCache(input, exit, serverKeys);
|
|
154
|
+
})));
|
|
155
|
+
if (select) {
|
|
156
|
+
return yield* select(result).pipe(Effect.onExit((exit) => Effect.gen(function* () {
|
|
157
|
+
const serverKeys = yield* Ref.get(keysRef);
|
|
158
|
+
yield* invalidateCache(input, exit, serverKeys);
|
|
159
|
+
})));
|
|
160
|
+
}
|
|
161
|
+
return result;
|
|
162
|
+
});
|
|
97
163
|
return handle;
|
|
98
164
|
};
|
|
99
165
|
export const makeMutation = () => {
|
|
100
|
-
const useMutation = (self
|
|
166
|
+
const useMutation = (self) => {
|
|
101
167
|
const queryClient = useQueryClient();
|
|
102
|
-
const handle = invalidateQueries(queryClient, self, options?.queryInvalidation);
|
|
103
168
|
const handler = self.handler;
|
|
104
|
-
const r = Effect.isEffect(handler)
|
|
169
|
+
const r = Effect.isEffect(handler)
|
|
170
|
+
? (options) => invalidateQueries(queryClient, self, options)(handler)
|
|
171
|
+
: (i, options) => invalidateQueries(queryClient, self, options)(handler(i), i);
|
|
105
172
|
return Object.assign(r, { id: self.id });
|
|
106
173
|
};
|
|
107
174
|
return useMutation;
|
|
@@ -109,12 +176,44 @@ export const makeMutation = () => {
|
|
|
109
176
|
// calling hooks in the body
|
|
110
177
|
export const useMakeMutation = () => {
|
|
111
178
|
const queryClient = useQueryClient();
|
|
112
|
-
const useMutation = (self
|
|
113
|
-
const handle = invalidateQueries(queryClient, self, options?.queryInvalidation);
|
|
179
|
+
const useMutation = (self) => {
|
|
114
180
|
const handler = self.handler;
|
|
115
|
-
const r = Effect.isEffect(handler)
|
|
181
|
+
const r = Effect.isEffect(handler)
|
|
182
|
+
? (options) => invalidateQueries(queryClient, self, options)(handler)
|
|
183
|
+
: (i, options) => invalidateQueries(queryClient, self, options)(handler(i), i);
|
|
116
184
|
return Object.assign(r, { id: self.id });
|
|
117
185
|
};
|
|
118
186
|
return useMutation;
|
|
119
187
|
};
|
|
120
|
-
|
|
188
|
+
/**
|
|
189
|
+
* Returns a stream-based mutation factory for use with `streamFn`.
|
|
190
|
+
* The outer Effect sets up per-invocation invalidation scaffolding
|
|
191
|
+
* and returns a stream that triggers query invalidation via `Stream.ensuring` when it completes.
|
|
192
|
+
*
|
|
193
|
+
* Use with `streamFn` / `Command.streamFn(id)(mutateHandler, ...combinators)` so that
|
|
194
|
+
* the command manages its own reactive state internally.
|
|
195
|
+
*
|
|
196
|
+
* Must be called inside a Vue setup context (uses `useQueryClient` internally).
|
|
197
|
+
*/
|
|
198
|
+
export const makeStreamMutation2 = () => {
|
|
199
|
+
const queryClient = useQueryClient();
|
|
200
|
+
return (self, mergedInvalidation) => {
|
|
201
|
+
const invCache = buildInvalidateCache(queryClient, self, mergedInvalidation);
|
|
202
|
+
const makeInvocationEffect = (input, source) => Effect.gen(function* () {
|
|
203
|
+
const keysRef = yield* Ref.make([]);
|
|
204
|
+
const invKeys = makeInvalidationKeysService(keysRef, (key) => invCache(input, Exit.succeed(undefined), [key]));
|
|
205
|
+
const lastRef = yield* Ref.make(undefined);
|
|
206
|
+
return source.pipe(Stream.provideService(InvalidationKeysFromServer, invKeys), Stream.tap((v) => Ref.set(lastRef, v)), Stream.ensuring(Effect.gen(function* () {
|
|
207
|
+
const lastValue = yield* Ref.get(lastRef);
|
|
208
|
+
const serverKeys = yield* Ref.get(keysRef);
|
|
209
|
+
yield* invCache(input, Exit.succeed(lastValue), serverKeys);
|
|
210
|
+
})));
|
|
211
|
+
});
|
|
212
|
+
const handler = self.handler;
|
|
213
|
+
const act = Stream.isStream(handler)
|
|
214
|
+
? Stream.unwrap(makeInvocationEffect(undefined, handler))
|
|
215
|
+
: (i) => Stream.unwrap(makeInvocationEffect(i, handler(i)));
|
|
216
|
+
return act;
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL211dGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBeUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDM0gsT0FBTyxFQUFjLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzdELE9BQU8sRUFBd0IsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsWUFBWSxFQUFZLE1BQU0sbUJBQW1CLENBQUE7QUFFekksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBb0IsVUFBVSxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBRTVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQTZDLEVBQUUsRUFBRTtJQUMzRSxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0IsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQy9DLDZGQUE2RjtJQUM3RixvRkFBb0Y7SUFDcEYsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFN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
|
package/dist/query.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type DefaultError, type Enabled, type InitialDataFunction, type NonUndefinedGuard, type PlaceholderDataFunction, type QueryKey, type QueryObserverOptions, type QueryObserverResult, type RefetchOptions, type UseQueryDefinedReturnType, type UseQueryReturnType } from "@tanstack/vue-query";
|
|
2
|
-
import {
|
|
2
|
+
import { type Context, Effect } from "effect-app";
|
|
3
3
|
import { type Req } from "effect-app/client";
|
|
4
|
-
import type { RequestHandler, RequestHandlerWithInput } from "effect-app/client/clientFor";
|
|
4
|
+
import type { RequestHandler, RequestHandlerWithInput, RequestStreamHandler, RequestStreamHandlerWithInput } from "effect-app/client/clientFor";
|
|
5
|
+
import { CauseException } from "effect-app/client/errors";
|
|
5
6
|
import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
|
|
6
7
|
import { type ComputedRef, type MaybeRefOrGetter, type WatchSource } from "vue";
|
|
7
8
|
export interface CustomUseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends Omit<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, "queryKey" | "queryFn" | "initialData" | "enabled" | "placeholderData"> {
|
|
@@ -20,40 +21,47 @@ export interface CustomDefinedPlaceholderQueryOptions<TQueryFnData = unknown, TE
|
|
|
20
21
|
initialData?: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>) | undefined;
|
|
21
22
|
placeholderData: NonFunctionGuard<TQueryData> | PlaceholderDataFunction<NonFunctionGuard<TQueryData>, TError, NonFunctionGuard<TQueryData>, TQueryKey>;
|
|
22
23
|
}
|
|
23
|
-
export declare
|
|
24
|
-
effectCause: Cause.Cause<E>;
|
|
25
|
-
readonly error: unknown;
|
|
26
|
-
constructor(effectCause: Cause.Cause<E>);
|
|
27
|
-
}
|
|
28
|
-
export declare const makeQuery: <R>(getRuntime: () => ServiceMap.ServiceMap<R>) => {
|
|
24
|
+
export declare const makeQuery: <R>(getRuntime: () => Context.Context<R>) => {
|
|
29
25
|
<E, A, Request extends Req, Name extends string>(self: RequestHandler<A, E, R, Request, Name>): {
|
|
30
26
|
/**
|
|
31
27
|
* Effect results are passed to the caller, including errors.
|
|
32
28
|
*/
|
|
33
|
-
<TData = A>(options: CustomDefinedInitialQueryOptions<A,
|
|
34
|
-
<TData = A>(options: CustomDefinedPlaceholderQueryOptions<A, E, TData>): readonly [ComputedRef<AsyncResult.AsyncResult<TData, E>>, ComputedRef<TData>, (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData,
|
|
29
|
+
<TData = A>(options: CustomDefinedInitialQueryOptions<A, CauseException<E>, TData>): readonly [ComputedRef<AsyncResult.AsyncResult<TData, E>>, ComputedRef<TData>, (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData, CauseException<E>>>, UseQueryReturnType<any, any>];
|
|
30
|
+
<TData = A>(options: CustomDefinedPlaceholderQueryOptions<A, E, TData>): readonly [ComputedRef<AsyncResult.AsyncResult<TData, E>>, ComputedRef<TData>, (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData, CauseException<E>>, never, never>, UseQueryDefinedReturnType<TData, CauseException<E>>];
|
|
35
31
|
/**
|
|
36
32
|
* Effect results are passed to the caller, including errors.
|
|
37
33
|
*/
|
|
38
|
-
<TData = A>(options?: CustomUndefinedInitialQueryOptions<A,
|
|
34
|
+
<TData = A>(options?: CustomUndefinedInitialQueryOptions<A, CauseException<E>, TData>): readonly [ComputedRef<AsyncResult.AsyncResult<A, E>>, ComputedRef<A | undefined>, (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData, CauseException<E>>>, UseQueryReturnType<any, any>];
|
|
39
35
|
};
|
|
40
|
-
<Arg, E,
|
|
36
|
+
<Arg, E, A, Request extends Req, Name extends string>(self: RequestHandlerWithInput<Arg, A, E, R, Request, Name>): {
|
|
41
37
|
/**
|
|
42
38
|
* Effect results are passed to the caller, including errors.
|
|
43
39
|
*/
|
|
44
|
-
<TData =
|
|
40
|
+
<TData = A>(arg: Arg | WatchSource<Arg>, options: CustomDefinedInitialQueryOptions<A, CauseException<E>, TData>): readonly [ComputedRef<AsyncResult.AsyncResult<TData, E>>, ComputedRef<TData>, (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData, CauseException<E>>>, UseQueryReturnType<any, any>];
|
|
45
41
|
/**
|
|
46
42
|
* Effect results are passed to the caller, including errors.
|
|
47
43
|
*/
|
|
48
|
-
<TData =
|
|
44
|
+
<TData = A>(arg: Arg | WatchSource<Arg>, options: CustomDefinedPlaceholderQueryOptions<A, CauseException<E>, TData>): readonly [ComputedRef<AsyncResult.AsyncResult<TData, E>>, ComputedRef<TData>, (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData, CauseException<E>>>, UseQueryReturnType<any, any>];
|
|
49
45
|
/**
|
|
50
46
|
* Effect results are passed to the caller, including errors.
|
|
51
47
|
*/
|
|
52
|
-
<TData =
|
|
48
|
+
<TData = A>(arg: Arg | WatchSource<Arg>, options?: CustomUndefinedInitialQueryOptions<A, CauseException<E>, TData>): readonly [ComputedRef<AsyncResult.AsyncResult<TData, E>>, ComputedRef<TData | undefined>, (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData, CauseException<E>>>, UseQueryReturnType<any, any>];
|
|
53
49
|
};
|
|
54
50
|
};
|
|
55
51
|
export interface MakeQuery2<R> extends ReturnType<typeof makeQuery<R>> {
|
|
56
52
|
}
|
|
53
|
+
type StreamQueryResult<A, E> = readonly [
|
|
54
|
+
ComputedRef<AsyncResult.AsyncResult<A[], E>>,
|
|
55
|
+
ComputedRef<A[] | undefined>,
|
|
56
|
+
(options?: RefetchOptions) => Effect.Effect<QueryObserverResult<A[], CauseException<E>>, never, never>,
|
|
57
|
+
UseQueryReturnType<any, any>
|
|
58
|
+
];
|
|
59
|
+
export declare const makeStreamQuery: <R>(getRuntime: () => Context.Context<R>) => {
|
|
60
|
+
<E, A, Request extends Req, Name extends string>(q: RequestStreamHandler<A, E, R, Request, Name>): () => StreamQueryResult<A, E>;
|
|
61
|
+
<Arg, E, A, Request extends Req, Name extends string>(q: RequestStreamHandlerWithInput<Arg, A, E, R, Request, Name>): (arg: Arg | WatchSource<Arg>) => StreamQueryResult<A, E>;
|
|
62
|
+
};
|
|
63
|
+
export interface MakeStreamQuery2<R> extends ReturnType<typeof makeStreamQuery<R>> {
|
|
64
|
+
}
|
|
57
65
|
export declare function composeQueries<R extends Record<string, AsyncResult.AsyncResult<any, any>>>(results: R, renderPreviousOnFailure?: boolean): AsyncResult.AsyncResult<{
|
|
58
66
|
[Property in keyof R]: R[Property] extends AsyncResult.AsyncResult<infer A, any> ? A : never;
|
|
59
67
|
}, {
|
|
@@ -64,4 +72,4 @@ export declare const useUpdateQuery: () => {
|
|
|
64
72
|
<I, A>(query: RequestHandlerWithInput<I, A, any, any, any, any>, input: I, updater: (data: NoInfer<A>) => NoInfer<A>): void;
|
|
65
73
|
};
|
|
66
74
|
export {};
|
|
67
|
-
//# sourceMappingURL=
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxPQUFPLEVBQStDLEtBQUssbUJBQW1CLEVBQUUsS0FBSyxpQkFBaUIsRUFBRSxLQUFLLHVCQUF1QixFQUFFLEtBQUssUUFBUSxFQUFFLEtBQUssb0JBQW9CLEVBQUUsS0FBSyxtQkFBbUIsRUFBRSxLQUFLLGNBQWMsRUFBZ0QsS0FBSyx5QkFBeUIsRUFBRSxLQUFLLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbFksT0FBTyxFQUFnQixLQUFLLE9BQU8sRUFBRSxNQUFNLEVBQW1CLE1BQU0sWUFBWSxDQUFBO0FBQ2hGLE9BQU8sRUFBZ0IsS0FBSyxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxRCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUMvSSxPQUFPLEVBQUUsY0FBYyxFQUEyQixNQUFNLDBCQUEwQixDQUFBO0FBT2xGLE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFDckUsT0FBTyxFQUFZLEtBQUssV0FBVyxFQUFFLEtBQUssZ0JBQWdCLEVBQTBCLEtBQUssV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBT2pILE1BQU0sV0FBVyxxQkFBcUIsQ0FDcEMsWUFBWSxHQUFHLE9BQU8sRUFDdEIsTUFBTSxHQUFHLFlBQVksRUFDckIsS0FBSyxHQUFHLFlBQVksRUFDcEIsVUFBVSxHQUFHLFlBQVksRUFDekIsU0FBUyxTQUFTLFFBQVEsR0FBRyxRQUFRLENBQ3JDLFNBQ0EsSUFBSSxDQUNGLG9CQUFvQixDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFDeEUsVUFBVSxH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
|