effect-app 3.0.2 → 3.0.4

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 (71) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/Context.d.ts +23 -2
  3. package/dist/Context.d.ts.map +1 -1
  4. package/dist/Context.js +6 -1
  5. package/dist/Layer.d.ts +35 -0
  6. package/dist/Layer.d.ts.map +1 -0
  7. package/dist/Layer.js +16 -0
  8. package/dist/NonEmptySet.d.ts +1 -1
  9. package/dist/client/apiClientFactory.d.ts +2 -18
  10. package/dist/client/apiClientFactory.d.ts.map +1 -1
  11. package/dist/client/makeClient.d.ts +58 -0
  12. package/dist/client/makeClient.d.ts.map +1 -0
  13. package/dist/client/makeClient.js +36 -0
  14. package/dist/client.d.ts +1 -1
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +2 -2
  17. package/dist/internal/Prelude.d.ts +2 -2
  18. package/dist/internal/Prelude.js +1 -1
  19. package/dist/{rpc/middleware-native.d.ts → middleware.d.ts} +5 -4
  20. package/dist/middleware.d.ts.map +1 -0
  21. package/dist/middleware.js +17 -0
  22. package/dist/rpc/{middleware-api.d.ts → MiddlewareMaker.d.ts} +64 -45
  23. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -0
  24. package/dist/rpc/MiddlewareMaker.js +99 -0
  25. package/dist/rpc/RpcContextMap.d.ts +73 -0
  26. package/dist/rpc/RpcContextMap.d.ts.map +1 -0
  27. package/dist/rpc/RpcContextMap.js +33 -0
  28. package/dist/rpc/RpcMiddleware.d.ts +30 -37
  29. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  30. package/dist/rpc/RpcMiddleware.js +2 -2
  31. package/dist/rpc.d.ts +2 -4
  32. package/dist/rpc.d.ts.map +1 -1
  33. package/dist/rpc.js +3 -5
  34. package/dist/utils/gen.d.ts +8 -0
  35. package/dist/utils/gen.d.ts.map +1 -0
  36. package/dist/utils/gen.js +2 -0
  37. package/dist/utils.d.ts +0 -1
  38. package/dist/utils.d.ts.map +1 -1
  39. package/package.json +30 -24
  40. package/src/Context.ts +56 -0
  41. package/src/Layer.ts +60 -0
  42. package/src/client/makeClient.ts +150 -0
  43. package/src/client.ts +1 -1
  44. package/src/internal/Prelude.d.ts +2 -2
  45. package/src/internal/Prelude.js +1 -1
  46. package/src/{rpc/middleware-native.ts → middleware.ts} +4 -4
  47. package/src/rpc/{middleware-api.ts → MiddlewareMaker.ts} +170 -139
  48. package/src/rpc/README.md +41 -0
  49. package/src/rpc/RpcContextMap.ts +163 -0
  50. package/src/rpc/RpcMiddleware.ts +83 -43
  51. package/src/rpc.ts +2 -4
  52. package/src/utils/gen.ts +22 -0
  53. package/src/utils.ts +0 -2
  54. package/test/rpc.test.ts +1 -1
  55. package/dist/client/req.d.ts +0 -120
  56. package/dist/client/req.d.ts.map +0 -1
  57. package/dist/client/req.js +0 -56
  58. package/dist/rpc/RpcMiddlewareX.d.ts +0 -24
  59. package/dist/rpc/RpcMiddlewareX.d.ts.map +0 -1
  60. package/dist/rpc/RpcMiddlewareX.js +0 -16
  61. package/dist/rpc/generic-middleware.d.ts +0 -51
  62. package/dist/rpc/generic-middleware.d.ts.map +0 -1
  63. package/dist/rpc/generic-middleware.js +0 -24
  64. package/dist/rpc/middleware-api.d.ts.map +0 -1
  65. package/dist/rpc/middleware-api.js +0 -88
  66. package/dist/rpc/middleware-native.d.ts.map +0 -1
  67. package/dist/rpc/middleware-native.js +0 -17
  68. package/src/client/req.ts +0 -288
  69. package/src/rpc/RpcMiddlewareX.ts +0 -65
  70. package/src/rpc/generic-middleware.ts +0 -128
  71. package/wallaby.cjs +0 -1
@@ -1,36 +1,77 @@
1
1
  import { Rpc, type RpcGroup, type RpcMiddleware, type RpcSchema } from "@effect/rpc";
2
- import { type AnyWithProps } from "@effect/rpc/Rpc";
3
2
  import { type HandlersFrom } from "@effect/rpc/RpcGroup";
4
- import { Context, type Effect, Layer, type NonEmptyArray, type NonEmptyReadonlyArray, type Schema, type Scope, type Stream } from "effect-app";
5
- import { type GetContextConfig, type GetEffectContext, type RPCContextMap } from "effect-app/client";
6
- import { type ReadonlyMailbox } from "effect/Mailbox";
3
+ import { Context, Effect, Layer, type Schema, Schema as S } from "effect";
4
+ import { type NonEmptyArray, type NonEmptyReadonlyArray } from "effect/Array";
5
+ import { type Tag } from "effect/Context";
6
+ import { type Scope } from "effect/Scope";
7
+ import { type Simplify } from "effect/Types";
7
8
  import { type TypeTestId } from "../TypeTest.js";
8
- import { type MiddlewareMaker, type RequestContextTag } from "./generic-middleware.js";
9
- import { type AnyDynamic, type RpcDynamic, type TagClassAny } from "./RpcMiddleware.js";
10
- /** Adapter used when setting the dynamic prop on a middleware implementation */
11
- export declare const contextMap: <RequestContextMap extends Record<string, RPCContextMap.Any>, Key extends (keyof RequestContextMap) & string>(rcm: RequestContextMap, key: Key) => RpcDynamic<Key, RequestContextMap[Key]>;
12
- /** Retrieves RequestContextConfig out of the RPC annotations */
13
- export declare const getConfig: <RequestContextMap extends Record<string, RPCContextMap.Any>>() => (rpc: AnyWithProps) => GetContextConfig<RequestContextMap>;
9
+ import { type GetContextConfig, type RpcContextMap } from "./RpcContextMap.js";
10
+ import { type AddMiddleware, type AnyDynamic, type RpcDynamic, type TagClassAny } from "./RpcMiddleware.js";
11
+ import * as RpcMiddlewareX from "./RpcMiddleware.js";
12
+ export interface MiddlewareMakerId {
13
+ readonly _id: unique symbol;
14
+ }
15
+ type MakeTags<A> = Context.Tag<A, A>;
16
+ export interface MiddlewareMaker<RequestContextMap extends Record<string, RpcContextMap.Any>, MiddlewareProviders extends ReadonlyArray<MiddlewareMaker.Any>> extends RpcMiddleware.TagClass<MiddlewareMakerId, "MiddlewareMaker", Simplify<{
17
+ readonly wrap: true;
18
+ } & (Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? {} : {
19
+ readonly requires: MakeTags<Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>;
20
+ }) & (MiddlewareMaker.ManyErrors<MiddlewareProviders> extends never ? {} : {
21
+ readonly failure: S.Schema<MiddlewareMaker.ManyErrors<MiddlewareProviders>>;
22
+ }) & (MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? {} : {
23
+ readonly provides: MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>>;
24
+ })>> {
25
+ readonly layer: Layer.Layer<MiddlewareMakerId, never, Tag.Identifier<MiddlewareProviders[number]>>;
26
+ readonly requestContext: RequestContextTag<RequestContextMap>;
27
+ readonly requestContextMap: RequestContextMap;
28
+ }
29
+ export interface RequestContextTag<RequestContextMap extends Record<string, RpcContextMap.Any>> extends Context.Tag<"RequestContextConfig", GetContextConfig<RequestContextMap>> {
30
+ }
31
+ export declare namespace MiddlewareMaker {
32
+ type Any = TagClassAny;
33
+ type ApplyServices<A extends TagClassAny, R> = Exclude<R, Provided<A>> | Required<A>;
34
+ type ApplyManyServices<A extends NonEmptyReadonlyArray<TagClassAny>, R> = Exclude<R, {
35
+ [K in keyof A]: Provided<A[K]>;
36
+ }[number]> | {
37
+ [K in keyof A]: Required<A[K]>;
38
+ }[number];
39
+ type ManyProvided<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
40
+ [K in keyof A]: Provided<A[K]>;
41
+ }[number] : Provided<A[number]>;
42
+ type ManyRequired<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
43
+ [K in keyof A]: Required<A[K]>;
44
+ }[number] : Required<A[number]>;
45
+ type ManyErrors<A extends ReadonlyArray<TagClassAny>> = A extends NonEmptyReadonlyArray<TagClassAny> ? {
46
+ [K in keyof A]: Errors<A[K]>;
47
+ }[number] : Errors<A[number]>;
48
+ type Provided<T> = T extends TagClassAny ? T extends {
49
+ provides: infer _P;
50
+ } ? _P : never : never;
51
+ type Errors<T> = T extends TagClassAny ? T extends {
52
+ failure: S.Schema.Any;
53
+ } ? S.Schema.Type<T["failure"]> : never : never;
54
+ type Required<T> = T extends TagClassAny ? T extends {
55
+ requires: infer _R;
56
+ } ? _R : never : never;
57
+ }
14
58
  type GetDependsOnKeys<MW extends MiddlewareMaker.Any> = MW extends {
15
59
  dependsOn: NonEmptyReadonlyArray<TagClassAny>;
16
60
  } ? {
17
61
  [K in keyof MW["dependsOn"]]: MW["dependsOn"][K] extends AnyDynamic ? MW["dependsOn"][K]["dynamic"]["key"] : never;
18
62
  }[keyof MW["dependsOn"]] : never;
19
- type FilterInDynamicMiddlewares<MWs extends ReadonlyArray<MiddlewareMaker.Any>, RequestContextMap extends Record<string, RPCContextMap.Any>> = {
63
+ type FilterInDynamicMiddlewares<MWs extends ReadonlyArray<MiddlewareMaker.Any>, RequestContextMap extends Record<string, RpcContextMap.Any>> = {
20
64
  [K in keyof MWs]: MWs[K] extends {
21
65
  dynamic: RpcDynamic<any, RequestContextMap[keyof RequestContextMap]>;
22
66
  } ? MWs[K] : never;
23
67
  };
24
68
  type RecursiveHandleMWsSideways<MWs, R extends {
25
- rcm: Record<string, RPCContextMap.Any>;
69
+ rcm: Record<string, RpcContextMap.Any>;
26
70
  provided: keyof R["rcm"];
27
71
  middlewares: ReadonlyArray<MiddlewareMaker.Any>;
28
72
  dmp: any;
29
73
  middlewareR: any;
30
- }> = MWs extends [
31
- infer F extends MiddlewareMaker.Any,
32
- ...infer Rest extends ReadonlyArray<MiddlewareMaker.Any>
33
- ] ? RecursiveHandleMWsSideways<Rest, {
74
+ }> = MWs extends [] ? R : MWs extends [infer F, ...infer Rest extends ReadonlyArray<any>] ? F extends MiddlewareMaker.Any ? RecursiveHandleMWsSideways<Rest, {
34
75
  rcm: R["rcm"];
35
76
  provided: Exclude<R["provided"] | FilterInDynamicMiddlewares<[F], R["rcm"]>[number]["dynamic"]["key"], GetDependsOnKeys<F>>;
36
77
  middlewares: [...R["middlewares"], F];
@@ -38,8 +79,8 @@ type RecursiveHandleMWsSideways<MWs, R extends {
38
79
  [U in FilterInDynamicMiddlewares<[F], R["rcm"]>[number] as U["dynamic"]["key"]]: U;
39
80
  };
40
81
  middlewareR: MiddlewareMaker.ApplyManyServices<[F], R["middlewareR"]>;
41
- }> : R;
42
- export interface BuildingMiddleware<RequestContextMap extends Record<string, RPCContextMap.Any>, Provided extends keyof RequestContextMap, Middlewares extends ReadonlyArray<MiddlewareMaker.Any>, DynamicMiddlewareProviders, out MiddlewareR extends {
82
+ }> : `Absurd: F must extend MiddlewareMaker.Any` : never;
83
+ export interface BuildingMiddleware<RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap, Middlewares extends ReadonlyArray<MiddlewareMaker.Any>, DynamicMiddlewareProviders, out MiddlewareR extends {
43
84
  _tag: string;
44
85
  } = never> {
45
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?: {
@@ -70,38 +111,16 @@ export interface BuildingMiddleware<RequestContextMap extends Record<string, RPC
70
111
  missingContext: MiddlewareR;
71
112
  };
72
113
  }
73
- export type MiddlewaresBuilder<RequestContextMap extends Record<string, RPCContextMap.Any>, Provided extends keyof RequestContextMap = never, Middlewares extends ReadonlyArray<MiddlewareMaker.Any> = [], DynamicMiddlewareProviders = unknown, MiddlewareR extends {
114
+ export type MiddlewaresBuilder<RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap = never, Middlewares extends ReadonlyArray<MiddlewareMaker.Any> = [], DynamicMiddlewareProviders = unknown, MiddlewareR extends {
74
115
  _tag: string;
75
116
  } = never> = BuildingMiddleware<RequestContextMap, Provided, Middlewares, DynamicMiddlewareProviders, MiddlewareR> & // keyof Omit<RequestContextMap, Provided> extends never is true when all the dynamic middlewares are provided
76
117
  (keyof Omit<RequestContextMap, Provided> extends never ? [MiddlewareR] extends [never] ? MiddlewareMaker<RequestContextMap, Middlewares> : {} : {});
77
- export declare const makeMiddleware: <RequestContextMap extends Record<string, RPCContextMap.Any>>(rcm: RequestContextMap) => MiddlewaresBuilder<RequestContextMap>;
78
- export type AddMiddleware<R extends Rpc.Any, Middleware extends RpcMiddleware.TagClassAny> = R extends Rpc.Rpc<infer _Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? Rpc.Rpc<_Tag, _Payload, _Success, _Error, _Middleware | Middleware> & {
79
- readonly config: R extends {
80
- readonly config: infer _C;
81
- } ? _C : never;
82
- } : never;
83
- export declare const middlewareGroup: <RequestContextMap extends Record<string, RPCContextMap.Any>, Middleware extends Context.Tag<MiddlewareMakerId, any> & RpcMiddleware.TagClassAny & {
118
+ export declare const makeMiddleware: <RequestContextMap extends Record<string, RpcContextMap.Any>>(rcm: RequestContextMap) => MiddlewaresBuilder<RequestContextMap>;
119
+ export declare const middlewareGroup: <RequestContextMap extends Record<string, RpcContextMap.Any>, Middleware extends Context.Tag<MiddlewareMakerId, any> & RpcMiddleware.TagClassAny & {
84
120
  readonly requestContext: RequestContextTag<RequestContextMap>;
85
121
  readonly requestContextMap: RequestContextMap;
86
122
  }>(middleware: Middleware) => <R extends Rpc.Any>(group: RpcGroup.RpcGroup<R>) => RpcGroup.RpcGroup<AddMiddleware<R, Middleware>> & {
87
- toLayerDynamic: <Handlers extends HandlersFrom<AddMiddleware<R, Middleware>>, EX = never, RX = never>(build: Handlers | Effect.Effect<Handlers, EX, RX>) => Layer.Layer<Rpc.ToHandler<AddMiddleware<R, Middleware>>, EX, Exclude<RX, Scope> | HandlersContext<AddMiddleware<R, Middleware>, Handlers>>;
123
+ toLayerDynamic: <Handlers extends HandlersFrom<AddMiddleware<R, Middleware>>, EX = never, RX = never>(build: Handlers | Effect.Effect<Handlers, EX, RX>) => Layer.Layer<Rpc.ToHandler<AddMiddleware<R, Middleware>>, EX, Exclude<RX, Scope> | RpcMiddlewareX.HandlersContext<AddMiddleware<R, Middleware>, Handlers>>;
88
124
  };
89
- export type HandlersContext<Rpcs extends Rpc.Any, Handlers> = keyof Handlers extends infer K ? K extends keyof Handlers & string ? HandlerContext<Rpcs, K, Handlers[K]> : never : never;
90
- export type HandlerContext<Rpcs extends Rpc.Any, K extends Rpcs["_tag"], Handler> = [Rpc.IsStream<Rpcs, K>] extends [
91
- true
92
- ] ? Handler extends (...args: any) => Stream.Stream<infer _A, infer _E, infer _R> | Rpc.Fork<Stream.Stream<infer _A, infer _E, infer _R>> | Effect.Effect<ReadonlyMailbox<infer _A, infer _E>, infer _EX, infer _R> | Rpc.Fork<Effect.Effect<ReadonlyMailbox<infer _A, infer _E>, infer _EX, infer _R>> ? Exclude<ExcludeProvides<_R, Rpcs, K>, Scope> : never : Handler extends (...args: any) => Effect.Effect<infer _A, infer _E, infer _R> | Rpc.Fork<Effect.Effect<infer _A, infer _E, infer _R>> ? ExcludeProvides<_R, Rpcs, K> : never;
93
- export type ExtractDynamicallyProvides<R extends Rpc.Any, Tag extends string> = R extends Rpc.Rpc<Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? _Middleware extends {
94
- readonly requestContextMap: infer _RC;
95
- } ? _RC extends Record<string, RPCContextMap.Any> ? R extends {
96
- readonly config: infer _C;
97
- } ? GetEffectContext<_RC, _C> : GetEffectContext<_RC, {}> : never : never : never;
98
- export type ExtractProvides<R extends Rpc.Any, Tag extends string> = R extends Rpc.Rpc<Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? _Middleware extends {
99
- readonly provides: Context.Tag<infer _I, infer _S>;
100
- } ? _I : never : never;
101
- export type ExcludeProvides<Env, R extends Rpc.Any, Tag extends string> = Exclude<Env, ExtractProvides<R, Tag> | ExtractDynamicallyProvides<R, Tag>>;
102
- export interface MiddlewareMakerId {
103
- readonly _id: unique symbol;
104
- }
105
- export type MakeTags<A> = Context.Tag<A, A>;
106
125
  export {};
107
- //# sourceMappingURL=middleware-api.d.ts.map
126
+ //# sourceMappingURL=MiddlewareMaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Rpc } from "@effect/rpc";
3
+ import { Context, Effect, Layer, Schema as S } from "effect";
4
+ import { PreludeLogger } from "../logger.js";
5
+ import { typedValuesOf } from "../utils.js";
6
+ import * as RpcMiddlewareX from "./RpcMiddleware.js";
7
+ const middlewareMaker = (middlewares) => {
8
+ // we want to run them in reverse order because latter middlewares will provide context to former ones
9
+ middlewares = middlewares.toReversed();
10
+ return Effect.gen(function* () {
11
+ const context = yield* Effect.context();
12
+ // returns a Effect/RpcMiddlewareV4 with Scope in requirements
13
+ return (_options) => {
14
+ const { next, ...options } = _options;
15
+ // we start with the actual handler
16
+ let handler = next;
17
+ // inspired from Effect/RpcMiddleware
18
+ for (const tag of middlewares) {
19
+ // use the tag to get the middleware from context
20
+ const middleware = Context.unsafeGet(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.zipRight(middleware(handler, options)));
23
+ }
24
+ return handler;
25
+ };
26
+ });
27
+ };
28
+ const makeMiddlewareBasic =
29
+ // by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
30
+ (rcm, ...make) => {
31
+ // reverse middlewares and wrap one after the other
32
+ const middleware = middlewareMaker(make);
33
+ const failures = make.map((_) => _.failure).filter(Boolean);
34
+ const provides = make.flatMap((_) => !_.provides ? [] : Array.isArray(_.provides) ? _.provides : [_.provides]);
35
+ const requires = make
36
+ .flatMap((_) => !_.requires ? [] : Array.isArray(_.requires) ? _.requires : [_.requires])
37
+ .filter((_) => !provides.includes(_));
38
+ const MiddlewareMaker = RpcMiddlewareX.Tag()("MiddlewareMaker", {
39
+ failure: (failures.length > 0
40
+ ? S.Union(...failures)
41
+ : S.Never),
42
+ requires: (requires.length > 0
43
+ ? requires
44
+ : undefined),
45
+ provides: (provides.length > 0
46
+ ? provides
47
+ : undefined),
48
+ wrap: true
49
+ });
50
+ const layer = Layer
51
+ .scoped(MiddlewareMaker, middleware);
52
+ // add to the tag a default implementation
53
+ return Object.assign(MiddlewareMaker, {
54
+ layer,
55
+ // tag to be used to retrieve the RequestContextConfig from Rpc annotations
56
+ requestContext: Context.GenericTag("RequestContextConfig"),
57
+ requestContextMap: rcm
58
+ });
59
+ };
60
+ export const makeMiddleware = (rcm) => {
61
+ let allMiddleware = [];
62
+ const requestContext = Context.GenericTag("RequestContextConfig");
63
+ const it = {
64
+ // rpc with config
65
+ rpc: (tag, options) => {
66
+ const config = options?.config ?? {};
67
+ // based on the config, we must enhance (union) or set failures.
68
+ // TODO: we should only include errors that are relevant based on the middleware config.ks
69
+ const error = options?.error;
70
+ const errors = typedValuesOf(rcm).map((_) => _.error).filter((_) => _ && _ !== S.Never); // TODO: only the errors relevant based on config
71
+ const newError = error ? S.Union(error, ...errors) : S.Union(...errors);
72
+ const rpc = Rpc.make(tag, { ...options, error: newError });
73
+ return Object.assign(rpc.annotate(requestContext, config), { config });
74
+ },
75
+ middleware: (...middlewares) => {
76
+ for (const mw of middlewares) {
77
+ // recall that we run middlewares in reverse order
78
+ allMiddleware = [mw, ...allMiddleware];
79
+ }
80
+ return allMiddleware.filter((m) => !!m.dynamic).length !== Object.keys(rcm).length
81
+ // for sure, until all the dynamic middlewares are provided it's non sensical to call makeMiddlewareBasic
82
+ ? it
83
+ // actually, we don't know yet if MiddlewareR is never, but we can't easily check it at runtime
84
+ : Object.assign(makeMiddlewareBasic(rcm, ...allMiddleware), it);
85
+ }
86
+ };
87
+ return it;
88
+ };
89
+ // alternatively consider group.serverMiddleware? hmmm
90
+ export const middlewareGroup = (middleware) => (group) => {
91
+ const middlewaredGroup = group.middleware(middleware);
92
+ const toLayerOriginal = middlewaredGroup.toLayer.bind(middlewaredGroup);
93
+ return Object.assign(middlewaredGroup, {
94
+ toLayerDynamic: (build) => {
95
+ return toLayerOriginal(build); // ??
96
+ }
97
+ });
98
+ };
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZU1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9NaWRkbGV3YXJlTWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQXFELE1BQU0sYUFBYSxDQUFBO0FBRXBGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBZSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBS3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUczQyxPQUFPLEtBQUssY0FBYyxNQUFNLG9CQUFvQixDQUFBO0FBd05wRCxNQUFNLGVBQWUsR0FBRyxDQUV0QixXQUFnQyxFQVVoQyxFQUFFO0lBQ0Ysc0dBQXNHO0lBQ3RHLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFTLENBQUE7SUFFN0MsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFFdkMsOERBQThEO1FBQzlELE9BQU8sQ0FDTCxRQUtJLEVBQ0osRUFBRTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUE7WUFDckMsbUNBQW1DO1lBQ25DLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtZQUVsQixxQ0FBcUM7WUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDOUIsaURBQWlEO2dCQUNqRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQTtnQkFFbEQsK0VBQStFO2dCQUMvRSxPQUFPLEdBQUcsYUFBYSxDQUFD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
@@ -0,0 +1,73 @@
1
+ import { type AnyWithProps } from "@effect/rpc/Rpc";
2
+ import { Context, type Schema as S } from "effect";
3
+ import { type NonEmptyReadonlyArray } from "effect/Array";
4
+ import { type Tag } from "effect/Context";
5
+ import { type RpcDynamic } from "./RpcMiddleware.js";
6
+ /** Adapter used when setting the dynamic prop on a middleware implementation */
7
+ export declare const contextMap: <RequestContextMap extends Record<string, RpcContextMap.Any>, Key extends (keyof RequestContextMap) & string>(rcm: RequestContextMap, key: Key) => RpcDynamic<Key, RequestContextMap[Key]>;
8
+ /** Retrieves RequestContextConfig out of the Rpc annotations */
9
+ export declare const getConfig: <RequestContextMap extends Record<string, RpcContextMap.Any>>() => (rpc: AnyWithProps) => GetContextConfig<RequestContextMap>;
10
+ type Values<T extends Record<any, any>> = T[keyof T];
11
+ /** @deprecated just use Service Identifier Union */
12
+ export type ContextTagArray = NonEmptyReadonlyArray<Context.Tag<any, any>>;
13
+ /** @deprecated just use Service Identifier Union */
14
+ export declare namespace ContextTagArray {
15
+ type Identifier<A> = A extends ContextTagArray ? Tag.Identifier<A[number]> : never;
16
+ type Service<A> = A extends ContextTagArray ? Tag.Service<A[number]> : never;
17
+ }
18
+ /** @deprecated just use Service Identifier Union */
19
+ export type AnyService = Context.Tag<any, any> | ContextTagArray;
20
+ /** @deprecated just use Service Identifier Union */
21
+ export declare namespace AnyService {
22
+ type Bla<A> = A extends ContextTagArray ? Context.Context<ContextTagArray.Identifier<A>> : A extends Context.Tag<any, any> ? Tag.Service<A> : never;
23
+ type Identifier<A> = A extends ContextTagArray ? ContextTagArray.Identifier<A> : A extends Context.Tag<any, any> ? Tag.Identifier<A> : never;
24
+ type Service<A> = A extends ContextTagArray ? ContextTagArray.Service<A> : A extends Context.Tag<any, any> ? Tag.Service<A> : never;
25
+ }
26
+ export declare namespace RpcContextMap {
27
+ /**
28
+ * Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context.
29
+ * Unless explicitly configured as `true`.
30
+ */
31
+ type RpcContextMap<Service, E> = {
32
+ service: Service;
33
+ error: E;
34
+ contextActivation: true;
35
+ };
36
+ /**
37
+ * Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect Context.
38
+ * Unless explicitly omitted.
39
+ */
40
+ type Inverted<Service extends AnyService, E> = {
41
+ service: Service;
42
+ error: E;
43
+ contextActivation: false;
44
+ };
45
+ type Custom<Service extends AnyService, E, C> = {
46
+ service: Service;
47
+ error: E;
48
+ contextActivation: C;
49
+ };
50
+ type Any = {
51
+ service: AnyService;
52
+ error: S.Schema.All;
53
+ contextActivation: any;
54
+ };
55
+ const make: <Service extends AnyService, E>(service: Service, error: E) => RpcContextMap<Service, E>;
56
+ const makeInverted: <Service extends AnyService, E>(service: Service, error: E) => Inverted<Service, E>;
57
+ const makeCustom: <Service extends AnyService, E, C>(service: Service, error: E, contextActivation: C) => Custom<Service, E, C>;
58
+ }
59
+ export type GetContextConfig<RequestContextMap extends Record<string, RpcContextMap.Any>> = {
60
+ [K in keyof RequestContextMap]?: RequestContextMap[K]["contextActivation"] extends true ? false : RequestContextMap[K]["contextActivation"] extends false ? true : RequestContextMap[K]["contextActivation"];
61
+ };
62
+ export type GetEffectContext<RequestContextMap extends Record<string, RpcContextMap.Any>, T> = Values<{
63
+ [key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends true ? never : key extends keyof T ? T[key] extends true ? never : key : key]: AnyService.Identifier<RequestContextMap[key]["service"]>;
64
+ } & {
65
+ [key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends false ? never : key extends keyof T ? T[key] extends true ? key : never : never]: AnyService.Identifier<RequestContextMap[key]["service"]>;
66
+ }>;
67
+ export type GetEffectError<RequestContextMap extends Record<string, RpcContextMap.Any>, T> = Values<{
68
+ [key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends true ? never : key extends keyof T ? T[key] extends true ? never : key : key]: RequestContextMap[key]["error"];
69
+ } & {
70
+ [key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends false ? never : key extends keyof T ? T[key] extends true ? key : never : never]: RequestContextMap[key]["error"];
71
+ }>;
72
+ export {};
73
+ //# sourceMappingURL=RpcContextMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RpcContextMap.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcContextMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
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 { Context } from "effect";
5
+ /** Adapter used when setting the dynamic prop on a middleware implementation */
6
+ export const contextMap = (rcm, key) => ({
7
+ key,
8
+ settings: { service: rcm[key]["service"] }
9
+ });
10
+ const tag = Context.GenericTag("RequestContextConfig");
11
+ /** Retrieves RequestContextConfig out of the Rpc annotations */
12
+ export const getConfig = () => (rpc) => {
13
+ return Context.getOrElse(rpc.annotations, tag, () => ({}));
14
+ };
15
+ export var RpcContextMap;
16
+ (function (RpcContextMap) {
17
+ RpcContextMap.make = (service, error) => ({
18
+ service,
19
+ error,
20
+ contextActivation: true
21
+ });
22
+ RpcContextMap.makeInverted = (service, error) => ({
23
+ service,
24
+ error,
25
+ contextActivation: false
26
+ });
27
+ RpcContextMap.makeCustom = (service, error, contextActivation) => ({
28
+ service,
29
+ error,
30
+ contextActivation
31
+ });
32
+ })(RpcContextMap || (RpcContextMap = {}));
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjQ29udGV4dE1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ycGMvUnBjQ29udGV4dE1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUd2RCxPQUFPLEVBQUUsT0FBTyxFQUFvQixNQUFNLFFBQVEsQ0FBQTtBQUtsRCxnRkFBZ0Y7QUFDaEYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBR3hCLEdBQXNCLEVBQUUsR0FBUSxFQUEyQyxFQUFFLENBQUMsQ0FBQztJQUMvRSxHQUFHO0lBQ0gsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUUsQ0FBQyxTQUFTLENBQUMsRUFBNEI7Q0FDdEUsQ0FBQyxDQUFBO0FBRUYsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0FBQ3RELGdFQUFnRTtBQUNoRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FFckIsRUFBRSxDQUNOLENBQUMsR0FBaUIsRUFBdUMsRUFBRTtJQUN6RCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ25FLENBQUMsQ0FBQTtBQTRCRCxNQUFNLEtBQVcsYUFBYSxDQTREN0I7QUE1REQsV0FBaUIsYUFBYTtJQWlDZixrQkFBSSxHQUFHLENBQ2xCLE9BQWdCLEVBQ2hCLEtBQVEsRUFDbUIsRUFBRSxDQUFDLENBQUM7UUFDL0IsT0FBTztRQUNQLEtBQUs7UUFDTCxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCLENBQUMsQ0FBQTtJQUVXLDBCQUFZLEdBQUcsQ0FDMUIsT0FBZ0IsRUFDaEIsS0FBUSxFQUNjLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLE9BQU87UUFDUCxLQUFLO1FBQ0wsaUJBQWlCLEVBQUUsS0FBSztLQUN6QixDQUFDLENBQUE7SUFFVyx3QkFBVSxHQUFHLENBQ3hCLE9BQWdCLEVBQ2hCLEtBQVEsRUFDUixpQkFBb0IsRUFDRyxFQUFFLENBQUMsQ0FBQztRQUMzQixPQUFPO1FBQ1AsS0FBSztRQUNMLGlCQUFpQjtLQUNsQixDQUFDLENBQUE7QUFDSixDQUFDLEVBNURnQixhQUFhLEtBQWIsYUFBYSxRQTREN0IifQ==
@@ -1,9 +1,11 @@
1
- import { type Rpc } from "@effect/rpc";
1
+ import { type Rpc, RpcMiddleware } from "@effect/rpc";
2
2
  import { type SuccessValue, type TypeId } from "@effect/rpc/RpcMiddleware";
3
- import { type Context, type Effect, type NonEmptyReadonlyArray, type S, type Schema, type Scope } from "effect-app";
4
- import type { ContextTagArray, RPCContextMap } from "effect-app/client/req";
3
+ import { type Context, type Effect, type Schema, type Schema as S, type Scope, type Stream } from "effect";
5
4
  import { type HttpHeaders } from "effect-app/http";
6
- export interface RpcMiddlewareWrap<Provides, E, Requires> {
5
+ import { type NonEmptyReadonlyArray } from "effect/Array";
6
+ import { type ReadonlyMailbox } from "effect/Mailbox";
7
+ import { type GetEffectContext, type RpcContextMap } from "./RpcContextMap.js";
8
+ export interface RpcMiddlewareV4<Provides, E, Requires> {
7
9
  (effect: Effect.Effect<SuccessValue, E, Provides | Scope.Scope | Requires>, options: {
8
10
  readonly clientId: number;
9
11
  readonly rpc: Rpc.AnyWithProps;
@@ -16,7 +18,7 @@ export type RpcOptionsOriginal = {
16
18
  readonly failure?: Schema.Schema.All;
17
19
  readonly requiredForClient?: boolean;
18
20
  };
19
- export type RpcDynamic<Key extends string, A extends RPCContextMap.Any> = {
21
+ export type RpcDynamic<Key extends string, A extends RpcContextMap.Any> = {
20
22
  key: Key;
21
23
  settings: A;
22
24
  };
@@ -26,12 +28,12 @@ export type AnyDynamic = {
26
28
  export type DependsOn = {
27
29
  readonly dependsOn: NonEmptyReadonlyArray<AnyDynamic> | undefined;
28
30
  };
29
- export interface RpcOptionsDynamic<Key extends string, A extends RPCContextMap.Any> extends RpcOptionsOriginal {
31
+ export interface RpcOptionsDynamic<Key extends string, A extends RpcContextMap.Any> extends RpcOptionsOriginal {
30
32
  readonly dynamic: RpcDynamic<Key, A>;
31
33
  readonly dependsOn?: NonEmptyReadonlyArray<AnyDynamic> | undefined;
32
34
  }
33
35
  export type Dynamic<Options> = Options extends RpcOptionsDynamic<any, any> ? true : false;
34
- export interface RpcMiddlewareDynamicWrap<E, R, _Config> {
36
+ export interface RpcMiddlewareDynamic<E, R, _Config> {
35
37
  (effect: Effect.Effect<SuccessValue, E, Scope.Scope | R>, options: {
36
38
  readonly clientId: number;
37
39
  readonly rpc: Rpc.AnyWithProps;
@@ -51,26 +53,6 @@ export interface TagClassAny extends Context.Tag<any, any> {
51
53
  readonly dependsOn?: NonEmptyReadonlyArray<AnyDynamic> | undefined;
52
54
  }
53
55
  export declare namespace TagClass {
54
- /**
55
- * @since 1.0.0
56
- * @category models
57
- */
58
- type Provides<Options> = Options extends {
59
- readonly provides: Context.Tag<any, any>;
60
- readonly optional?: false;
61
- } ? Context.Tag.Identifier<Options["provides"]> : Options extends {
62
- readonly provides: ContextTagArray;
63
- readonly optional?: false;
64
- } ? ContextTagArray.Identifier<Options["provides"]> : never;
65
- /**
66
- * @since 1.0.0
67
- * @category models
68
- */
69
- type Requires<Options> = Options extends {
70
- readonly requires: Context.Tag<any, any>;
71
- } ? Context.Tag.Identifier<Options["requires"]> : Options extends {
72
- readonly requires: ContextTagArray;
73
- } ? ContextTagArray.Identifier<Options["requires"]> : never;
74
56
  /**
75
57
  * @since 1.0.0
76
58
  * @category models
@@ -113,13 +95,6 @@ export declare namespace TagClass {
113
95
  type RequiredForClient<Options> = Options extends {
114
96
  readonly requiredForClient: true;
115
97
  } ? true : false;
116
- /**
117
- * @since 1.0.0
118
- * @category models
119
- */
120
- type Wrap<Options> = Options extends {
121
- readonly wrap: true;
122
- } ? true : false;
123
98
  /**
124
99
  * @since 1.0.0
125
100
  * @category models
@@ -146,9 +121,9 @@ export interface TagClass<Self, Name extends string, Options, Config extends {
146
121
  } = {
147
122
  requires: never;
148
123
  provides: never;
149
- }> extends TagClass.Base<Self, Name, Options, Options extends RpcOptionsDynamic<any, any> ? RpcMiddlewareDynamicWrap<TagClass.FailureService<Options>, "requires" extends keyof Config ? Config["requires"] : never, {
124
+ }> extends TagClass.Base<Self, Name, Options, Options extends RpcOptionsDynamic<any, any> ? RpcMiddlewareDynamic<TagClass.FailureService<Options>, "requires" extends keyof Config ? Config["requires"] : never, {
150
125
  [K in Options["dynamic"]["key"]]?: Options["dynamic"]["settings"]["contextActivation"];
151
- }> : RpcMiddlewareWrap<"provides" extends keyof Config ? Config["provides"] : never, TagClass.Failure<Options>, "requires" extends keyof Config ? Config["requires"] : never>, Config> {
126
+ }> : RpcMiddlewareV4<"provides" extends keyof Config ? Config["provides"] : never, TagClass.Failure<Options>, "requires" extends keyof Config ? Config["requires"] : never>, Config> {
152
127
  }
153
128
  export declare const Tag: <Self, Config extends {
154
129
  requires?: any;
@@ -156,5 +131,23 @@ export declare const Tag: <Self, Config extends {
156
131
  } = {
157
132
  requires: never;
158
133
  provides: never;
159
- }>() => <const Name extends string, const Options extends RpcOptionsOriginal | RpcOptionsDynamic<any, any>>(id: Name, options?: Options | undefined) => TagClass<Self, Name, Options, Config>;
134
+ }>() => <const Name extends string, const Options extends RpcOptionsOriginal | RpcOptionsDynamic<any, any> = {}>(id: Name, options?: Options | undefined) => TagClass<Self, Name, Options, Config>;
135
+ export type AddMiddleware<R extends Rpc.Any, Middleware extends RpcMiddleware.TagClassAny> = R extends Rpc.Rpc<infer _Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? Rpc.Rpc<_Tag, _Payload, _Success, _Error, _Middleware | Middleware> & {
136
+ readonly config: R extends {
137
+ readonly config: infer _C;
138
+ } ? _C : never;
139
+ } : never;
140
+ export type HandlersContext<Rpcs extends Rpc.Any, Handlers> = keyof Handlers extends infer K ? K extends keyof Handlers & string ? HandlerContext<Rpcs, K, Handlers[K]> : never : never;
141
+ export type HandlerContext<Rpcs extends Rpc.Any, K extends Rpcs["_tag"], Handler> = [Rpc.IsStream<Rpcs, K>] extends [
142
+ true
143
+ ] ? Handler extends (...args: any) => Stream.Stream<infer _A, infer _E, infer _R> | Rpc.Fork<Stream.Stream<infer _A, infer _E, infer _R>> | Effect.Effect<ReadonlyMailbox<infer _A, infer _E>, infer _EX, infer _R> | Rpc.Fork<Effect.Effect<ReadonlyMailbox<infer _A, infer _E>, infer _EX, infer _R>> ? Exclude<ExcludeProvides<_R, Rpcs, K>, Scope.Scope> : never : Handler extends (...args: any) => Effect.Effect<infer _A, infer _E, infer _R> | Rpc.Fork<Effect.Effect<infer _A, infer _E, infer _R>> ? ExcludeProvides<_R, Rpcs, K> : never;
144
+ export type ExtractDynamicallyProvides<R extends Rpc.Any, Tag extends string> = R extends Rpc.Rpc<Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? _Middleware extends {
145
+ readonly requestContextMap: infer _RC;
146
+ } ? _RC extends Record<string, RpcContextMap.Any> ? R extends {
147
+ readonly config: infer _C;
148
+ } ? GetEffectContext<_RC, _C> : GetEffectContext<_RC, {}> : never : never : never;
149
+ export type ExtractProvides<R extends Rpc.Any, Tag extends string> = R extends Rpc.Rpc<Tag, infer _Payload, infer _Success, infer _Error, infer _Middleware> ? _Middleware extends {
150
+ readonly provides: Context.Tag<infer _I, infer _S>;
151
+ } ? _I : never : never;
152
+ export type ExcludeProvides<Env, R extends Rpc.Any, Tag extends string> = Exclude<Env, ExtractProvides<R, Tag> | ExtractDynamicallyProvides<R, Tag>>;
160
153
  //# sourceMappingURL=RpcMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RpcMiddleware.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RpcMiddleware.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,GAAG,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAS,MAAM,QAAQ,CAAA;AACjH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAG9E,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ;IACpD,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE;QACnF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;QAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;KACtC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAA;CAC3D;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,aAAa,CAAC,GAAG,IAAI;IACxE,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,CAAC,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CAAA;AAE1D,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;CAClE,CAAA;AAED,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,SAAS,aAAa,CAAC,GAAG,CAAE,SAAQ,kBAAkB;IAC5G,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;CACnE;AAED,MAAM,MAAM,OAAO,CAAC,OAAO,IAAI,OAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAEzF,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO;IACjD,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE;QACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAA;QAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAA;KACtC,GAAG,MAAM,CAAC,MAAM,CACf,YAAY,EACZ,CAAC,EACD,KAAK,CAAC,KAAK,GAAG,CAAC,CAChB,CAAA;CACF;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IACxD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;IACnC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;CACnE;AAED,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC;;;OAGG;IACH,KAAY,aAAa,CAAC,OAAO,IAAI,OAAO,SAC1C;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,GAGrF,OAAO,MAAM,CAAC,KAAK,CAAA;IAEvB;;;OAGG;IACH,KAAY,OAAO,CAAC,OAAO,IAAI,OAAO,SACpC;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,EAAE,GAE/F,OAAO,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAC1F,KAAK,CAAA;IAET;;;OAGG;IACH,KAAY,cAAc,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAEnF;;;OAGG;IACH,KAAY,cAAc,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjG;;;OAGG;IACH,KAAY,QAAQ,CAAC,OAAO,IAAI,OAAO,SAAS;QAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAA;IAE1F;;;OAGG;IACH,KAAY,iBAAiB,CAAC,OAAO,IAAI,OAAO,SAAS;QAAE,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAA;IAE5G;;;OAGG;IACH,UAAiB,IAAI,CACnB,IAAI,EACJ,IAAI,SAAS,MAAM,EACnB,OAAO,EACP,OAAO,EACP,MAAM,SAAS;QACb,QAAQ,CAAC,EAAE,GAAG,CAAA;QACd,QAAQ,CAAC,EAAE,GAAG,CAAA;KACf,CACD,SAAQ,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;QAClC,KAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACnD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;QACxC,QAAQ,CAAC,QAAQ,EAAE,UAAU,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;QAC/E,QAAQ,CAAC,QAAQ,EAAE,UAAU,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;QAC/E,QAAQ,CAAC,OAAO,EAAE,OAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,GAC9E,SAAS,CAAA;QACb,QAAQ,CAAC,SAAS,EAAE,OAAO,SAAS,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;QAChF,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACtD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KACpB;CACF;AAED,MAAM,WAAW,QAAQ,CACvB,IAAI,EACJ,IAAI,SAAS,MAAM,EACnB,OAAO,EACP,MAAM,SAAS;IACb,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,GAAG,CAAA;CACf,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,CACxC,SACA,QAAQ,CAAC,IAAI,CACX,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,oBAAoB,CAC9D,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAChC,UAAU,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,EAC5D;KAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;CAAE,CAC3F,GACC,eAAe,CACf,UAAU,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,EAC5D,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,UAAU,SAAS,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAC7D,EACH,MAAM,CACP;CACD;AAEF,eAAO,MAAM,GAAG,GACd,IAAI,EACJ,MAAM,SAAS;IACb,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,GAAG,CAAA;CACf,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,QAGxC,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,KAAK,CAAC,OAAO,SAAS,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAE3E,IAAI,IAAI,EACR,UAAU,OAAO,GAAG,SAAS,KAC5B,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAS7B,CAAA;AAGV,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,UAAU,SAAS,aAAa,CAAC,WAAW,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAC5G,MAAM,IAAI,EACV,MAAM,QAAQ,EACd,MAAM,QAAQ,EACd,MAAM,MAAM,EACZ,MAAM,WAAW,CAClB,GACK,GAAG,CAAC,GAAG,CACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,GAAG,UAAU,CACzB,GACC;IAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,EAAE,GAAG,KAAK,CAAA;CAAE,GAC3E,KAAK,CAAA;AAGT,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,MAAM,QAAQ,SAAS,MAAM,CAAC,GACxF,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAChF,KAAK,CAAA;AAET,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SACzG;IAAC,IAAI;CAAC,GAAG,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAClC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAC3C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GACrD,MAAM,CAAC,MAAM,CACb,eAAe,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EACnC,MAAM,GAAG,EACT,MAAM,EAAE,CACT,GACC,GAAG,CAAC,IAAI,CACR,MAAM,CAAC,MAAM,CACX,eAAe,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EACnC,MAAM,GAAG,EACT,MAAM,EAAE,CACT,CACF,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GACtD,KAAK,GACL,OAAO,SAAS,CAChB,GAAG,IAAI,EAAE,GAAG,KACT,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,GACpG,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAC9B,KAAK,CAAA;AAGT,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,MAAM,IAAI,CAAC,SAC/E,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,MAAM,EAAE,MAAM,WAAW,CAAC,GAAG,WAAW,SAAS;IAClG,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,CAAA;CACtC,GAAG,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAC3C,CAAC,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,GACnE,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,GAC3B,KAAK,GACP,KAAK,GACL,KAAK,CAAA;AAET,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,MAAM,IAAI,CAAC,SACpE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,MAAM,EAAE,MAAM,WAAW,CAAC,GAAG,WAAW,SAAS;IAClG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;CACnD,GAAG,EAAE,GACJ,KAAK,GACL,KAAK,CAAA;AAET,MAAM,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,MAAM,IAAI,OAAO,CAC/E,GAAG,EAEH,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,0BAA0B,CAAC,CAAC,EAAE,GAAG,CAAC,CAC7D,CAAA"}
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-return */
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
4
  import { RpcMiddleware } from "@effect/rpc";
5
- import { Unify } from "effect-app";
5
+ import { Unify } from "effect";
6
6
  export const Tag = () => (id, options) => class extends RpcMiddleware.Tag()(id, options) {
7
7
  static requires;
8
8
  static provides;
@@ -12,4 +12,4 @@ export const Tag = () => (id, options) => class extends RpcMiddleware.Tag()(id,
12
12
  static [Unify.unifySymbol];
13
13
  static [Unify.ignoreSymbol];
14
14
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ycGMvUnBjTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUN2RCxPQUFPLEVBQVksYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRXJELE9BQU8sRUFBMEYsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBb00xSCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FNZixFQUFFLENBQ04sQ0FJRSxFQUFRLEVBQ1IsT0FBNkIsRUFDVSxFQUFFLENBQ3pDLEtBQU0sU0FBUSxhQUFhLENBQUMsR0FBRyxFQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQztJQUNsRCxNQUFNLENBQVUsUUFBUSxDQUE4RDtJQUN0RixNQUFNLENBQW1CLFFBQVEsQ0FBOEQ7SUFDL0YsTUFBTSxDQUFVLE9BQU8sR0FBRyxPQUFPLElBQUksU0FBUyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ3ZGLE1BQU0sQ0FBVSxTQUFTLEdBQUcsT0FBTyxJQUFJLFdBQVcsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUM3RixNQUFNLENBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQVU7SUFDNUMsTUFBTSxDQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUF3QjtJQUMzRCxNQUFNLENBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQWlCO0NBQy9DLENBQUEifQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ycGMvUnBjTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUN2RCxPQUFPLEVBQVksYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRXJELE9BQU8sRUFBcUYsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBc0tqSCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FNZixFQUFFLENBQ04sQ0FJRSxFQUFRLEVBQ1IsT0FBNkIsRUFDVSxFQUFFLENBQ3pDLEtBQU0sU0FBUSxhQUFhLENBQUMsR0FBRyxFQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQztJQUNsRCxNQUFNLENBQVUsUUFBUSxDQUE4RDtJQUN0RixNQUFNLENBQW1CLFFBQVEsQ0FBOEQ7SUFDL0YsTUFBTSxDQUFVLE9BQU8sR0FBRyxPQUFPLElBQUksU0FBUyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ3ZGLE1BQU0sQ0FBVSxTQUFTLEdBQUcsT0FBTyxJQUFJLFdBQVcsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUM3RixNQUFNLENBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQVU7SUFDNUMsTUFBTSxDQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUF3QjtJQUMzRCxNQUFNLENBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQWlCO0NBQy9DLENBQUEifQ==
package/dist/rpc.d.ts CHANGED
@@ -1,7 +1,5 @@
1
- export * from "./rpc/generic-middleware.js";
2
- export * from "./rpc/middleware-api.js";
3
- export * from "./rpc/middleware-native.js";
1
+ export * from "./rpc/MiddlewareMaker.js";
2
+ export * from "./rpc/RpcContextMap.js";
4
3
  export * from "./rpc/RpcMiddleware.js";
5
- export * from "./rpc/RpcMiddlewareX.js";
6
4
  export * as Middleware from "./rpc.js";
7
5
  //# sourceMappingURL=rpc.d.ts.map
package/dist/rpc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AACA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AAGvC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AAGtC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAA"}
package/dist/rpc.js CHANGED
@@ -1,9 +1,7 @@
1
1
  // codegen:start {preset: barrel, include: ./rpc/*.ts, nodir: false }
2
- export * from "./rpc/generic-middleware.js";
3
- export * from "./rpc/middleware-api.js";
4
- export * from "./rpc/middleware-native.js";
2
+ export * from "./rpc/MiddlewareMaker.js";
3
+ export * from "./rpc/RpcContextMap.js";
5
4
  export * from "./rpc/RpcMiddleware.js";
6
- export * from "./rpc/RpcMiddlewareX.js";
7
5
  // codegen:end
8
6
  export * as Middleware from "./rpc.js";
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWM7QUFFZCxPQUFPLEtBQUssVUFBVSxNQUFNLFVBQVUsQ0FBQSJ9
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYztBQUVkLE9BQU8sS0FBSyxVQUFVLE1BQU0sVUFBVSxDQUFBIn0=