@effect-app/vue 4.0.0-beta.18 → 4.0.0-beta.180
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 +1224 -0
- package/dist/commander.d.ts +370 -0
- package/dist/commander.d.ts.map +1 -0
- package/dist/commander.js +591 -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 +148 -290
- package/dist/makeClient.d.ts.map +1 -1
- package/dist/makeClient.js +205 -361
- 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 +57 -25
- package/dist/mutate.d.ts.map +1 -1
- package/dist/mutate.js +160 -33
- package/dist/query.d.ts +11 -15
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +19 -27
- 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 +49 -0
- package/eslint.config.mjs +2 -2
- package/examples/streamMutation.ts +83 -0
- package/package.json +48 -48
- package/src/{experimental/commander.ts → commander.ts} +930 -255
- 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 +570 -1038
- package/src/{experimental/makeUseCommand.ts → makeUseCommand.ts} +3 -3
- package/src/mutate.ts +306 -72
- package/src/query.ts +39 -50
- package/src/runtime.ts +39 -18
- package/src/{experimental/toast.ts → toast.ts} +11 -25
- package/src/{experimental/withToast.ts → withToast.ts} +15 -6
- package/test/Mutation.test.ts +130 -10
- 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/stubs.d.ts +3144 -117
- package/test/dist/stubs.d.ts.map +1 -1
- package/test/dist/stubs.js +132 -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 +241 -38
- package/test/streamFinal.test.ts +110 -0
- package/test/stubs.ts +172 -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/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" | "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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVVzZUNvbW1hbmQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlVXNlQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFL0UsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUdiLE1BQU0sV0FBVyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUM1QyxTQUFRLENBQUMsQ0FBQyxPQUFPLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksR0FBRyxNQUFNLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FBQztDQUVwRztBQUVELGVBQU8sTUFBTSxjQUFjLEdBQ2YsQ0FBQyxVQUFVLE9BQU8sd0hBYTdCLENBQUEifQ==
|
|
@@ -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,SAAQ,CAAC,CAAC,OAAO,eAAe,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CAEpG;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVVzZUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFrZVVzZUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLFlBQVksQ0FBQTtBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFzQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVUvRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FDN0MsUUFBUSxDQUFDLEVBQTZCLE9BQXVDO0lBQzNFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUM5QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFLLENBQUE7SUFFMUMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUVwQyxNQUFNLE9BQU8sR0FBa0M7UUFDN0MsR0FBRyxJQUFJO1FBQ1AsR0FBRyxlQUFlO0tBQ25CLENBQUE7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDLENBQ0YsQ0FBQSJ9
|
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,80 @@ 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
|
+
* Like `makeMutation`, but for stream-type request handlers.
|
|
80
|
+
* Returns a `[ref, execute]` tuple where `ref` is a reactive `AsyncResult` updated per
|
|
81
|
+
* stream element. Queries are invalidated once when the stream finishes, regardless of
|
|
82
|
+
* success or failure.
|
|
83
|
+
*
|
|
84
|
+
* When the request declares a `final` schema, `execute` resolves with the last emitted value
|
|
85
|
+
* typed as `Final`; otherwise it resolves with `void`.
|
|
86
|
+
*
|
|
87
|
+
* Must be called inside a Vue setup context (uses `useQueryClient` internally).
|
|
88
|
+
*/
|
|
89
|
+
export declare const makeStreamMutation: () => (self: {
|
|
90
|
+
id: string;
|
|
91
|
+
options?: ClientForOptions;
|
|
92
|
+
handler: Stream.Stream<any, any, any> | ((i: any) => Stream.Stream<any, any, any>);
|
|
93
|
+
}, mergedInvalidation?: MutationOptionsBase["queryInvalidation"]) => readonly [ComputedRef<AsyncResult.AsyncResult<any, any>>, Effect.Effect<any, never, any> | ((i: any) => Effect.Effect<any, never, any>)];
|
|
94
|
+
//# 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 });
|
|
82
85
|
}
|
|
83
|
-
|
|
84
|
-
.
|
|
85
|
-
|
|
86
|
+
else {
|
|
87
|
+
state.value = AsyncResult.initial(false);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
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 [];
|
|
86
111
|
}
|
|
87
|
-
|
|
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,72 @@ 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
|
+
* Like `makeMutation`, but for stream-type request handlers.
|
|
190
|
+
* Returns a `[ref, execute]` tuple where `ref` is a reactive `AsyncResult` updated per
|
|
191
|
+
* stream element. Queries are invalidated once when the stream finishes, regardless of
|
|
192
|
+
* success or failure.
|
|
193
|
+
*
|
|
194
|
+
* When the request declares a `final` schema, `execute` resolves with the last emitted value
|
|
195
|
+
* typed as `Final`; otherwise it resolves with `void`.
|
|
196
|
+
*
|
|
197
|
+
* Must be called inside a Vue setup context (uses `useQueryClient` internally).
|
|
198
|
+
*/
|
|
199
|
+
export const makeStreamMutation = () => {
|
|
200
|
+
const queryClient = useQueryClient();
|
|
201
|
+
return (self, mergedInvalidation) => {
|
|
202
|
+
const state = shallowRef(AsyncResult.initial());
|
|
203
|
+
const runStream = (stream, input) => {
|
|
204
|
+
const invCache = buildInvalidateCache(queryClient, self, mergedInvalidation);
|
|
205
|
+
const keysRef = Ref.makeUnsafe([]);
|
|
206
|
+
// V3: pass onAdded so each mid-stream metadata chunk triggers query
|
|
207
|
+
// invalidation immediately rather than waiting for stream completion.
|
|
208
|
+
const invKeys = makeInvalidationKeysService(keysRef, (key) => invCache(input, Exit.succeed(undefined), [key]));
|
|
209
|
+
return Effect
|
|
210
|
+
.sync(() => {
|
|
211
|
+
state.value = AsyncResult.initial(true);
|
|
212
|
+
})
|
|
213
|
+
.pipe(Effect.andThen(stream.pipe(Stream.provideService(InvalidationKeysFromServer, invKeys), Stream.runForEach((value) => Effect.sync(() => {
|
|
214
|
+
state.value = AsyncResult.success(value, { waiting: true });
|
|
215
|
+
})), Effect.exit, Effect.tap((exit) => Effect.sync(() => {
|
|
216
|
+
if (exit._tag === "Success") {
|
|
217
|
+
const current = state.value;
|
|
218
|
+
if (AsyncResult.isSuccess(current)) {
|
|
219
|
+
state.value = AsyncResult.success(current.value, { waiting: false });
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
state.value = AsyncResult.initial(false);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
state.value = AsyncResult.failure(exit.cause);
|
|
227
|
+
}
|
|
228
|
+
})), Effect.flatMap((exit) => {
|
|
229
|
+
const current = state.value;
|
|
230
|
+
const lastValue = AsyncResult.isSuccess(current) ? current.value : undefined;
|
|
231
|
+
const invExit = exit._tag === "Success" ? Exit.succeed(lastValue) : exit;
|
|
232
|
+
const serverKeys = Ref.getUnsafe(keysRef);
|
|
233
|
+
// Note: when the stream fails, `lastValue` is undefined. The failure is
|
|
234
|
+
// communicated via the reactive `state` ref (AsyncResult.failure). The
|
|
235
|
+
// execute effect always resolves successfully; callers should inspect the
|
|
236
|
+
// ref to distinguish success from failure.
|
|
237
|
+
return invCache(input, invExit, serverKeys).pipe(Effect.as(lastValue));
|
|
238
|
+
}))));
|
|
239
|
+
};
|
|
240
|
+
const handler = self.handler;
|
|
241
|
+
const act = Stream.isStream(handler)
|
|
242
|
+
? runStream(handler)
|
|
243
|
+
: (i) => runStream(handler(i), i);
|
|
244
|
+
return tuple(computed(() => state.value), act);
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
//# 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
4
|
import type { RequestHandler, RequestHandlerWithInput } 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,36 +21,31 @@ 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>> {
|
|
@@ -64,4 +60,4 @@ export declare const useUpdateQuery: () => {
|
|
|
64
60
|
<I, A>(query: RequestHandlerWithInput<I, A, any, any, any, any>, input: I, updater: (data: NoInfer<A>) => NoInfer<A>): void;
|
|
65
61
|
};
|
|
66
62
|
export {};
|
|
67
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxtQkFBbUIsRUFBRSxLQUFLLGlCQUFpQixFQUFFLEtBQUssdUJBQXVCLEVBQUUsS0FBSyxRQUFRLEVBQUUsS0FBSyxvQkFBb0IsRUFBRSxLQUFLLG1CQUFtQixFQUFFLEtBQUssY0FBYyxFQUFnRCxLQUFLLHlCQUF5QixFQUFFLEtBQUssa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyVixPQUFPLEVBQWdCLEtBQUssT0FBTyxFQUFFLE1BQU0sRUFBYSxNQUFNLFlBQVksQ0FBQTtBQUMxRSxPQUFPLEVBQWdCLEtBQUssR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDMUQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBMkIsTUFBTSwwQkFBMEIsQ0FBQTtBQUdsRixPQUFPLEtBQUssV0FBVyxNQUFNLHdDQUF3QyxDQUFBO0FBQ3JFLE9BQU8sRUFBWSxLQUFLLFdBQVcsRUFBRSxLQUFLLGdCQUFnQixFQUEwQixLQUFLLFdBQVcsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQU9qSCxNQUFNLFdBQVcscUJBQXFCLENBQ3BDLFlBQVksR0FBRyxPQUFPLEVBQ3RCLE1BQU0sR0FBRyxZQUFZLEVBQ3JCLEtBQUssR0FBRyxZQUFZLEVBQ3BCLFVBQVUsR0FBRyxZQUFZLEVBQ3pCLFNBQVMsU0FBUyxRQUFRLEdBQUcsUUFBUSxDQUNyQyxTQUNBLElBQUksQ0FDRixvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLEVBQ3hFLFVBQVUsR0FBRyxTQUFTLEdBQUcsYUFBYSxHQUFHLFNB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
|