effect-app 4.0.0-beta.46 → 4.0.0-beta.48
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 +12 -0
- package/dist/Schema.d.ts +0 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +1 -3
- package/dist/client/errors.d.ts +8 -0
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +34 -10
- package/package.json +2 -2
- package/src/Schema.ts +0 -2
- package/src/client/errors.ts +33 -9
- package/test/special.test.ts +55 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.48
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0c88f78: Remove `TaggedError` compatibility re-export, use `TaggedErrorClass` directly
|
|
8
|
+
|
|
9
|
+
## 4.0.0-beta.47
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 3365758: workaround effect error messages
|
|
14
|
+
|
|
3
15
|
## 4.0.0-beta.46
|
|
4
16
|
|
|
5
17
|
## 4.0.0-beta.45
|
package/dist/Schema.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import type { NonEmptyReadonlyArray } from "./Array.js";
|
|
|
4
4
|
import { Email as EmailT, type Email as EmailType } from "./Schema/email.js";
|
|
5
5
|
import { PhoneNumber as PhoneNumberT, type PhoneNumber as PhoneNumberType } from "./Schema/phoneNumber.js";
|
|
6
6
|
export * from "effect/Schema";
|
|
7
|
-
export { TaggedErrorClass as TaggedError } from "effect/Schema";
|
|
8
7
|
export * from "./Schema/Class.js";
|
|
9
8
|
export { Class, TaggedClass } from "./Schema/Class.js";
|
|
10
9
|
export { fromBrand, nominal } from "./Schema/brand.js";
|
package/dist/Schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG1G,cAAc,eAAe,CAAA;AAE7B,
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG1G,cAAc,eAAe,CAAA;AAE7B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjI,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,eAAe,CAAA;AAE7C,eAAO,MAAM,MAAM,eAAW,CAAA;AAC9B,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC,MAAM,WAAW,gBAAgB;IAC/B,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAA;CACvB;AAKD,eAAO,MAAM,KAAK,iGAOf,CAAA;AAEH,MAAM,MAAM,KAAK,GAAG,SAAS,CAAA;AAE7B,eAAO,MAAM,WAAW,mQAQrB,CAAA;AAEH,MAAM,MAAM,WAAW,GAAG,eAAe,CAAA;AAqCzC,eAAO,MAAM,IAAI,GACf,OAAO,SAAS,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC,EAE7F,MAAM,OAAO,KAMR,CAAC,CAAC,QAAQ,CACb,GACG,KAAK,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GACzD,CACF,CAAA;AAEH,KAAK,kBAAkB,GAAG,qBAAqB,CAC7C,CAAC,CAAC,GAAG,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CACrD,CAAA;AAED,KAAK,eAAe,CAAC,OAAO,SAAS,kBAAkB,IAAI,CAAC,CAAC,QAAQ,CACnE;KACG,KAAK,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;CACzD,CACF,CAAA;AAED,KAAK,mBAAmB,CAAC,OAAO,SAAS,kBAAkB,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAChG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;CACxC,CAAA;AAMD,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,kBAAkB,EAClE,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KACvB,mBAAmB,CAAC,OAAO,CAAsC,CAAA;AAEpE,eAAO,MAAM,WAAW,GACtB,OAAO,SAAS,kBAAkB,EAClC,GAAG,GAAG,OAAO,KAAG,mBAAmB,CAAC,OAAO,CAA0C,CAAA"}
|
package/dist/Schema.js
CHANGED
|
@@ -6,8 +6,6 @@ import { withDefaultMake } from "./Schema/ext.js";
|
|
|
6
6
|
import { PhoneNumber as PhoneNumberT } from "./Schema/phoneNumber.js";
|
|
7
7
|
import { extendM } from "./utils.js";
|
|
8
8
|
export * from "effect/Schema";
|
|
9
|
-
// v4: TaggedError renamed to TaggedErrorClass
|
|
10
|
-
export { TaggedErrorClass as TaggedError } from "effect/Schema";
|
|
11
9
|
export * from "./Schema/Class.js";
|
|
12
10
|
export { Class, TaggedClass } from "./Schema/Class.js";
|
|
13
11
|
export { fromBrand, nominal } from "./Schema/brand.js";
|
|
@@ -76,4 +74,4 @@ export const tags = (self) => S.Literals(self.map(getTagFromAST));
|
|
|
76
74
|
const extendTaggedUnionWithTags = (schema) => extendM(schema.pipe(S.toTaggedUnion("_tag")), () => ({ tags: tags(schema.members) }));
|
|
77
75
|
export const ExtendTaggedUnion = (schema) => extendTaggedUnionWithTags(schema);
|
|
78
76
|
export const TaggedUnion = (...a) => extendTaggedUnionWithTags(S.Union(a));
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sUUFBUSxDQUFBO0FBQy9DLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQTJCLE1BQU0sbUJBQW1CLENBQUE7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxXQUFXLElBQUksWUFBWSxFQUF1QyxNQUFNLHlCQUF5QixDQUFBO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFcEMsY0FBYyxlQUFlLENBQUE7QUFFN0IsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNqSSxPQUFPLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXpELGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xD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
|
package/dist/client/errors.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare class NotFoundError<ItemType = string> extends NotFoundError_base
|
|
|
15
15
|
cause?: unknown;
|
|
16
16
|
}, disableValidation?: boolean);
|
|
17
17
|
get message(): string;
|
|
18
|
+
toString(): string;
|
|
18
19
|
}
|
|
19
20
|
declare const InvalidStateError_base: S.ErrorClass<InvalidStateError, S.TaggedStruct<"InvalidStateError", {
|
|
20
21
|
readonly message: S.String;
|
|
@@ -24,6 +25,7 @@ export declare class InvalidStateError extends InvalidStateError_base {
|
|
|
24
25
|
message: string;
|
|
25
26
|
cause?: unknown;
|
|
26
27
|
}, disableValidation?: boolean);
|
|
28
|
+
toString(): string;
|
|
27
29
|
}
|
|
28
30
|
declare const ServiceUnavailableError_base: S.ErrorClass<ServiceUnavailableError, S.TaggedStruct<"ServiceUnavailableError", {
|
|
29
31
|
readonly message: S.String;
|
|
@@ -33,6 +35,7 @@ export declare class ServiceUnavailableError extends ServiceUnavailableError_bas
|
|
|
33
35
|
message: string;
|
|
34
36
|
cause?: unknown;
|
|
35
37
|
}, disableValidation?: boolean);
|
|
38
|
+
toString(): string;
|
|
36
39
|
}
|
|
37
40
|
declare const ValidationError_base: S.ErrorClass<ValidationError, S.TaggedStruct<"ValidationError", {
|
|
38
41
|
readonly errors: S.$Array<S.Unknown> & {
|
|
@@ -45,6 +48,7 @@ export declare class ValidationError extends ValidationError_base {
|
|
|
45
48
|
cause?: unknown;
|
|
46
49
|
}, disableValidation?: boolean);
|
|
47
50
|
get message(): string;
|
|
51
|
+
toString(): string;
|
|
48
52
|
}
|
|
49
53
|
declare const NotLoggedInError_base: S.ErrorClass<NotLoggedInError, S.TaggedStruct<"NotLoggedInError", {
|
|
50
54
|
readonly message: S.String;
|
|
@@ -54,6 +58,7 @@ export declare class NotLoggedInError extends NotLoggedInError_base {
|
|
|
54
58
|
message: string;
|
|
55
59
|
cause?: unknown;
|
|
56
60
|
}, disableValidation?: boolean);
|
|
61
|
+
toString(): string;
|
|
57
62
|
}
|
|
58
63
|
declare const LoginError_base: S.ErrorClass<LoginError, S.TaggedStruct<"NotLoggedInError", {
|
|
59
64
|
readonly message: S.String;
|
|
@@ -66,6 +71,7 @@ export declare class LoginError extends LoginError_base {
|
|
|
66
71
|
message: string;
|
|
67
72
|
cause?: unknown;
|
|
68
73
|
}, disableValidation?: boolean);
|
|
74
|
+
toString(): string;
|
|
69
75
|
}
|
|
70
76
|
declare const UnauthorizedError_base: S.ErrorClass<UnauthorizedError, S.TaggedStruct<"UnauthorizedError", {
|
|
71
77
|
readonly message: S.String;
|
|
@@ -75,6 +81,7 @@ export declare class UnauthorizedError extends UnauthorizedError_base {
|
|
|
75
81
|
message: string;
|
|
76
82
|
cause?: unknown;
|
|
77
83
|
}, disableValidation?: boolean);
|
|
84
|
+
toString(): string;
|
|
78
85
|
}
|
|
79
86
|
type OptimisticConcurrencyDetails = {
|
|
80
87
|
readonly type: string;
|
|
@@ -94,6 +101,7 @@ export declare class OptimisticConcurrencyException extends OptimisticConcurrenc
|
|
|
94
101
|
cause?: unknown;
|
|
95
102
|
raw?: unknown;
|
|
96
103
|
}), disableValidation?: boolean);
|
|
104
|
+
toString(): string;
|
|
97
105
|
}
|
|
98
106
|
export declare const SupportedErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError]>;
|
|
99
107
|
export type SupportedErrors = S.Schema.Type<typeof SupportedErrors>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,eAAO,MAAM,SAAS,GAAI,OAAO;IAAE,MAAM,IAAI,OAAO,CAAC;IAAC,QAAQ,IAAI,MAAM,CAAA;CAAE,YAczE,CAAA;;;;;AAID,qBAAa,aAAa,CAAC,QAAQ,GAAG,MAAM,CAAE,SAAQ,kBAGpD;gBAEE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EACrD,iBAAiB,CAAC,EAAE,OAAO;IAI7B,IAAa,OAAO,WAEnB;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/client/errors.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @effect-diagnostics overriddenSchemaConstructor:skip-file */
|
|
2
|
-
import {
|
|
2
|
+
import { TaggedErrorClass } from "effect-app/Schema";
|
|
3
3
|
import * as Cause from "effect/Cause";
|
|
4
4
|
import * as S from "../Schema.js";
|
|
5
5
|
export const tryToJson = (error) => {
|
|
@@ -22,7 +22,7 @@ export const tryToJson = (error) => {
|
|
|
22
22
|
};
|
|
23
23
|
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
24
24
|
// @ts-expect-error type not used
|
|
25
|
-
export class NotFoundError extends
|
|
25
|
+
export class NotFoundError extends TaggedErrorClass()("NotFoundError", {
|
|
26
26
|
type: S.String,
|
|
27
27
|
id: S.Unknown
|
|
28
28
|
}) {
|
|
@@ -32,23 +32,32 @@ export class NotFoundError extends TaggedError()("NotFoundError", {
|
|
|
32
32
|
get message() {
|
|
33
33
|
return `Didn't find ${this.type}#${JSON.stringify(this.id)}`;
|
|
34
34
|
}
|
|
35
|
+
toString() {
|
|
36
|
+
return `NotFoundError: ${this.message}`;
|
|
37
|
+
}
|
|
35
38
|
}
|
|
36
39
|
const messageFallback = (messageOrObject) => typeof messageOrObject === "object" ? messageOrObject : { message: messageOrObject ?? "" };
|
|
37
|
-
export class InvalidStateError extends
|
|
40
|
+
export class InvalidStateError extends TaggedErrorClass()("InvalidStateError", {
|
|
38
41
|
message: S.String
|
|
39
42
|
}) {
|
|
40
43
|
constructor(messageOrObject, disableValidation) {
|
|
41
44
|
super(typeof messageOrObject === "object" ? messageOrObject : { message: messageOrObject }, disableValidation);
|
|
42
45
|
}
|
|
46
|
+
toString() {
|
|
47
|
+
return `InvalidStateError: ${this.message}`;
|
|
48
|
+
}
|
|
43
49
|
}
|
|
44
|
-
export class ServiceUnavailableError extends
|
|
50
|
+
export class ServiceUnavailableError extends TaggedErrorClass()("ServiceUnavailableError", {
|
|
45
51
|
message: S.String
|
|
46
52
|
}) {
|
|
47
53
|
constructor(messageOrObject, disableValidation) {
|
|
48
54
|
super(typeof messageOrObject === "object" ? messageOrObject : { message: messageOrObject }, disableValidation);
|
|
49
55
|
}
|
|
56
|
+
toString() {
|
|
57
|
+
return `ServiceUnavailableError: ${this.message}`;
|
|
58
|
+
}
|
|
50
59
|
}
|
|
51
|
-
export class ValidationError extends
|
|
60
|
+
export class ValidationError extends TaggedErrorClass()("ValidationError", {
|
|
52
61
|
errors: S.Array(S.Unknown)
|
|
53
62
|
}) {
|
|
54
63
|
constructor(props, disableValidation) {
|
|
@@ -57,32 +66,44 @@ export class ValidationError extends TaggedError()("ValidationError", {
|
|
|
57
66
|
get message() {
|
|
58
67
|
return `Validation failed: ${this.errors.map((e) => JSON.stringify(e, undefined, 2)).join(",\n")}`;
|
|
59
68
|
}
|
|
69
|
+
toString() {
|
|
70
|
+
return `ValidationError: ${this.message}`;
|
|
71
|
+
}
|
|
60
72
|
}
|
|
61
|
-
export class NotLoggedInError extends
|
|
73
|
+
export class NotLoggedInError extends TaggedErrorClass()("NotLoggedInError", {
|
|
62
74
|
message: S.String
|
|
63
75
|
}) {
|
|
64
76
|
constructor(messageOrObject, disableValidation) {
|
|
65
77
|
super(messageFallback(messageOrObject), disableValidation);
|
|
66
78
|
}
|
|
79
|
+
toString() {
|
|
80
|
+
return `NotLoggedInError: ${this.message}`;
|
|
81
|
+
}
|
|
67
82
|
}
|
|
68
83
|
/**
|
|
69
84
|
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
70
85
|
*/
|
|
71
|
-
export class LoginError extends
|
|
86
|
+
export class LoginError extends TaggedErrorClass()("NotLoggedInError", {
|
|
72
87
|
message: S.String
|
|
73
88
|
}) {
|
|
74
89
|
constructor(messageOrObject, disableValidation) {
|
|
75
90
|
super(messageFallback(messageOrObject), disableValidation);
|
|
76
91
|
}
|
|
92
|
+
toString() {
|
|
93
|
+
return `LoginError: ${this.message}`;
|
|
94
|
+
}
|
|
77
95
|
}
|
|
78
|
-
export class UnauthorizedError extends
|
|
96
|
+
export class UnauthorizedError extends TaggedErrorClass()("UnauthorizedError", {
|
|
79
97
|
message: S.String
|
|
80
98
|
}) {
|
|
81
99
|
constructor(messageOrObject, disableValidation) {
|
|
82
100
|
super(messageFallback(messageOrObject), disableValidation);
|
|
83
101
|
}
|
|
102
|
+
toString() {
|
|
103
|
+
return `UnauthorizedError: ${this.message}`;
|
|
104
|
+
}
|
|
84
105
|
}
|
|
85
|
-
export class OptimisticConcurrencyException extends
|
|
106
|
+
export class OptimisticConcurrencyException extends TaggedErrorClass()("OptimisticConcurrencyException", { message: S.String }) {
|
|
86
107
|
details;
|
|
87
108
|
raw;
|
|
88
109
|
constructor(args, disableValidation) {
|
|
@@ -91,6 +112,9 @@ export class OptimisticConcurrencyException extends TaggedError()("OptimisticCon
|
|
|
91
112
|
this.details = args;
|
|
92
113
|
}
|
|
93
114
|
}
|
|
115
|
+
toString() {
|
|
116
|
+
return `OptimisticConcurrencyException: ${this.message}`;
|
|
117
|
+
}
|
|
94
118
|
}
|
|
95
119
|
const MutationOnlyErrors = [
|
|
96
120
|
InvalidStateError,
|
|
@@ -189,4 +213,4 @@ export const tryToReport = (error) => {
|
|
|
189
213
|
}
|
|
190
214
|
}
|
|
191
215
|
};
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3BELE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxDQUFDLE1BQU0sY0FBYyxDQUFBO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWdELEVBQUUsRUFBRTtJQUM1RSxJQUFJLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0gsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDekIsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUM7Z0JBQ0gsT0FBTyw0QkFBNEIsR0FBRyxFQUFFLENBQUE7WUFDMUMsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxPQUFPLDBDQUEwQyxDQUFBO1lBQ25ELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELHlEQUF5RDtBQUN6RCxpQ0FBaUM7QUFDakMsTUFBTSxPQUFPLGFBQWlDLFNBQVEsZ0JBQWdCLEVBQTJCLENBQUMsZUFBZSxFQUFFO0lBQ2pILElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNkLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTztDQUNkLENBQUM7SUFDQSxZQUNFLEtBQXFELEVBQ3JELGlCQUEyQjtRQUUzQixLQUFLLENBQUMsS0FBWSxFQUFFLGlCQUF3QixDQUFDLENBQUE7SUFDL0MsQ0FBQztJQUNELElBQWEsT0FBTztRQUNsQixPQUFPLGVBQWdCLElBQVksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMs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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.48",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"fast-check": "~4.6.0",
|
|
23
23
|
"typescript": "~6.0.2",
|
|
24
24
|
"vitest": "^4.1.2",
|
|
25
|
-
"@effect-app/eslint-shared-config": "0.5.7-beta.
|
|
25
|
+
"@effect-app/eslint-shared-config": "0.5.7-beta.6"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"effect": "^4.0.0-beta.43"
|
package/src/Schema.ts
CHANGED
|
@@ -8,8 +8,6 @@ import { PhoneNumber as PhoneNumberT, type PhoneNumber as PhoneNumberType } from
|
|
|
8
8
|
import { extendM } from "./utils.js"
|
|
9
9
|
|
|
10
10
|
export * from "effect/Schema"
|
|
11
|
-
// v4: TaggedError renamed to TaggedErrorClass
|
|
12
|
-
export { TaggedErrorClass as TaggedError } from "effect/Schema"
|
|
13
11
|
|
|
14
12
|
export * from "./Schema/Class.js"
|
|
15
13
|
export { Class, TaggedClass } from "./Schema/Class.js"
|
package/src/client/errors.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @effect-diagnostics overriddenSchemaConstructor:skip-file */
|
|
2
|
-
import {
|
|
2
|
+
import { TaggedErrorClass } from "effect-app/Schema"
|
|
3
3
|
import * as Cause from "effect/Cause"
|
|
4
4
|
import * as S from "../Schema.js"
|
|
5
5
|
|
|
@@ -21,7 +21,7 @@ export const tryToJson = (error: { toJSON(): unknown; toString(): string }) => {
|
|
|
21
21
|
|
|
22
22
|
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
23
23
|
// @ts-expect-error type not used
|
|
24
|
-
export class NotFoundError<ItemType = string> extends
|
|
24
|
+
export class NotFoundError<ItemType = string> extends TaggedErrorClass<NotFoundError<ItemType>>()("NotFoundError", {
|
|
25
25
|
type: S.String,
|
|
26
26
|
id: S.Unknown
|
|
27
27
|
}) {
|
|
@@ -34,12 +34,15 @@ export class NotFoundError<ItemType = string> extends TaggedError<NotFoundError<
|
|
|
34
34
|
override get message() {
|
|
35
35
|
return `Didn't find ${(this as any).type}#${JSON.stringify((this as any).id)}`
|
|
36
36
|
}
|
|
37
|
+
override toString() {
|
|
38
|
+
return `NotFoundError: ${this.message}`
|
|
39
|
+
}
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
const messageFallback = (messageOrObject?: string | { message: string }) =>
|
|
40
43
|
typeof messageOrObject === "object" ? messageOrObject : { message: messageOrObject ?? "" }
|
|
41
44
|
|
|
42
|
-
export class InvalidStateError extends
|
|
45
|
+
export class InvalidStateError extends TaggedErrorClass<InvalidStateError>()("InvalidStateError", {
|
|
43
46
|
message: S.String
|
|
44
47
|
}) {
|
|
45
48
|
constructor(messageOrObject: string | { message: string; cause?: unknown }, disableValidation?: boolean) {
|
|
@@ -48,9 +51,12 @@ export class InvalidStateError extends TaggedError<InvalidStateError>()("Invalid
|
|
|
48
51
|
disableValidation as any
|
|
49
52
|
)
|
|
50
53
|
}
|
|
54
|
+
override toString() {
|
|
55
|
+
return `InvalidStateError: ${this.message}`
|
|
56
|
+
}
|
|
51
57
|
}
|
|
52
58
|
|
|
53
|
-
export class ServiceUnavailableError extends
|
|
59
|
+
export class ServiceUnavailableError extends TaggedErrorClass<ServiceUnavailableError>()("ServiceUnavailableError", {
|
|
54
60
|
message: S.String
|
|
55
61
|
}) {
|
|
56
62
|
constructor(messageOrObject: string | { message: string; cause?: unknown }, disableValidation?: boolean) {
|
|
@@ -59,9 +65,12 @@ export class ServiceUnavailableError extends TaggedError<ServiceUnavailableError
|
|
|
59
65
|
disableValidation as any
|
|
60
66
|
)
|
|
61
67
|
}
|
|
68
|
+
override toString() {
|
|
69
|
+
return `ServiceUnavailableError: ${this.message}`
|
|
70
|
+
}
|
|
62
71
|
}
|
|
63
72
|
|
|
64
|
-
export class ValidationError extends
|
|
73
|
+
export class ValidationError extends TaggedErrorClass<ValidationError>()("ValidationError", {
|
|
65
74
|
errors: S.Array(S.Unknown)
|
|
66
75
|
}) {
|
|
67
76
|
constructor(
|
|
@@ -73,33 +82,45 @@ export class ValidationError extends TaggedError<ValidationError>()("ValidationE
|
|
|
73
82
|
override get message() {
|
|
74
83
|
return `Validation failed: ${(this as any).errors.map((e: any) => JSON.stringify(e, undefined, 2)).join(",\n")}`
|
|
75
84
|
}
|
|
85
|
+
override toString() {
|
|
86
|
+
return `ValidationError: ${this.message}`
|
|
87
|
+
}
|
|
76
88
|
}
|
|
77
89
|
|
|
78
|
-
export class NotLoggedInError extends
|
|
90
|
+
export class NotLoggedInError extends TaggedErrorClass<NotLoggedInError>()("NotLoggedInError", {
|
|
79
91
|
message: S.String
|
|
80
92
|
}) {
|
|
81
93
|
constructor(messageOrObject?: string | { message: string; cause?: unknown }, disableValidation?: boolean) {
|
|
82
94
|
super(messageFallback(messageOrObject) as any, disableValidation as any)
|
|
83
95
|
}
|
|
96
|
+
override toString() {
|
|
97
|
+
return `NotLoggedInError: ${this.message}`
|
|
98
|
+
}
|
|
84
99
|
}
|
|
85
100
|
|
|
86
101
|
/**
|
|
87
102
|
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
88
103
|
*/
|
|
89
|
-
export class LoginError extends
|
|
104
|
+
export class LoginError extends TaggedErrorClass<LoginError>()("NotLoggedInError", {
|
|
90
105
|
message: S.String
|
|
91
106
|
}) {
|
|
92
107
|
constructor(messageOrObject?: string | { message: string; cause?: unknown }, disableValidation?: boolean) {
|
|
93
108
|
super(messageFallback(messageOrObject) as any, disableValidation as any)
|
|
94
109
|
}
|
|
110
|
+
override toString() {
|
|
111
|
+
return `LoginError: ${this.message}`
|
|
112
|
+
}
|
|
95
113
|
}
|
|
96
114
|
|
|
97
|
-
export class UnauthorizedError extends
|
|
115
|
+
export class UnauthorizedError extends TaggedErrorClass<UnauthorizedError>()("UnauthorizedError", {
|
|
98
116
|
message: S.String
|
|
99
117
|
}) {
|
|
100
118
|
constructor(messageOrObject?: string | { message: string; cause?: unknown }, disableValidation?: boolean) {
|
|
101
119
|
super(messageFallback(messageOrObject) as any, disableValidation as any)
|
|
102
120
|
}
|
|
121
|
+
override toString() {
|
|
122
|
+
return `UnauthorizedError: ${this.message}`
|
|
123
|
+
}
|
|
103
124
|
}
|
|
104
125
|
|
|
105
126
|
type OptimisticConcurrencyDetails = {
|
|
@@ -110,7 +131,7 @@ type OptimisticConcurrencyDetails = {
|
|
|
110
131
|
readonly found?: string | undefined
|
|
111
132
|
}
|
|
112
133
|
|
|
113
|
-
export class OptimisticConcurrencyException extends
|
|
134
|
+
export class OptimisticConcurrencyException extends TaggedErrorClass<OptimisticConcurrencyException>()(
|
|
114
135
|
"OptimisticConcurrencyException",
|
|
115
136
|
{ message: S.String }
|
|
116
137
|
) {
|
|
@@ -130,6 +151,9 @@ export class OptimisticConcurrencyException extends TaggedError<OptimisticConcur
|
|
|
130
151
|
this.details = args
|
|
131
152
|
}
|
|
132
153
|
}
|
|
154
|
+
override toString() {
|
|
155
|
+
return `OptimisticConcurrencyException: ${this.message}`
|
|
156
|
+
}
|
|
133
157
|
}
|
|
134
158
|
|
|
135
159
|
const MutationOnlyErrors = [
|
package/test/special.test.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Option, Predicate, Schema, SchemaGetter } from "effect"
|
|
2
|
-
import
|
|
2
|
+
import { InvalidStateError, LoginError, NotFoundError, NotLoggedInError, OptimisticConcurrencyException, ServiceUnavailableError, UnauthorizedError, ValidationError } from "effect-app/client/errors"
|
|
3
3
|
import { Class, TaggedClass } from "effect-app/Schema/Class"
|
|
4
4
|
import { specialJsonSchemaDocument } from "effect-app/Schema/SpecialJsonSchema"
|
|
5
5
|
import { deduplicateOpenApiSchemas } from "effect-app/Schema/SpecialOpenApi"
|
|
6
|
+
import * as S from "effect/Schema"
|
|
6
7
|
import { describe, expect, it } from "vitest"
|
|
7
8
|
|
|
8
9
|
describe("Class", () => {
|
|
@@ -141,6 +142,55 @@ describe("TaggedClass constructor", () => {
|
|
|
141
142
|
})
|
|
142
143
|
})
|
|
143
144
|
|
|
145
|
+
describe("TaggedError", () => {
|
|
146
|
+
it("InvalidStateError toString includes the message", () => {
|
|
147
|
+
const error = new InvalidStateError("something went wrong")
|
|
148
|
+
expect(error.toString()).toContain("something went wrong")
|
|
149
|
+
})
|
|
150
|
+
|
|
151
|
+
it("NotFoundError toString includes the message", () => {
|
|
152
|
+
const error = new NotFoundError({ type: "User", id: "123" })
|
|
153
|
+
expect(error.toString()).toContain("Didn't find User")
|
|
154
|
+
expect(error.toString()).toContain("123")
|
|
155
|
+
})
|
|
156
|
+
|
|
157
|
+
it("ServiceUnavailableError toString includes the message", () => {
|
|
158
|
+
const error = new ServiceUnavailableError("service down")
|
|
159
|
+
expect(error.toString()).toContain("service down")
|
|
160
|
+
})
|
|
161
|
+
|
|
162
|
+
it("ValidationError toString includes the message", () => {
|
|
163
|
+
const error = new ValidationError({ errors: ["field required"] })
|
|
164
|
+
expect(error.toString()).toContain("Validation failed")
|
|
165
|
+
expect(error.toString()).toContain("field required")
|
|
166
|
+
})
|
|
167
|
+
|
|
168
|
+
it("NotLoggedInError toString includes the message", () => {
|
|
169
|
+
const error = new NotLoggedInError("not logged in")
|
|
170
|
+
expect(error.toString()).toContain("not logged in")
|
|
171
|
+
})
|
|
172
|
+
|
|
173
|
+
it("LoginError toString includes the message", () => {
|
|
174
|
+
const error = new LoginError("login failed")
|
|
175
|
+
expect(error.toString()).toContain("login failed")
|
|
176
|
+
})
|
|
177
|
+
|
|
178
|
+
it("UnauthorizedError toString includes the message", () => {
|
|
179
|
+
const error = new UnauthorizedError("forbidden")
|
|
180
|
+
expect(error.toString()).toContain("forbidden")
|
|
181
|
+
})
|
|
182
|
+
|
|
183
|
+
it("OptimisticConcurrencyException toString includes the message", () => {
|
|
184
|
+
const error = new OptimisticConcurrencyException({ message: "conflict" })
|
|
185
|
+
expect(error.toString()).toContain("conflict")
|
|
186
|
+
})
|
|
187
|
+
|
|
188
|
+
it("OptimisticConcurrencyException from details toString includes the message", () => {
|
|
189
|
+
const error = new OptimisticConcurrencyException({ type: "User", id: "123", code: 409 })
|
|
190
|
+
expect(error.toString()).toContain("Existing User 123 record changed")
|
|
191
|
+
})
|
|
192
|
+
})
|
|
193
|
+
|
|
144
194
|
describe("SpecialJsonSchema", () => {
|
|
145
195
|
it("nullable to optional — from NullOr", () => {
|
|
146
196
|
const nullableDecodedUndefinedEncoded = (schema: Schema.Top) => {
|
|
@@ -357,7 +407,8 @@ describe("SpecialOpenApi", () => {
|
|
|
357
407
|
})
|
|
358
408
|
expect(
|
|
359
409
|
result.paths["/bar"].get.responses[200].content["application/json"].schema
|
|
360
|
-
)
|
|
410
|
+
)
|
|
411
|
+
.toStrictEqual({ $ref: "#/components/schemas/X" })
|
|
361
412
|
})
|
|
362
413
|
|
|
363
414
|
it("does not deduplicate entries with different representations", () => {
|
|
@@ -436,7 +487,8 @@ describe("SpecialOpenApi", () => {
|
|
|
436
487
|
})
|
|
437
488
|
expect(
|
|
438
489
|
result.paths["/baz"].post.requestBody.content["application/json"].schema.anyOf[0]
|
|
439
|
-
)
|
|
490
|
+
)
|
|
491
|
+
.toStrictEqual({ $ref: "#/components/schemas/Y" })
|
|
440
492
|
})
|
|
441
493
|
|
|
442
494
|
it("rewrites $ref pointers inside definitions themselves", () => {
|