effect-app 3.0.1 → 3.0.3

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/Context.d.ts +23 -3
  3. package/dist/Context.d.ts.map +1 -1
  4. package/dist/Context.js +5 -1
  5. package/dist/NonEmptySet.d.ts +1 -1
  6. package/dist/client/apiClientFactory.d.ts +2 -18
  7. package/dist/client/apiClientFactory.d.ts.map +1 -1
  8. package/dist/client/makeClient.d.ts +58 -0
  9. package/dist/client/makeClient.d.ts.map +1 -0
  10. package/dist/client/makeClient.js +36 -0
  11. package/dist/client.d.ts +1 -1
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/client.js +2 -2
  14. package/dist/{rpc/middleware-native.d.ts → middleware.d.ts} +11 -8
  15. package/dist/middleware.d.ts.map +1 -0
  16. package/dist/middleware.js +17 -0
  17. package/dist/rpc/{middleware-api.d.ts → MiddlewareMaker.d.ts} +62 -40
  18. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -0
  19. package/dist/rpc/MiddlewareMaker.js +99 -0
  20. package/dist/rpc/RpcContextMap.d.ts +73 -0
  21. package/dist/rpc/RpcContextMap.d.ts.map +1 -0
  22. package/dist/rpc/RpcContextMap.js +33 -0
  23. package/dist/rpc/RpcMiddleware.d.ts +54 -89
  24. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  25. package/dist/rpc/RpcMiddleware.js +4 -2
  26. package/dist/rpc.d.ts +2 -4
  27. package/dist/rpc.d.ts.map +1 -1
  28. package/dist/rpc.js +3 -5
  29. package/dist/utils.d.ts +0 -1
  30. package/dist/utils.d.ts.map +1 -1
  31. package/package.json +22 -24
  32. package/src/Context.ts +55 -0
  33. package/src/client/{req.ts → makeClient.ts} +5 -137
  34. package/src/client.ts +1 -1
  35. package/src/middleware.ts +19 -0
  36. package/src/rpc/{middleware-api.ts → MiddlewareMaker.ts} +146 -117
  37. package/src/rpc/README.md +41 -0
  38. package/src/rpc/RpcContextMap.ts +163 -0
  39. package/src/rpc/RpcMiddleware.ts +122 -112
  40. package/src/rpc.ts +2 -4
  41. package/src/utils.ts +0 -2
  42. package/test/rpc.test.ts +1 -1
  43. package/dist/client/req.d.ts +0 -116
  44. package/dist/client/req.d.ts.map +0 -1
  45. package/dist/client/req.js +0 -56
  46. package/dist/rpc/RpcMiddlewareX.d.ts +0 -18
  47. package/dist/rpc/RpcMiddlewareX.d.ts.map +0 -1
  48. package/dist/rpc/RpcMiddlewareX.js +0 -16
  49. package/dist/rpc/generic-middleware.d.ts +0 -55
  50. package/dist/rpc/generic-middleware.d.ts.map +0 -1
  51. package/dist/rpc/generic-middleware.js +0 -67
  52. package/dist/rpc/middleware-api.d.ts.map +0 -1
  53. package/dist/rpc/middleware-api.js +0 -88
  54. package/dist/rpc/middleware-native.d.ts.map +0 -1
  55. package/dist/rpc/middleware-native.js +0 -19
  56. package/src/rpc/RpcMiddlewareX.ts +0 -70
  57. package/src/rpc/generic-middleware.ts +0 -198
  58. package/src/rpc/middleware-native.ts +0 -23
  59. package/wallaby.cjs +0 -1
@@ -1,55 +0,0 @@
1
- import { type RpcMiddleware } from "@effect/rpc";
2
- import { Context, Effect, type Layer, type NonEmptyReadonlyArray, type S } from "effect-app";
3
- import { type ContextTagArray, type GetContextConfig, type RPCContextMap } from "effect-app/client";
4
- import { type Tag } from "effect/Context";
5
- import { type Simplify } from "effect/Types";
6
- import { type MakeTags, type MiddlewareMakerId } from "./middleware-api.js";
7
- import { type RpcMiddlewareWrap, type TagClassAny } from "./RpcMiddleware.js";
8
- export interface MiddlewareMaker<RequestContextMap extends Record<string, RPCContextMap.Any>, MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>> extends RpcMiddleware.TagClass<MiddlewareMakerId, "MiddlewareMaker", Simplify<{
9
- readonly wrap: true;
10
- } & (Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? {} : {
11
- readonly requires: MakeTags<Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>;
12
- }) & (MiddlewareMaker.ManyErrors<MiddlewareProviders> extends never ? {} : {
13
- readonly failure: S.Schema<MiddlewareMaker.ManyErrors<MiddlewareProviders>>;
14
- }) & (MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? {} : {
15
- readonly provides: MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>>;
16
- })>> {
17
- readonly layer: Layer.Layer<MiddlewareMakerId, never, Tag.Identifier<MiddlewareProviders[number]>>;
18
- readonly requestContext: RequestContextTag<RequestContextMap>;
19
- readonly requestContextMap: RequestContextMap;
20
- }
21
- export interface RequestContextTag<RequestContextMap extends Record<string, RPCContextMap.Any>> extends Context.Tag<"RequestContextConfig", GetContextConfig<RequestContextMap>> {
22
- }
23
- export declare namespace MiddlewareMaker {
24
- type Any = TagClassAny;
25
- type ApplyServices<A extends TagClassAny, R> = Exclude<R, Provided<A>> | Required<A>;
26
- type ApplyManyServices<A extends NonEmptyReadonlyArray<TagClassAny>, R> = Exclude<R, {
27
- [K in keyof A]: Provided<A[K]>;
28
- }[number]> | {
29
- [K in keyof A]: Required<A[K]>;
30
- }[number];
31
- type ManyProvided<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
32
- [K in keyof A]: Provided<A[K]>;
33
- }[number] : Provided<A[number]>;
34
- type ManyRequired<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
35
- [K in keyof A]: Required<A[K]>;
36
- }[number] : Required<A[number]>;
37
- type ManyErrors<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
38
- [K in keyof A]: Errors<A[K]>;
39
- }[number] : Errors<A[number]>;
40
- type Provided<T> = T extends TagClassAny ? T extends {
41
- provides: Context.Tag<any, any>;
42
- } ? Context.Tag.Identifier<T["provides"]> : T extends {
43
- provides: ContextTagArray;
44
- } ? ContextTagArray.Identifier<T["provides"]> : never : never;
45
- type Errors<T> = T extends TagClassAny ? T extends {
46
- failure: S.Schema.Any;
47
- } ? S.Schema.Type<T["failure"]> : never : never;
48
- type Required<T> = T extends TagClassAny ? T extends {
49
- requires: Context.Tag<any, any>;
50
- } ? Context.Tag.Identifier<T["requires"]> : T extends {
51
- requires: ContextTagArray;
52
- } ? ContextTagArray.Identifier<T["requires"]> : never : never;
53
- }
54
- export declare const middlewareMaker: <MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>>(middlewares: MiddlewareProviders) => Effect.Effect<RpcMiddlewareWrap<MiddlewareMaker.ManyProvided<MiddlewareProviders>, MiddlewareMaker.ManyErrors<MiddlewareProviders>, Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? never : Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>>;
55
- //# sourceMappingURL=generic-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generic-middleware.d.ts","sourceRoot":"","sources":["../../src/rpc/generic-middleware.ts"],"names":[],"mappings":"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"}
@@ -1,67 +0,0 @@
1
- import { Context, Effect, Option } from "effect-app";
2
- import { PreludeLogger } from "../logger.js";
3
- export const middlewareMaker = (middlewares) => {
4
- // we want to run them in reverse order because latter middlewares will provide context to former ones
5
- middlewares = middlewares.toReversed();
6
- return Effect.gen(function* () {
7
- const context = yield* Effect.context();
8
- // returns a Effect/RpcMiddlewareWrap with Scope in requirements
9
- return (options) => {
10
- // we start with the actual handler
11
- let handler = options.next;
12
- // inspired from Effect/RpcMiddleware
13
- for (const tag of middlewares) {
14
- if (tag.wrap) {
15
- // use the tag to get the middleware from context
16
- const middleware = Context.unsafeGet(context, tag);
17
- // wrap the current handler, allowing the middleware to run before and after it
18
- handler = PreludeLogger.logDebug("Applying middleware wrap " + tag.key).pipe(Effect.zipRight(middleware({ ...options, next: handler })));
19
- }
20
- else if (tag.optional) {
21
- // use the tag to get the middleware from context
22
- // if the middleware fails to run, we will ignore the error
23
- const middleware = Context.unsafeGet(context, tag);
24
- const previous = handler;
25
- // set the previous handler to run after the middleware
26
- // if the middleware is not present, we just return the previous handler
27
- // otherwise the middleware will provide some context to be provided to the previous handler
28
- handler = PreludeLogger.logDebug("Applying middleware optional " + tag.key).pipe(Effect.zipRight(Effect.matchEffect(middleware(options), {
29
- onFailure: () => previous,
30
- onSuccess: tag.provides !== undefined
31
- ? (value) => Context.isContext(value)
32
- ? Effect.provide(previous, value)
33
- : Effect.provideService(previous, tag.provides, value)
34
- : (_) => previous
35
- })));
36
- }
37
- else if (tag.dynamic) {
38
- // use the tag to get the middleware from context
39
- const middleware = Context.unsafeGet(context, tag);
40
- const previous = handler;
41
- // set the previous handler to run after the middleware
42
- // we do expect the middleware to be present, but the context might not be available
43
- // if it is, we provide it to the previous handler
44
- handler = PreludeLogger.logDebug("Applying middleware dynamic " + tag.key, tag.dynamic).pipe(Effect.zipRight(middleware(options).pipe(Effect.flatMap((o) => Option.isSome(o)
45
- ? Context.isContext(o.value)
46
- ? Effect.provide(previous, o.value)
47
- : Effect.provideService(previous, tag.dynamic.settings.service, /* TODO */ o.value)
48
- : previous))));
49
- }
50
- else {
51
- // use the tag to get the middleware from context
52
- const middleware = Context.unsafeGet(context, tag);
53
- const previous = handler;
54
- // set the previous handler to run after the middleware
55
- // we do expect both the middleware and the context to be present
56
- handler = PreludeLogger.logDebug("Applying middleware " + tag.key).pipe(Effect.zipRight(tag.provides !== undefined
57
- ? middleware(options).pipe(Effect.flatMap((value) => Context.isContext(value)
58
- ? Effect.provide(previous, value)
59
- : Effect.provideService(previous, tag.provides, value)))
60
- : Effect.zipRight(middleware(options), previous)));
61
- }
62
- }
63
- return handler;
64
- };
65
- });
66
- };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9nZW5lcmljLW1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQTBDLE1BQU0sRUFBc0IsTUFBTSxZQUFZLENBQUE7QUFJaEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQWdGNUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBRTdCLFdBQWdDLEVBVWhDLEVBQUU7SUFDRixzR0FBc0c7SUFDdEcsV0FBVyxHQUFHLFdBQVcsQ0FBQyxVQUFVLEVBQVMsQ0FBQTtJQUU3QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUV2QyxnRUFBZ0U7UUFDaEUsT0FBTyxDQUNMLE9BTUksRUFDSixFQUFFO1lBQ0YsbUNBQW1DO1lBQ25DLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7WUFFMUIscUNBQXFDO1lBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQzlCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNiLGlEQUFpRDtvQkFDakQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUE7b0JBRWxELCtFQUErRTtvQkFDL0UsT0FBTyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUNwRCxDQUFBO2dCQUNWLENBQUM7cUJBQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3hCLGlEQUFpRDtvQkFDakQsMkRBQTJEO29CQUMzRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQTBDLENBQUE7b0JBRTNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQTtvQkFFeEIsdURBQXVEO29CQUN2RCx3RUFBd0U7b0JBQ3hFLDRGQUE0RjtvQkFDNUYsT0FBTyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsK0JBQStCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDOUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDdEQsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVE7d0JBQ3pCLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVM7NEJBQ25DLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7Z0NBQ3RCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0NBQ2pDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBZSxFQUFFLEtBQUssQ0FBQzs0QkFDakUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRO3FCQUNwQixDQUFDLENBQUMsQ0FDSixDQUFBO2dCQUNILENBQUM7cUJBQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3ZCLGlEQUFpRDtvQkFDakQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUEwQyxDQUFBO29CQUUzRixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUE7b0JBRXhCLHVEQUF1RDtvQkFDdkQsb0ZBQW9GO29CQUNwRixrREFBa0Q7b0JBQ2xELE9BQU8sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLDhCQUE4QixHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDMUYsTUFBTSxDQUFDLFFBQVEsQ0FDYixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7d0JBQ2QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzs0QkFDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7NEJBQ25DLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsT0FBUSxDQUFDLFFBQVEsQ0FBQyxPQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7d0JBQ3ZGLENBQUMsQ0FBQyxRQUFRLENBQ2IsQ0FDRixDQUNGLENBQ0ssQ0FBQTtnQkFDVixDQUFDO3FCQUFNLENBQUM7b0JBQ04saURBQWlEO29CQUNqRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQTBDLENBQUE7b0JBRTNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQTtvQkFFeEIsdURBQXVEO29CQUN2RCxpRUFBaUU7b0JBQ2pFLE9BQU8sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3JFLE1BQU0sQ0FBQyxRQUFRLENBQ2IsR0FBRyxDQUFDLFFBQVEsS0FBSyxTQUFTO3dCQUN4QixDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3ZCLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDOzRCQUN0QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDOzRCQUNqQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQWUsRUFBRSxLQUFLLENBQUMsQ0FDaEUsQ0FDRjt3QkFDRCxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQ25ELENBQ0ssQ0FBQTtnQkFDVixDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFBO1FBQ2hCLENBQUMsQ0FBQTtJQUNILENBQUMsQ0FBUSxDQUFBO0FBQ1gsQ0FBQyxDQUFBIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware-api.d.ts","sourceRoot":"","sources":["../../src/rpc/middleware-api.ts"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Rpc } from "@effect/rpc";
3
- import { Tag } from "@effect/rpc/RpcMiddleware";
4
- import { Context, Layer, S } from "effect-app";
5
- import { typedValuesOf } from "effect-app/utils";
6
- import { middlewareMaker } from "./generic-middleware.js";
7
- /** Adapter used when setting the dynamic prop on a middleware implementation */
8
- export const contextMap = (rcm, key) => ({
9
- key,
10
- settings: { service: rcm[key]["service"] }
11
- });
12
- const tag = Context.GenericTag("RequestContextConfig");
13
- /** Retrieves RequestContextConfig out of the RPC annotations */
14
- export const getConfig = () => (rpc) => {
15
- return Context.getOrElse(rpc.annotations, tag, () => ({}));
16
- };
17
- const makeMiddlewareBasic =
18
- // by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
19
- (rcm, ...make) => {
20
- // reverse middlewares and wrap one after the other
21
- const middleware = middlewareMaker(make);
22
- const failures = make.map((_) => _.failure).filter(Boolean);
23
- const provides = make.flatMap((_) => !_.provides ? [] : Array.isArray(_.provides) ? _.provides : [_.provides]);
24
- const requires = make
25
- .flatMap((_) => !_.requires ? [] : Array.isArray(_.requires) ? _.requires : [_.requires])
26
- .filter((_) => !provides.includes(_));
27
- const MiddlewareMaker = Tag()("MiddlewareMaker", {
28
- failure: (failures.length > 0
29
- ? S.Union(...failures)
30
- : S.Never),
31
- requires: (requires.length > 0
32
- ? requires
33
- : undefined),
34
- provides: (provides.length > 0
35
- ? provides
36
- : undefined),
37
- wrap: true
38
- });
39
- const layer = Layer
40
- .scoped(MiddlewareMaker, middleware);
41
- // add to the tag a default implementation
42
- return Object.assign(MiddlewareMaker, {
43
- layer,
44
- // tag to be used to retrieve the RequestContextConfig from RPC annotations
45
- requestContext: Context.GenericTag("RequestContextConfig"),
46
- requestContextMap: rcm
47
- });
48
- };
49
- export const makeMiddleware = (rcm) => {
50
- let allMiddleware = [];
51
- const requestContext = Context.GenericTag("RequestContextConfig");
52
- const it = {
53
- // rpc with config
54
- rpc: (tag, options) => {
55
- const config = options?.config ?? {};
56
- // based on the config, we must enhance (union) or set failures.
57
- // TODO: we should only include errors that are relevant based on the middleware config.ks
58
- const error = options?.error;
59
- const errors = typedValuesOf(rcm).map((_) => _.error).filter((_) => _ && _ !== S.Never); // TODO: only the errors relevant based on config
60
- const newError = error ? S.Union(error, ...errors) : S.Union(...errors);
61
- const rpc = Rpc.make(tag, { ...options, error: newError });
62
- return Object.assign(rpc.annotate(requestContext, config), { config });
63
- },
64
- middleware: (...middlewares) => {
65
- for (const mw of middlewares) {
66
- // recall that we run middlewares in reverse order
67
- allMiddleware = [mw, ...allMiddleware];
68
- }
69
- return allMiddleware.filter((m) => !!m.dynamic).length !== Object.keys(rcm).length
70
- // for sure, until all the dynamic middlewares are provided it's non sensical to call makeMiddlewareBasic
71
- ? it
72
- // actually, we don't know yet if MiddlewareR is never, but we can't easily check it at runtime
73
- : Object.assign(makeMiddlewareBasic(rcm, ...allMiddleware), it);
74
- }
75
- };
76
- return it;
77
- };
78
- // alternatively consider group.serverMiddleware? hmmm
79
- export const middlewareGroup = (middleware) => (group) => {
80
- const middlewaredGroup = group.middleware(middleware);
81
- const toLayerOriginal = middlewaredGroup.toLayer.bind(middlewaredGroup);
82
- return Object.assign(middlewaredGroup, {
83
- toLayerDynamic: (build) => {
84
- return toLayerOriginal(build); // ??
85
- }
86
- });
87
- };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnBjL21pZGRsZXdhcmUtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFxRCxNQUFNLGFBQWEsQ0FBQTtBQUdwRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBZSxLQUFLLEVBQWtELENBQUMsRUFBd0MsTUFBTSxZQUFZLENBQUE7QUFFakosT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBR2hELE9BQU8sRUFBd0IsZUFBZSxFQUEwQixNQUFNLHlCQUF5QixDQUFBO0FBR3ZHLGdGQUFnRjtBQUNoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FHeEIsR0FBc0IsRUFBRSxHQUFRLEVBQTJDLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLEdBQUc7SUFDSCxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxFQUE0QjtDQUN0RSxDQUFDLENBQUE7QUFFRixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUE7QUFDdEQsZ0VBQWdFO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUVyQixFQUFFLENBQ04sQ0FBQyxHQUFpQixFQUF1QyxFQUFFO0lBQ3pELE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDbkUsQ0FBQyxDQUFBO0FBeUlELE1BQU0sbUJBQW1CO0FBQ3ZCLHFHQUFxRztBQUNyRyxDQUlFLEdBQXNCLEVBQ3RCLEdBQUcsSUFBeUIsRUFDNUIsRUFBRTtJQUNGLG1EQUFt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
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware-native.d.ts","sourceRoot":"","sources":["../../src/rpc/middleware-native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;;AAEpC,qBAAa,OAAQ,SAAQ,YAAsE;CAAG;;;;AAEtG,qBAAa,sBACX,SAAQ,2BAAqF;CAC7F;;;;AAEF,qBAAa,mCACX,SAAQ,wCAEN;CACF;;;;AAEF,qBAAa,gBAAiB,SAAQ,qBAAyE;CAAG;AAElH,eAAO,MAAM,yBAAyB,+GAI5B,CAAA"}
@@ -1,19 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { RpcMiddleware } from "@effect/rpc";
3
- import { Context } from "effect-app";
4
- export class DevMode extends Context.Reference()("DevMode", { defaultValue: () => false }) {
5
- }
6
- export class RequestCacheMiddleware extends RpcMiddleware.Tag()("RequestCacheMiddleware", { wrap: true }) {
7
- }
8
- export class ConfigureInterruptibilityMiddleware extends RpcMiddleware.Tag()("ConfigureInterruptibilityMiddleware", {
9
- wrap: true
10
- }) {
11
- }
12
- export class LoggerMiddleware extends RpcMiddleware.Tag()("LoggerMiddleware", { wrap: true }) {
13
- }
14
- export const DefaultGenericMiddlewares = [
15
- RequestCacheMiddleware,
16
- ConfigureInterruptibilityMiddleware,
17
- LoggerMiddleware
18
- ];
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS1uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnBjL21pZGRsZXdhcmUtbmF0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFcEMsTUFBTSxPQUFPLE9BQVEsU0FBUSxPQUFPLENBQUMsU0FBUyxFQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0NBQUc7QUFFdEcsTUFBTSxPQUFPLHNCQUNYLFNBQVEsYUFBYSxDQUFDLEdBQUcsRUFBMEIsQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztDQUM3RjtBQUVGLE1BQU0sT0FBTyxtQ0FDWCxTQUFRLGFBQWEsQ0FBQyxHQUFHLEVBQXVDLENBQUMscUNBQXFDLEVBQUU7SUFDdEcsSUFBSSxFQUFFLElBQUk7Q0FDWCxDQUFDO0NBQ0Y7QUFFRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsYUFBYSxDQUFDLEdBQUcsRUFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztDQUFHO0FBRWxILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3ZDLHNCQUFzQjtJQUN0QixtQ0FBbUM7SUFDbkMsZ0JBQWdCO0NBQ1IsQ0FBQSJ9
@@ -1,70 +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 { type Effect, Layer, type NonEmptyReadonlyArray, Unify } from "effect-app"
5
- import { type TagUnify, type TagUnifyIgnore } from "effect/Context"
6
- import { type Service } from "effect/Effect"
7
- import { type RpcMiddleware, type RpcMiddlewareDynamicNormal, type RpcMiddlewareDynamicWrap, type RpcMiddlewareWrap, type RpcOptionsDynamic, type RpcOptionsOriginal, Tag, type TagClass } from "./RpcMiddleware.js"
8
-
9
- /**
10
- * @deprecated - RPC groups are defined centrally and re-used between server and client,
11
- * so layer implementation details should not be mixed.
12
- */
13
- export const TagService = <Self>() =>
14
- <
15
- const Name extends string,
16
- const Options extends RpcOptionsOriginal | RpcOptionsDynamic<any, any>
17
- >(
18
- id: Name,
19
- options?: Options | undefined
20
- ) =>
21
- <
22
- LayerOpts extends {
23
- effect: Effect.Effect<
24
- Options extends RpcOptionsDynamic<any, any> ? TagClass.Wrap<Options> extends true ? RpcMiddlewareDynamicWrap<
25
- TagClass.FailureService<Options>,
26
- TagClass.Requires<Options>,
27
- { [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"] }
28
- >
29
- : RpcMiddlewareDynamicNormal<
30
- TagClass.Service<Options>,
31
- TagClass.FailureService<Options>,
32
- TagClass.Requires<Options>,
33
- { [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"] }
34
- >
35
- : TagClass.Wrap<Options> extends true ? RpcMiddlewareWrap<
36
- TagClass.Provides<Options>,
37
- TagClass.Failure<Options>,
38
- TagClass.Requires<Options>
39
- >
40
- : RpcMiddleware<
41
- TagClass.Service<Options>,
42
- TagClass.FailureService<Options>,
43
- TagClass.Requires<Options>
44
- >,
45
- any,
46
- any
47
- >
48
- dependencies?: NonEmptyReadonlyArray<Layer.Layer.Any>
49
- }
50
- >(opts: LayerOpts): TagClass<Self, Name, Options> & {
51
- Default: Layer.Layer<
52
- Self,
53
- | (LayerOpts extends { effect: Effect<infer _A, infer _E, infer _R> } ? _E
54
- : never)
55
- | Service.MakeDepsE<LayerOpts>,
56
- | Exclude<
57
- LayerOpts extends { effect: Effect<infer _A, infer _E, infer _R> } ? _R : never,
58
- Service.MakeDepsOut<LayerOpts>
59
- >
60
- | Service.MakeDepsIn<LayerOpts>
61
- >
62
- } =>
63
- class extends Tag<Self>()(id, options as any) {
64
- static readonly Default = Layer.scoped(this, opts.effect as any).pipe(
65
- Layer.provide([Layer.empty, ...opts.dependencies ?? []])
66
- )
67
- static override [Unify.typeSymbol]?: unknown
68
- static override [Unify.unifySymbol]?: TagUnify<typeof this>
69
- static override [Unify.ignoreSymbol]?: TagUnifyIgnore
70
- } as any
@@ -1,198 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { type RpcMiddleware } from "@effect/rpc"
3
- import { Context, Effect, type Layer, type NonEmptyReadonlyArray, Option, type S, type Scope } from "effect-app"
4
- import { type ContextTagArray, type GetContextConfig, type RPCContextMap } from "effect-app/client"
5
- import { type Tag } from "effect/Context"
6
- import { type Simplify } from "effect/Types"
7
- import { PreludeLogger } from "../logger.js"
8
- import { type MakeTags, type MiddlewareMakerId } from "./middleware-api.js"
9
- import { type RpcMiddlewareWrap, type TagClassAny } from "./RpcMiddleware.js"
10
-
11
- // Effect rpc middleware does not support changing payload or headers, but we do..
12
-
13
- export interface MiddlewareMaker<
14
- RequestContextMap extends Record<string, RPCContextMap.Any>,
15
- MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>
16
- > extends
17
- RpcMiddleware.TagClass<
18
- MiddlewareMakerId,
19
- "MiddlewareMaker",
20
- Simplify<
21
- & { readonly wrap: true }
22
- & (Exclude<
23
- MiddlewareMaker.ManyRequired<MiddlewareProviders>,
24
- MiddlewareMaker.ManyProvided<MiddlewareProviders>
25
- > extends never ? {} : {
26
- readonly requires: MakeTags<
27
- Exclude<
28
- MiddlewareMaker.ManyRequired<MiddlewareProviders>,
29
- MiddlewareMaker.ManyProvided<MiddlewareProviders>
30
- >
31
- >
32
- })
33
- & (MiddlewareMaker.ManyErrors<MiddlewareProviders> extends never ? {}
34
- : {
35
- readonly failure: S.Schema<MiddlewareMaker.ManyErrors<MiddlewareProviders>>
36
- })
37
- & (MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? {}
38
- : { readonly provides: MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>> })
39
- >
40
- >
41
- {
42
- readonly layer: Layer.Layer<MiddlewareMakerId, never, Tag.Identifier<MiddlewareProviders[number]>>
43
- readonly requestContext: RequestContextTag<RequestContextMap>
44
- readonly requestContextMap: RequestContextMap
45
- }
46
-
47
- export interface RequestContextTag<RequestContextMap extends Record<string, RPCContextMap.Any>>
48
- extends Context.Tag<"RequestContextConfig", GetContextConfig<RequestContextMap>>
49
- {}
50
-
51
- export namespace MiddlewareMaker {
52
- export type Any = TagClassAny
53
-
54
- export type ApplyServices<A extends TagClassAny, R> = Exclude<R, Provided<A>> | Required<A>
55
-
56
- export type ApplyManyServices<A extends NonEmptyReadonlyArray<TagClassAny>, R> =
57
- | Exclude<R, { [K in keyof A]: Provided<A[K]> }[number]>
58
- | { [K in keyof A]: Required<A[K]> }[number]
59
-
60
- export type ManyProvided<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny>
61
- ? { [K in keyof A]: Provided<A[K]> }[number]
62
- : Provided<A[number]>
63
- export type ManyRequired<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny>
64
- ? { [K in keyof A]: Required<A[K]> }[number]
65
- : Required<A[number]>
66
- export type ManyErrors<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny>
67
- ? { [K in keyof A]: Errors<A[K]> }[number]
68
- : Errors<A[number]>
69
-
70
- export type Provided<T> = T extends TagClassAny
71
- ? T extends { provides: Context.Tag<any, any> } ? Context.Tag.Identifier<T["provides"]>
72
- : T extends { provides: ContextTagArray } ? ContextTagArray.Identifier<T["provides"]>
73
- : never
74
- : never
75
-
76
- export type Errors<T> = T extends TagClassAny ? T extends { failure: S.Schema.Any } ? S.Schema.Type<T["failure"]>
77
- : never
78
- : never
79
-
80
- export type Required<T> = T extends TagClassAny
81
- ? T extends { requires: Context.Tag<any, any> } ? Context.Tag.Identifier<T["requires"]>
82
- : T extends { requires: ContextTagArray } ? ContextTagArray.Identifier<T["requires"]>
83
- : never
84
- : never
85
- }
86
-
87
- export const middlewareMaker = <
88
- MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>
89
- >(middlewares: MiddlewareProviders): Effect.Effect<
90
- RpcMiddlewareWrap<
91
- MiddlewareMaker.ManyProvided<MiddlewareProviders>,
92
- MiddlewareMaker.ManyErrors<MiddlewareProviders>,
93
- Exclude<
94
- MiddlewareMaker.ManyRequired<MiddlewareProviders>,
95
- MiddlewareMaker.ManyProvided<MiddlewareProviders>
96
- > extends never ? never
97
- : Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>
98
- >
99
- > => {
100
- // we want to run them in reverse order because latter middlewares will provide context to former ones
101
- middlewares = middlewares.toReversed() as any
102
-
103
- return Effect.gen(function*() {
104
- const context = yield* Effect.context()
105
-
106
- // returns a Effect/RpcMiddlewareWrap with Scope in requirements
107
- return (
108
- options: Parameters<
109
- RpcMiddlewareWrap<
110
- MiddlewareMaker.ManyProvided<MiddlewareProviders>,
111
- never,
112
- Scope.Scope
113
- >
114
- >[0]
115
- ) => {
116
- // we start with the actual handler
117
- let handler = options.next
118
-
119
- // inspired from Effect/RpcMiddleware
120
- for (const tag of middlewares) {
121
- if (tag.wrap) {
122
- // use the tag to get the middleware from context
123
- const middleware = Context.unsafeGet(context, tag)
124
-
125
- // wrap the current handler, allowing the middleware to run before and after it
126
- handler = PreludeLogger.logDebug("Applying middleware wrap " + tag.key).pipe(
127
- Effect.zipRight(middleware({ ...options, next: handler }))
128
- ) as any
129
- } else if (tag.optional) {
130
- // use the tag to get the middleware from context
131
- // if the middleware fails to run, we will ignore the error
132
- const middleware = Context.unsafeGet(context, tag) as RpcMiddleware.RpcMiddleware<any, any>
133
-
134
- const previous = handler
135
-
136
- // set the previous handler to run after the middleware
137
- // if the middleware is not present, we just return the previous handler
138
- // otherwise the middleware will provide some context to be provided to the previous handler
139
- handler = PreludeLogger.logDebug("Applying middleware optional " + tag.key).pipe(
140
- Effect.zipRight(Effect.matchEffect(middleware(options), {
141
- onFailure: () => previous,
142
- onSuccess: tag.provides !== undefined
143
- ? (value) =>
144
- Context.isContext(value)
145
- ? Effect.provide(previous, value)
146
- : Effect.provideService(previous, tag.provides as any, value)
147
- : (_) => previous
148
- }))
149
- )
150
- } else if (tag.dynamic) {
151
- // use the tag to get the middleware from context
152
- const middleware = Context.unsafeGet(context, tag) as RpcMiddleware.RpcMiddleware<any, any>
153
-
154
- const previous = handler
155
-
156
- // set the previous handler to run after the middleware
157
- // we do expect the middleware to be present, but the context might not be available
158
- // if it is, we provide it to the previous handler
159
- handler = PreludeLogger.logDebug("Applying middleware dynamic " + tag.key, tag.dynamic).pipe(
160
- Effect.zipRight(
161
- middleware(options).pipe(
162
- Effect.flatMap((o) =>
163
- Option.isSome(o)
164
- ? Context.isContext(o.value)
165
- ? Effect.provide(previous, o.value)
166
- : Effect.provideService(previous, tag.dynamic!.settings.service!, /* TODO */ o.value)
167
- : previous
168
- )
169
- )
170
- )
171
- ) as any
172
- } else {
173
- // use the tag to get the middleware from context
174
- const middleware = Context.unsafeGet(context, tag) as RpcMiddleware.RpcMiddleware<any, any>
175
-
176
- const previous = handler
177
-
178
- // set the previous handler to run after the middleware
179
- // we do expect both the middleware and the context to be present
180
- handler = PreludeLogger.logDebug("Applying middleware " + tag.key).pipe(
181
- Effect.zipRight(
182
- tag.provides !== undefined
183
- ? middleware(options).pipe(
184
- Effect.flatMap((value) =>
185
- Context.isContext(value)
186
- ? Effect.provide(previous, value)
187
- : Effect.provideService(previous, tag.provides as any, value)
188
- )
189
- )
190
- : Effect.zipRight(middleware(options), previous)
191
- )
192
- ) as any
193
- }
194
- }
195
- return handler
196
- }
197
- }) as any
198
- }
@@ -1,23 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { RpcMiddleware } from "@effect/rpc"
3
- import { Context } from "effect-app"
4
-
5
- export class DevMode extends Context.Reference<DevMode>()("DevMode", { defaultValue: () => false }) {}
6
-
7
- export class RequestCacheMiddleware
8
- extends RpcMiddleware.Tag<RequestCacheMiddleware>()("RequestCacheMiddleware", { wrap: true })
9
- {}
10
-
11
- export class ConfigureInterruptibilityMiddleware
12
- extends RpcMiddleware.Tag<ConfigureInterruptibilityMiddleware>()("ConfigureInterruptibilityMiddleware", {
13
- wrap: true
14
- })
15
- {}
16
-
17
- export class LoggerMiddleware extends RpcMiddleware.Tag<LoggerMiddleware>()("LoggerMiddleware", { wrap: true }) {}
18
-
19
- export const DefaultGenericMiddlewares = [
20
- RequestCacheMiddleware,
21
- ConfigureInterruptibilityMiddleware,
22
- LoggerMiddleware
23
- ] as const
package/wallaby.cjs DELETED
@@ -1 +0,0 @@
1
- module.exports = require("../../wallaby.base.cjs")