@effect-app/vue 4.0.0-beta.62 → 4.0.0-beta.64

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.
@@ -1,63 +1,16 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { isCancelledError } from "@tanstack/vue-query";
3
3
  import { camelCase } from "change-case";
4
- import { Cause, Context, Data, Effect, Exit, Layer, Match, Option, S, Struct } from "effect-app";
5
- import { ErrorSilenced } from "effect-app/client/errors";
6
- import { constant, identity, pipe, tuple } from "effect-app/Function";
7
- import { OperationSuccess } from "effect-app/Operations";
8
- import { dropUndefinedT, extendM } from "effect-app/utils";
4
+ import { Effect, Exit, Struct } from "effect-app";
5
+ import { extendM } from "effect-app/utils";
9
6
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
10
- import { computed, onBeforeUnmount, ref, watch } from "vue";
7
+ import { onBeforeUnmount, ref } from "vue";
11
8
  import { CommanderStatic } from "./commander.js";
12
- import { reportMessage } from "./errorReporter.js";
13
- import { buildFieldInfoFromFieldsRoot } from "./form.js";
14
- import { I18n } from "./intl.js";
15
- import { reportRuntimeError } from "./lib.js";
16
9
  import { makeUseCommand } from "./makeUseCommand.js";
17
- import { asResult, makeMutation, mutationResultToVue, useMakeMutation } from "./mutate.js";
10
+ import { makeMutation, useMakeMutation } from "./mutate.js";
18
11
  import { makeQuery } from "./query.js";
19
12
  import { makeRunPromise } from "./runtime.js";
20
- import { Toast } from "./toast.js";
21
13
  const mapHandler = (handler, map) => Effect.isEffect(handler) ? map(handler, undefined) : (i) => map(handler(i), i);
22
- /**
23
- * Use this after handling an error yourself, still continueing on the Error track, but the error will not be reported.
24
- */
25
- export class SuppressErrors extends Data.TaggedError("SuppressErrors") {
26
- [ErrorSilenced] = true;
27
- }
28
- export const suppressToast = constant(Effect.succeed(undefined));
29
- /** handles errors as specified and reports defects */
30
- function handleRequest(f, id, action, options) {
31
- const handleEffect = (i) => (self) => self.pipe(Effect.tap(Effect.matchCauseEffect({
32
- onSuccess: (r) => options.onSuccess(r, i),
33
- onFailure: (cause) => Effect.gen(function* () {
34
- if (Cause.hasInterruptsOnly(cause)) {
35
- console.info(`Interrupted while trying to ${action}`);
36
- return;
37
- }
38
- const fail = Cause.findErrorOption(cause);
39
- if (Option.isSome(fail)) {
40
- if (fail.value._tag === "SuppressErrors") {
41
- console.info(`Suppressed error trying to ${action}`, fail.value);
42
- return;
43
- }
44
- const message = `Failure trying to ${action}`;
45
- yield* reportMessage(message, { action, error: fail.value });
46
- yield* options.onFail(fail.value, i);
47
- return;
48
- }
49
- const extra = {
50
- action,
51
- message: `Unexpected Error trying to ${action}`
52
- };
53
- yield* reportRuntimeError(cause, extra);
54
- yield* options.onDefect(cause, i);
55
- })
56
- })), Effect.withSpan(`mutation ${id}`, {}, { captureStackTrace: false }));
57
- return Object.assign(Effect.isEffect(f)
58
- ? pipe(f, handleEffect(void 0))
59
- : (i) => pipe(f(i), handleEffect(i)), { action });
60
- }
61
14
  const _useMutation = makeMutation();
62
15
  /**
63
16
  * Pass an Effect or a function that returns an Effect, e.g from a client action
@@ -74,253 +27,6 @@ export const useMutationInt = () => {
74
27
  const _useMutation = useMakeMutation();
75
28
  return (self, options) => Object.assign(mapHandler(_useMutation(self, options), Effect.withSpan(`mutation ${self.id}`, {}, { captureStackTrace: false })), { id: self.id });
76
29
  };
77
- export class LegacyMutationImpl {
78
- getRuntime;
79
- toast;
80
- intl;
81
- constructor(getRuntime, toast, intl) {
82
- this.getRuntime = getRuntime;
83
- this.toast = toast;
84
- this.intl = intl;
85
- }
86
- /**
87
- * Effect results are converted to Exit, so errors are ignored by default.
88
- * you should use the result ref to render errors!
89
- * @deprecated use `Command.fn` and friends instead
90
- */
91
- useSafeMutation = (self, options) => {
92
- const unsafe = _useMutation(self, options);
93
- const mh = options?.mapHandler ?? identity;
94
- const [a, b] = asResult(mapHandler(mapHandler(unsafe, mh), Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause))));
95
- return [
96
- a,
97
- mapHandler(b, Effect.withSpan(`mutation ${self.id}`, {}, { captureStackTrace: false }))
98
- ];
99
- };
100
- /** handles errors as toasts and reports defects
101
- * @deprecated use `Command.fn` and friends instead
102
- */
103
- useHandleRequestWithToast = () => {
104
- // eslint-disable-next-line @typescript-eslint/no-this-alias
105
- const self = this;
106
- return handleRequestWithToast;
107
- /**
108
- * Pass a function that returns a Promise.
109
- * Returns an execution function which reports errors as Toast.
110
- */
111
- function handleRequestWithToast(f, id, action, options = {}) {
112
- const actionMessage = self.intl.formatMessage({ id: `action.${action}`, defaultMessage: action });
113
- const defaultWarnMessage = self.intl.formatMessage({ id: "handle.with_warnings" }, { action: actionMessage });
114
- const defaultSuccessMessage = self.intl.formatMessage({ id: "handle.success" }, { action: actionMessage });
115
- const defaultErrorMessage = self.intl.formatMessage({ id: "handle.with_errors" }, { action: actionMessage });
116
- return handleRequest(f, id, action, {
117
- onSuccess: Effect.fnUntraced(function* (a, i) {
118
- const message = options.successMessage ? yield* options.successMessage(a, i) : defaultSuccessMessage
119
- + (S.is(OperationSuccess)(a) && a.message
120
- ? "\n" + a.message
121
- : "");
122
- if (message) {
123
- yield* self.toast.success(message);
124
- }
125
- }),
126
- onFail: Effect.fnUntraced(function* (e, i) {
127
- if (!options.failMessage && e._tag === "OperationFailure") {
128
- yield* self.toast.warning(defaultWarnMessage + e.message
129
- ? "\n" + e.message
130
- : "");
131
- return;
132
- }
133
- const message = options.failMessage
134
- ? yield* options.failMessage(e, i)
135
- : `${defaultErrorMessage}:\n` + renderError(e);
136
- if (message) {
137
- yield* self.toast.error(message);
138
- }
139
- }),
140
- onDefect: Effect.fnUntraced(function* (cause, i) {
141
- const message = options.defectMessage
142
- ? yield* options.defectMessage(cause, i)
143
- : self.intl.formatMessage({ id: "handle.unexpected_error" }, {
144
- action: actionMessage,
145
- error: Cause.pretty(cause)
146
- });
147
- if (message) {
148
- yield* self.toast.error(message);
149
- }
150
- })
151
- });
152
- }
153
- function renderError(e) {
154
- return Match.value(e).pipe(Match.tags({
155
- // HttpErrorRequest: e =>
156
- // this.intl.value.formatMessage(
157
- // { id: "handle.request_error" },
158
- // { error: `${e.error}` },
159
- // ),
160
- // HttpErrorResponse: e =>
161
- // e.response.status >= 500 ||
162
- // e.response.body._tag !== "Some" ||
163
- // !e.response.body.value
164
- // ? this.intl.value.formatMessage(
165
- // { id: "handle.error_response" },
166
- // {
167
- // error: `${
168
- // e.response.body._tag === "Some" && e.response.body.value
169
- // ? parseError(e.response.body.value)
170
- // : "Unknown"
171
- // } (${e.response.status})`,
172
- // },
173
- // )
174
- // : this.intl.value.formatMessage(
175
- // { id: "handle.unexpected_error" },
176
- // {
177
- // error:
178
- // JSON.stringify(e.response.body, undefined, 2) +
179
- // "( " +
180
- // e.response.status +
181
- // ")",
182
- // },
183
- // ),
184
- // ResponseError: e =>
185
- // this.intl.value.formatMessage(
186
- // { id: "handle.response_error" },
187
- // { error: `${e.error}` },
188
- // ),
189
- SchemaError: (e) => {
190
- console.warn(e.toString());
191
- return self.intl.formatMessage({ id: "validation.failed" });
192
- }
193
- }), Match.orElse((e) => `${e.message ?? e._tag ?? e}`));
194
- }
195
- };
196
- /**
197
- * Pass a function that returns an Effect, e.g from a client action, give it a name.
198
- * Returns a tuple with raw Result and execution function which reports success and errors as Toast.
199
- * @deprecated use `Command.fn` and friends instead
200
- */
201
- useAndHandleMutationResult = (self, action, options) => {
202
- const handleRequestWithToast = this.useHandleRequestWithToast();
203
- const handler = self.handler;
204
- const unsafe = _useMutation({
205
- ...self,
206
- handler: Effect.isEffect(handler)
207
- ? pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(handler))
208
- : (...args) => pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(handler(...args)))
209
- }, options ? dropUndefinedT(options) : undefined);
210
- const mh = options?.mapHandler ?? identity;
211
- // Effect.tapDefect(reportRuntimeError) handled in toast handler,
212
- const [a, b] = asResult(mapHandler(unsafe, mh));
213
- return tuple(a, handleRequestWithToast(b, self.id, action, options));
214
- };
215
- //
216
- /**
217
- * Pass a function that returns an Effect, e.g from a client action, give it a name.
218
- * Returns a tuple with state ref and execution function which reports success and errors as Toast.
219
- *
220
- * @deprecated use `Command.fn` and friends instead
221
- */
222
- useAndHandleMutation = (self, action, options) => {
223
- const [a, b] = this.useAndHandleMutationResult(self, action, options);
224
- return tuple(computed(() => mutationResultToVue(a.value)), b);
225
- };
226
- /** @deprecated use `Command.fn` and friends instead */
227
- makeUseAndHandleMutation = (defaultOptions) => ((self, action, options) => {
228
- return this.useAndHandleMutation(self, action, { ...defaultOptions, ...options });
229
- });
230
- /**
231
- * The same as @see useAndHandleMutation, but does not display any toasts by default.
232
- * Messages for success, error and defect toasts can be provided in the Options.
233
- * @deprecated use `Command.fn` and friends instead
234
- */
235
- useAndHandleMutationSilently = this.makeUseAndHandleMutation({
236
- successMessage: suppressToast,
237
- failMessage: suppressToast,
238
- defectMessage: suppressToast
239
- });
240
- /**
241
- * The same as @see useAndHandleMutation, but does not act on success, error or defect by default.
242
- * Actions for success, error and defect can be provided in the Options.
243
- * @deprecated use `Command.fn` and friends instead
244
- */
245
- useAndHandleMutationCustom = (self, action, options) => {
246
- const unsafe = _useMutation({
247
- ...self,
248
- handler: Effect.isEffect(self.handler)
249
- ? pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler))
250
- : (...args) => pipe(Effect.annotateCurrentSpan({ action }), Effect.andThen(self.handler(...args)))
251
- }, options ? dropUndefinedT(options) : undefined);
252
- const mh = options?.mapHandler ?? identity;
253
- const [a, b] = asResult(mapHandler(mapHandler(unsafe, mh), Effect.tapCauseIf(Cause.hasDies, (cause) => reportRuntimeError(cause))));
254
- return tuple(computed(() => mutationResultToVue(a.value)), handleRequest(b, self.id, action, {
255
- onSuccess: suppressToast,
256
- onDefect: suppressToast,
257
- onFail: suppressToast,
258
- ...options
259
- }));
260
- };
261
- /**
262
- * Effect results are converted to Exit, so errors are ignored by default.
263
- * you should use the result ref to render errors!
264
- * @deprecated use `Command.fn` and friends instead
265
- */
266
- useSafeMutationWithState = (self, options) => {
267
- const [a, b] = this.useSafeMutation(self, options);
268
- return tuple(computed(() => mutationResultToVue(a.value)), b);
269
- };
270
- /** @deprecated use OmegaForm */
271
- buildFormFromSchema = (s, state, onSubmit) => {
272
- const fields = buildFieldInfoFromFieldsRoot(s).fields;
273
- const schema = S.Struct(Struct.omit(s.fields, ["_tag"]));
274
- const parse = S.decodeUnknownSync(schema);
275
- const isDirty = ref(false);
276
- const isValid = ref(true);
277
- const isLoading = ref(false);
278
- const runPromise = makeRunPromise(this.getRuntime());
279
- const submit1 = (onSubmit) => async (e) => {
280
- isLoading.value = true;
281
- try {
282
- const r = await e;
283
- if (!r.valid)
284
- return;
285
- return await runPromise(onSubmit(new s(await runPromise(parse(state.value)))));
286
- }
287
- finally {
288
- isLoading.value = false;
289
- }
290
- };
291
- const submit = submit1(onSubmit);
292
- watch(state, (v) => {
293
- // TODO: do better
294
- isDirty.value = JSON.stringify(v) !== JSON.stringify(state.value);
295
- }, { deep: true });
296
- const submitFromState = Effect.gen(function* () {
297
- return yield* onSubmit(yield* parse(state.value));
298
- });
299
- const submitFromStatePromise = () => runPromise(submitFromState);
300
- return {
301
- fields,
302
- /** optimized for Vuetify v-form submit callback */
303
- submit,
304
- /** optimized for Native form submit callback or general use */
305
- submitFromState,
306
- submitFromStatePromise,
307
- isDirty,
308
- isValid,
309
- isLoading
310
- };
311
- };
312
- }
313
- // @effect-diagnostics-next-line missingEffectServiceDependency:off
314
- export class LegacyMutation extends Context.Service()("LegacyMutation", {
315
- make: Effect.gen(function* () {
316
- const intl = yield* I18n;
317
- const toast = yield* Toast;
318
- return (getRuntime) => new LegacyMutationImpl(getRuntime, toast, intl);
319
- })
320
- }) {
321
- static DefaultWithoutDependencies = Layer.effect(this, this.make);
322
- static Default = this.DefaultWithoutDependencies;
323
- }
324
30
  export class QueryImpl {
325
31
  getRuntime;
326
32
  constructor(getRuntime) {
@@ -384,37 +90,12 @@ const managedRuntimeRt = (mrt) => mrt.runSync(Effect.services());
384
90
  export const makeClient = (
385
91
  // global, but only accessible after startup has completed
386
92
  getBaseMrt, clientFor_, rtHooks) => {
387
- const getRt = Effect.services();
388
93
  const getBaseRt = () => managedRuntimeRt(getBaseMrt());
389
94
  const makeCommand = makeUseCommand(rtHooks);
390
- const makeMutation = Effect.gen(function* () {
391
- const mut = yield* LegacyMutation;
392
- return mut(() => getBaseMrt().runSync(getRt));
393
- });
394
95
  let cmd;
395
96
  const useCommand = () => cmd ??= getBaseMrt().runSync(makeCommand);
396
- let mut;
397
- const getMutation = () => mut ??= getBaseMrt().runSync(makeMutation);
398
97
  let m;
399
98
  const useMutation = () => m ??= useMutationInt();
400
- const keys = [
401
- "useSafeMutationWithState",
402
- "useAndHandleMutation",
403
- "useAndHandleMutationResult",
404
- "useAndHandleMutationSilently",
405
- "useAndHandleMutationCustom",
406
- "makeUseAndHandleMutation",
407
- "useHandleRequestWithToast",
408
- "buildFormFromSchema",
409
- "useSafeMutation"
410
- ];
411
- const mutations = keys.reduce((prev, cur) => {
412
- ;
413
- prev[cur] = ((...args) => {
414
- return getMutation()[cur](...args);
415
- });
416
- return prev;
417
- }, {});
418
99
  const query = new QueryImpl(getBaseRt);
419
100
  const useQuery = query.useQuery;
420
101
  const useSuspenseQuery = query.useSuspenseQuery;
@@ -509,10 +190,6 @@ getBaseMrt, clientFor_, rtHooks) => {
509
190
  }, {});
510
191
  return proxy;
511
192
  };
512
- const legacy = {
513
- ...mutations,
514
- ...query
515
- };
516
193
  const Command = {
517
194
  ...{
518
195
  // delay initialisation until first use...
@@ -526,8 +203,7 @@ getBaseMrt, clientFor_, rtHooks) => {
526
203
  return {
527
204
  Command,
528
205
  useCommand,
529
- clientFor,
530
- legacy
206
+ clientFor
531
207
  };
532
208
  };
533
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQXVELGdCQUFnQixFQUEwRSxNQUFNLHFCQUFxQixDQUFBO0FBQ25MLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUF1QixLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFHckgsT0FBTyxFQUFFLGFBQWEsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckUsT0FBTyxFQUF5QixnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFMUQsT0FBTyxLQUFLLFdBQVcsTUFBTSx3Q0FBd0MsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFvQixlQUFlLEVBQVksR0FBRyxFQUFFLEtBQUssRUFBb0IsTUFBTSxLQUFLLENBQUE7QUFDekcsT0FBTyxFQUFrQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3hELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzdDLE9BQU8sRUFBMEIs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
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWtlQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQXVELGdCQUFnQixFQUEwRSxNQUFNLHFCQUFxQixDQUFBO0FBQ25MLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkMsT0FBTyxFQUFnQixNQUFNLEVBQUUsSUFBSSxFQUFtQyxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFHaEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTFDLE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUE7QUFDckUsT0FBTyxFQUFvQixlQUFlLEVBQUUsR0FBRyxFQUFvQixNQUFNLEtBQUssQ0FBQTtBQUM5RSxPQUFPLEVBQWtCLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRWhFLE9BQU8sRUFBMEIsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBNEIsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3JGLE9BQU8sRUFBMkMsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFHN0MsTUFBTSxVQUFVLEdBQUcsQ0FDakIsT0FBb0UsRUFDcEUsR0FBc0UsRUFDdEUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQXdKN0YsTUFBTSxZQUFZLEdBQUcsWUFBWSxFQUFFLENBQUE7QUFFbkM7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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue",
3
- "version": "4.0.0-beta.62",
3
+ "version": "4.0.0-beta.64",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
@@ -11,7 +11,7 @@
11
11
  "@vueuse/core": "^14.2.1",
12
12
  "change-case": "^5.4.4",
13
13
  "query-string": "^9.3.1",
14
- "effect-app": "4.0.0-beta.62"
14
+ "effect-app": "4.0.0-beta.64"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "@effect/atom-vue": "^4.0.0-beta.43",