effect-app 3.0.5 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -8,11 +8,8 @@ import { type TypeTestId } from "../TypeTest.js";
|
|
|
8
8
|
import { type GetContextConfig, type RpcContextMap } from "./RpcContextMap.js";
|
|
9
9
|
import { type AddMiddleware, type AnyDynamic, type RpcDynamic, type TagClassAny } from "./RpcMiddleware.js";
|
|
10
10
|
import * as RpcMiddlewareX from "./RpcMiddleware.js";
|
|
11
|
-
export interface MiddlewareMakerId {
|
|
12
|
-
readonly _id: unique symbol;
|
|
13
|
-
}
|
|
14
11
|
type MakeTags<A> = Context.Tag<A, A>;
|
|
15
|
-
export interface MiddlewareMaker<Self, RequestContextMap extends Record<string, RpcContextMap.Any>, MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>> extends RpcMiddleware.TagClass<Self,
|
|
12
|
+
export interface MiddlewareMaker<Self, Id extends string, RequestContextMap extends Record<string, RpcContextMap.Any>, MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>> extends RpcMiddleware.TagClass<Self, Id, Simplify<{
|
|
16
13
|
readonly wrap: true;
|
|
17
14
|
} & (Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? {} : {
|
|
18
15
|
readonly requires: MakeTags<Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>;
|
|
@@ -66,6 +63,7 @@ type FilterInDynamicMiddlewares<MWs extends ReadonlyArray<MiddlewareMaker.Any>,
|
|
|
66
63
|
};
|
|
67
64
|
type RecursiveHandleMWsSideways<MWs, R extends {
|
|
68
65
|
self: any;
|
|
66
|
+
id: string;
|
|
69
67
|
rcm: Record<string, RpcContextMap.Any>;
|
|
70
68
|
provided: keyof R["rcm"];
|
|
71
69
|
middlewares: ReadonlyArray<MiddlewareMaker.Any>;
|
|
@@ -73,6 +71,7 @@ type RecursiveHandleMWsSideways<MWs, R extends {
|
|
|
73
71
|
middlewareR: any;
|
|
74
72
|
}> = MWs extends [] ? R : MWs extends [infer F, ...infer Rest extends ReadonlyArray<any>] ? F extends MiddlewareMaker.Any ? RecursiveHandleMWsSideways<Rest, {
|
|
75
73
|
self: R["self"];
|
|
74
|
+
id: R["id"];
|
|
76
75
|
rcm: R["rcm"];
|
|
77
76
|
provided: Exclude<R["provided"] | FilterInDynamicMiddlewares<[F], R["rcm"]>[number]["dynamic"]["key"], GetDependsOnKeys<F>>;
|
|
78
77
|
middlewares: [...R["middlewares"], F];
|
|
@@ -81,7 +80,7 @@ type RecursiveHandleMWsSideways<MWs, R extends {
|
|
|
81
80
|
};
|
|
82
81
|
middlewareR: MiddlewareMaker.ApplyManyServices<[F], R["middlewareR"]>;
|
|
83
82
|
}> : `Absurd: F must extend MiddlewareMaker.Any` : never;
|
|
84
|
-
export interface BuildingMiddleware<Self, RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap, Middlewares extends ReadonlyArray<MiddlewareMaker.Any>, DynamicMiddlewareProviders, out MiddlewareR extends {
|
|
83
|
+
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 {
|
|
85
84
|
_tag: string;
|
|
86
85
|
} = never> {
|
|
87
86
|
rpc: <const Tag extends string, Payload extends Schema.Schema.Any | Schema.Struct.Fields = typeof Schema.Void, Success extends Schema.Schema.Any = typeof Schema.Void, Error extends Schema.Schema.All = typeof Schema.Never, const Stream extends boolean = false, Config extends GetContextConfig<RequestContextMap> = {}>(tag: Tag, options?: {
|
|
@@ -96,6 +95,7 @@ export interface BuildingMiddleware<Self, RequestContextMap extends Record<strin
|
|
|
96
95
|
};
|
|
97
96
|
middleware<MWs extends NonEmptyArray<MiddlewareMaker.Any>>(...mw: MWs): RecursiveHandleMWsSideways<MWs, {
|
|
98
97
|
self: Self;
|
|
98
|
+
id: Id;
|
|
99
99
|
rcm: RequestContextMap;
|
|
100
100
|
provided: Provided;
|
|
101
101
|
middlewares: Middlewares;
|
|
@@ -103,22 +103,23 @@ export interface BuildingMiddleware<Self, RequestContextMap extends Record<strin
|
|
|
103
103
|
middlewareR: MiddlewareR;
|
|
104
104
|
}> extends infer Res extends {
|
|
105
105
|
self: any;
|
|
106
|
+
id: string;
|
|
106
107
|
rcm: RequestContextMap;
|
|
107
108
|
provided: keyof RequestContextMap;
|
|
108
109
|
middlewares: ReadonlyArray<MiddlewareMaker.Any>;
|
|
109
110
|
dmp: any;
|
|
110
111
|
middlewareR: any;
|
|
111
|
-
} ? MiddlewaresBuilder<Res["self"], Res["rcm"], Res["provided"], Res["middlewares"], Res["dmp"], Res["middlewareR"]> : never;
|
|
112
|
+
} ? MiddlewaresBuilder<Res["self"], Res["id"], Res["rcm"], Res["provided"], Res["middlewares"], Res["dmp"], Res["middlewareR"]> : never;
|
|
112
113
|
readonly [TypeTestId]: {
|
|
113
114
|
missingDynamicMiddlewares: Exclude<keyof RequestContextMap, Provided>;
|
|
114
115
|
missingContext: MiddlewareR;
|
|
115
116
|
};
|
|
116
117
|
}
|
|
117
|
-
export type MiddlewaresBuilder<Self, RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap = never, Middlewares extends ReadonlyArray<MiddlewareMaker.Any> = [], DynamicMiddlewareProviders = unknown, MiddlewareR extends {
|
|
118
|
+
export type MiddlewaresBuilder<Self, Id extends string, RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap = never, Middlewares extends ReadonlyArray<MiddlewareMaker.Any> = [], DynamicMiddlewareProviders = unknown, MiddlewareR extends {
|
|
118
119
|
_tag: string;
|
|
119
|
-
} = never> = BuildingMiddleware<Self, RequestContextMap, Provided, Middlewares, DynamicMiddlewareProviders, MiddlewareR> & // keyof Omit<RequestContextMap, Provided> extends never is true when all the dynamic middlewares are provided
|
|
120
|
-
(keyof Omit<RequestContextMap, Provided> extends never ? [MiddlewareR] extends [never] ? MiddlewareMaker<Self, RequestContextMap, Middlewares> : {} : {});
|
|
121
|
-
export declare const Tag: <Self>() => <const Id extends string, RequestContextMap extends Record<string, RpcContextMap.Any>>(id: Id, rcm: RequestContextMap) => MiddlewaresBuilder<Self, RequestContextMap>;
|
|
120
|
+
} = never> = BuildingMiddleware<Self, Id, RequestContextMap, Provided, Middlewares, DynamicMiddlewareProviders, MiddlewareR> & // keyof Omit<RequestContextMap, Provided> extends never is true when all the dynamic middlewares are provided
|
|
121
|
+
(keyof Omit<RequestContextMap, Provided> extends never ? [MiddlewareR] extends [never] ? MiddlewareMaker<Self, Id, RequestContextMap, Middlewares> : {} : {});
|
|
122
|
+
export declare const Tag: <Self>() => <const Id extends string, RequestContextMap extends Record<string, RpcContextMap.Any>>(id: Id, rcm: RequestContextMap) => MiddlewaresBuilder<Self, Id, RequestContextMap>;
|
|
122
123
|
export declare const middlewareGroup: <RequestContextMap extends Record<string, RpcContextMap.Any>, Middleware extends RpcMiddleware.TagClassAny & {
|
|
123
124
|
readonly requestContext: RequestContextTag<RequestContextMap>;
|
|
124
125
|
readonly requestContextMap: RequestContextMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AACpF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAC7E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAwB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjI,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,4 +97,4 @@ export const middlewareGroup = (middleware) => (group) => {
|
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZU1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9NaWRkbGV3YXJlTWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQXFELE1BQU0sYUFBYSxDQUFBO0FBRXBGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBSXpFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUczQyxPQUFPLEtBQUssY0FBYyxNQUFNLG9CQUFvQixDQUFBO0FBd09wRCxNQUFNLGVBQWUsR0FBRyxDQUV0QixXQUFnQyxFQVVoQyxFQUFFO0lBQ0Ysc0dBQXNHO0lBQ3RHLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFTLENBQUE7SUFFN0MsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFFdkMsOERBQThEO1FBQzlELE9BQU8sQ0FDTCxRQUtJLEVBQ0osRUFBRTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUE7WUFDckMsbUNBQW1DO1lBQ25DLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtZQUVsQixxQ0FBcUM7WUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDOUIsaURBQWlEO2dCQUNqRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQTtnQkFFbEQsK0VBQStFO2dCQUMvRSxPQUFPLEdBQUcsYUFBYSxDQUFD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
|
package/package.json
CHANGED
|
@@ -12,21 +12,18 @@ import { type GetContextConfig, type RpcContextMap } from "./RpcContextMap.js"
|
|
|
12
12
|
import { type AddMiddleware, type AnyDynamic, type RpcDynamic, type RpcMiddlewareV4, type TagClassAny } from "./RpcMiddleware.js"
|
|
13
13
|
import * as RpcMiddlewareX from "./RpcMiddleware.js"
|
|
14
14
|
|
|
15
|
-
export interface MiddlewareMakerId {
|
|
16
|
-
readonly _id: unique symbol
|
|
17
|
-
}
|
|
18
|
-
|
|
19
15
|
// adapter for v3 rpc middleware provides
|
|
20
16
|
type MakeTags<A> = Context.Tag<A, A>
|
|
21
17
|
|
|
22
18
|
export interface MiddlewareMaker<
|
|
23
19
|
Self,
|
|
20
|
+
Id extends string,
|
|
24
21
|
RequestContextMap extends Record<string, RpcContextMap.Any>,
|
|
25
22
|
MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>
|
|
26
23
|
> extends
|
|
27
24
|
RpcMiddleware.TagClass<
|
|
28
25
|
Self,
|
|
29
|
-
|
|
26
|
+
Id,
|
|
30
27
|
Simplify<
|
|
31
28
|
& { readonly wrap: true }
|
|
32
29
|
& (Exclude<
|
|
@@ -112,6 +109,7 @@ type RecursiveHandleMWsSideways<
|
|
|
112
109
|
MWs,
|
|
113
110
|
R extends {
|
|
114
111
|
self: any
|
|
112
|
+
id: string
|
|
115
113
|
rcm: Record<string, RpcContextMap.Any>
|
|
116
114
|
provided: keyof R["rcm"] // that's fine
|
|
117
115
|
middlewares: ReadonlyArray<MiddlewareMaker.Any>
|
|
@@ -122,6 +120,7 @@ type RecursiveHandleMWsSideways<
|
|
|
122
120
|
: MWs extends [infer F, ...infer Rest extends ReadonlyArray<any>]
|
|
123
121
|
? F extends MiddlewareMaker.Any ? RecursiveHandleMWsSideways<Rest, {
|
|
124
122
|
self: R["self"]
|
|
123
|
+
id: R["id"]
|
|
125
124
|
rcm: R["rcm"]
|
|
126
125
|
// when one dynamic middleware depends on another, subtract the key to enforce the dependency to be provided after
|
|
127
126
|
// (if already provided, it would have to be re-provided anyway, so better to provide it after)
|
|
@@ -146,6 +145,7 @@ type RecursiveHandleMWsSideways<
|
|
|
146
145
|
|
|
147
146
|
export interface BuildingMiddleware<
|
|
148
147
|
Self,
|
|
148
|
+
Id extends string,
|
|
149
149
|
RequestContextMap extends Record<string, RpcContextMap.Any>,
|
|
150
150
|
Provided extends keyof RequestContextMap,
|
|
151
151
|
Middlewares extends ReadonlyArray<MiddlewareMaker.Any>,
|
|
@@ -181,6 +181,7 @@ export interface BuildingMiddleware<
|
|
|
181
181
|
...mw: MWs
|
|
182
182
|
): RecursiveHandleMWsSideways<MWs, {
|
|
183
183
|
self: Self
|
|
184
|
+
id: Id
|
|
184
185
|
rcm: RequestContextMap
|
|
185
186
|
provided: Provided
|
|
186
187
|
middlewares: Middlewares
|
|
@@ -188,6 +189,7 @@ export interface BuildingMiddleware<
|
|
|
188
189
|
middlewareR: MiddlewareR
|
|
189
190
|
}> extends infer Res extends {
|
|
190
191
|
self: any
|
|
192
|
+
id: string
|
|
191
193
|
rcm: RequestContextMap
|
|
192
194
|
provided: keyof RequestContextMap
|
|
193
195
|
middlewares: ReadonlyArray<MiddlewareMaker.Any>
|
|
@@ -195,6 +197,7 @@ export interface BuildingMiddleware<
|
|
|
195
197
|
middlewareR: any
|
|
196
198
|
} ? MiddlewaresBuilder<
|
|
197
199
|
Res["self"],
|
|
200
|
+
Res["id"],
|
|
198
201
|
Res["rcm"],
|
|
199
202
|
Res["provided"],
|
|
200
203
|
Res["middlewares"],
|
|
@@ -212,6 +215,7 @@ export interface BuildingMiddleware<
|
|
|
212
215
|
|
|
213
216
|
export type MiddlewaresBuilder<
|
|
214
217
|
Self,
|
|
218
|
+
Id extends string,
|
|
215
219
|
RequestContextMap extends Record<string, RpcContextMap.Any>,
|
|
216
220
|
Provided extends keyof RequestContextMap = never,
|
|
217
221
|
Middlewares extends ReadonlyArray<MiddlewareMaker.Any> = [],
|
|
@@ -220,6 +224,7 @@ export type MiddlewaresBuilder<
|
|
|
220
224
|
> =
|
|
221
225
|
& BuildingMiddleware<
|
|
222
226
|
Self,
|
|
227
|
+
Id,
|
|
223
228
|
RequestContextMap,
|
|
224
229
|
Provided,
|
|
225
230
|
Middlewares,
|
|
@@ -230,6 +235,7 @@ export type MiddlewaresBuilder<
|
|
|
230
235
|
// MiddlewareR is never when all the required services from generic & dynamic middlewares are provided
|
|
231
236
|
(keyof Omit<RequestContextMap, Provided> extends never ? [MiddlewareR] extends [never] ? MiddlewareMaker<
|
|
232
237
|
Self,
|
|
238
|
+
Id,
|
|
233
239
|
RequestContextMap,
|
|
234
240
|
Middlewares
|
|
235
241
|
>
|
|
@@ -353,7 +359,7 @@ export const Tag = <Self>() =>
|
|
|
353
359
|
<
|
|
354
360
|
const Id extends string,
|
|
355
361
|
RequestContextMap extends Record<string, RpcContextMap.Any>
|
|
356
|
-
>(id: Id, rcm: RequestContextMap): MiddlewaresBuilder<Self, RequestContextMap> => {
|
|
362
|
+
>(id: Id, rcm: RequestContextMap): MiddlewaresBuilder<Self, Id, RequestContextMap> => {
|
|
357
363
|
let allMiddleware: MiddlewareMaker.Any[] = []
|
|
358
364
|
const requestContext = Context.GenericTag<"RequestContextConfig", GetContextConfig<RequestContextMap>>(
|
|
359
365
|
"RequestContextConfig"
|
|
@@ -408,7 +414,7 @@ export const Tag = <Self>() =>
|
|
|
408
414
|
// for sure, until all the dynamic middlewares are provided it's non sensical to call makeMiddlewareBasic
|
|
409
415
|
? it
|
|
410
416
|
// actually, we don't know yet if MiddlewareR is never, but we can't easily check it at runtime
|
|
411
|
-
: Object.assign(makeMiddlewareBasic<Self>()<
|
|
417
|
+
: Object.assign(makeMiddlewareBasic<Self>()<Id, any, any>(id, rcm, ...allMiddleware), it)
|
|
412
418
|
}
|
|
413
419
|
}
|
|
414
420
|
return it as any
|