effect-app 4.0.0-beta.27 → 4.0.0-beta.271
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 +1269 -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.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 +2 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +8 -0
- package/dist/ConfigProvider.d.ts +2 -0
- package/dist/ConfigProvider.d.ts.map +1 -0
- package/dist/ConfigProvider.js +6 -0
- package/dist/{ServiceMap.d.ts → Context.d.ts} +18 -20
- package/dist/Context.d.ts.map +1 -0
- package/dist/Context.js +67 -0
- package/dist/Effect.d.ts +10 -9
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +5 -8
- 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 +10 -6
- 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/ext.d.ts +60 -0
- package/dist/Model/Repository/ext.d.ts.map +1 -0
- package/dist/Model/Repository/ext.js +122 -0
- package/dist/Model/Repository/internal/internal.d.ts +63 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
- package/dist/Model/Repository/internal/internal.js +430 -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 +54 -0
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
- package/dist/Model/Repository/makeRepo.js +27 -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 +58 -0
- package/dist/Model/Repository/validation.d.ts.map +1 -0
- package/dist/Model/Repository/validation.js +32 -0
- package/dist/Model/Repository.d.ts +7 -0
- package/dist/Model/Repository.d.ts.map +1 -0
- package/dist/Model/Repository.js +7 -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 +493 -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 +136 -0
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
- package/dist/Model/query/new-kid-interpreter.js +336 -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 +5 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +5 -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 +7 -5
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +17 -14
- package/dist/QueueMaker.d.ts +13 -0
- package/dist/QueueMaker.d.ts.map +1 -0
- package/dist/QueueMaker.js +4 -0
- package/dist/RequestContext.d.ts +208 -0
- package/dist/RequestContext.d.ts.map +1 -0
- package/dist/RequestContext.js +54 -0
- package/dist/Schema/Class.d.ts +157 -19
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +214 -17
- 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 +34 -0
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
- package/dist/Schema/SpecialJsonSchema.js +118 -0
- package/dist/Schema/SpecialOpenApi.d.ts +32 -0
- package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
- package/dist/Schema/SpecialOpenApi.js +123 -0
- package/dist/Schema/brand.d.ts +4 -2
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +3 -1
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +7 -4
- package/dist/Schema/ext.d.ts +338 -55
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +358 -53
- package/dist/Schema/moreStrings.d.ts +82 -36
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +49 -42
- package/dist/Schema/numbers.d.ts +34 -21
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +55 -12
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +6 -3
- 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 +213 -7
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +190 -11
- 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 +170 -0
- package/dist/Store.d.ts.map +1 -0
- package/dist/Store.js +121 -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/client/InvalidationKeys.d.ts +29 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +33 -0
- package/dist/client/apiClientFactory.d.ts +19 -31
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +104 -34
- package/dist/client/clientFor.d.ts +52 -18
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +9 -1
- package/dist/client/errors.d.ts +82 -27
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +75 -19
- package/dist/client/makeClient.d.ts +494 -32
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +66 -24
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -1
- package/dist/faker.d.ts.map +1 -1
- package/dist/http/Request.d.ts +1 -1
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +2 -2
- package/dist/ids.d.ts +42 -14
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +30 -5
- package/dist/index.d.ts +6 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/middleware.d.ts +13 -7
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +14 -8
- package/dist/rpc/Invalidation.d.ts +420 -0
- package/dist/rpc/Invalidation.d.ts.map +1 -0
- package/dist/rpc/Invalidation.js +168 -0
- package/dist/rpc/MiddlewareMaker.d.ts +11 -7
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +59 -38
- package/dist/rpc/RpcContextMap.d.ts +3 -3
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcContextMap.js +4 -4
- package/dist/rpc/RpcMiddleware.d.ts +14 -10
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +1 -1
- 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 +19 -0
- package/dist/setupRequest.d.ts.map +1 -0
- package/dist/setupRequest.js +69 -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.map +1 -1
- 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 +4 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +4 -4
- 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 +22 -247
- 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 +7 -0
- package/src/ConfigProvider.ts +5 -0
- package/src/{ServiceMap.ts → Context.ts} +56 -63
- package/src/Effect.ts +14 -16
- package/src/Emailer.ts +51 -0
- package/src/Inputify.type.ts +1 -1
- package/src/Layer.ts +11 -7
- package/src/Model/Repository/Registry.ts +35 -0
- package/src/Model/Repository/ext.ts +375 -0
- package/src/Model/Repository/internal/internal.ts +741 -0
- package/src/Model/Repository/legacy.ts +29 -0
- package/src/Model/Repository/makeRepo.ts +145 -0
- package/src/Model/Repository/service.ts +676 -0
- package/src/Model/Repository/validation.ts +31 -0
- package/src/Model/Repository.ts +6 -0
- package/src/Model/dsl.ts +129 -0
- package/src/Model/filter/filterApi.ts +60 -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 +2694 -0
- package/src/Model/query/new-kid-interpreter.ts +484 -0
- package/src/Model/query.ts +13 -0
- package/src/Model.ts +4 -0
- package/src/NonEmptySet.ts +6 -4
- package/src/Option.ts +2 -0
- package/src/Pure.ts +22 -20
- package/src/QueueMaker.ts +19 -0
- package/src/RequestContext.ts +95 -0
- package/src/Schema/Class.ts +517 -59
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +139 -0
- package/src/Schema/SpecialOpenApi.ts +130 -0
- package/src/Schema/brand.ts +22 -2
- package/src/Schema/email.ts +9 -4
- package/src/Schema/ext.ts +446 -91
- package/src/Schema/moreStrings.ts +147 -68
- package/src/Schema/numbers.ts +97 -28
- package/src/Schema/phoneNumber.ts +9 -5
- package/src/Schema/strings.ts +23 -14
- package/src/Schema.ts +389 -25
- package/src/Set.ts +6 -2
- package/src/Store.ts +277 -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/client/InvalidationKeys.ts +50 -0
- package/src/client/apiClientFactory.ts +234 -135
- package/src/client/clientFor.ts +105 -34
- package/src/client/errors.ts +100 -29
- package/src/client/makeClient.ts +594 -73
- package/src/client.ts +5 -4
- package/src/http/Request.ts +3 -3
- package/src/http.ts +1 -1
- package/src/ids.ts +33 -6
- package/src/index.ts +20 -23
- package/src/middleware.ts +13 -9
- package/src/rpc/Invalidation.ts +261 -0
- package/src/rpc/MiddlewareMaker.ts +88 -80
- package/src/rpc/README.md +2 -2
- package/src/rpc/RpcContextMap.ts +7 -6
- package/src/rpc/RpcMiddleware.ts +19 -13
- package/src/rpc.ts +4 -4
- package/src/runtime.ts +56 -0
- package/src/setupRequest.ts +134 -0
- package/src/toast.ts +54 -0
- package/src/transform.ts +4 -4
- package/src/utils/effectify.ts +1 -1
- package/src/utils/gen.ts +8 -8
- package/src/utils/logLevel.ts +1 -1
- package/src/utils/logger.ts +4 -3
- 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/secretURL.test.d.ts.map +1 -0
- package/test/dist/special.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +1 -1
- package/test/rpc.test.ts +46 -6
- package/test/schema.test.ts +459 -30
- package/test/secretURL.test.ts +160 -0
- package/test/special.test.ts +1026 -0
- package/test/utils.test.ts +7 -7
- package/tsconfig.base.json +6 -5
- package/tsconfig.json +3 -1
- package/tsconfig.json.bak +2 -2
- package/tsconfig.src.json +29 -29
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -123
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -29
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js +0 -91
- package/eslint.config.mjs +0 -26
- package/src/Operations.ts +0 -55
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { Effect, Layer, type Schema, Schema as S, type Scope, ServiceMap } from "effect";
|
|
2
1
|
import { type NonEmptyArray, type NonEmptyReadonlyArray } from "effect/Array";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as S from "effect/Schema";
|
|
5
|
+
import type * as Scope from "effect/Scope";
|
|
3
6
|
import { type Simplify } from "effect/Types";
|
|
4
7
|
import { Rpc, type RpcGroup, type RpcSchema } from "effect/unstable/rpc";
|
|
5
8
|
import { type HandlersFrom } from "effect/unstable/rpc/RpcGroup";
|
|
9
|
+
import * as Context from "../Context.js";
|
|
6
10
|
import { type TypeTestId } from "../TypeTest.js";
|
|
7
11
|
import { type GetContextConfig, type RequestContextMapTagAny, type RpcContextMap } from "./RpcContextMap.js";
|
|
8
12
|
import { type AddMiddleware, type AnyDynamic, type RpcDynamic, type TagClassAny } from "./RpcMiddleware.js";
|
|
@@ -18,11 +22,11 @@ export interface MiddlewareMaker<Self, Id extends string, RequestContextMap exte
|
|
|
18
22
|
provides: MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? never : MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>>;
|
|
19
23
|
requires: Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? never : MakeTags<Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>;
|
|
20
24
|
}> {
|
|
21
|
-
readonly layer: Layer.Layer<Self, never,
|
|
25
|
+
readonly layer: Layer.Layer<Self, never, Context.Service.Identifier<MiddlewareProviders[number]>>;
|
|
22
26
|
readonly requestContext: RequestContextTag<RequestContextMap>;
|
|
23
27
|
readonly requestContextMap: RequestContextMap;
|
|
24
28
|
}
|
|
25
|
-
export interface RequestContextTag<RequestContextMap extends Record<string, RpcContextMap.Any>> extends
|
|
29
|
+
export interface RequestContextTag<RequestContextMap extends Record<string, RpcContextMap.Any>> extends Context.Service<"RequestContextConfig", GetContextConfig<RequestContextMap>> {
|
|
26
30
|
}
|
|
27
31
|
export declare namespace MiddlewareMaker {
|
|
28
32
|
type Any = TagClassAny;
|
|
@@ -46,7 +50,7 @@ export declare namespace MiddlewareMaker {
|
|
|
46
50
|
} ? _P : never : never;
|
|
47
51
|
type Errors<T> = T extends TagClassAny ? T extends {
|
|
48
52
|
error: S.Top;
|
|
49
|
-
} ?
|
|
53
|
+
} ? T["error"]["Type"] : never : never;
|
|
50
54
|
type Required<T> = T extends TagClassAny ? T extends {
|
|
51
55
|
requires: infer _R;
|
|
52
56
|
} ? _R : never : never;
|
|
@@ -83,14 +87,14 @@ type RecursiveHandleMWsSideways<MWs, R extends {
|
|
|
83
87
|
export interface BuildingMiddleware<Self, Id extends string, RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap, Middlewares extends ReadonlyArray<MiddlewareMaker.Any>, DynamicMiddlewareProviders, out MiddlewareR extends {
|
|
84
88
|
_tag: string;
|
|
85
89
|
} = never> {
|
|
86
|
-
rpc: <const Tag extends string, Payload extends
|
|
90
|
+
rpc: <const Tag extends string, Payload extends S.Top | S.Struct.Fields = typeof S.Void, Success extends S.Top = typeof S.Void, Error extends S.Top = typeof S.Never, const Stream extends boolean = false, Config extends GetContextConfig<RequestContextMap> = {}>(tag: Tag, options?: {
|
|
87
91
|
readonly payload?: Payload;
|
|
88
92
|
readonly success?: Success;
|
|
89
93
|
readonly error?: Error;
|
|
90
94
|
readonly stream?: Stream;
|
|
91
95
|
readonly config?: Config;
|
|
92
|
-
readonly primaryKey?: [Payload] extends [
|
|
93
|
-
}) => Rpc.Rpc<Tag, Payload extends
|
|
96
|
+
readonly primaryKey?: [Payload] extends [S.Struct.Fields] ? ((payload: Payload extends S.Struct.Fields ? Simplify<S.Struct<Payload>["Type"]> : Payload["Type"]) => string) : never;
|
|
97
|
+
}) => Rpc.Rpc<Tag, Payload extends S.Struct.Fields ? S.Struct<Payload> : Payload, Stream extends true ? RpcSchema.Stream<Success, Error> : Success, Stream extends true ? typeof S.Never : Error> & {
|
|
94
98
|
readonly config: Config;
|
|
95
99
|
};
|
|
96
100
|
middleware<MWs extends NonEmptyArray<MiddlewareMaker.Any>>(...mw: MWs): RecursiveHandleMWsSideways<MWs, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as S from "effect/Schema";
|
|
3
4
|
import { Rpc } from "effect/unstable/rpc";
|
|
5
|
+
import * as Context from "../Context.js";
|
|
4
6
|
import { PreludeLogger } from "../logger.js";
|
|
5
|
-
import { typedValuesOf } from "../utils.js";
|
|
6
7
|
import * as RpcMiddlewareX from "./RpcMiddleware.js";
|
|
7
|
-
const middlewareMaker = (middlewares)
|
|
8
|
+
const middlewareMaker = Effect.fnUntraced(function* (middlewares) {
|
|
8
9
|
// we want to run them in reverse order because latter middlewares will provide context to former ones
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
};
|
|
10
|
+
const reversed = middlewares.toReversed();
|
|
11
|
+
const context = yield* Effect.context();
|
|
12
|
+
// returns a Effect/RpcMiddlewareV4 with Scope.Scope in requirements
|
|
13
|
+
// v4: wrap middleware takes (effect, options) as two params instead of a single options bag
|
|
14
|
+
return (next, options) => {
|
|
15
|
+
// we start with the actual handler
|
|
16
|
+
let handler = next;
|
|
17
|
+
// inspired from Effect/RpcMiddleware
|
|
18
|
+
for (const tag of reversed) {
|
|
19
|
+
// use the tag to get the middleware from context
|
|
20
|
+
const middleware = Context.getUnsafe(context, tag);
|
|
21
|
+
// wrap the current handler, allowing the middleware to run before and after it
|
|
22
|
+
handler = PreludeLogger.logDebug("Applying middleware wrap " + tag.key).pipe(Effect.andThen(middleware(handler, options)));
|
|
23
|
+
}
|
|
24
|
+
return handler;
|
|
25
|
+
};
|
|
26
|
+
});
|
|
28
27
|
const makeMiddlewareBasic = () =>
|
|
29
28
|
// by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
|
|
30
29
|
(id, rcm, ...make) => {
|
|
31
30
|
// reverse middlewares and wrap one after the other
|
|
32
31
|
const middleware = middlewareMaker(make);
|
|
33
|
-
|
|
32
|
+
// Per-middleware error: union of the static `error` on the tag (if any) AND
|
|
33
|
+
// the rcm config entry pointed at by the middleware's `dynamic.key` (if any).
|
|
34
|
+
// Reason: middlewares declared with `dynamic: RequestContextMap.get("foo")`
|
|
35
|
+
// don't set a static `error` field — at runtime their `.error` defaults to
|
|
36
|
+
// `S.Never`. Without pulling from rcm, the composite middleware's
|
|
37
|
+
// `.error` collapses to `Never`, and `Rpc.exitSchema` (which walks
|
|
38
|
+
// `rpc.middlewares[*].error` to build the wire failure union) can't decode
|
|
39
|
+
// the actual middleware-thrown error type. Critical for stream rpcs whose
|
|
40
|
+
// top-level `errorSchema` is force-set to `Never` by effect-rpc.
|
|
41
|
+
const isMeaningfulError = (e) => e !== undefined && e !== null && e !== S.Never;
|
|
42
|
+
const rcmRecord = rcm;
|
|
43
|
+
const failures = make.flatMap((_) => {
|
|
44
|
+
const out = [];
|
|
45
|
+
if (isMeaningfulError(_.error))
|
|
46
|
+
out.push(_.error);
|
|
47
|
+
const key = _.dynamic?.key;
|
|
48
|
+
if (key && rcmRecord[key] && isMeaningfulError(rcmRecord[key].error)) {
|
|
49
|
+
out.push(rcmRecord[key].error);
|
|
50
|
+
}
|
|
51
|
+
return out;
|
|
52
|
+
});
|
|
34
53
|
const provides = make.flatMap((_) => !_.provides ? [] : Array.isArray(_.provides) ? _.provides : [_.provides]);
|
|
35
54
|
const requires = make
|
|
36
55
|
.flatMap((_) => !_.requires ? [] : Array.isArray(_.requires) ? _.requires : [_.requires])
|
|
@@ -48,35 +67,37 @@ const makeMiddlewareBasic = () =>
|
|
|
48
67
|
: undefined)
|
|
49
68
|
});
|
|
50
69
|
const layer = Layer
|
|
51
|
-
.effect(MiddlewareMaker, middleware
|
|
70
|
+
.effect(MiddlewareMaker, middleware
|
|
71
|
+
// todo; they dont change the type..
|
|
72
|
+
// Effect.Error<typeof middleware>,
|
|
73
|
+
// Effect.Services<typeof middleware>
|
|
74
|
+
);
|
|
52
75
|
// add to the tag a default implementation
|
|
53
76
|
return Object.assign(MiddlewareMaker, {
|
|
54
77
|
layer,
|
|
55
78
|
// tag to be used to retrieve the RequestContextConfig from Rpc annotations
|
|
56
|
-
requestContext:
|
|
79
|
+
requestContext: Context.Service("RequestContextConfig"),
|
|
57
80
|
requestContextMap: rcm
|
|
58
81
|
});
|
|
59
82
|
};
|
|
60
83
|
export const Tag = () => (id, rcm) => {
|
|
61
|
-
|
|
62
|
-
const requestContext =
|
|
84
|
+
const allMiddleware = [];
|
|
85
|
+
const requestContext = Context.Service("RequestContextConfig");
|
|
63
86
|
const it = {
|
|
64
87
|
id,
|
|
65
88
|
// rpc with config
|
|
66
89
|
rpc: (tag, options) => {
|
|
67
90
|
const config = options?.config ?? {};
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const [firstError, ...restErrors] = allErrors;
|
|
74
|
-
const newError = firstError ? S.Union([firstError, ...restErrors]) : S.Never;
|
|
91
|
+
// The rpc's `error` schema carries ONLY the request's own declared errors.
|
|
92
|
+
// Middleware errors (rcm-derived) reach the wire via the middleware tag
|
|
93
|
+
// attached to the rpc group later (`RpcGroup.middleware(...)` at the
|
|
94
|
+
// routing/client level), and are unioned into the failure schema by
|
|
95
|
+
// `Rpc.exitSchema`'s `rpc.middlewares[*].error` walk.
|
|
75
96
|
// @ts-expect-error — TypeScript can't prove Simplify<T> ≡ { [K in keyof T]: T[K] } for unresolved generics (primaryKey)
|
|
76
97
|
const rpc = Rpc.make(tag, {
|
|
77
98
|
...options?.payload !== undefined ? { payload: options.payload } : {},
|
|
78
99
|
...options?.success !== undefined ? { success: options.success } : {},
|
|
79
|
-
error:
|
|
100
|
+
...options?.error !== undefined ? { error: options.error } : {},
|
|
80
101
|
...options?.stream !== undefined ? { stream: options.stream } : {},
|
|
81
102
|
...options?.primaryKey !== undefined ? { primaryKey: options.primaryKey } : {}
|
|
82
103
|
});
|
|
@@ -85,7 +106,7 @@ export const Tag = () => (id, rcm) => {
|
|
|
85
106
|
middleware: (...middlewares) => {
|
|
86
107
|
for (const mw of middlewares) {
|
|
87
108
|
// recall that we run middlewares in reverse order
|
|
88
|
-
allMiddleware
|
|
109
|
+
allMiddleware.unshift(mw);
|
|
89
110
|
}
|
|
90
111
|
return allMiddleware.filter((m) => !!m.dynamic).length !== Object.keys(rcm.config).length
|
|
91
112
|
// for sure, until all the dynamic middlewares are provided it's non sensical to call makeMiddlewareBasic
|
|
@@ -106,4 +127,4 @@ export const middlewareGroup = (middleware) => (group) => {
|
|
|
106
127
|
}
|
|
107
128
|
});
|
|
108
129
|
};
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZU1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9NaWRkbGV3YXJlTWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFHbEMsT0FBTyxFQUFFLEdBQUcsRUFBaUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUV4RSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBSTVDLE9BQU8sS0FBSyxjQUFjLE1BQU0sb0JBQW9CLENBQUE7QUF1UHBELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBRWpELFdBQWdDO0lBYWhDLHNHQUFzRztJQUN0RyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDekMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBRXZDLG9FQUFvRTtJQUNwRSw0RkFBNEY7SUFDNUYsT0FBTyxDQUFDLElBQVUsRUFBRSxPQUFnQixFQUFFLEVBQUU7UUFDdEMsbUNBQW1DO1FBQ25DLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtRQUVsQixxQ0FBcUM7UUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMzQixpREFBaUQ7WUFDakQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFFbEQsK0VBQStFO1lBQy9FLE9BQU8sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQyxHQUFHLENB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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type * as S from "effect/Schema";
|
|
2
2
|
import { type AnyWithProps } from "effect/unstable/rpc/Rpc";
|
|
3
3
|
import { type RpcDynamic } from "./RpcMiddleware.js";
|
|
4
4
|
type Values<T extends Record<any, any>> = T[keyof T];
|
|
5
5
|
/**
|
|
6
|
-
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect
|
|
6
|
+
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context.
|
|
7
7
|
* Unless explicitly configured as `true`.
|
|
8
8
|
*/
|
|
9
9
|
export type RpcContextMap<Service, E> = {
|
|
@@ -14,7 +14,7 @@ export type RpcContextMap<Service, E> = {
|
|
|
14
14
|
};
|
|
15
15
|
export declare namespace RpcContextMap {
|
|
16
16
|
/**
|
|
17
|
-
* Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect
|
|
17
|
+
* Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect Context.
|
|
18
18
|
* Unless explicitly omitted.
|
|
19
19
|
*/
|
|
20
20
|
type Inverted<Service, E> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcContextMap.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcContextMap.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"RpcContextMap.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcContextMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
-
import
|
|
5
|
-
const tag =
|
|
4
|
+
import * as Context from "../Context.js";
|
|
5
|
+
const tag = Context.Service("RequestContextConfig");
|
|
6
6
|
export const makeMap = (config) => {
|
|
7
7
|
const cls = class {
|
|
8
8
|
config;
|
|
@@ -13,7 +13,7 @@ export const makeMap = (config) => {
|
|
|
13
13
|
return Object.assign(cls, {
|
|
14
14
|
config, /** Retrieves RequestContextConfig out of the Rpc annotations */
|
|
15
15
|
getConfig: (rpc) => {
|
|
16
|
-
return
|
|
16
|
+
return Context.getOrElse(rpc.annotations, tag, () => ({}));
|
|
17
17
|
},
|
|
18
18
|
/** Adapter used when setting the dynamic prop on a middleware implementation */
|
|
19
19
|
get: (key) => ({
|
|
@@ -40,4 +40,4 @@ export const makeCustom = () => (error, contextActivation) => ({
|
|
|
40
40
|
contextActivation,
|
|
41
41
|
inverted: false
|
|
42
42
|
});
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjQ29udGV4dE1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ycGMvUnBjQ29udGV4dE1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUl2RCxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQTtBQThGeEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUF5RCxNQUFjLEVBQUUsRUFBRTtJQUNoRyxNQUFNLEdBQUcsR0FBRztRQUNELE1BQU0sQ0FBUTtRQUN2QjtZQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3RCLENBQUM7S0FDRixDQUFBO0lBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUN4QixNQUFNLEVBQUUsZ0VBQWdFO1FBQ3hFLFNBQVMsRUFBRSxDQUFDLEdBQWlCLEVBQTRCLEVBQUU7WUFDekQsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNuRSxDQUFDO1FBQ0QsZ0ZBQWdGO1FBQ2hGLEdBQUcsRUFBRSxDQUVILEdBQVEsRUFBZ0MsRUFBRSxDQUFDLENBQUM7WUFDNUMsR0FBRztZQUNILFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFFLENBQUMsU0FBUyxDQUFDLEVBQWlCO1NBQzlELENBQUM7S0FDSCxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsR0FBb0IsRUFBRSxDQUMxQyxDQUNFLEtBQVEsRUFDbUIsRUFBRSxDQUFDLENBQUM7SUFDL0IsT0FBTyxFQUFFLElBQWU7SUFDeEIsS0FBSztJQUNMLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQW9CLEVBQUUsQ0FDbEQsQ0FDRSxLQUFRLEVBQzRCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sRUFBRSxJQUFlO0lBQ3hCLEtBQUs7SUFDTCxpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQW9CLEVBQUUsQ0FDaEQsQ0FDRSxLQUFRLEVBQ1IsaUJBQW9CLEVBQ2lCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sRUFBRSxJQUFlO0lBQ3hCLEtBQUs7SUFDTCxpQkFBaUI7SUFDakIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQyxDQUFBIn0=
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import { type Effect, type Schema, type Schema as S, type Scope, type ServiceMap, type Stream } from "effect";
|
|
2
1
|
import { type NonEmptyReadonlyArray } from "effect/Array";
|
|
2
|
+
import type * as Effect from "effect/Effect";
|
|
3
|
+
import type * as S from "effect/Schema";
|
|
4
|
+
import type * as Scope from "effect/Scope";
|
|
5
|
+
import type * as Stream from "effect/Stream";
|
|
3
6
|
import { type Rpc, RpcMiddleware } from "effect/unstable/rpc";
|
|
4
7
|
import { type TypeId } from "effect/unstable/rpc/RpcMiddleware";
|
|
8
|
+
import type * as Context from "../Context.js";
|
|
5
9
|
import { type GetEffectContext, type RpcContextMap } from "./RpcContextMap.js";
|
|
6
10
|
export type RpcMiddlewareV4<Provides, E, Requires> = RpcMiddleware.RpcMiddleware<Provides, E, Requires>;
|
|
7
11
|
export type RpcOptionsOriginal = {
|
|
8
12
|
readonly optional?: boolean;
|
|
9
|
-
readonly error?:
|
|
13
|
+
readonly error?: S.Top;
|
|
10
14
|
readonly requiredForClient?: boolean;
|
|
11
15
|
};
|
|
12
16
|
export type RpcDynamic<Key extends string, A extends RpcContextMap.Any> = {
|
|
@@ -30,7 +34,7 @@ export interface TagClassAny extends RpcMiddleware.AnyService {
|
|
|
30
34
|
readonly optional: boolean;
|
|
31
35
|
readonly provides: any;
|
|
32
36
|
readonly requires: any;
|
|
33
|
-
readonly error:
|
|
37
|
+
readonly error: S.Top;
|
|
34
38
|
readonly dynamic?: RpcDynamic<any, any> | undefined;
|
|
35
39
|
readonly dependsOn?: NonEmptyReadonlyArray<AnyDynamic> | undefined;
|
|
36
40
|
}
|
|
@@ -40,24 +44,24 @@ export declare namespace TagClass {
|
|
|
40
44
|
* @category models
|
|
41
45
|
*/
|
|
42
46
|
type FailureSchema<Options> = Options extends {
|
|
43
|
-
readonly error:
|
|
47
|
+
readonly error: S.Top;
|
|
44
48
|
readonly optional?: false;
|
|
45
|
-
} ? Options["error"] : typeof
|
|
49
|
+
} ? Options["error"] : typeof S.Never;
|
|
46
50
|
/**
|
|
47
51
|
* @since 1.0.0
|
|
48
52
|
* @category models
|
|
49
53
|
*/
|
|
50
54
|
type Failure<Options> = Options extends {
|
|
51
|
-
readonly error:
|
|
55
|
+
readonly error: S.Codec<infer _A>;
|
|
52
56
|
readonly optional?: false;
|
|
53
57
|
} ? _A : Options extends {
|
|
54
58
|
readonly dynamic: RpcDynamic<any, infer A>;
|
|
55
|
-
} ?
|
|
59
|
+
} ? A["error"]["Type"] : never;
|
|
56
60
|
/**
|
|
57
61
|
* @since 1.0.0
|
|
58
62
|
* @category models
|
|
59
63
|
*/
|
|
60
|
-
type FailureContext<Options> =
|
|
64
|
+
type FailureContext<Options> = FailureSchema<Options>["DecodingServices"];
|
|
61
65
|
/**
|
|
62
66
|
* @since 1.0.0
|
|
63
67
|
* @category models
|
|
@@ -84,8 +88,8 @@ export declare namespace TagClass {
|
|
|
84
88
|
interface Base<Self, Name extends string, Options, Service, Config extends {
|
|
85
89
|
requires?: any;
|
|
86
90
|
provides?: any;
|
|
87
|
-
}> extends
|
|
88
|
-
new (_: never):
|
|
91
|
+
}> extends Context.Service<Self, Service> {
|
|
92
|
+
new (_: never): Context.ServiceClass.Shape<Name, Service>;
|
|
89
93
|
readonly [TypeId]: TypeId;
|
|
90
94
|
readonly optional: Optional<Options>;
|
|
91
95
|
readonly error: FailureSchema<Options>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcMiddleware.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"RpcMiddleware.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,4 @@ export const Tag = () => (id, options) => class extends RpcMiddleware.Service()(
|
|
|
5
5
|
static dynamic = options && "dynamic" in options ? options.dynamic : undefined;
|
|
6
6
|
static dependsOn = options && "dependsOn" in options ? options.dependsOn : undefined;
|
|
7
7
|
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ycGMvUnBjTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQVksYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFnSjdELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQU1mLEVBQUUsQ0FDTixDQUlFLEVBQVEsRUFDUixPQUFpQixFQUNzQixFQUFFLENBQ3pDLEtBQU0sU0FBUSxhQUFhLENBQUMsT0FBTyxFQUFRLENBQUMsRUFBRSxFQUFFLE9BQWMsQ0FBQztJQUM3RCxNQUFNLENBQVUsUUFBUSxDQUE4RDtJQUN0RixNQUFNLENBQVUsUUFBUSxDQUE4RDtJQUN0RixNQUFNLENBQVUsT0FBTyxHQUFHLE9BQU8sSUFBSSxTQUFTLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDdkYsTUFBTSxDQUFVLFNBQVMsR0FBRyxPQUFPLElBQUksV0FBVyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0NBQ3ZGLENBQUEifQ==
|
package/dist/rpc.d.ts
CHANGED
package/dist/rpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA"}
|
package/dist/rpc.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * as
|
|
1
|
+
export * as Invalidation from "./rpc/Invalidation.js";
|
|
2
2
|
export * as MiddlewareMaker from "./rpc/MiddlewareMaker.js";
|
|
3
3
|
export * as RpcContextMap from "./rpc/RpcContextMap.js";
|
|
4
4
|
export * as RpcMiddleware from "./rpc/RpcMiddleware.js";
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssWUFBWSxNQUFNLHVCQUF1QixDQUFBO0FBQ3JELE9BQU8sS0FBSyxlQUFlLE1BQU0sMEJBQTBCLENBQUE7QUFDM0QsT0FBTyxLQUFLLGFBQWEsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLEtBQUssYUFBYSxNQUFNLHdCQUF3QixDQUFBIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as ManagedRuntime from "effect/ManagedRuntime";
|
|
2
|
+
import { type Context } from "./Context.js";
|
|
3
|
+
import * as Effect from "./Effect.js";
|
|
4
|
+
import * as Layer from "./Layer.js";
|
|
5
|
+
export declare const makeAppRuntime: <A, E>(layer: Layer.Layer<A, E, never>) => Effect.Effect<ManagedRuntime.ManagedRuntime<A, never> & {
|
|
6
|
+
[Symbol.dispose](): void;
|
|
7
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
8
|
+
}, never, never>;
|
|
9
|
+
export declare function initializeSync<A, E>(layer: Layer.Layer<A, E>): ManagedRuntime.ManagedRuntime<A, never> & {
|
|
10
|
+
[Symbol.dispose](): void;
|
|
11
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
12
|
+
};
|
|
13
|
+
export declare function initializeAsync<A, E>(layer: Layer.Layer<A, E>): Promise<ManagedRuntime.ManagedRuntime<A, never> & {
|
|
14
|
+
[Symbol.dispose](): void;
|
|
15
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
16
|
+
}>;
|
|
17
|
+
export declare const makeRunPromise: <T>(services: Context<T>) => <A, E>(effect: Effect.Effect<A, E, T>, options?: Effect.RunOptions | undefined) => Promise<Awaited<import("effect/Types").NoInfer<A>>>;
|
|
18
|
+
export declare const makeRunSync: <T>(services: Context<T>) => <A, E>(effect: Effect.Effect<A, E, T>) => import("effect/Types").NoInfer<A>;
|
|
19
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,eAAO,MAAM,cAAc,GAA+B,CAAC,EAAE,CAAC;;;gBAe5D,CAAA;AAEF,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;EAG5D;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;;GAG7D;AAGD,eAAO,MAAM,cAAc,GAAI,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,2IAOhD,CAAA;AAEN,eAAO,MAAM,WAAW,GAAI,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,gFAShD,CAAA"}
|
package/dist/runtime.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as Exit from "effect/Exit";
|
|
2
|
+
import { flow } from "effect/Function";
|
|
3
|
+
import * as Logger from "effect/Logger";
|
|
4
|
+
import * as ManagedRuntime from "effect/ManagedRuntime";
|
|
5
|
+
import { CauseException } from "./client/errors.js";
|
|
6
|
+
import * as Effect from "./Effect.js";
|
|
7
|
+
import * as Layer from "./Layer.js";
|
|
8
|
+
export const makeAppRuntime = Effect.fnUntraced(function* (layer) {
|
|
9
|
+
const l = layer.pipe(Layer.provide(Logger.layer([Logger.consolePretty()])));
|
|
10
|
+
const mrt = ManagedRuntime.make(l);
|
|
11
|
+
yield* mrt.contextEffect;
|
|
12
|
+
return Object.assign(mrt, {
|
|
13
|
+
[Symbol.dispose]() {
|
|
14
|
+
return Effect.runSync(mrt.disposeEffect);
|
|
15
|
+
},
|
|
16
|
+
[Symbol.asyncDispose]() {
|
|
17
|
+
return mrt.dispose();
|
|
18
|
+
}
|
|
19
|
+
}); // as we initialise here, there is no more error left.
|
|
20
|
+
});
|
|
21
|
+
export function initializeSync(layer) {
|
|
22
|
+
const runtime = Effect.runSync(makeAppRuntime(layer));
|
|
23
|
+
return runtime;
|
|
24
|
+
}
|
|
25
|
+
export function initializeAsync(layer) {
|
|
26
|
+
return Effect
|
|
27
|
+
.runPromise(makeAppRuntime(layer));
|
|
28
|
+
}
|
|
29
|
+
// we wrap into CauseException because we want to keep the full cause of the failure.
|
|
30
|
+
export const makeRunPromise = (services) => flow(Effect.runPromiseExitWith(services), (_) => _.then(Exit.match({
|
|
31
|
+
onFailure: (cause) => Promise.reject(new CauseException(cause, "runPromise")),
|
|
32
|
+
onSuccess: (value) => Promise.resolve(value)
|
|
33
|
+
})));
|
|
34
|
+
export const makeRunSync = (services) => flow(Effect.runSyncExitWith(services), Exit.match({
|
|
35
|
+
onFailure: (cause) => {
|
|
36
|
+
throw new CauseException(cause, "runSync");
|
|
37
|
+
},
|
|
38
|
+
onSuccess: (value) => value
|
|
39
|
+
}));
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sYUFBYSxDQUFBO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssY0FBYyxNQUFNLHVCQUF1QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUVuRCxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNyQyxPQUFPLEtBQUssS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUVuQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBTyxLQUF3QjtJQUN0RixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUNsQixLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3BDLENBQUE7SUFDbkIsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNsQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFBO0lBQ3hCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDeEIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMxQyxDQUFDO1FBRUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQ25CLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3RCLENBQUM7S0FDRixDQUFDLENBQUEsQ0FBQyxzREFBc0Q7QUFDM0QsQ0FBQyxDQUFDLENBQUE7QUFFRixNQUFNLFVBQVUsY0FBYyxDQUFPLEtBQXdCO0lBQzNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDckQsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQU8sS0FBd0I7SUFDNUQsT0FBTyxNQUFNO1NBQ1YsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ3RDLENBQUM7QUFFRCxxRkFBcUY7QUFDckYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUksUUFBb0IsRUFBRSxFQUFFLENBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUM5QyxDQUFDLENBQUMsSUFBSSxDQUNKLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDVCxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzdFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Q0FDN0MsQ0FBQyxDQUNILENBQUMsQ0FBQTtBQUVOLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFJLFFBQW9CLEVBQUUsRUFBRSxDQUNyRCxJQUFJLENBQ0YsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNULFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ25CLE1BQU0sSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFDRCxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUs7Q0FDNUIsQ0FBQyxDQUNILENBQUEifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as Tracer from "effect/Tracer";
|
|
2
|
+
import * as Effect from "./Effect.js";
|
|
3
|
+
import * as Layer from "./Layer.js";
|
|
4
|
+
import { RequestContext } from "./RequestContext.js";
|
|
5
|
+
import { NonEmptyString255 } from "./Schema.js";
|
|
6
|
+
export declare const getRequestContext: Effect.Effect<RequestContext, never, never>;
|
|
7
|
+
export declare const getRC: Effect.Effect<{
|
|
8
|
+
locale: "de" | "en";
|
|
9
|
+
namespace: NonEmptyString255;
|
|
10
|
+
}, never, never>;
|
|
11
|
+
export interface SetupRequestOptions {
|
|
12
|
+
readonly withTransaction?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const provideOnRequestScope: <ROut, E2, RIn>(layer: Layer.Layer<ROut, E2, RIn>) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E | E2, RIn | import("effect/Scope").Scope | Exclude<R, ROut>>;
|
|
15
|
+
export declare const setupRequestContextFromCurrent: (name?: string, options?: Tracer.SpanOptions & SetupRequestOptions) => <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<Exclude<R, Tracer.ParentSpan>, never>>;
|
|
16
|
+
export declare const setupStreamingRequestContextFromCurrent: (name?: string, options?: Tracer.SpanOptions & SetupRequestOptions) => <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, import("effect/Scope").Scope | Exclude<Exclude<R, Tracer.ParentSpan>, never>>;
|
|
17
|
+
export declare function setupRequestContext<R, E, A>(self: Effect.Effect<A, E, R>, requestContext: RequestContext, options?: SetupRequestOptions): Effect.Effect<A, E, Exclude<Exclude<R, Tracer.ParentSpan>, never>>;
|
|
18
|
+
export declare function setupRequestContextWithCustomSpan<R, E, A>(self: Effect.Effect<A, E, R>, requestContext: RequestContext, name: string, options?: Tracer.SpanOptions & SetupRequestOptions): Effect.Effect<A, E, Exclude<Exclude<R, Tracer.ParentSpan>, never>>;
|
|
19
|
+
//# sourceMappingURL=setupRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../src/setupRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAa,cAAc,EAAkB,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAW/C,eAAO,MAAM,iBAAiB,6CAe3B,CAAA;AAEH,eAAO,MAAM,KAAK;;;gBAGhB,CAAA;AAmBF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CACnC;AAMD,eAAO,MAAM,qBAAqB,GAC/B,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oFASxF,CAAA;AAEN,eAAO,MAAM,8BAA8B,4BACZ,MAAM,CAAC,WAAW,GAAG,mBAAmB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,uEAM3G,CAAA;AAMP,eAAO,MAAM,uCAAuC,4BACrB,MAAM,CAAC,WAAW,GAAG,mBAAmB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,sGAK7G,CAAA;AAGL,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACzC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5B,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,mBAAmB,sEAa9B;AAED,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACvD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5B,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,mBAAmB,sEAanD"}
|