@effect-app/infra 2.86.0 → 2.87.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 +11 -0
- package/dist/api/layerUtils.d.ts +1 -5
- package/dist/api/layerUtils.d.ts.map +1 -1
- package/dist/api/layerUtils.js +3 -11
- package/dist/api/routing/middleware/RouterMiddleware.d.ts +33 -0
- package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -0
- package/dist/api/routing/middleware/RouterMiddleware.js +5 -0
- package/dist/api/routing/middleware/RpcMiddleware.d.ts +199 -0
- package/dist/api/routing/middleware/RpcMiddleware.d.ts.map +1 -0
- package/dist/api/routing/middleware/RpcMiddleware.js +14 -0
- package/dist/api/routing/middleware/dynamic-middleware.d.ts +2 -12
- package/dist/api/routing/middleware/dynamic-middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/dynamic-middleware.js +2 -18
- package/dist/api/routing/middleware/generic-middleware.d.ts +4 -23
- package/dist/api/routing/middleware/generic-middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/generic-middleware.js +13 -9
- package/dist/api/routing/middleware/middleware-api.d.ts +43 -7
- package/dist/api/routing/middleware/middleware-api.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware-api.js +47 -22
- package/dist/api/routing/middleware/middleware.d.ts +3 -3
- package/dist/api/routing/middleware/middleware.js +2 -2
- package/dist/api/routing/middleware.d.ts +2 -1
- package/dist/api/routing/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware.js +3 -2
- package/dist/api/routing/tsort.d.ts +2 -2
- package/dist/api/routing/tsort.d.ts.map +1 -1
- package/dist/api/routing/tsort.js +1 -1
- package/package.json +9 -5
- package/src/api/layerUtils.ts +4 -18
- package/src/api/routing/middleware/RouterMiddleware.ts +149 -0
- package/src/api/routing/middleware/RpcMiddleware.ts +287 -0
- package/src/api/routing/middleware/dynamic-middleware.ts +5 -52
- package/src/api/routing/middleware/generic-middleware.ts +23 -34
- package/src/api/routing/middleware/middleware-api.ts +142 -59
- package/src/api/routing/middleware/middleware.ts +1 -1
- package/src/api/routing/middleware.ts +2 -1
- package/src/api/routing/tsort.ts +2 -2
- package/test/controller.test.ts +22 -58
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/fixtures.d.ts +4 -2
- package/test/dist/fixtures.d.ts.map +1 -1
- package/test/dist/fixtures.js +21 -9
- package/test/dist/requires.test.d.ts.map +1 -1
- package/test/fixtures.ts +29 -12
- package/test/requires.test.ts +98 -17
- package/dist/api/routing/middleware/DynamicMiddleware.d.ts +0 -229
- package/dist/api/routing/middleware/DynamicMiddleware.d.ts.map +0 -1
- package/dist/api/routing/middleware/DynamicMiddleware.js +0 -168
- package/src/api/routing/middleware/DynamicMiddleware.ts +0 -715
package/test/requires.test.ts
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { expectTypeOf, it } from "@effect/vitest"
|
|
2
|
-
import { Effect, Layer, S } from "effect-app"
|
|
3
|
-
import {
|
|
1
|
+
import { expect, expectTypeOf, it } from "@effect/vitest"
|
|
2
|
+
import { Effect, Either, Layer, S } from "effect-app"
|
|
3
|
+
import { NotLoggedInError, UnauthorizedError } from "effect-app/client"
|
|
4
|
+
import { makeMiddleware, Middleware } from "../src/api/routing.js"
|
|
4
5
|
import { AllowAnonymous, type RequestContextMap, RequireRoles, Some, SomeElse, Test } from "./fixtures.js"
|
|
5
6
|
|
|
6
7
|
export class SomeMiddleware extends Middleware.Tag<SomeMiddleware>()("SomeMiddleware", {
|
|
7
|
-
provides: Some
|
|
8
|
-
wrap: true
|
|
8
|
+
provides: Some
|
|
9
9
|
})({
|
|
10
10
|
effect: Effect.gen(function*() {
|
|
11
11
|
// yield* Effect.context<"test-dep">()
|
|
12
|
-
return (
|
|
12
|
+
return () =>
|
|
13
13
|
Effect.gen(function*() {
|
|
14
|
-
|
|
15
|
-
return yield* next.pipe(Effect.provideService(Some, new Some({ a: 1 })))
|
|
14
|
+
return new Some({ a: 1 })
|
|
16
15
|
})
|
|
17
16
|
})
|
|
18
17
|
}) {
|
|
@@ -34,7 +33,7 @@ export class SomeElseMiddleware extends Middleware.Tag<SomeElseMiddleware>()("So
|
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
export class RequiresSomeMiddleware extends Middleware.Tag<RequiresSomeMiddleware>()("RequiresSomeMiddleware", {
|
|
37
|
-
requires: Some,
|
|
36
|
+
requires: [Some],
|
|
38
37
|
wrap: true
|
|
39
38
|
})({
|
|
40
39
|
effect: Effect.gen(function*() {
|
|
@@ -50,26 +49,108 @@ export class RequiresSomeMiddleware extends Middleware.Tag<RequiresSomeMiddlewar
|
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
it("requires gets enforced", async () => {
|
|
53
|
-
const middleware3 =
|
|
52
|
+
const middleware3 = makeMiddleware<RequestContextMap>()
|
|
54
53
|
.middleware(RequiresSomeMiddleware)
|
|
55
54
|
.middleware(SomeMiddleware)
|
|
56
|
-
.middleware(
|
|
55
|
+
.middleware(RequireRoles)
|
|
56
|
+
.middleware(AllowAnonymous, Test)
|
|
57
57
|
.middleware(SomeElseMiddleware)
|
|
58
|
-
.middleware(Test)
|
|
59
58
|
|
|
60
|
-
|
|
59
|
+
const layer = middleware3.Default.pipe(Layer.provide(Layer.succeed(Some, new Some({ a: 1 }))))
|
|
60
|
+
|
|
61
|
+
type Default = typeof middleware3["Default"]
|
|
62
|
+
type LayerContext = Layer.Layer.Context<Default>
|
|
61
63
|
expectTypeOf({} as LayerContext).toEqualTypeOf<Some>()
|
|
62
64
|
|
|
63
65
|
await Effect
|
|
64
66
|
.gen(function*() {
|
|
65
67
|
const mw = yield* middleware3
|
|
66
|
-
const mwM = mw.effect(
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
const mwM = mw.effect(
|
|
69
|
+
Object.assign({}, S.Any, { config: { requireRoles: ["manager"] } }),
|
|
70
|
+
(_req) => Effect.void,
|
|
71
|
+
"some-module"
|
|
72
|
+
)
|
|
73
|
+
yield* mwM({}, { "x-user": "test-user", "x-is-manager": "true" })
|
|
69
74
|
})
|
|
70
75
|
.pipe(
|
|
71
76
|
Effect.scoped,
|
|
72
|
-
Effect.provide(
|
|
77
|
+
Effect.provide(layer),
|
|
73
78
|
Effect.runPromise
|
|
74
79
|
)
|
|
80
|
+
|
|
81
|
+
await Effect
|
|
82
|
+
.gen(function*() {
|
|
83
|
+
const mw = yield* middleware3
|
|
84
|
+
const mwM = mw.effect(
|
|
85
|
+
Object.assign({}, S.Any, { config: { allowAnonymous: true } }),
|
|
86
|
+
(_req) => Effect.void,
|
|
87
|
+
"some-module"
|
|
88
|
+
)
|
|
89
|
+
yield* mwM({}, {})
|
|
90
|
+
})
|
|
91
|
+
.pipe(
|
|
92
|
+
Effect.scoped,
|
|
93
|
+
Effect.provide(layer),
|
|
94
|
+
Effect.runPromise
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
expect(
|
|
98
|
+
await Effect
|
|
99
|
+
.gen(function*() {
|
|
100
|
+
const mw = yield* middleware3
|
|
101
|
+
const mwM = mw.effect(
|
|
102
|
+
Object.assign({}, S.Any, { config: {} }),
|
|
103
|
+
(_req) => Effect.void,
|
|
104
|
+
"some-module"
|
|
105
|
+
)
|
|
106
|
+
yield* mwM({}, {})
|
|
107
|
+
})
|
|
108
|
+
.pipe(
|
|
109
|
+
Effect.scoped,
|
|
110
|
+
Effect.provide(layer),
|
|
111
|
+
Effect.either,
|
|
112
|
+
Effect.runPromise
|
|
113
|
+
)
|
|
114
|
+
)
|
|
115
|
+
.toEqual(Either.left(new NotLoggedInError()))
|
|
116
|
+
|
|
117
|
+
expect(
|
|
118
|
+
await Effect
|
|
119
|
+
.gen(function*() {
|
|
120
|
+
const mw = yield* middleware3
|
|
121
|
+
const mwM = mw.effect(
|
|
122
|
+
Object.assign({}, S.Any, { config: { requireRoles: ["manager"] } }),
|
|
123
|
+
(_req) => Effect.void,
|
|
124
|
+
"some-module"
|
|
125
|
+
)
|
|
126
|
+
yield* mwM({}, {})
|
|
127
|
+
})
|
|
128
|
+
.pipe(
|
|
129
|
+
Effect.scoped,
|
|
130
|
+
Effect.provide(layer),
|
|
131
|
+
Effect.either,
|
|
132
|
+
Effect.runPromise
|
|
133
|
+
)
|
|
134
|
+
)
|
|
135
|
+
.toEqual(Either.left(new NotLoggedInError()))
|
|
136
|
+
|
|
137
|
+
expect(
|
|
138
|
+
await Effect
|
|
139
|
+
.gen(function*() {
|
|
140
|
+
const mw = yield* middleware3
|
|
141
|
+
const mwM = mw.effect(
|
|
142
|
+
Object.assign({}, S.Any, { config: { requireRoles: ["manager"] } }),
|
|
143
|
+
(_req) => Effect.void,
|
|
144
|
+
"some-module"
|
|
145
|
+
)
|
|
146
|
+
yield* mwM({}, { "x-user": "test-user" })
|
|
147
|
+
})
|
|
148
|
+
.pipe(
|
|
149
|
+
Effect.scoped,
|
|
150
|
+
Effect.provide(layer),
|
|
151
|
+
Effect.either,
|
|
152
|
+
Effect.runPromise
|
|
153
|
+
)
|
|
154
|
+
)
|
|
155
|
+
.toEqual(Either.left(new UnauthorizedError({ message: "don't have the right roles" })))
|
|
75
156
|
})
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { Rpc, RpcMiddleware } from "@effect/rpc";
|
|
2
|
-
import { type SuccessValue, type TypeId } from "@effect/rpc/RpcMiddleware";
|
|
3
|
-
import { Context, Effect, Layer, type NonEmptyReadonlyArray, type Option, type Request, type S, type Schema, type Scope } from "effect-app";
|
|
4
|
-
import type { GetEffectContext, RPCContextMap } from "effect-app/client/req";
|
|
5
|
-
import { type HttpHeaders } from "effect-app/http";
|
|
6
|
-
import type * as EffectRequest from "effect/Request";
|
|
7
|
-
import { type ContextTagWithDefault, type LayerUtils } from "../../layerUtils.js";
|
|
8
|
-
import { type ContextWithLayer } from "./dynamic-middleware.js";
|
|
9
|
-
import { type ContextRepr, type GenericMiddlewareMaker } from "./generic-middleware.js";
|
|
10
|
-
export type MakeRPCHandlerFactory<RequestContextMap extends Record<string, RPCContextMap.Any>, MiddlewareR> = <T extends {
|
|
11
|
-
config?: Partial<Record<keyof RequestContextMap, any>>;
|
|
12
|
-
}, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>, next: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>>, moduleName: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req> | RequestContextMapErrors<RequestContextMap>, MiddlewareR | Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>>;
|
|
13
|
-
export type RPCHandlerFactory<RequestContextMap extends Record<string, RPCContextMap.Any>, ContextProviderA> = <T extends {
|
|
14
|
-
config?: Partial<Record<keyof RequestContextMap, any>>;
|
|
15
|
-
}, Req extends S.TaggedRequest.All, HandlerR>(schema: T & S.Schema<Req, any, never>, next: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, HandlerR>, moduleName: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req> | RequestContextMapErrors<RequestContextMap>, Scope.Scope | Exclude<Exclude<HandlerR, GetEffectContext<RequestContextMap, (T & S.Schema<Req, any, never>)["config"]>>, ContextProviderA>>;
|
|
16
|
-
export type RequestContextMapProvider<RequestContextMap extends Record<string, RPCContextMap.Any>> = {
|
|
17
|
-
[K in keyof RequestContextMap]: ContextWithLayer.Base<{
|
|
18
|
-
[K in keyof RequestContextMap]?: RequestContextMap[K]["contextActivation"];
|
|
19
|
-
}, RequestContextMap[K]["service"], S.Schema.Type<RequestContextMap[K]["error"]>>;
|
|
20
|
-
};
|
|
21
|
-
export interface MiddlewareMake<RequestContextMap extends Record<string, RPCContextMap.Any>, // what services will the middleware provide dynamically to the next, or raise errors.
|
|
22
|
-
DynamicMiddlewareProviders extends RequestContextMapProvider<RequestContextMap>, // how to resolve the dynamic middleware
|
|
23
|
-
GenericMiddlewareProviders extends ReadonlyArray<GenericMiddlewareMaker>, MakeMiddlewareE, // what the middleware construction can fail with
|
|
24
|
-
MakeMiddlewareR, // what the middleware requires to be constructed
|
|
25
|
-
MiddlewareDependencies extends ReadonlyArray<Layer.Layer.Any>> {
|
|
26
|
-
dynamicMiddlewares: DynamicMiddlewareProviders;
|
|
27
|
-
/** generic middlewares are those which follow the (next) => (input, headers) => pattern */
|
|
28
|
-
genericMiddlewares: GenericMiddlewareProviders;
|
|
29
|
-
dependencies?: MiddlewareDependencies;
|
|
30
|
-
execute?: (maker: (cb: MakeRPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]> | Scope.Scope>) => MakeRPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]> | Scope.Scope>) => Effect<MakeRPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]> | Scope.Scope>, MakeMiddlewareE, MakeMiddlewareR | Scope>;
|
|
31
|
-
}
|
|
32
|
-
export interface MiddlewareMakerId {
|
|
33
|
-
_tag: "MiddlewareMaker";
|
|
34
|
-
}
|
|
35
|
-
export type RouterMiddleware<RequestContextMap extends Record<string, RPCContextMap.Any>, // what services will the middlware provide dynamically to the next, or raise errors.
|
|
36
|
-
MakeMiddlewareE, // what the middleware construction can fail with
|
|
37
|
-
MakeMiddlewareR, // what the middlware requires to be constructed
|
|
38
|
-
ContextProviderA> = ContextTagWithDefault<MiddlewareMakerId, {
|
|
39
|
-
_tag: "MiddlewareMaker";
|
|
40
|
-
effect: RPCHandlerFactory<RequestContextMap, ContextProviderA>;
|
|
41
|
-
}, MakeMiddlewareE, MakeMiddlewareR>;
|
|
42
|
-
export type RequestContextMapErrors<RequestContextMap extends Record<string, RPCContextMap.Any>> = S.Schema.Type<RequestContextMap[keyof RequestContextMap]["error"]>;
|
|
43
|
-
export declare const makeMiddleware: <RequestContextMap extends Record<string, RPCContextMap.Any>>() => <RequestContextProviders extends RequestContextMapProvider<RequestContextMap>, // how to resolve the dynamic middleware
|
|
44
|
-
GenericMiddlewareProviders extends ReadonlyArray<GenericMiddlewareMaker>, MiddlewareDependencies extends ReadonlyArray<Layer.Layer.Any>, // layers provided for the middlware to be constructed
|
|
45
|
-
MakeMiddlewareE = never, // what the middleware construction can fail with
|
|
46
|
-
MakeMiddlewareR = never>(make: MiddlewareMake<RequestContextMap, RequestContextProviders, GenericMiddlewareProviders, MakeMiddlewareE, MakeMiddlewareR, MiddlewareDependencies>) => Context.Tag<MiddlewareMakerId, {
|
|
47
|
-
effect: RPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]>>;
|
|
48
|
-
_tag: "MiddlewareMaker";
|
|
49
|
-
}> & {
|
|
50
|
-
Default: Layer.Layer<MiddlewareMakerId, MakeMiddlewareE | Layer.Layer.Error<{ [K in keyof RequestContextProviders]: RequestContextProviders[K]["Default"]; }[keyof RequestContextProviders]> | LayerUtils.GetLayersError<[...{ [K_1 in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K_1]["Default"]; }]>, LayerUtils.GetLayersContext<MiddlewareDependencies> | LayerUtils.GetLayersContext<[...{ [K_1 in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K_1]["Default"]; }]> | Layer.Layer.Context<{ [K in keyof RequestContextProviders]: RequestContextProviders[K]["Default"]; }[keyof RequestContextProviders]> | Exclude<MakeMiddlewareR, LayerUtils.GetLayersSuccess<MiddlewareDependencies>>>;
|
|
51
|
-
};
|
|
52
|
-
export declare const makeMiddlewareBasic: <RequestContextMap extends Record<string, RPCContextMap.Any>, RequestContextProviders extends RequestContextMapProvider<RequestContextMap>, // how to resolve the dynamic middleware
|
|
53
|
-
GenericMiddlewareProviders extends ReadonlyArray<GenericMiddlewareMaker>>(make: MiddlewareMake<RequestContextMap, RequestContextProviders, GenericMiddlewareProviders, never, never, never>) => Context.Tag<MiddlewareMakerId, {
|
|
54
|
-
effect: RPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]>>;
|
|
55
|
-
_tag: "MiddlewareMaker";
|
|
56
|
-
}> & {
|
|
57
|
-
Default: Layer.Layer<MiddlewareMakerId, Layer.Layer.Error<{ [K in keyof RequestContextProviders]: RequestContextProviders[K]["Default"]; }[keyof RequestContextProviders]> | LayerUtils.GetLayersError<[...{ [K_1 in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K_1]["Default"]; }]>, LayerUtils.GetLayersContext<[...{ [K_1 in keyof GenericMiddlewareProviders]: GenericMiddlewareProviders[K_1]["Default"]; }]> | Layer.Layer.Context<{ [K in keyof RequestContextProviders]: RequestContextProviders[K]["Default"]; }[keyof RequestContextProviders]>>;
|
|
58
|
-
};
|
|
59
|
-
export interface RpcMiddleware<Provides, E, Requires> {
|
|
60
|
-
(options: {
|
|
61
|
-
readonly clientId: number;
|
|
62
|
-
readonly rpc: Rpc.AnyWithProps;
|
|
63
|
-
readonly payload: unknown;
|
|
64
|
-
readonly headers: HttpHeaders.Headers;
|
|
65
|
-
}): Effect.Effect<Provides, E, Scope.Scope | Requires>;
|
|
66
|
-
}
|
|
67
|
-
export interface RpcMiddlewareWrap<Provides, E, Requires> {
|
|
68
|
-
(options: {
|
|
69
|
-
readonly clientId: number;
|
|
70
|
-
readonly rpc: Rpc.AnyWithProps;
|
|
71
|
-
readonly payload: unknown;
|
|
72
|
-
readonly headers: HttpHeaders.Headers;
|
|
73
|
-
readonly next: Effect.Effect<SuccessValue, E, Provides | Scope.Scope | Requires>;
|
|
74
|
-
}): Effect.Effect<SuccessValue, E, Scope.Scope | Requires>;
|
|
75
|
-
}
|
|
76
|
-
type RpcOptionsOriginal = {
|
|
77
|
-
readonly wrap?: boolean;
|
|
78
|
-
readonly optional?: boolean;
|
|
79
|
-
readonly failure?: Schema.Schema.All;
|
|
80
|
-
readonly provides?: Context.Tag<any, any> | ContextRepr;
|
|
81
|
-
readonly requiredForClient?: boolean;
|
|
82
|
-
};
|
|
83
|
-
type RpcDynamic<Key extends string, A extends RPCContextMap.Any> = {
|
|
84
|
-
key: Key;
|
|
85
|
-
settings: A;
|
|
86
|
-
};
|
|
87
|
-
type RpcOptionsDynamic<Key extends string, A extends RPCContextMap.Any> = RpcOptionsOriginal & {
|
|
88
|
-
readonly dynamic: RpcDynamic<Key, A>;
|
|
89
|
-
readonly dependsOn?: NonEmptyReadonlyArray<TagClassDynamicAny<any>>;
|
|
90
|
-
};
|
|
91
|
-
export type Dynamic<Options> = Options extends RpcOptionsDynamic<any, any> ? true : false;
|
|
92
|
-
export interface RpcMiddlewareDynamic<A, E, R, Config> {
|
|
93
|
-
(options: {
|
|
94
|
-
readonly config: Config;
|
|
95
|
-
readonly clientId: number;
|
|
96
|
-
readonly rpc: Rpc.AnyWithProps;
|
|
97
|
-
readonly payload: unknown;
|
|
98
|
-
readonly headers: HttpHeaders.Headers;
|
|
99
|
-
}): Effect.Effect<Option.Option<Context.Context<A>>, E, Scope.Scope | R>;
|
|
100
|
-
}
|
|
101
|
-
export interface TagClassDynamicAny<RequestContext extends Record<string, RPCContextMap.Any>> extends Context.Tag<any, any> {
|
|
102
|
-
readonly [RpcMiddleware.TypeId]: RpcMiddleware.TypeId;
|
|
103
|
-
readonly optional: boolean;
|
|
104
|
-
readonly requires?: Context.Tag<any, any> | ContextRepr | undefined;
|
|
105
|
-
readonly failure: Schema.Schema.All;
|
|
106
|
-
readonly requiredForClient: boolean;
|
|
107
|
-
readonly dynamic: RpcDynamic<any, RequestContext[keyof RequestContext]>;
|
|
108
|
-
readonly wrap: boolean;
|
|
109
|
-
readonly dependsOn?: any;
|
|
110
|
-
}
|
|
111
|
-
export declare namespace TagClass {
|
|
112
|
-
/**
|
|
113
|
-
* @since 1.0.0
|
|
114
|
-
* @category models
|
|
115
|
-
*/
|
|
116
|
-
type Provides<Options> = Options extends {
|
|
117
|
-
readonly provides: Context.Tag<any, any>;
|
|
118
|
-
readonly optional?: false;
|
|
119
|
-
} ? Context.Tag.Identifier<Options["provides"]> : Options extends {
|
|
120
|
-
readonly provides: ContextRepr;
|
|
121
|
-
readonly optional?: false;
|
|
122
|
-
} ? ContextRepr.Identifier<Options["provides"]> : never;
|
|
123
|
-
/**
|
|
124
|
-
* @since 1.0.0
|
|
125
|
-
* @category models
|
|
126
|
-
*/
|
|
127
|
-
type Requires<Options> = Options extends {
|
|
128
|
-
readonly requires: Context.Tag<any, any>;
|
|
129
|
-
} ? Context.Tag.Identifier<Options["requires"]> : Options extends {
|
|
130
|
-
readonly requires: ContextRepr;
|
|
131
|
-
} ? ContextRepr.Identifier<Options["requires"]> : never;
|
|
132
|
-
/**
|
|
133
|
-
* @since 1.0.0
|
|
134
|
-
* @category models
|
|
135
|
-
*/
|
|
136
|
-
type Service<Options> = Options extends {
|
|
137
|
-
readonly provides: Context.Tag<any, any>;
|
|
138
|
-
} ? Context.Tag.Service<Options["provides"]> : Options extends {
|
|
139
|
-
readonly dynamic: RpcDynamic<any, infer A>;
|
|
140
|
-
} ? A["service"] : Options extends {
|
|
141
|
-
readonly provides: ContextRepr;
|
|
142
|
-
} ? Context.Context<ContextRepr.Identifier<Options["provides"]>> : void;
|
|
143
|
-
/**
|
|
144
|
-
* @since 1.0.0
|
|
145
|
-
* @category models
|
|
146
|
-
*/
|
|
147
|
-
type FailureSchema<Options> = Options extends {
|
|
148
|
-
readonly failure: Schema.Schema.All;
|
|
149
|
-
readonly optional?: false;
|
|
150
|
-
} ? Options["failure"] : Options extends {
|
|
151
|
-
readonly dynamic: RpcDynamic<any, infer A>;
|
|
152
|
-
} ? A["error"] : typeof Schema.Never;
|
|
153
|
-
/**
|
|
154
|
-
* @since 1.0.0
|
|
155
|
-
* @category models
|
|
156
|
-
*/
|
|
157
|
-
type Failure<Options> = Options extends {
|
|
158
|
-
readonly failure: Schema.Schema<infer _A, infer _I, infer _R>;
|
|
159
|
-
readonly optional?: false;
|
|
160
|
-
} ? _A : Options extends {
|
|
161
|
-
readonly dynamic: RpcDynamic<any, infer A>;
|
|
162
|
-
} ? S.Schema.Type<A["error"]> : never;
|
|
163
|
-
/**
|
|
164
|
-
* @since 1.0.0
|
|
165
|
-
* @category models
|
|
166
|
-
*/
|
|
167
|
-
type FailureContext<Options> = Schema.Schema.Context<FailureSchema<Options>>;
|
|
168
|
-
/**
|
|
169
|
-
* @since 1.0.0
|
|
170
|
-
* @category models
|
|
171
|
-
*/
|
|
172
|
-
type FailureService<Options> = Optional<Options> extends true ? unknown : Failure<Options>;
|
|
173
|
-
/**
|
|
174
|
-
* @since 1.0.0
|
|
175
|
-
* @category models
|
|
176
|
-
*/
|
|
177
|
-
type Optional<Options> = Options extends {
|
|
178
|
-
readonly optional: true;
|
|
179
|
-
} ? true : false;
|
|
180
|
-
/**
|
|
181
|
-
* @since 1.0.0
|
|
182
|
-
* @category models
|
|
183
|
-
*/
|
|
184
|
-
type RequiredForClient<Options> = Options extends {
|
|
185
|
-
readonly requiredForClient: true;
|
|
186
|
-
} ? true : false;
|
|
187
|
-
/**
|
|
188
|
-
* @since 1.0.0
|
|
189
|
-
* @category models
|
|
190
|
-
*/
|
|
191
|
-
type Wrap<Options> = Options extends {
|
|
192
|
-
readonly wrap: true;
|
|
193
|
-
} ? true : false;
|
|
194
|
-
/**
|
|
195
|
-
* @since 1.0.0
|
|
196
|
-
* @category models
|
|
197
|
-
*/
|
|
198
|
-
interface Base<Self, Name extends string, Options, Service> extends Context.Tag<Self, Service> {
|
|
199
|
-
new (_: never): Context.TagClassShape<Name, Service>;
|
|
200
|
-
readonly [TypeId]: TypeId;
|
|
201
|
-
readonly optional: Optional<Options>;
|
|
202
|
-
readonly failure: FailureSchema<Options>;
|
|
203
|
-
readonly provides: Options extends {
|
|
204
|
-
readonly provides: Context.Tag<any, any>;
|
|
205
|
-
} ? Options["provides"] : Options extends {
|
|
206
|
-
readonly provides: ContextRepr;
|
|
207
|
-
} ? Options["provides"] : undefined;
|
|
208
|
-
readonly requires: Options extends {
|
|
209
|
-
readonly requires: Context.Tag<any, any>;
|
|
210
|
-
} ? Options["requires"] : Options extends {
|
|
211
|
-
readonly requires: ContextRepr;
|
|
212
|
-
} ? Options["requires"] : undefined;
|
|
213
|
-
readonly dynamic: Options extends RpcOptionsDynamic<any, any> ? Options["dynamic"] : undefined;
|
|
214
|
-
readonly requiredForClient: RequiredForClient<Options>;
|
|
215
|
-
readonly wrap: Wrap<Options>;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
export interface TagClass<Self, Name extends string, Options> extends TagClass.Base<Self, Name, Options, TagClass.Wrap<Options> extends true ? RpcMiddlewareWrap<TagClass.Provides<Options>, TagClass.Requires<Options>, TagClass.Failure<Options>> : Options extends RpcOptionsDynamic<any, any> ? RpcMiddlewareDynamic<TagClass.Service<Options>, TagClass.FailureService<Options>, TagClass.Requires<Options>, {
|
|
219
|
-
[K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"];
|
|
220
|
-
}> : RpcMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>, TagClass.Requires<Options>>> {
|
|
221
|
-
}
|
|
222
|
-
export declare const Tag: <Self>() => <const Name extends string, const Options extends RpcOptionsOriginal | RpcOptionsDynamic<any, any>>(id: Name, options?: Options | undefined) => <E, R, L extends NonEmptyReadonlyArray<Layer.Layer.Any>>(opts: {
|
|
223
|
-
effect: Effect.Effect<TagClass.Wrap<Options> extends true ? RpcMiddlewareWrap<TagClass.Provides<Options>, TagClass.Failure<Options>, TagClass.Requires<Options>> : Options extends RpcOptionsDynamic<any, any> ? RpcMiddlewareDynamic<TagClass.Service<Options>, TagClass.FailureService<Options>, TagClass.Requires<Options>, { [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"]; }> : RpcMiddleware<TagClass.Service<Options>, TagClass.FailureService<Options>, TagClass.Requires<Options>>, E, R>;
|
|
224
|
-
dependencies?: L;
|
|
225
|
-
}) => TagClass<Self, Name, Options> & {
|
|
226
|
-
Default: Layer.Layer<Self, E | LayerUtils.GetLayersError<L>, Exclude<R, LayerUtils.GetLayersSuccess<L>>>;
|
|
227
|
-
};
|
|
228
|
-
export {};
|
|
229
|
-
//# sourceMappingURL=DynamicMiddleware.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/DynamicMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
-
import { Rpc, RpcMiddleware } from "@effect/rpc";
|
|
5
|
-
import { Context, Effect, Layer, Unify } from "effect-app";
|
|
6
|
-
import { implementMiddleware } from "./dynamic-middleware.js";
|
|
7
|
-
import { genericMiddlewareMaker } from "./generic-middleware.js";
|
|
8
|
-
/*:
|
|
9
|
-
& Context.Tag<MiddlewareMakerId, {
|
|
10
|
-
effect: RPCHandlerFactory<RequestContextMap, GenericMiddlewareMaker.Provided<GenericMiddlewareProviders[number]>>
|
|
11
|
-
_tag: "MiddlewareMaker"
|
|
12
|
-
}>
|
|
13
|
-
& { Default: "abc" } */
|
|
14
|
-
// factory for middlewares
|
|
15
|
-
export const makeMiddleware =
|
|
16
|
-
// by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
|
|
17
|
-
() => (make) => {
|
|
18
|
-
const MiddlewareMaker = Context.GenericTag("MiddlewareMaker");
|
|
19
|
-
const dynamicMiddlewares = implementMiddleware()(make.dynamicMiddlewares);
|
|
20
|
-
const middlewares = genericMiddlewareMaker(...make.genericMiddlewares);
|
|
21
|
-
const l = Layer.scoped(MiddlewareMaker, Effect
|
|
22
|
-
.all({
|
|
23
|
-
dynamicMiddlewares: dynamicMiddlewares.effect,
|
|
24
|
-
generic: middlewares.effect,
|
|
25
|
-
middleware: make.execute
|
|
26
|
-
? make.execute((cb) => cb)
|
|
27
|
-
: Effect.succeed((_schema, next) => (payload, headers) => next(payload, headers))
|
|
28
|
-
})
|
|
29
|
-
.pipe(Effect.map(({ dynamicMiddlewares, generic, middleware }) => ({
|
|
30
|
-
_tag: "MiddlewareMaker",
|
|
31
|
-
effect: makeRpcEffect()((schema, next, moduleName) => {
|
|
32
|
-
const h = middleware(schema, next, moduleName);
|
|
33
|
-
return (payload, headers) => {
|
|
34
|
-
const basic = {
|
|
35
|
-
config: schema.config ?? {},
|
|
36
|
-
payload,
|
|
37
|
-
headers,
|
|
38
|
-
clientId: 0, // TODO: get the clientId from the request context
|
|
39
|
-
rpc: {
|
|
40
|
-
...Rpc.fromTaggedRequest(schema),
|
|
41
|
-
// middlewares ? // todo: get from actual middleware flow?
|
|
42
|
-
annotations: Context.empty(), // TODO //Annotations(schema as any),
|
|
43
|
-
// successSchema: schema.success ?? Schema.Void,
|
|
44
|
-
// errorSchema: schema.failure ?? Schema.Never,
|
|
45
|
-
payloadSchema: schema,
|
|
46
|
-
_tag: `${moduleName}.${payload._tag}`,
|
|
47
|
-
key: `${moduleName}.${payload._tag}` /* ? */
|
|
48
|
-
// clientId: 0 as number /* ? */
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
return Effect
|
|
52
|
-
.gen(function* () {
|
|
53
|
-
const gen = generic({
|
|
54
|
-
...basic,
|
|
55
|
-
next:
|
|
56
|
-
// the contextProvider is an Effect that builds the context for the request
|
|
57
|
-
// the dynamicMiddlewares is an Effect that builds the dynamiuc context for the request
|
|
58
|
-
dynamicMiddlewares(basic).pipe(Effect.flatMap((dynamicContext) => h(payload, headers).pipe(Effect.provide(dynamicContext))))
|
|
59
|
-
});
|
|
60
|
-
return yield* gen;
|
|
61
|
-
}); // why?
|
|
62
|
-
};
|
|
63
|
-
})
|
|
64
|
-
}))));
|
|
65
|
-
const dependencies = [
|
|
66
|
-
...(make.dependencies ? make.dependencies : []),
|
|
67
|
-
...dynamicMiddlewares.dependencies,
|
|
68
|
-
...middlewares.dependencies
|
|
69
|
-
];
|
|
70
|
-
const middlewareLayer = l
|
|
71
|
-
.pipe(Layer.provide(dependencies));
|
|
72
|
-
return Object.assign(MiddlewareMaker, { Default: middlewareLayer });
|
|
73
|
-
};
|
|
74
|
-
export const makeMiddlewareBasic =
|
|
75
|
-
// by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
|
|
76
|
-
(make) => {
|
|
77
|
-
const MiddlewareMaker = Context.GenericTag("MiddlewareMaker");
|
|
78
|
-
const dynamicMiddlewares = implementMiddleware()(make.dynamicMiddlewares);
|
|
79
|
-
const middlewares = genericMiddlewareMaker(...make.genericMiddlewares);
|
|
80
|
-
const l = Layer.scoped(MiddlewareMaker, Effect
|
|
81
|
-
.all({
|
|
82
|
-
dynamicMiddlewares: dynamicMiddlewares.effect,
|
|
83
|
-
generic: middlewares.effect,
|
|
84
|
-
middleware: make.execute
|
|
85
|
-
? make.execute((cb) => cb)
|
|
86
|
-
: Effect.succeed((_schema, next) => (payload, headers) => next(payload, headers))
|
|
87
|
-
})
|
|
88
|
-
.pipe(Effect.map(({ dynamicMiddlewares, generic, middleware }) => ({
|
|
89
|
-
_tag: "MiddlewareMaker",
|
|
90
|
-
effect: makeRpcEffect()((schema, next, moduleName) => {
|
|
91
|
-
const h = middleware(schema, next, moduleName);
|
|
92
|
-
return (payload, headers) => Effect
|
|
93
|
-
.gen(function* () {
|
|
94
|
-
const basic = {
|
|
95
|
-
config: schema.config ?? {},
|
|
96
|
-
payload,
|
|
97
|
-
headers,
|
|
98
|
-
clientId: 0, // TODO: get the clientId from the request context
|
|
99
|
-
rpc: {
|
|
100
|
-
...Rpc.fromTaggedRequest(schema),
|
|
101
|
-
// middlewares ? // todo: get from actual middleware flow?
|
|
102
|
-
annotations: Context.empty(), // TODO //Annotations(schema as any),
|
|
103
|
-
// successSchema: schema.success ?? Schema.Void,
|
|
104
|
-
// errorSchema: schema.failure ?? Schema.Never,
|
|
105
|
-
payloadSchema: schema,
|
|
106
|
-
_tag: `${moduleName}.${payload._tag}`,
|
|
107
|
-
key: `${moduleName}.${payload._tag}` /* ? */
|
|
108
|
-
// clientId: 0 as number /* ? */
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
return yield* generic({
|
|
112
|
-
...basic,
|
|
113
|
-
next:
|
|
114
|
-
// the contextProvider is an Effect that builds the context for the request
|
|
115
|
-
// the dynamicMiddlewares is an Effect that builds the dynamiuc context for the request
|
|
116
|
-
dynamicMiddlewares(basic).pipe(Effect.flatMap((dynamicContext) => h(payload, headers).pipe(Effect.provide(dynamicContext))))
|
|
117
|
-
});
|
|
118
|
-
}); // why?
|
|
119
|
-
})
|
|
120
|
-
}))));
|
|
121
|
-
const dependencies = [
|
|
122
|
-
...(make.dependencies ? make.dependencies : []),
|
|
123
|
-
...(dynamicMiddlewares.dependencies),
|
|
124
|
-
...middlewares.dependencies
|
|
125
|
-
];
|
|
126
|
-
const middlewareLayer = l
|
|
127
|
-
.pipe(Layer.provide(dependencies));
|
|
128
|
-
return Object.assign(MiddlewareMaker, { Default: middlewareLayer });
|
|
129
|
-
};
|
|
130
|
-
// it just provides the right types without cluttering the implementation with them
|
|
131
|
-
function makeRpcEffect() {
|
|
132
|
-
return (cb) => cb;
|
|
133
|
-
}
|
|
134
|
-
export const Tag = () => (id, options) => (opts) => class extends RpcMiddleware.Tag()(id, options) {
|
|
135
|
-
// TODO: move to TagClass.
|
|
136
|
-
static dynamic = options && "dynamic" in options ? options.dynamic : undefined;
|
|
137
|
-
static dependsOn = options && "dependsOn" in options ? options.dependsOn : undefined;
|
|
138
|
-
static Default = Layer.scoped(this, opts.effect).pipe(Layer.provide([Layer.empty, ...opts.dependencies ?? []]));
|
|
139
|
-
static [Unify.typeSymbol];
|
|
140
|
-
static [Unify.unifySymbol];
|
|
141
|
-
static [Unify.ignoreSymbol];
|
|
142
|
-
};
|
|
143
|
-
// export const Tag = <Self>() =>
|
|
144
|
-
// <
|
|
145
|
-
// const Name extends string,
|
|
146
|
-
// const Options extends Omit<RpcOptionsOriginal, "wrap">
|
|
147
|
-
// >(
|
|
148
|
-
// id: Name,
|
|
149
|
-
// options?: Options | undefined
|
|
150
|
-
// ) =>
|
|
151
|
-
// OurTag<Self>()(id, { ...options, wrap: true } as Options & { wrap: true }) as <
|
|
152
|
-
// E,
|
|
153
|
-
// R,
|
|
154
|
-
// L extends NonEmptyReadonlyArray<Layer.Layer.Any>
|
|
155
|
-
// >(opts: {
|
|
156
|
-
// effect: Effect.Effect<
|
|
157
|
-
// RpcMiddlewareWrap<
|
|
158
|
-
// RpcMiddleware.TagClass.Provides<Options>,
|
|
159
|
-
// RpcMiddleware.TagClass.Failure<Options>
|
|
160
|
-
// >,
|
|
161
|
-
// E,
|
|
162
|
-
// R
|
|
163
|
-
// >
|
|
164
|
-
// dependencies?: L
|
|
165
|
-
// }) => RpcMiddleware.TagClass<Self, Name, Options> & {
|
|
166
|
-
// Default: Layer.Layer<Self, E | LayerUtils.GetLayersError<L>, Exclude<R, LayerUtils.GetLayersSuccess<L>>>
|
|
167
|
-
// }
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvbWlkZGxld2FyZS9EeW5hbWljTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQTBGLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQU1sSixPQUFPLEVBQXlCLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDcEYsT0FBTyxFQUFpRCxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBaUovRzs7Ozs7MkJBSzJCO0FBRTNCLDBCQUEwQjtBQUMxQixNQUFNLENBQUMsTUFBTSxjQUFjO0FBQ3pCLHFHQUFxRztBQUNyRyxHQUVJLEVBQUUsQ0FDTixDQU9FLElBT0MsRUFDRCxFQUFFO0lBQ0YsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FVeEMsaUJBQWlCLENBQ2xCLENBQUE7SUFFRCxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixFQUFxQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzVGLE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFFdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDcEIsZUFBZSxFQUNmLE1BQU07U0FDSCxHQUFHLENBQUM7UUFDSCxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1FBQzdDLE9BQU8sRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDdEIsQ0FBQyxDQUFDLElBQUks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
|