@effect-app/vue 2.28.1 → 2.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 2.30.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8be2984: housekeeping: update packages
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [10a8adf]
12
+ - Updated dependencies [8be2984]
13
+ - effect-app@2.30.0
14
+
15
+ ## 2.29.0
16
+
17
+ ### Minor Changes
18
+
19
+ - 7a4d393: report errors anyway to Sentry but with lower severity. add log namespace annotations.
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [7a4d393]
24
+ - effect-app@2.29.0
25
+
3
26
  ## 2.28.1
4
27
 
5
28
  ### Patch Changes
@@ -1,7 +1,7 @@
1
- import { Cause, Effect } from "effect-app";
1
+ import { Cause, Effect, LogLevel } from "effect-app";
2
2
  import { CauseException } from "effect-app/client/errors";
3
3
  export declare const tryCauseException: <E>(cause: Cause<E>, name: string) => CauseException<E>;
4
- export declare function reportError(name: string): (cause: Cause.Cause<unknown>, extras?: Record<string, unknown>) => Effect.Effect<unknown, never, never>;
4
+ export declare function reportError(name: string): (cause: Cause.Cause<unknown>, extras?: Record<string, unknown>, level?: LogLevel.LogLevel) => Effect.Effect<unknown, never, never>;
5
5
  export declare function logError<E>(name: string): (cause: Cause.Cause<E>, extras?: Record<string, unknown>) => Effect.Effect<void, never, never>;
6
6
  export declare function captureException(error: unknown, extras?: Record<string, unknown>): void;
7
7
  export declare function reportMessage(message: string, extras?: Record<string, unknown>): Effect.Effect<void, never, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"errorReporter.d.ts","sourceRoot":"","sources":["../src/errorReporter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAyC,MAAM,0BAA0B,CAAA;AAGhG,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,QAAQ,MAAM,KAAG,cAAc,CAAC,CAAC,CAMpF,CAAA;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,WAEG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAiC7G;AAeD,wBAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,WAEG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,uCAwBhE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAKhF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,qCAQ9E"}
1
+ {"version":3,"file":"errorReporter.d.ts","sourceRoot":"","sources":["../src/errorReporter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,cAAc,EAAyC,MAAM,0BAA0B,CAAA;AAGhG,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,QAAQ,MAAM,KAAG,cAAc,CAAC,CAAC,CAMpF,CAAA;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,WAGH,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UACzB,QAAQ,CAAC,QAAQ,KACvB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAiCxC;AAiBD,wBAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,WAEG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,uCAwBhE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAKhF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,qCAQ9E"}
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
3
3
  import * as Sentry from "@sentry/browser";
4
- import { Cause, Effect } from "effect-app";
4
+ import { Cause, Effect, LogLevel } from "effect-app";
5
5
  import { CauseException, ErrorReported, tryToJson, tryToReport } from "effect-app/client/errors";
6
- import { dropUndefined } from "effect-app/utils";
6
+ import { dropUndefined, LogLevelToSentry } from "effect-app/utils";
7
7
  export const tryCauseException = (cause, name) => {
8
8
  try {
9
9
  return new CauseException(cause, name);
@@ -13,16 +13,16 @@ export const tryCauseException = (cause, name) => {
13
13
  }
14
14
  };
15
15
  export function reportError(name) {
16
- return (cause, extras) => Effect
16
+ return (cause, extras, level = LogLevel.Error) => Effect
17
17
  .gen(function* () {
18
18
  if (Cause.isInterruptedOnly(cause)) {
19
19
  yield* Effect.logDebug("Interrupted").pipe(Effect.annotateLogs("extras", JSON.stringify(extras ?? {})));
20
20
  return Cause.squash(cause);
21
21
  }
22
22
  const error = tryCauseException(cause, name);
23
- yield* reportSentry(error, extras);
23
+ yield* reportSentry(error, extras, LogLevelToSentry(level));
24
24
  yield* Effect
25
- .logError("Reporting error", cause)
25
+ .logWithLevel(level, "Reporting error", cause)
26
26
  .pipe(Effect.annotateLogs(dropUndefined({
27
27
  extras,
28
28
  error: tryToReport(error),
@@ -34,9 +34,10 @@ export function reportError(name) {
34
34
  })
35
35
  .pipe(Effect.tapErrorCause((cause) => Effect.logError("Failed to report error", cause).pipe(Effect.tapErrorCause(() => Effect.logFatal("Failed to log error cause")))));
36
36
  }
37
- function reportSentry(error, extras) {
37
+ function reportSentry(error, extras, level = "error") {
38
38
  return Effect.sync(() => {
39
39
  const scope = new Sentry.Scope();
40
+ scope.setLevel(level);
40
41
  if (extras)
41
42
  scope.setContext("extras", extras);
42
43
  scope.setContext("error", tryToReport(error));
@@ -77,4 +78,4 @@ export function reportMessage(message, extras) {
77
78
  console.warn(message, extras);
78
79
  });
79
80
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JSZXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lcnJvclJlcG9ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUksS0FBZSxFQUFFLElBQVksRUFBcUIsRUFBRTtJQUN2RixJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksY0FBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxRixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsSUFBWTtJQUVaLE9BQU8sQ0FBQyxLQUEyQixFQUFFLE1BQWdDLEVBQXdDLEVBQUUsQ0FDN0csTUFBTTtTQUNILEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDWixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25DLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENB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
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JSZXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lcnJvclJlcG9ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUVsRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFJLEtBQWUsRUFBRSxJQUFZLEVBQXFCLEVBQUU7SUFDdkYsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUYsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxXQUFXLENBQ3pCLElBQVk7SUFFWixPQUFPLENBQ0wsS0FBMkIsRUFDM0IsTUFBZ0MsRUFDaEMsUUFBMkIsUUFBUSxDQUFDLEtBQUssRUFDSCxFQUFFLENBQ3hDLE1BQU07U0FDSCxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ1osSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FB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
package/dist/lib.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type Pausable, type UseIntervalFnOptions } from "@vueuse/core";
2
- import type { Runtime } from "effect-app";
3
- import { Cause, Effect } from "effect-app";
2
+ import type { Effect, Runtime } from "effect-app";
3
+ import { Cause } from "effect-app";
4
4
  import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor";
5
5
  import type { MaybeRefOrGetter, ShallowRef } from "vue";
6
6
  export * as Result from "@effect-rx/rx/Result";
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAiB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAQ,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAGvD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAG9C,eAAO,MAAM,kBAAkB,UAAW,KAAK,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,yCA6BtF,CAAA;AAIJ,eAAO,MAAM,YAAY,aAAc;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,0BAGxC,CAAA;AAEf,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,oBAM5B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;;EAU1D;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,WAAW,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,uBAGhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,qBAAqB,EAC5D,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAClD,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACxE,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,qBAAqB,EACzD,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EACtC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACpD,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;CAMtC,CAAA"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAiB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,KAAK,EAAkB,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAGvD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AA0B9C,eAAO,MAAM,kBAAkB,UAAW,KAAK,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,yCAC/B,CAAA;AAI3D,eAAO,MAAM,YAAY,aAAc;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,0BAGxC,CAAA;AAEf,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,oBAM5B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;;EAU1D;AAED,eAAO,MAAM,UAAU,GAAI,CAAC,WAAW,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,uBAGhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,qBAAqB,EAC5D,IAAI,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAClD,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACxE,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,SAAS,qBAAqB,EACzD,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EACtC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACpD,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;CAMtC,CAAA"}
package/dist/lib.js CHANGED
@@ -1,35 +1,29 @@
1
1
  import { isHttpClientError } from "@effect/platform/HttpClientError";
2
2
  import { useIntervalFn } from "@vueuse/core";
3
- import { Cause, Effect, pipe } from "effect-app";
4
- import { reportError, reportMessage } from "./errorReporter.js";
3
+ import { Cause, LogLevel, pipe } from "effect-app";
4
+ import { reportError } from "./errorReporter.js";
5
5
  export * as Result from "@effect-rx/rx/Result";
6
6
  const reportRuntimeError_ = reportError("Runtime");
7
- export const reportRuntimeError = (cause, extras) => Effect.gen(function* () {
7
+ const determineLevel = (cause) => {
8
8
  const sq = Cause.squash(cause);
9
9
  if (!isHttpClientError(sq)) {
10
10
  // TODO: we should only skip this on Configurator/Magento...
11
- if (String(sq).includes("@effect/rpc: handler must return an array of responses with the same length as the requests.")) {
12
- yield* reportMessage("RPC error", { ...extras, cause });
13
- return;
14
- }
15
- return yield* reportRuntimeError_(cause, extras);
11
+ return String(sq).includes("@effect/rpc: handler must return an array of responses with the same length as the requests.")
12
+ ? LogLevel.Warning
13
+ : undefined;
16
14
  }
17
- if (sq._tag === "RequestError") {
18
- if (sq.reason === "Transport") {
19
- yield* reportMessage("Transport error", { ...extras, cause });
20
- return;
21
- }
15
+ switch (sq._tag) {
16
+ case "RequestError":
17
+ return sq.reason === "Transport" ? LogLevel.Info : undefined;
18
+ case "ResponseError":
19
+ return sq.reason === "Decode"
20
+ // we get this incase of Magento Proxy error (e.g returning 500 with html)
21
+ // TODO: we should only skip this on Configurator/Magento...
22
+ ? LogLevel.Warning
23
+ : undefined;
22
24
  }
23
- else if (sq._tag === "ResponseError") {
24
- if (sq.reason === "Decode") {
25
- // we get this incase of Magento Proxy error :/
26
- // TODO: we should only skip this on Configurator/Magento...
27
- yield* reportMessage("Decode error", { ...extras, cause });
28
- return;
29
- }
30
- }
31
- return yield* reportRuntimeError_(cause, extras);
32
- });
25
+ };
26
+ export const reportRuntimeError = (cause, extras) => reportRuntimeError_(cause, extras, determineLevel(cause));
33
27
  // $Project/$Configuration.Index
34
28
  // -> "$Project", "$Configuration", "Index"
35
29
  export const makeQueryKey = ({ name }) => pipe(name.split("/"), (split) => split.map((_) => "$" + _))
@@ -62,4 +56,4 @@ export const mapHandler = (self, map) => ({
62
56
  ? (i) => map(self.handler)(i)
63
57
  : map(self.handler)
64
58
  });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNwRSxPQUFPLEVBQWlCLGFBQWEsRUFBNkIsTUFBTSxjQUFjLENBQUE7QUFFdEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFL0QsT0FBTyxLQUFLLE1BQU0sTUFBTSxzQkFBc0IsQ0FBQTtBQUU5QyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsTUFBZ0MsRUFBRSxFQUFFLENBQzVGLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ2xCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDM0IsNERBQTREO1FBQzVELElBQ0UsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FDakIsOEZBQThGLENBQy9GLEVBQ0QsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1lBQ3ZELE9BQU07UUFDUixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUMvQixJQUFJ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
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUNwRSxPQUFPLEVBQWlCLGFBQWEsRUFBNkIsTUFBTSxjQUFjLENBQUE7QUFFdEYsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUVoRCxPQUFPLEtBQUssTUFBTSxNQUFNLHNCQUFzQixDQUFBO0FBRTlDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRWxELE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQy9DLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDM0IsNERBQTREO1FBQzVELE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FDdEIsOEZBQThGLENBQy9GO1lBQ0QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDZixDQUFDO0lBQ0QsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsS0FBSyxjQUFjO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUM5RCxLQUFLLGVBQWU7WUFDbEIsT0FBTyxFQUFFLENBQUMsTUFBTSxLQUFLLFFBQVE7Z0JBQzNCLDBFQUEwRTtnQkFDMUUsNERBQTREO2dCQUM1RCxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU87Z0JBQ2xCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDakIsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDNUYsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUUzRCxnQ0FBZ0M7QUFDaEMsMkNBQTJDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFvQixFQUFFLEVBQUUsQ0FDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUN4RCxJQUFJLENBQUMsR0FBRyxDQUFDO0tBQ1QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBRWYsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxFQUFZLEVBQ1osR0FBMkI7SUFFM0IsT0FBTyxPQUFPO1NBQ1gsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCLENBQzdDLEdBQTJCLEVBQzNCLFFBQW1DLEVBQ25DLE9BQXlEO0lBRXpELE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FDdEIsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUNuQyxRQUFRLEVBQ1IsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzdELENBQUE7SUFDRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRO0tBQ3RCLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUksT0FBbUQsRUFBRSxFQUFFO0lBQ25GLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtJQUM3RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUE7QUFDdEIsQ0FBQyxDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQVNuQixDQUFDLElBQVMsRUFBRSxHQUFRLEVBQU8sRUFBRSxDQUFDLENBQUM7SUFDakMsR0FBRyxJQUFJO0lBQ1AsT0FBTyxFQUFFLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVO1FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUE0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztDQUN0QixDQUFDLENBQUEifQ==
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@effect-app/vue",
3
- "version": "2.28.1",
3
+ "version": "2.30.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",
7
7
  "dependencies": {
8
8
  "@formatjs/intl": "^3.1.4",
9
- "@tanstack/vue-query": "^5.66.4",
9
+ "@tanstack/vue-query": "^5.66.9",
10
10
  "@vueuse/core": "^12.7.0",
11
11
  "query-string": "^9.1.1",
12
- "effect-app": "2.28.0"
12
+ "effect-app": "2.30.0"
13
13
  },
14
14
  "peerDependencies": {
15
- "@effect/platform": "^0.77.2",
16
- "@effect/platform-browser": "^0.56.2",
15
+ "@effect/platform": "^0.77.3",
16
+ "@effect/platform-browser": "^0.56.3",
17
17
  "@effect-rx/rx": "^0.34.7",
18
18
  "@effect-rx/rx-vue": "^0.11.7",
19
- "@sentry/browser": "^9.1.0",
20
- "effect": "^3.13.2",
19
+ "@sentry/browser": "^9.2.0",
20
+ "effect": "^3.13.3",
21
21
  "vue": "^3.5.13"
22
22
  },
23
23
  "devDependencies": {
@@ -26,14 +26,14 @@
26
26
  "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
27
27
  "@babel/plugin-syntax-import-attributes": "^7.26.0",
28
28
  "@babel/plugin-transform-modules-commonjs": "^7.26.3",
29
- "babel-plugin-replace-import-extension": "^1.1.4",
29
+ "babel-plugin-replace-import-extension": "^1.1.5",
30
30
  "@rollup/pluginutils": "^5.1.4",
31
- "@types/node": "~22.13.4",
31
+ "@types/node": "~22.13.5",
32
32
  "intl-messageformat": "^10.7.15",
33
33
  "json5": "^2.2.3",
34
34
  "typescript": "^5.7.3",
35
- "vite": "^6.1.1",
36
- "vitest": "^3.0.6"
35
+ "vite": "^6.2.0",
36
+ "vitest": "^3.0.7"
37
37
  },
38
38
  "typesVersions": {
39
39
  "*": {
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
3
3
  import * as Sentry from "@sentry/browser"
4
- import { Cause, Effect } from "effect-app"
4
+ import { Cause, Effect, LogLevel } from "effect-app"
5
5
  import { CauseException, ErrorReported, tryToJson, tryToReport } from "effect-app/client/errors"
6
- import { dropUndefined } from "effect-app/utils"
6
+ import { dropUndefined, LogLevelToSentry } from "effect-app/utils"
7
7
 
8
8
  export const tryCauseException = <E>(cause: Cause<E>, name: string): CauseException<E> => {
9
9
  try {
@@ -16,7 +16,11 @@ export const tryCauseException = <E>(cause: Cause<E>, name: string): CauseExcept
16
16
  export function reportError(
17
17
  name: string
18
18
  ) {
19
- return (cause: Cause.Cause<unknown>, extras?: Record<string, unknown>): Effect.Effect<unknown, never, never> =>
19
+ return (
20
+ cause: Cause.Cause<unknown>,
21
+ extras?: Record<string, unknown>,
22
+ level: LogLevel.LogLevel = LogLevel.Error
23
+ ): Effect.Effect<unknown, never, never> =>
20
24
  Effect
21
25
  .gen(function*() {
22
26
  if (Cause.isInterruptedOnly(cause)) {
@@ -25,9 +29,9 @@ export function reportError(
25
29
  }
26
30
 
27
31
  const error = tryCauseException(cause, name)
28
- yield* reportSentry(error, extras)
32
+ yield* reportSentry(error, extras, LogLevelToSentry(level))
29
33
  yield* Effect
30
- .logError("Reporting error", cause)
34
+ .logWithLevel(level, "Reporting error", cause)
31
35
  .pipe(
32
36
  Effect.annotateLogs(dropUndefined({
33
37
  extras,
@@ -53,10 +57,12 @@ export function reportError(
53
57
 
54
58
  function reportSentry(
55
59
  error: CauseException<unknown>,
56
- extras: Record<string, unknown> | undefined
60
+ extras: Record<string, unknown> | undefined,
61
+ level: Sentry.SeverityLevel = "error"
57
62
  ) {
58
63
  return Effect.sync(() => {
59
64
  const scope = new Sentry.Scope()
65
+ scope.setLevel(level)
60
66
  if (extras) scope.setContext("extras", extras)
61
67
  scope.setContext("error", tryToReport(error) as any)
62
68
  scope.setContext("cause", tryToJson(error.originalCause) as any)
package/src/lib.ts CHANGED
@@ -1,44 +1,39 @@
1
1
  import { isHttpClientError } from "@effect/platform/HttpClientError"
2
2
  import { type Pausable, useIntervalFn, type UseIntervalFnOptions } from "@vueuse/core"
3
- import type { Runtime } from "effect-app"
4
- import { Cause, Effect, pipe } from "effect-app"
3
+ import type { Effect, Runtime } from "effect-app"
4
+ import { Cause, LogLevel, pipe } from "effect-app"
5
5
  import type { RequestHandler, RequestHandlerWithInput, TaggedRequestClassAny } from "effect-app/client/clientFor"
6
6
  import type { MaybeRefOrGetter, ShallowRef } from "vue"
7
- import { reportError, reportMessage } from "./errorReporter.js"
7
+ import { reportError } from "./errorReporter.js"
8
8
 
9
9
  export * as Result from "@effect-rx/rx/Result"
10
10
 
11
11
  const reportRuntimeError_ = reportError("Runtime")
12
- export const reportRuntimeError = (cause: Cause<unknown>, extras?: Record<string, unknown>) =>
13
- Effect.gen(function*() {
14
- const sq = Cause.squash(cause)
15
- if (!isHttpClientError(sq)) {
16
- // TODO: we should only skip this on Configurator/Magento...
17
- if (
18
- String(sq).includes(
19
- "@effect/rpc: handler must return an array of responses with the same length as the requests."
20
- )
21
- ) {
22
- yield* reportMessage("RPC error", { ...extras, cause })
23
- return
24
- }
25
- return yield* reportRuntimeError_(cause, extras)
26
- }
27
- if (sq._tag === "RequestError") {
28
- if (sq.reason === "Transport") {
29
- yield* reportMessage("Transport error", { ...extras, cause })
30
- return
31
- }
32
- } else if (sq._tag === "ResponseError") {
33
- if (sq.reason === "Decode") {
34
- // we get this incase of Magento Proxy error :/
12
+
13
+ const determineLevel = (cause: Cause<unknown>) => {
14
+ const sq = Cause.squash(cause)
15
+ if (!isHttpClientError(sq)) {
16
+ // TODO: we should only skip this on Configurator/Magento...
17
+ return String(sq).includes(
18
+ "@effect/rpc: handler must return an array of responses with the same length as the requests."
19
+ )
20
+ ? LogLevel.Warning
21
+ : undefined
22
+ }
23
+ switch (sq._tag) {
24
+ case "RequestError":
25
+ return sq.reason === "Transport" ? LogLevel.Info : undefined
26
+ case "ResponseError":
27
+ return sq.reason === "Decode"
28
+ // we get this incase of Magento Proxy error (e.g returning 500 with html)
35
29
  // TODO: we should only skip this on Configurator/Magento...
36
- yield* reportMessage("Decode error", { ...extras, cause })
37
- return
38
- }
39
- }
40
- return yield* reportRuntimeError_(cause, extras)
41
- })
30
+ ? LogLevel.Warning
31
+ : undefined
32
+ }
33
+ }
34
+
35
+ export const reportRuntimeError = (cause: Cause<unknown>, extras?: Record<string, unknown>) =>
36
+ reportRuntimeError_(cause, extras, determineLevel(cause))
42
37
 
43
38
  // $Project/$Configuration.Index
44
39
  // -> "$Project", "$Configuration", "Index"
@@ -1 +1 @@
1
- {"version":3,"file":"form.test.d.ts","sourceRoot":"","sources":["../form.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI9B,qBAAa,YAAa,SAAQ,iBAShC;CAAG;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAEvC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAK/B;CAAG;;;;;;;;;;;;;AAEL,cAAM,MAAO,SAAQ,WAEnB;CAAG;;;;;;;;;;;;;AAEL,cAAM,MAAO,SAAQ,WAEnB;CAAG;;;;;;;;;;;;;;;;;;AAEL,cAAM,QAAS,SAAQ,aAGrB;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBL,qBAAa,cAAe,SAAQ,mBAGlC;CAAG"}
1
+ {"version":3,"file":"form.test.d.ts","sourceRoot":"","sources":["../form.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI9B,qBAAa,YAAa,SAAQ,iBAShC;CAAG;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAEvC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAK/B;CAAG;;;;;;;;;;;;;AAEL,cAAM,MAAO,SAAQ,WAEnB;CAAG;;;;;;;;;;;;;AAEL,cAAM,MAAO,SAAQ,WAEnB;CAAG;;;;;;;;;;;;;;;;;;AAEL,cAAM,QAAS,SAAQ,aAGrB;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBL,qBAAa,cAAe,SAAQ,mBAGlC;CAAG"}