@effect-app/vue 2.54.3 → 2.54.4

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 2.54.4
4
+
5
+ ### Patch Changes
6
+
7
+ - a73193a: fix toast
8
+
3
9
  ## 2.54.3
4
10
 
5
11
  ### Patch Changes
@@ -151,7 +151,7 @@ declare const Commander_base: Effect.Service.Class<Commander, "Commander", {
151
151
  */
152
152
  fn: <RT>(runtime: Runtime.Runtime<RT>) => (actionName: string) => Commander.Gen<RT> & Commander.NonGen<RT>;
153
153
  alt: <RT>(runtime: Runtime.Runtime<RT>) => (actionName: string) => <Args extends Array<any>, A, E, R extends RT | CommandContext>(handler: (...args: Args) => Effect.Effect<A, E, R>) => Commander.CommandOut<Args, A, E>;
154
- }, never, WithToast | Confirm | I18n>;
154
+ }, never, I18n | Confirm | WithToast>;
155
155
  }>;
156
156
  export declare class Commander extends Commander_base {
157
157
  }
@@ -1,11 +1,11 @@
1
1
  import { Context, Effect } from "effect-app";
2
2
  export type ToastId = string | number;
3
3
  export type ToastOpts = {
4
- id?: ToastId | undefined;
4
+ id?: ToastId;
5
5
  timeout?: number;
6
6
  };
7
7
  export type ToastOptsInternal = {
8
- id?: ToastId | undefined | null;
8
+ id?: ToastId | null;
9
9
  timeout?: number;
10
10
  };
11
11
  export type UseToast = () => {
@@ -30,7 +30,7 @@ declare const CurrentToastId_base: (abstract new (service: {
30
30
  } & {
31
31
  use: <X>(body: (_: {
32
32
  toastId: ToastId;
33
- }) => X) => X extends Effect.Effect<infer A, infer E, infer R_2> ? Effect.Effect<A, E, CurrentToastId | R_2> : Effect.Effect<X, never, CurrentToastId>;
33
+ }) => X) => X extends Effect.Effect<infer A, infer E, infer R_2> ? Effect.Effect<A, E, R_2 | CurrentToastId> : Effect.Effect<X, never, CurrentToastId>;
34
34
  };
35
35
  export declare class CurrentToastId extends CurrentToastId_base {
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/experimental/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAU,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AACrC,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AACtE,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAErF,MAAM,MAAM,QAAQ,GAAG,MAAM;IAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACpE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACtE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACtE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACnE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C,CAAA;;aAE8F,OAAO;;aAAP,OAAO;;aAAP,OAAO;;;;;;;;;iBAAP,OAAO;;;AAAtG,qBAAa,cAAe,SAAQ,mBAAuE;CAAG;AAE9G,+FAA+F;AAC/F,eAAO,MAAM,IAAI,GAAI,OAAO,UAAU,CAAC,QAAQ,CAAC;qBAE3B,MAAM,YAAY,iBAAiB;oBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAiBjC,OAAO;CAE7B,CAAA;;qBAnBoB,MAAM,YAAY,iBAAiB;oBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAiBjC,OAAO;;qBAjBT,MAAM,YAAY,iBAAiB;oBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAiBjC,OAAO;;qBAjBT,MAAM,YAAY,iBAAiB;oBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAiBjC,OAAO;;;;;;;;;;;;;yBAjBT,MAAM,YAAY,iBAAiB;wBAAnC,MAAM,YAAY,iBAAiB;2BAAnC,MAAM,YAAY,iBAAiB;2BAAnC,MAAM,YAAY,iBAAiB;2BAiBjC,OAAO;;;AAI9B,qBAAa,KAAM,SAAQ,UAAwD;CAClF"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/experimental/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAU,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AACrC,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAC1D,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzE,MAAM,MAAM,QAAQ,GAAG,MAAM;IAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACpE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACtE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACtE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,KAAK,OAAO,CAAA;IACnE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3C,CAAA;;aAE8F,OAAO;;aAAP,OAAO;;aAAP,OAAO;;;;;;;;;iBAAP,OAAO;;;AAAtG,qBAAa,cAAe,SAAQ,mBAAuE;CAAG;AAE9G,+FAA+F;AAC/F,eAAO,MAAM,IAAI,GAAI,OAAO,UAAU,CAAC,QAAQ,CAAC;qBAE3B,MAAM,YAAY,iBAAiB;oBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAmBjC,OAAO;CAE7B,CAAA;;qBArBoB,MAAM,YAAY,iBAAiB;oBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAmBjC,OAAO;;qBAnBT,MAAM,YAAY,iBAAiB;oBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAmBjC,OAAO;;qBAnBT,MAAM,YAAY,iBAAiB;oBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAAnC,MAAM,YAAY,iBAAiB;uBAmBjC,OAAO;;;;;;;;;;;;;yBAnBT,MAAM,YAAY,iBAAiB;wBAAnC,MAAM,YAAY,iBAAiB;2BAAnC,MAAM,YAAY,iBAAiB;2BAAnC,MAAM,YAAY,iBAAiB;2BAmBjC,OAAO;;;AAI9B,qBAAa,KAAM,SAAQ,UAAwD;CAClF"}
@@ -4,11 +4,13 @@ export class CurrentToastId extends Context.TagId("CurrentToastId")() {
4
4
  /** fallback to CurrentToastId when available unless id is explicitly set to a value or null */
5
5
  export const wrap = (toast) => {
6
6
  const wrap = (toastHandler) => {
7
- return (message, options) => Effect.serviceOption(CurrentToastId).pipe(Effect.map((currentToast) => toastHandler(message, {
8
- ...options,
9
- id: options?.id !== undefined
10
- ? options.id ?? undefined
11
- : Option.getOrUndefined(Option.map(currentToast, (_) => _.toastId))
7
+ return (message, options) => Effect.serviceOption(CurrentToastId).pipe(Effect.flatMap((currentToast) => Effect.sync(() => {
8
+ const { id: _id, ...rest } = options ?? {};
9
+ const id = _id !== undefined
10
+ ? _id ?? undefined
11
+ : Option.getOrUndefined(Option.map(currentToast, (_) => _.toastId));
12
+ // when id is undefined, we may end up with no toast at all..
13
+ return toastHandler(message, id !== undefined ? { ...rest, id } : rest);
12
14
  })));
13
15
  };
14
16
  return {
@@ -21,4 +23,4 @@ export const wrap = (toast) => {
21
23
  };
22
24
  export class Toast extends Context.TagId("Toast")() {
23
25
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhwZXJpbWVudGFsL3RvYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQWNwRCxNQUFNLE9BQU8sY0FBZSxTQUFRLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBd0M7Q0FBRztBQUU5RywrRkFBK0Y7QUFDL0YsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBMkIsRUFBRSxFQUFFO0lBQ2xELE1BQU0sSUFBSSxHQUFHLENBQUMsWUFBK0QsRUFBRSxFQUFFO1FBQy9FLE9BQU8sQ0FBQyxPQUFlLEVBQUUsT0FBMkIsRUFBRSxFQUFFLENBQ3RELE1BQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUN2QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FDMUIsWUFBWSxDQUFDLE9BQU8sRUFBRTtZQUNwQixHQUFHLE9BQU87WUFDVixFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxTQUFTO2dCQUMzQixDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxTQUFTO2dCQUN6QixDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RFLENBQUMsQ0FDSCxDQUNGLENBQUE7SUFDTCxDQUFDLENBQUE7SUFDRCxPQUFPO1FBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDNUIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzVCLE9BQU8sRUFBRSxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN6RSxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxPQUFPLEtBQU0sU0FBUSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFrQztDQUNsRiJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhwZXJpbWVudGFsL3RvYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQWNwRCxNQUFNLE9BQU8sY0FBZSxTQUFRLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBd0M7Q0FBRztBQUU5RywrRkFBK0Y7QUFDL0YsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBMkIsRUFBRSxFQUFFO0lBQ2xELE1BQU0sSUFBSSxHQUFHLENBQUMsWUFBK0QsRUFBRSxFQUFFO1FBQy9FLE9BQU8sQ0FBQyxPQUFlLEVBQUUsT0FBMkIsRUFBRSxFQUFFLENBQ3RELE1BQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUN2QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDZixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUE7WUFDMUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxLQUFLLFNBQVM7Z0JBQzFCLENBQUMsQ0FBQyxHQUFHLElBQUksU0FBUztnQkFDbEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1lBQ3JFLDZEQUE2RDtZQUM3RCxPQUFPLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekUsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFBO0lBQ0wsQ0FBQyxDQUFBO0lBQ0QsT0FBTztRQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzVCLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM1QixPQUFPLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDekUsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sT0FBTyxLQUFNLFNBQVEsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBa0M7Q0FDbEYifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"withToast.d.ts","sourceRoot":"","sources":["../../src/experimental/withToast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAkB,KAAK,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,GAAG,IAAI,CAAA;IACtD,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,GAAG,IAAI,CAAA;IAC5D,SAAS,EACL,MAAM,GACN,CAAC,CACD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACvB,GAAG,IAAI,EAAE,IAAI,KACV,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC9D;;qCAMW,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,WACzC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;;AAJvC,qBAAa,SAAU,SAAQ,cA2C7B;CAAG"}
1
+ {"version":3,"file":"withToast.d.ts","sourceRoot":"","sources":["../../src/experimental/withToast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAkB,KAAK,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,GAAG,IAAI,CAAA;IACtD,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,GAAG,IAAI,CAAA;IAC5D,SAAS,EACL,MAAM,GACN,CAAC,CACD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACvB,GAAG,IAAI,EAAE,IAAI,KACV,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC9D;;qCAMW,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,WACzC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;;AAJvC,qBAAa,SAAU,SAAQ,cA6C7B;CAAG"}
@@ -15,7 +15,7 @@ export class WithToast extends Effect.Service()("WithToast", {
15
15
  );
16
16
  return yield* self.pipe(Effect.tap((a) => options.onSuccess === null ? Effect.void : toast.success(typeof options.onSuccess === "string"
17
17
  ? options.onSuccess
18
- : options.onSuccess(a, ...args), { id: toastId, timeout: baseTimeout })), Effect.tapErrorCause(Effect.fnUntraced(function* (cause) {
18
+ : options.onSuccess(a, ...args), toastId !== undefined ? { id: toastId, timeout: baseTimeout } : { timeout: baseTimeout })), Effect.tapErrorCause(Effect.fnUntraced(function* (cause) {
19
19
  if (Cause.isInterruptedOnly(cause)) {
20
20
  if (toastId)
21
21
  yield* toast.dismiss(toastId);
@@ -24,15 +24,16 @@ export class WithToast extends Effect.Service()("WithToast", {
24
24
  const t = typeof options.onFailure === "string"
25
25
  ? options.onFailure
26
26
  : options.onFailure(Cause.failureOption(cause), ...args);
27
+ const opts = { timeout: baseTimeout * 2 };
27
28
  if (typeof t === "object") {
28
29
  return t.level === "warn"
29
- ? yield* toast.warning(t.message, { id: toastId, timeout: baseTimeout * 2 })
30
- : yield* toast.error(t.message, { id: toastId, timeout: baseTimeout * 2 });
30
+ ? yield* toast.warning(t.message, toastId !== undefined ? { ...opts, id: toastId } : opts)
31
+ : yield* toast.error(t.message, toastId !== undefined ? { ...opts, id: toastId } : opts);
31
32
  }
32
- yield* toast.error(t, { id: toastId, timeout: baseTimeout * 2 });
33
- })), toastId ? Effect.provideService(CurrentToastId, CurrentToastId.of({ toastId })) : (_) => _);
33
+ yield* toast.error(t, toastId !== undefined ? { ...opts, id: toastId } : opts);
34
+ })), toastId !== undefined ? Effect.provideService(CurrentToastId, CurrentToastId.of({ toastId })) : (_) => _);
34
35
  });
35
36
  })
36
37
  }) {
37
38
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFRvYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cGVyaW1lbnRhbC93aXRoVG9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWUsTUFBTSxZQUFZLENBQUE7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFjbEQsbUVBQW1FO0FBQ25FLE1BQU0sT0FBTyxTQUFVLFNBQVEsTUFBTSxDQUFDLE9BQU8sRUFBYSxDQUFDLFdBQVcsRUFBRTtJQUN0RSxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFBO1FBQzFCLE9BQU8sQ0FDTCxPQUFpQyxFQUNqQyxFQUFFLENBQ0YsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBQyxJQUE0QixFQUFFLEdBQUcsSUFBVTtZQUNyRSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQTtZQUM1QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUN4RSxXQUFXO1lBQ1gsT0FBTyxPQUFPLENBQUMsU0FBUyxLQUFLLFFBQVE7Z0JBQ25DLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUztnQkFDbkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDOUIseUJBQXlCO2FBQzFCLENBQUE7WUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNmLE9BQU8sQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUN0RCxPQUFPLE9BQU8sQ0FBQyxTQUFTLEtBQUssUUFBUTtnQkFDbkMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTO2dCQUNuQixDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFDakMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FDdEMsQ0FDRixFQUNELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBQyxLQUFLO2dCQUNwRCxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNuQyxJQUFJLE9BQU87d0JBQUUsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtvQkFDMUMsT0FBTTtnQkFDUixDQUFDO2dCQUNELE1BQU0sQ0FBQyxHQUFHLE9BQU8sT0FBTyxDQUFDLFNBQVMsS0FBSyxRQUFRO29CQUM3QyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVM7b0JBQ25CLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtnQkFDMUQsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDMUIsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU07d0JBQ3ZCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQzVFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDOUUsQ0FBQztnQkFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2xFLENBQUMsQ0FBQyxDQUFDLEVBQ0gsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUMzRixDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUM7Q0FDSCxDQUFDO0NBQUcifQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFRvYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4cGVyaW1lbnRhbC93aXRoVG9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWUsTUFBTSxZQUFZLENBQUE7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFjbEQsbUVBQW1FO0FBQ25FLE1BQU0sT0FBTyxTQUFVLFNBQVEsTUFBTSxDQUFDLE9BQU8sRUFBYSxDQUFDLFdBQVcsRUFBRTtJQUN0RSxNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFBO1FBQzFCLE9BQU8sQ0FDTCxPQUFpQyxFQUNqQyxFQUFFLENBQ0YsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBQyxJQUE0QixFQUFFLEdBQUcsSUFBVTtZQUNyRSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQTtZQUM1QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUN4RSxXQUFXO1lBQ1gsT0FBTyxPQUFPLENBQUMsU0FBUyxLQUFLLFFBQVE7Z0JBQ25DLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUztnQkFDbkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDOUIseUJBQXlCO2FBQzFCLENBQUE7WUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNmLE9BQU8sQ0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue",
3
- "version": "2.54.3",
3
+ "version": "2.54.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
@@ -1,8 +1,8 @@
1
1
  import { Context, Effect, Option } from "effect-app"
2
2
 
3
3
  export type ToastId = string | number
4
- export type ToastOpts = { id?: ToastId | undefined; timeout?: number }
5
- export type ToastOptsInternal = { id?: ToastId | undefined | null; timeout?: number }
4
+ export type ToastOpts = { id?: ToastId; timeout?: number }
5
+ export type ToastOptsInternal = { id?: ToastId | null; timeout?: number }
6
6
 
7
7
  export type UseToast = () => {
8
8
  error: (this: void, message: string, options?: ToastOpts) => ToastId
@@ -19,12 +19,14 @@ export const wrap = (toast: ReturnType<UseToast>) => {
19
19
  const wrap = (toastHandler: (message: string, options?: ToastOpts) => ToastId) => {
20
20
  return (message: string, options?: ToastOptsInternal) =>
21
21
  Effect.serviceOption(CurrentToastId).pipe(
22
- Effect.map((currentToast) =>
23
- toastHandler(message, {
24
- ...options,
25
- id: options?.id !== undefined
26
- ? options.id ?? undefined
22
+ Effect.flatMap((currentToast) =>
23
+ Effect.sync(() => {
24
+ const { id: _id, ...rest } = options ?? {}
25
+ const id = _id !== undefined
26
+ ? _id ?? undefined
27
27
  : Option.getOrUndefined(Option.map(currentToast, (_) => _.toastId))
28
+ // when id is undefined, we may end up with no toast at all..
29
+ return toastHandler(message, id !== undefined ? { ...rest, id } : rest)
28
30
  })
29
31
  )
30
32
  )
@@ -35,7 +35,7 @@ export class WithToast extends Effect.Service<WithToast>()("WithToast", {
35
35
  typeof options.onSuccess === "string"
36
36
  ? options.onSuccess
37
37
  : options.onSuccess(a, ...args),
38
- { id: toastId, timeout: baseTimeout }
38
+ toastId !== undefined ? { id: toastId, timeout: baseTimeout } : { timeout: baseTimeout }
39
39
  )
40
40
  ),
41
41
  Effect.tapErrorCause(Effect.fnUntraced(function*(cause) {
@@ -46,14 +46,16 @@ export class WithToast extends Effect.Service<WithToast>()("WithToast", {
46
46
  const t = typeof options.onFailure === "string"
47
47
  ? options.onFailure
48
48
  : options.onFailure(Cause.failureOption(cause), ...args)
49
+ const opts = { timeout: baseTimeout * 2 }
50
+
49
51
  if (typeof t === "object") {
50
52
  return t.level === "warn"
51
- ? yield* toast.warning(t.message, { id: toastId, timeout: baseTimeout * 2 })
52
- : yield* toast.error(t.message, { id: toastId, timeout: baseTimeout * 2 })
53
+ ? yield* toast.warning(t.message, toastId !== undefined ? { ...opts, id: toastId } : opts)
54
+ : yield* toast.error(t.message, toastId !== undefined ? { ...opts, id: toastId } : opts)
53
55
  }
54
- yield* toast.error(t, { id: toastId, timeout: baseTimeout * 2 })
56
+ yield* toast.error(t, toastId !== undefined ? { ...opts, id: toastId } : opts)
55
57
  })),
56
- toastId ? Effect.provideService(CurrentToastId, CurrentToastId.of({ toastId })) : (_) => _
58
+ toastId !== undefined ? Effect.provideService(CurrentToastId, CurrentToastId.of({ toastId })) : (_) => _
57
59
  )
58
60
  })
59
61
  })