effect-app 4.0.0-beta.99 → 4.0.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 +2028 -0
- package/dist/Array.d.ts +2 -1
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +4 -4
- package/dist/Chunk.d.ts +2 -2
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Config/SecretURL.d.ts +3 -1
- package/dist/Config/SecretURL.d.ts.map +1 -1
- package/dist/Config/SecretURL.js +3 -6
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
- package/dist/Config/internal/configSecretURL.js +2 -2
- package/dist/Config.d.ts +0 -5
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +7 -5
- package/dist/ConfigProvider.d.ts +0 -37
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -41
- package/dist/Context.d.ts +6 -4
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +4 -3
- package/dist/DataDependencies.d.ts +136 -0
- package/dist/DataDependencies.d.ts.map +1 -0
- package/dist/DataDependencies.js +112 -0
- package/dist/Effect.d.ts +3 -3
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +6 -9
- package/dist/Emailer.d.ts +51 -0
- package/dist/Emailer.d.ts.map +1 -0
- package/dist/Emailer.js +7 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Layer.d.ts +6 -3
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +3 -2
- package/dist/Model/Repository/Registry.d.ts +22 -0
- package/dist/Model/Repository/Registry.d.ts.map +1 -0
- package/dist/Model/Repository/Registry.js +18 -0
- package/dist/Model/Repository/dependency.d.ts +6 -0
- package/dist/Model/Repository/dependency.d.ts.map +1 -0
- package/dist/Model/Repository/dependency.js +29 -0
- package/dist/Model/Repository/ext.d.ts +60 -0
- package/dist/Model/Repository/ext.d.ts.map +1 -0
- package/dist/Model/Repository/ext.js +124 -0
- package/dist/Model/Repository/internal/internal.d.ts +68 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
- package/dist/Model/Repository/internal/internal.js +611 -0
- package/dist/Model/Repository/legacy.d.ts +21 -0
- package/dist/Model/Repository/legacy.d.ts.map +1 -0
- package/dist/Model/Repository/legacy.js +2 -0
- package/dist/Model/Repository/makeRepo.d.ts +71 -0
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
- package/dist/Model/Repository/makeRepo.js +30 -0
- package/dist/Model/Repository/service.d.ts +121 -0
- package/dist/Model/Repository/service.d.ts.map +1 -0
- package/dist/Model/Repository/service.js +2 -0
- package/dist/Model/Repository/validation.d.ts +72 -0
- package/dist/Model/Repository/validation.d.ts.map +1 -0
- package/dist/Model/Repository/validation.js +39 -0
- package/dist/Model/Repository.d.ts +8 -0
- package/dist/Model/Repository.d.ts.map +1 -0
- package/dist/Model/Repository.js +8 -0
- package/dist/Model/dsl.d.ts +33 -0
- package/dist/Model/dsl.d.ts.map +1 -0
- package/dist/Model/dsl.js +43 -0
- package/dist/Model/filter/filterApi.d.ts +30 -0
- package/dist/Model/filter/filterApi.d.ts.map +1 -0
- package/dist/Model/filter/filterApi.js +2 -0
- package/dist/Model/filter/types/errors.d.ts +29 -0
- package/dist/Model/filter/types/errors.d.ts.map +1 -0
- package/dist/Model/filter/types/errors.js +2 -0
- package/dist/Model/filter/types/fields.d.ts +15 -0
- package/dist/Model/filter/types/fields.d.ts.map +1 -0
- package/dist/Model/filter/types/fields.js +2 -0
- package/dist/Model/filter/types/path/common.d.ts +316 -0
- package/dist/Model/filter/types/path/common.d.ts.map +1 -0
- package/dist/Model/filter/types/path/common.js +2 -0
- package/dist/Model/filter/types/path/eager.d.ts +94 -0
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
- package/dist/Model/filter/types/path/eager.js +36 -0
- package/dist/Model/filter/types/path/index.d.ts +4 -0
- package/dist/Model/filter/types/path/index.d.ts.map +1 -0
- package/dist/Model/filter/types/path/index.js +3 -0
- package/dist/Model/filter/types/utils.d.ts +79 -0
- package/dist/Model/filter/types/utils.d.ts.map +1 -0
- package/dist/Model/filter/types/utils.js +2 -0
- package/dist/Model/filter/types/validator.d.ts +30 -0
- package/dist/Model/filter/types/validator.d.ts.map +1 -0
- package/dist/Model/filter/types/validator.js +2 -0
- package/dist/Model/filter/types.d.ts +5 -0
- package/dist/Model/filter/types.d.ts.map +1 -0
- package/dist/Model/filter/types.js +7 -0
- package/dist/Model/query/dsl.d.ts +630 -0
- package/dist/Model/query/dsl.d.ts.map +1 -0
- package/dist/Model/query/dsl.js +376 -0
- package/dist/Model/query/new-kid-interpreter.d.ts +132 -0
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
- package/dist/Model/query/new-kid-interpreter.js +370 -0
- package/dist/Model/query.d.ts +15 -0
- package/dist/Model/query.d.ts.map +1 -0
- package/dist/Model/query.js +3 -0
- package/dist/Model.d.ts +6 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +6 -0
- package/dist/NonEmptySet.d.ts +3 -1
- package/dist/NonEmptySet.d.ts.map +1 -1
- package/dist/NonEmptySet.js +2 -2
- package/dist/Option.d.ts +1 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +3 -1
- package/dist/Pure.d.ts +5 -3
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +5 -2
- package/dist/QueueMaker.d.ts +11 -0
- package/dist/QueueMaker.d.ts.map +1 -0
- package/dist/QueueMaker.js +11 -0
- package/dist/RequestContext.d.ts +87 -0
- package/dist/RequestContext.d.ts.map +1 -0
- package/dist/RequestContext.js +45 -0
- package/dist/RequestScopedDependencies.d.ts +21 -0
- package/dist/RequestScopedDependencies.d.ts.map +1 -0
- package/dist/RequestScopedDependencies.js +16 -0
- package/dist/Schema/Class.d.ts +163 -16
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +193 -21
- package/dist/Schema/FastCheck.d.ts.map +1 -1
- package/dist/Schema/SchemaParser.d.ts +5 -0
- package/dist/Schema/SchemaParser.d.ts.map +1 -0
- package/dist/Schema/SchemaParser.js +6 -0
- package/dist/Schema/SpecialJsonSchema.d.ts +15 -2
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -1
- package/dist/Schema/SpecialJsonSchema.js +70 -12
- package/dist/Schema/SpecialOpenApi.d.ts +1 -1
- package/dist/Schema/SpecialOpenApi.js +3 -3
- package/dist/Schema/brand.d.ts +5 -5
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +6 -4
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +8 -5
- package/dist/Schema/ext.d.ts +297 -72
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +331 -67
- package/dist/Schema/moreStrings.d.ts +82 -48
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +85 -51
- package/dist/Schema/numbers.d.ts +33 -21
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +64 -12
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +6 -6
- package/dist/Schema/schema.d.ts +1 -1
- package/dist/Schema/schema.d.ts.map +1 -1
- package/dist/Schema/schema.js +2 -2
- package/dist/Schema/strings.d.ts +18 -4
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +1 -5
- package/dist/Schema.d.ts +223 -6
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +189 -23
- package/dist/SchemaAST.d.ts +2 -0
- package/dist/SchemaAST.d.ts.map +1 -0
- package/dist/SchemaAST.js +2 -0
- package/dist/Set.d.ts +4 -1
- package/dist/Set.d.ts.map +1 -1
- package/dist/Set.js +3 -2
- package/dist/Store.d.ts +215 -0
- package/dist/Store.d.ts.map +1 -0
- package/dist/Store.js +113 -0
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +4 -2
- package/dist/_ext/misc.d.ts +4 -1
- package/dist/_ext/misc.d.ts.map +1 -1
- package/dist/_ext/misc.js +4 -2
- package/dist/_ext/ord.ext.d.ts +2 -1
- package/dist/_ext/ord.ext.d.ts.map +1 -1
- package/dist/_ext/ord.ext.js +2 -2
- package/dist/builtin.d.ts +2 -14
- package/dist/builtin.d.ts.map +1 -1
- package/dist/builtin.js +1 -1
- package/dist/client/InvalidationKeys.d.ts +30 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +37 -0
- package/dist/client/apiClientFactory.d.ts +13 -8
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +148 -29
- package/dist/client/clientFor.d.ts +48 -13
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +9 -1
- package/dist/client/errors.d.ts +74 -28
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +41 -10
- package/dist/client/makeClient.d.ts +487 -32
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +47 -21
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -1
- package/dist/faker.d.ts.map +1 -1
- package/dist/http/Request.d.ts +2 -2
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +2 -2
- package/dist/http/internal/lib.d.ts +12 -12
- package/dist/http/internal/lib.d.ts.map +1 -1
- package/dist/http/internal/lib.js +13 -13
- package/dist/ids.d.ts +32 -14
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +38 -7
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/middleware.d.ts +12 -6
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +13 -7
- package/dist/rpc/Invalidation.d.ts +1124 -0
- package/dist/rpc/Invalidation.d.ts.map +1 -0
- package/dist/rpc/Invalidation.js +178 -0
- package/dist/rpc/MiddlewareMaker.d.ts +10 -7
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +57 -37
- package/dist/rpc/RpcContextMap.d.ts +2 -2
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.d.ts +13 -10
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +2 -2
- package/dist/rpc.d.ts +1 -1
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -2
- package/dist/runtime.d.ts +19 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +40 -0
- package/dist/setupRequest.d.ts +20 -0
- package/dist/setupRequest.d.ts.map +1 -0
- package/dist/setupRequest.js +72 -0
- package/dist/toast.d.ts +51 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +34 -0
- package/dist/transform.d.ts +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +4 -5
- package/dist/utils/effectify.d.ts +1 -1
- package/dist/utils/effectify.d.ts.map +1 -1
- package/dist/utils/effectify.js +2 -2
- package/dist/utils/extend.d.ts +6 -1
- package/dist/utils/extend.d.ts.map +1 -1
- package/dist/utils/extend.js +24 -6
- package/dist/utils/gen.d.ts +4 -4
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logLevel.d.ts +2 -2
- package/dist/utils/logLevel.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +2 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils.d.ts +34 -39
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +33 -37
- package/dist/validation/validators.d.ts.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/withToast.d.ts +30 -0
- package/dist/withToast.d.ts.map +1 -0
- package/dist/withToast.js +64 -0
- package/package.json +26 -266
- package/src/Array.ts +5 -5
- package/src/Chunk.ts +3 -3
- package/src/Config/SecretURL.ts +6 -3
- package/src/Config/internal/configSecretURL.ts +2 -2
- package/src/Config.ts +6 -13
- package/src/ConfigProvider.ts +4 -47
- package/src/Context.ts +9 -8
- package/src/DataDependencies.ts +171 -0
- package/src/Effect.ts +9 -12
- package/src/Emailer.ts +51 -0
- package/src/Inputify.type.ts +1 -1
- package/src/Layer.ts +8 -5
- package/src/Model/Repository/Registry.ts +35 -0
- package/src/Model/Repository/dependency.ts +32 -0
- package/src/Model/Repository/ext.ts +374 -0
- package/src/Model/Repository/internal/internal.ts +988 -0
- package/src/Model/Repository/legacy.ts +29 -0
- package/src/Model/Repository/makeRepo.ts +168 -0
- package/src/Model/Repository/service.ts +676 -0
- package/src/Model/Repository/validation.ts +38 -0
- package/src/Model/Repository.ts +7 -0
- package/src/Model/dsl.ts +129 -0
- package/src/Model/filter/filterApi.ts +78 -0
- package/src/Model/filter/types/errors.ts +47 -0
- package/src/Model/filter/types/fields.ts +50 -0
- package/src/Model/filter/types/path/common.ts +404 -0
- package/src/Model/filter/types/path/eager.ts +329 -0
- package/src/Model/filter/types/path/index.ts +4 -0
- package/src/Model/filter/types/utils.ts +128 -0
- package/src/Model/filter/types/validator.ts +46 -0
- package/src/Model/filter/types.ts +6 -0
- package/src/Model/query/dsl.ts +3092 -0
- package/src/Model/query/new-kid-interpreter.ts +532 -0
- package/src/Model/query.ts +13 -0
- package/src/Model.ts +5 -0
- package/src/NonEmptySet.ts +6 -4
- package/src/Option.ts +2 -0
- package/src/Pure.ts +6 -3
- package/src/QueueMaker.ts +11 -0
- package/src/RequestContext.ts +48 -0
- package/src/RequestScopedDependencies.ts +45 -0
- package/src/Schema/Class.ts +550 -56
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +75 -7
- package/src/Schema/SpecialOpenApi.ts +5 -5
- package/src/Schema/brand.ts +27 -12
- package/src/Schema/email.ts +9 -7
- package/src/Schema/ext.ts +408 -91
- package/src/Schema/moreStrings.ts +213 -88
- package/src/Schema/numbers.ts +107 -29
- package/src/Schema/phoneNumber.ts +8 -9
- package/src/Schema/schema.ts +1 -1
- package/src/Schema/strings.ts +23 -14
- package/src/Schema.ts +403 -46
- package/src/SchemaAST.ts +1 -0
- package/src/Set.ts +6 -2
- package/src/Store.ts +325 -0
- package/src/_ext/Array.ts +4 -2
- package/src/_ext/misc.ts +4 -1
- package/src/_ext/ord.ext.ts +2 -1
- package/src/builtin-json.d.ts +24 -0
- package/src/builtin.ts +16 -21
- package/src/client/InvalidationKeys.ts +55 -0
- package/src/client/apiClientFactory.ts +291 -126
- package/src/client/clientFor.ts +101 -33
- package/src/client/errors.ts +66 -20
- package/src/client/makeClient.ts +519 -60
- package/src/client.ts +6 -4
- package/src/http/Request.ts +4 -4
- package/src/http/internal/lib.ts +12 -12
- package/src/http.ts +1 -1
- package/src/ids.ts +45 -8
- package/src/index.ts +20 -16
- package/src/middleware.ts +12 -8
- package/src/rpc/Invalidation.ts +278 -0
- package/src/rpc/MiddlewareMaker.ts +86 -79
- package/src/rpc/README.md +2 -2
- package/src/rpc/RpcContextMap.ts +4 -4
- package/src/rpc/RpcMiddleware.ts +18 -13
- package/src/rpc.ts +4 -4
- package/src/runtime.ts +57 -0
- package/src/setupRequest.ts +138 -0
- package/src/toast.ts +54 -0
- package/src/transform.ts +4 -4
- package/src/utils/effectify.ts +1 -1
- package/src/utils/extend.ts +24 -5
- package/src/utils/gen.ts +7 -7
- package/src/utils/logLevel.ts +1 -1
- package/src/utils/logger.ts +3 -2
- package/src/utils.ts +85 -158
- package/src/validation.ts +2 -2
- package/src/withToast.ts +133 -0
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/rpcMiddlewareContext.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +55 -10
- package/test/rpc.test.ts +28 -11
- package/test/rpcMiddlewareContext.test.ts +63 -0
- package/test/schema.test.ts +318 -55
- package/test/secretURL.test.ts +4 -1
- package/test/special.test.ts +663 -131
- package/test/utils.test.ts +5 -5
- package/tsconfig.base.json +6 -4
- package/tsconfig.json +9 -1
- package/tsconfig.src.json +29 -29
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -124
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -29
- package/eslint.config.mjs +0 -26
- package/src/Operations.ts +0 -55
- package/tsconfig.json.bak +0 -12
package/dist/client/errors.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as Cause from "effect/Cause";
|
|
2
2
|
import * as S from "../Schema.js";
|
|
3
|
-
export declare const tryToJson: (error: {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
export declare const tryToJson: (error: unknown) => Record<string, unknown> | {
|
|
4
|
+
error: any;
|
|
5
|
+
};
|
|
6
|
+
declare const NotFoundError_base: S.EnhancedClass<NotFoundError<ItemType>, import("effect/Schema").Struct<{
|
|
7
|
+
readonly _tag: S.tag<"NotFoundError">;
|
|
8
|
+
} & {
|
|
9
|
+
type: S.String;
|
|
10
|
+
id: S.Unknown;
|
|
10
11
|
}>, Cause.YieldableError>;
|
|
11
12
|
export declare class NotFoundError<ItemType = string> extends NotFoundError_base {
|
|
12
13
|
constructor(props: {
|
|
@@ -17,8 +18,10 @@ export declare class NotFoundError<ItemType = string> extends NotFoundError_base
|
|
|
17
18
|
get message(): string;
|
|
18
19
|
toString(): string;
|
|
19
20
|
}
|
|
20
|
-
declare const InvalidStateError_base: import("effect/Schema").
|
|
21
|
-
readonly
|
|
21
|
+
declare const InvalidStateError_base: S.EnhancedClass<InvalidStateError, import("effect/Schema").Struct<{
|
|
22
|
+
readonly _tag: S.tag<"InvalidStateError">;
|
|
23
|
+
} & {
|
|
24
|
+
message: S.String;
|
|
22
25
|
}>, Cause.YieldableError>;
|
|
23
26
|
export declare class InvalidStateError extends InvalidStateError_base {
|
|
24
27
|
constructor(messageOrObject: string | {
|
|
@@ -27,8 +30,10 @@ export declare class InvalidStateError extends InvalidStateError_base {
|
|
|
27
30
|
}, disableValidation?: boolean);
|
|
28
31
|
toString(): string;
|
|
29
32
|
}
|
|
30
|
-
declare const ServiceUnavailableError_base: import("effect/Schema").
|
|
31
|
-
readonly
|
|
33
|
+
declare const ServiceUnavailableError_base: S.EnhancedClass<ServiceUnavailableError, import("effect/Schema").Struct<{
|
|
34
|
+
readonly _tag: S.tag<"ServiceUnavailableError">;
|
|
35
|
+
} & {
|
|
36
|
+
message: S.String;
|
|
32
37
|
}>, Cause.YieldableError>;
|
|
33
38
|
export declare class ServiceUnavailableError extends ServiceUnavailableError_base {
|
|
34
39
|
constructor(messageOrObject: string | {
|
|
@@ -37,10 +42,12 @@ export declare class ServiceUnavailableError extends ServiceUnavailableError_bas
|
|
|
37
42
|
}, disableValidation?: boolean);
|
|
38
43
|
toString(): string;
|
|
39
44
|
}
|
|
40
|
-
declare const ValidationError_base: import("effect/Schema").
|
|
41
|
-
readonly
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
declare const ValidationError_base: S.EnhancedClass<ValidationError, import("effect/Schema").Struct<{
|
|
46
|
+
readonly _tag: S.tag<"ValidationError">;
|
|
47
|
+
} & {
|
|
48
|
+
errors: S.$Array<S.Unknown> & {
|
|
49
|
+
withConstructorDefault: S.withConstructorDefault<S.$Array<S.Unknown>>;
|
|
50
|
+
withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<S.Unknown>, never>;
|
|
44
51
|
};
|
|
45
52
|
}>, Cause.YieldableError>;
|
|
46
53
|
export declare class ValidationError extends ValidationError_base {
|
|
@@ -51,8 +58,10 @@ export declare class ValidationError extends ValidationError_base {
|
|
|
51
58
|
get message(): string;
|
|
52
59
|
toString(): string;
|
|
53
60
|
}
|
|
54
|
-
declare const NotLoggedInError_base: import("effect/Schema").
|
|
55
|
-
readonly
|
|
61
|
+
declare const NotLoggedInError_base: S.EnhancedClass<NotLoggedInError, import("effect/Schema").Struct<{
|
|
62
|
+
readonly _tag: S.tag<"NotLoggedInError">;
|
|
63
|
+
} & {
|
|
64
|
+
message: S.String;
|
|
56
65
|
}>, Cause.YieldableError>;
|
|
57
66
|
export declare class NotLoggedInError extends NotLoggedInError_base {
|
|
58
67
|
constructor(messageOrObject?: string | {
|
|
@@ -61,8 +70,10 @@ export declare class NotLoggedInError extends NotLoggedInError_base {
|
|
|
61
70
|
}, disableValidation?: boolean);
|
|
62
71
|
toString(): string;
|
|
63
72
|
}
|
|
64
|
-
declare const LoginError_base: import("effect/Schema").
|
|
65
|
-
readonly
|
|
73
|
+
declare const LoginError_base: S.EnhancedClass<LoginError, import("effect/Schema").Struct<{
|
|
74
|
+
readonly _tag: S.tag<"NotLoggedInError">;
|
|
75
|
+
} & {
|
|
76
|
+
message: S.String;
|
|
66
77
|
}>, Cause.YieldableError>;
|
|
67
78
|
/**
|
|
68
79
|
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
@@ -74,8 +85,10 @@ export declare class LoginError extends LoginError_base {
|
|
|
74
85
|
}, disableValidation?: boolean);
|
|
75
86
|
toString(): string;
|
|
76
87
|
}
|
|
77
|
-
declare const UnauthorizedError_base: import("effect/Schema").
|
|
78
|
-
readonly
|
|
88
|
+
declare const UnauthorizedError_base: S.EnhancedClass<UnauthorizedError, import("effect/Schema").Struct<{
|
|
89
|
+
readonly _tag: S.tag<"UnauthorizedError">;
|
|
90
|
+
} & {
|
|
91
|
+
message: S.String;
|
|
79
92
|
}>, Cause.YieldableError>;
|
|
80
93
|
export declare class UnauthorizedError extends UnauthorizedError_base {
|
|
81
94
|
constructor(messageOrObject?: string | {
|
|
@@ -91,8 +104,10 @@ type OptimisticConcurrencyDetails = {
|
|
|
91
104
|
readonly current?: string | undefined;
|
|
92
105
|
readonly found?: string | undefined;
|
|
93
106
|
};
|
|
94
|
-
declare const OptimisticConcurrencyException_base: import("effect/Schema").
|
|
95
|
-
readonly
|
|
107
|
+
declare const OptimisticConcurrencyException_base: S.EnhancedClass<OptimisticConcurrencyException, import("effect/Schema").Struct<{
|
|
108
|
+
readonly _tag: S.tag<"OptimisticConcurrencyException">;
|
|
109
|
+
} & {
|
|
110
|
+
message: S.String;
|
|
96
111
|
}>, Cause.YieldableError>;
|
|
97
112
|
export declare class OptimisticConcurrencyException extends OptimisticConcurrencyException_base {
|
|
98
113
|
readonly details?: OptimisticConcurrencyDetails;
|
|
@@ -104,10 +119,41 @@ export declare class OptimisticConcurrencyException extends OptimisticConcurrenc
|
|
|
104
119
|
}), disableValidation?: boolean);
|
|
105
120
|
toString(): string;
|
|
106
121
|
}
|
|
107
|
-
|
|
122
|
+
declare const DatabaseError_base: S.EnhancedClass<DatabaseError, import("effect/Schema").Struct<{
|
|
123
|
+
readonly _tag: S.tag<"DatabaseError">;
|
|
124
|
+
} & {
|
|
125
|
+
message: S.String;
|
|
126
|
+
transient: import("effect/Schema").Boolean & {
|
|
127
|
+
withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
|
|
128
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean, never>;
|
|
129
|
+
};
|
|
130
|
+
cause: S.optional<S.Defect>;
|
|
131
|
+
}>, Cause.YieldableError>;
|
|
132
|
+
/**
|
|
133
|
+
* Raised by a store adapter when a database operation fails for an
|
|
134
|
+
* infrastructure reason (request timeout, throttle, 5xx, dropped socket, or any
|
|
135
|
+
* non-conflict error). Distinct from `OptimisticConcurrencyException`, which is
|
|
136
|
+
* an expected etag conflict.
|
|
137
|
+
*
|
|
138
|
+
* `transient` is set by the adapter for failures worth retrying (timeout /
|
|
139
|
+
* throttle / 5xx / network). `cause` is the underlying adapter error, carried
|
|
140
|
+
* through a `Defect` schema so it serializes (an `Error` encodes to
|
|
141
|
+
* `{ name, message, cause }`) instead of breaking JSON encoding of the channel.
|
|
142
|
+
*
|
|
143
|
+
* Treated by the api/client/FE machinery like an unexpected (500-class) error.
|
|
144
|
+
*/
|
|
145
|
+
export declare class DatabaseError extends DatabaseError_base {
|
|
146
|
+
constructor(args: {
|
|
147
|
+
message?: string;
|
|
148
|
+
transient?: boolean;
|
|
149
|
+
cause?: unknown;
|
|
150
|
+
}, disableValidation?: boolean);
|
|
151
|
+
toString(): string;
|
|
152
|
+
}
|
|
153
|
+
export declare const SupportedErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError, typeof DatabaseError]>;
|
|
108
154
|
export type SupportedErrors = S.Schema.Type<typeof SupportedErrors>;
|
|
109
|
-
export declare const MutationErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError]>;
|
|
110
|
-
export declare const QueryErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError]>;
|
|
155
|
+
export declare const MutationErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError, typeof DatabaseError]>;
|
|
156
|
+
export declare const QueryErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError, typeof DatabaseError]>;
|
|
111
157
|
export type MutationErrors = S.Schema.Type<typeof MutationErrors>;
|
|
112
158
|
export type QueryErrors = S.Schema.Type<typeof QueryErrors>;
|
|
113
159
|
export declare const ErrorSilenced: unique symbol;
|
|
@@ -131,8 +177,8 @@ export declare class CauseException<E> extends Error {
|
|
|
131
177
|
toString(): string;
|
|
132
178
|
}
|
|
133
179
|
export declare const tryToReport: (error: {
|
|
134
|
-
toReport(): unknown
|
|
180
|
+
toReport(): Record<string, unknown>;
|
|
135
181
|
toString(): string;
|
|
136
|
-
}) => unknown
|
|
182
|
+
}) => Record<string, unknown>;
|
|
137
183
|
export {};
|
|
138
184
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -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,
|
|
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
|
@@ -4,18 +4,19 @@ import * as Cause from "effect/Cause";
|
|
|
4
4
|
import * as S from "../Schema.js";
|
|
5
5
|
export const tryToJson = (error) => {
|
|
6
6
|
try {
|
|
7
|
-
|
|
7
|
+
const errorJson = error.toJSON();
|
|
8
|
+
return errorJson && typeof errorJson === "object" ? errorJson : { error };
|
|
8
9
|
}
|
|
9
10
|
catch {
|
|
10
11
|
try {
|
|
11
|
-
return error.toString();
|
|
12
|
+
return { error: error.toString() };
|
|
12
13
|
}
|
|
13
14
|
catch (err) {
|
|
14
15
|
try {
|
|
15
|
-
return `Failed to convert error: ${err}
|
|
16
|
+
return { error: `Failed to convert error: ${err}` };
|
|
16
17
|
}
|
|
17
18
|
catch {
|
|
18
|
-
return `Failed to convert error: unknown failure
|
|
19
|
+
return { error: `Failed to convert error: unknown failure` };
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
}
|
|
@@ -116,6 +117,35 @@ export class OptimisticConcurrencyException extends TaggedErrorClass()("Optimist
|
|
|
116
117
|
return `OptimisticConcurrencyException: ${this.message}`;
|
|
117
118
|
}
|
|
118
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Raised by a store adapter when a database operation fails for an
|
|
122
|
+
* infrastructure reason (request timeout, throttle, 5xx, dropped socket, or any
|
|
123
|
+
* non-conflict error). Distinct from `OptimisticConcurrencyException`, which is
|
|
124
|
+
* an expected etag conflict.
|
|
125
|
+
*
|
|
126
|
+
* `transient` is set by the adapter for failures worth retrying (timeout /
|
|
127
|
+
* throttle / 5xx / network). `cause` is the underlying adapter error, carried
|
|
128
|
+
* through a `Defect` schema so it serializes (an `Error` encodes to
|
|
129
|
+
* `{ name, message, cause }`) instead of breaking JSON encoding of the channel.
|
|
130
|
+
*
|
|
131
|
+
* Treated by the api/client/FE machinery like an unexpected (500-class) error.
|
|
132
|
+
*/
|
|
133
|
+
export class DatabaseError extends TaggedErrorClass()("DatabaseError", {
|
|
134
|
+
message: S.String,
|
|
135
|
+
transient: S.Boolean,
|
|
136
|
+
cause: S.optional(S.Defect())
|
|
137
|
+
}) {
|
|
138
|
+
constructor(args, disableValidation) {
|
|
139
|
+
super({
|
|
140
|
+
message: args.message ?? "Database operation failed",
|
|
141
|
+
transient: args.transient ?? false,
|
|
142
|
+
cause: args.cause
|
|
143
|
+
}, disableValidation);
|
|
144
|
+
}
|
|
145
|
+
toString() {
|
|
146
|
+
return `DatabaseError: ${this.message}`;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
119
149
|
const MutationOnlyErrors = [
|
|
120
150
|
InvalidStateError,
|
|
121
151
|
OptimisticConcurrencyException
|
|
@@ -126,7 +156,8 @@ const GeneralErrors = [
|
|
|
126
156
|
LoginError,
|
|
127
157
|
UnauthorizedError,
|
|
128
158
|
ValidationError,
|
|
129
|
-
ServiceUnavailableError
|
|
159
|
+
ServiceUnavailableError,
|
|
160
|
+
DatabaseError
|
|
130
161
|
];
|
|
131
162
|
export const SupportedErrors = S.Union([
|
|
132
163
|
...MutationOnlyErrors,
|
|
@@ -155,9 +186,9 @@ export class CauseException extends Error {
|
|
|
155
186
|
const limit = Error.stackTraceLimit;
|
|
156
187
|
Error.stackTraceLimit = 0;
|
|
157
188
|
super();
|
|
189
|
+
Error.stackTraceLimit = limit;
|
|
158
190
|
this.originalCause = originalCause;
|
|
159
191
|
this._tag = _tag;
|
|
160
|
-
Error.stackTraceLimit = limit;
|
|
161
192
|
this.cause = Cause.squash(originalCause);
|
|
162
193
|
// v4: makeFiberFailure removed — use Cause.prettyErrors instead
|
|
163
194
|
const errors = Cause.prettyErrors(originalCause);
|
|
@@ -202,16 +233,16 @@ export const tryToReport = (error) => {
|
|
|
202
233
|
}
|
|
203
234
|
catch {
|
|
204
235
|
try {
|
|
205
|
-
return error.toString();
|
|
236
|
+
return { error: error.toString() };
|
|
206
237
|
}
|
|
207
238
|
catch (err) {
|
|
208
239
|
try {
|
|
209
|
-
return `Failed to convert error: ${err}
|
|
240
|
+
return { error: `Failed to convert error: ${err}` };
|
|
210
241
|
}
|
|
211
242
|
catch {
|
|
212
|
-
return `Failed to convert error: unknown failure
|
|
243
|
+
return { error: `Failed to convert error: unknown failure` };
|
|
213
244
|
}
|
|
214
245
|
}
|
|
215
246
|
}
|
|
216
247
|
};
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3BELE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxDQUFDLE1BQU0sY0FBYyxDQUFBO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO0lBQzFDLElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFJLEtBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUN6QyxPQUFPLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQW9DLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUE7SUFDdEcsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLElBQUksQ0FBQztZQUNILE9BQU8sRUFBRSxLQUFLLEVBQUcsS0FBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUE7UUFDN0MsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUM7Z0JBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxFQUFFLEVBQUUsQ0FBQTtZQUNyRCxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLE9BQU8sRUFBRSxLQUFLLEVBQUUsMENBQTBDLEVBQUUsQ0FBQTtZQUM5RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRCx5REFBeUQ7QUFDekQsaUNBQWlDO0FBQ2pDLE1BQU0sT0FBTyxhQUFpQyxTQUFRLGdCQUFnQixFQUEyQixDQUFDLGVBQWUsRUFBRTtJQUNqSCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZCxFQUFFLEVBQUUsQ0FBQyxDQUFD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
|