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
@@ -0,0 +1,8 @@
1
+ import { type Effect } from "effect/Effect";
2
+ import { type YieldWrap } from "effect/Utils";
3
+ export declare namespace EffectGenUtils {
4
+ type Success<EG> = EG extends Effect<infer A, infer _E, infer _R> ? A : EG extends (..._: infer _3) => Generator<never, infer A, infer _2> ? A : EG extends (..._: infer _3) => Generator<YieldWrap<Effect<infer _, infer _E, infer _R>>, infer A, infer _2> ? A : never;
5
+ type Error<EG> = EG extends Effect<infer _A, infer E, infer _R> ? E : EG extends (..._: infer _3) => Generator<never, infer _A, infer _2> ? never : EG extends (..._: infer _3) => Generator<YieldWrap<Effect<infer _, infer E, infer _R>>, infer _A, infer _2> ? E : never;
6
+ type Context<EG> = EG extends Effect<infer _A, infer _E, infer R> ? R : EG extends (..._: infer _3) => Generator<never, infer _A, infer _2> ? never : EG extends (..._: infer _3) => Generator<YieldWrap<Effect<infer _, infer _E, infer R>>, infer _A, infer _2> ? R : never;
7
+ }
8
+ //# sourceMappingURL=gen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../src/utils/gen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,yBAAiB,cAAc,CAAC;IAC9B,KAAY,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAExE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GACtE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAC/G,KAAK,CAAA;IAET,KAAY,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAEtE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,GAC3E,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAC/G,KAAK,CAAA;IAET,KAAY,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAExE,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,GAC3E,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAC/G,KAAK,CAAA;CACV"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2dlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
package/dist/utils.d.ts CHANGED
@@ -182,7 +182,6 @@ export declare const mutable: {
182
182
  <A>(a: A, deep: true): DeepMutable<A>;
183
183
  <A>(a: A): Mutable<A>;
184
184
  };
185
- export type Values<T extends Record<any, any>> = T[keyof T];
186
185
  /**
187
186
  * Recursively removes all elements assignable to type `E` from tuple `T`.
188
187
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAG9D,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AAGnC,eAAO,MAAM,UAAU,eAA4B,CAAA;AACnD,MAAM,WAAW,KAAK;IACpB,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;CAC1C;AAED,iBAAS,GAAG,CAAC,OAAO,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AACrH,iBAAS,GAAG,CAAC,OAAO,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,OAAO,EAC7D,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAClC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAClB,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;AAC5B,iBAAS,GAAG,CAAC,OAAO,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,OAAO,EAAE,QAAQ,EACvE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAClC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,EACnB,YAAY,EAAE,QAAQ,GACrB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAA;AAC/C,iBAAS,GAAG,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,OAAO,EAAE,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAClG,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GACnB,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA;AACxB,iBAAS,GAAG,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,OAAO,EAAE,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAClG,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAClC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GACnB,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;AACpC,iBAAS,GAAG,CAAC,OAAO,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,OAAO,EAAE,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,EAC5G,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAClC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EACpB,YAAY,EAAE,QAAQ,GACrB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAA;AACvD,iBAAS,GAAG,CACV,OAAO,SAAS,MAAM,EACtB,KAAK,SAAS,MAAM,OAAO,EAC3B,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAClC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACzC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA;AAC7E,iBAAS,GAAG,CACV,OAAO,SAAS,MAAM,EACtB,KAAK,SAAS,MAAM,OAAO,EAC3B,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAClC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACzC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;AAC5G,iBAAS,GAAG,CACV,OAAO,SAAS,MAAM,EACtB,KAAK,SAAS,MAAM,OAAO,EAC3B,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAClC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACzC,QAAQ,EAER,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAClC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAC3B,YAAY,EAAE,QAAQ,GACrB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAA;AAC9D,iBAAS,GAAG,CACV,OAAO,SAAS,MAAM,EACtB,KAAK,SAAS,MAAM,OAAO,EAC3B,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAClC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACzC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAChD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA;AAC3F,iBAAS,GAAG,CACV,OAAO,SAAS,MAAM,EACtB,KAAK,SAAS,MAAM,OAAO,EAC3B,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAClC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACzC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAEhD,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAClC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GACjC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;AAClD,iBAAS,GAAG,CACV,OAAO,SAAS,MAAM,EACtB,KAAK,SAAS,MAAM,OAAO,EAC3B,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,EAClC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACzC,KAAK,SAAS,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAChD,QAAQ,EAER,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAClC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAClC,YAAY,EAAE,QAAQ,GACrB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAA;AACrE,iBAAS,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAA;AAC9D,iBAAS,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;AAC7F,iBAAS,GAAG,CAAC,CAAC,EAAE,QAAQ,EACtB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,QAAQ,GACrB,CAAC,GAAG,QAAQ,CAAA;AACf,iBAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAA;AACtG,iBAAS,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS,CAAA;AACrE,iBAAS,GAAG,CAAC,OAAO,EAAE,KAAK,SAAS,MAAM,EACxC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,KAAK,GACV,MAAM,SAAS,KAAK,GAAG,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAC5D,iBAAS,GAAG,CAAC,OAAO,EAAE,KAAK,SAAS,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EACjF,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,KAAK,EACX,YAAY,EAAE,QAAQ,GACrB,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAA;AACrE,iBAAS,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;AAetE,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AAGnC,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAMxD,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,kBAAkB,MAAM,MAAM,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAKpF,CAAA;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,UAElC;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,KAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAEpF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,KAA2B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;AACzF,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAE5B,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI;IAAE,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,CAAA;AAC7D,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GACnD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAClD,CAAC,CAAA;AAEL;;GAEG;AACH,KAAK,gBAAgB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,CAAA;AACvE,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,KAAK,EAAE,CAAC,GACP,gBAAgB,CAAC,CAAC,CAAC,CAMrB;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,QAAQ,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC;CAC1B,CAAA;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,KAAK,EAAE,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,GAC/B,UAAU,CAAC,CAAC,CAAC,CAMf;AAED,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AACxD,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,CAAC,IAAI,CAAmB,CAAA;AAEvH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAErE;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAEzE;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAEzC;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CACpF,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GAAG,CAAC,GACT,KAAK,CAAA;AAGT,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;AAE5E,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,CAAA;AAExE,wBAAgB,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG;IAAE,CAAC,EAAE,OAAO,CAAA;CAAE,EAC7D,GAAG,EAAE,EAAE,EAAE,GACR,mBAAmB,CAAC;KAAG,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,CAEzD;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CACnE,CAAC,OACI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAC7B,KAAK,CAAA;AAET,eAAO,MAAM,UAAU,eAAW,CAAA;AAClC,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAA;AAG1C,MAAM,WAAW,gBAAgB,CAAC,CAAC;CAAI;AACvC,MAAM,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAE7D,MAAM,WAAW,SAAS,CAAC,CAAC;IAO1B,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,GAAG,CAAC,SAAS,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5G,KAAK,GACL,KAAK,CAAA;CACV;AAED,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,GACvE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAmFtC,yFAAyF;AACzF,UAAU,oBAAoB;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAA;CACrB;AAaD,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAA;AAoDlD;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,QAAQ,UAAQ,EAChB,mBAAmB,UAAQ,EAC3B,cAAc,GAAE,gBAAgC,GAC/C,eAAe,GAAG,oBAAoB,CAqExC;AAMD,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAE3E,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAA;AAE9D,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAE7D,gDAAgD;AAEhD,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnC,KAAK,MAAM,GAAG,KAAK,CAAA;AAQnB,KAAK,OAAO,GAIV,IAAI,CAAA;AAEN,KAAK,OAAO,GAEV,MAAM,CAAA;AAER,KAAK,MAAM,GAGP,SAAS,GACT,UAAU,GACV,iBAAiB,GACjB,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,GACX,YAAY,GACZ,YAAY,CAAA;AAIhB,KAAK,IAAI,GAGL,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,GAC7B,WAAW,CAAC,OAAO,CAAC,GACpB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC,CAAA;AAEnB,KAAK,UAAU,GACX,WAAW,GAGX,QAAQ,CAAA;AAGZ,KAAK,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;AAG3D,KAAK,WAAW,GAAG,KAAK,CAAA;AAExB,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,IAAI,GACJ,UAAU,GACV,YAAY,GACZ,WAAW,CAAA;AAEf,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG,CAAC,GAE5C;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GACC,EAAE,CAAA;AAER,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GAAG,CAAC,GAElD;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GACC,EAAE,CAAA;AAER,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GAAG,CAAC,GAElD;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC,GACC,EAAE,CAAA;AAER,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS,KAAK,GAAG,MAAM,IAAI;IACrD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;CACrB,CAAC,KAAK,CAAC,CAAA;AAIR,eAAO,MAAM,UAAU,eAAiB,CAAA;AAMxC,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,YAEtD,CAAC,KAAG,EAAE,CAiB1B;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,MACtC,GAAG,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,CAAC,KAAG,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CACnG;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,IAC7C,GAAG,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,KAAG,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CACzF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAEjD;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,CAC5C,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KACnB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;AAE3C,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IACnD,KAAK,CAAC,KAAe,EAAE,CAChC;AAED,wBAAgB,cAAc,SAS7B;AAUD,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE5C;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAA;CACX;AAED,eAAO,MAAM,KAAK,IACf,CAAC,SAAS,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAClD,CAAC,SAAS,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAOtC,CAAA;AAEF,eAAO,MAAM,IAAI;KAEZ,CAAC,SAAS,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;KACnE,CAAC,SAAS,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;;KAGzD,CAAC,SAAS,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;KACtD,CAAC,SAAS,MAAM,QAAQ,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;CAEuE,CAAA;AAExH,KAAK,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,KAAI,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IACvD;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACjD,GACC,EAAE,CAAA;AAEN,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,IACnB;KACC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;CACpE,GACC,EAAE,CAAA;AAEN,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,GAClD,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,SAAS,IAAI,GAAG,6DAA6D,GACtG,CAAC,GACD,CAAC,CAAA;AAIL,eAAO,MAAM,UAAU,GAAI,IAAI,SAAS,KAAI,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,MAAM,IAAI;KAG/D,CAAC,SAAS,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAC/D,CAAC,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAChC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;KACrD,CAAC,SAAS,YAAY,CAAC,IAAI,CAAC,cAAY,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WACzD,WAAW,CAAC,GAAC,EAAE,IAAI,CAAC,GAC5B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,GAAC,CAAC,KAAK,aAAa,CAAC,CAAC,EAAE,GAAC,CAAC;;KAGrD,CAAC,SAAS,YAAY,CAAC,IAAI,CAAC,cAAY,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAC5D,cAAc,CAAC,CAAC,EAAE,GAAC,CAAC,KACvB,CAAC,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,GAAC,EAAE,IAAI,CAAC,GAChC,aAAa,CAAC,CAAC,EAAE,GAAC,CAAC;KACrB,CAAC,SAAS,YAAY,CAAC,IAAI,CAAC,cAAY,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAC5D,cAAc,CAAC,CAAC,EAAE,GAAC,CAAC,WACjB,WAAW,CAAC,GAAC,EAAE,IAAI,CAAC,GAC5B,aAAa,CAAC,CAAC,EAAE,GAAC,CAAC;CAmBzB,CAAA;AAEH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,kCAYlD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,KAGxD;AAED,wBAAgB,MAAM,CAEpB,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAE/B,QAAQ,EACR,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,QAAQ,YAElD;AAED,wBAAgB,OAAO,CAErB,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,UAEhD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,UAE7C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAE9D;AAED,wBAAgB,SAAS,CAAC,CAAC,EACzB,QAAQ,EAAE,SAAS,CAAC,EAAE,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,qBAiBjB;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,QAAQ,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,EACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,CAAC,EAAE,CAEL;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,IACtD,UAAU,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAQjF;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,IACvD,UAAU,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAE7E;AAED,OAAO,EAAE,GAAG,EAAE,CAAA;AAEd,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAA;AAC7D,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAE7D;AAED,eAAO,MAAM,OAAO,EAAE;IAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CAAa,CAAA;AAEjG,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAE3D;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GACvF,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GACxC,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC9B,EAAE,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -21,7 +21,7 @@
21
21
  "@types/uuid": "^10.0.0",
22
22
  "@types/validator": "^13.15.2",
23
23
  "fast-check": "~4.2.0",
24
- "typescript": "~5.8.3",
24
+ "typescript": "~5.9.2",
25
25
  "vitest": "^3.2.4"
26
26
  },
27
27
  "peerDependencies": {
@@ -68,6 +68,10 @@
68
68
  "types": "./dist/Inputify.type.d.ts",
69
69
  "default": "./dist/Inputify.type.js"
70
70
  },
71
+ "./Layer": {
72
+ "types": "./dist/Layer.d.ts",
73
+ "default": "./dist/Layer.js"
74
+ },
71
75
  "./NonEmptySet": {
72
76
  "types": "./dist/NonEmptySet.d.ts",
73
77
  "default": "./dist/NonEmptySet.js"
@@ -196,9 +200,9 @@
196
200
  "types": "./dist/client/errors.d.ts",
197
201
  "default": "./dist/client/errors.js"
198
202
  },
199
- "./client/req": {
200
- "types": "./dist/client/req.d.ts",
201
- "default": "./dist/client/req.js"
203
+ "./client/makeClient": {
204
+ "types": "./dist/client/makeClient.d.ts",
205
+ "default": "./dist/client/makeClient.js"
202
206
  },
203
207
  "./faker": {
204
208
  "types": "./dist/faker.d.ts",
@@ -220,30 +224,26 @@
220
224
  "types": "./dist/logger.d.ts",
221
225
  "default": "./dist/logger.js"
222
226
  },
227
+ "./middleware": {
228
+ "types": "./dist/middleware.d.ts",
229
+ "default": "./dist/middleware.js"
230
+ },
223
231
  "./rpc": {
224
232
  "types": "./dist/rpc.d.ts",
225
233
  "default": "./dist/rpc.js"
226
234
  },
235
+ "./rpc/MiddlewareMaker": {
236
+ "types": "./dist/rpc/MiddlewareMaker.d.ts",
237
+ "default": "./dist/rpc/MiddlewareMaker.js"
238
+ },
239
+ "./rpc/RpcContextMap": {
240
+ "types": "./dist/rpc/RpcContextMap.d.ts",
241
+ "default": "./dist/rpc/RpcContextMap.js"
242
+ },
227
243
  "./rpc/RpcMiddleware": {
228
244
  "types": "./dist/rpc/RpcMiddleware.d.ts",
229
245
  "default": "./dist/rpc/RpcMiddleware.js"
230
246
  },
231
- "./rpc/RpcMiddlewareX": {
232
- "types": "./dist/rpc/RpcMiddlewareX.d.ts",
233
- "default": "./dist/rpc/RpcMiddlewareX.js"
234
- },
235
- "./rpc/generic-middleware": {
236
- "types": "./dist/rpc/generic-middleware.d.ts",
237
- "default": "./dist/rpc/generic-middleware.js"
238
- },
239
- "./rpc/middleware-api": {
240
- "types": "./dist/rpc/middleware-api.d.ts",
241
- "default": "./dist/rpc/middleware-api.js"
242
- },
243
- "./rpc/middleware-native": {
244
- "types": "./dist/rpc/middleware-native.d.ts",
245
- "default": "./dist/rpc/middleware-native.js"
246
- },
247
247
  "./transform": {
248
248
  "types": "./dist/transform.d.ts",
249
249
  "default": "./dist/transform.js"
@@ -260,6 +260,10 @@
260
260
  "types": "./dist/utils/extend.d.ts",
261
261
  "default": "./dist/utils/extend.js"
262
262
  },
263
+ "./utils/gen": {
264
+ "types": "./dist/utils/gen.d.ts",
265
+ "default": "./dist/utils/gen.js"
266
+ },
263
267
  "./utils/logLevel": {
264
268
  "types": "./dist/utils/logLevel.d.ts",
265
269
  "default": "./dist/utils/logLevel.js"
@@ -288,15 +292,17 @@
288
292
  ],
289
293
  "scripts": {
290
294
  "watch": "pnpm build:tsc -w",
291
- "build:tsc": "pnpm clean-dist && effect-app-cli packagejson tspc --build",
295
+ "build:tsc": "pnpm clean-dist && effect-app-cli packagejson tsc --build",
296
+ "build:tsc-src": "pnpm clean-dist && effect-app-cli packagejson tsc --build ./tsconfig.src.json",
297
+ "build:src": "pnpm build:tsc-src && cp -f ./src/internal/Prelude.* ./dist/internal",
292
298
  "build": "pnpm build:tsc && cp -f ./src/internal/Prelude.* ./dist/internal",
293
- "watch2": "pnpm clean-dist && NODE_OPTIONS=--max-old-space-size=6144 tspc -w",
299
+ "watch2": "pnpm clean-dist && NODE_OPTIONS=--max-old-space-size=6144 tsc -w",
294
300
  "clean": "rm -rf dist",
295
301
  "clean-dist": "sh ../../scripts/clean-dist.sh",
296
302
  "circular": "pnpm circular:src && pnpm circular:dist",
297
303
  "circular:src": "madge --circular --ts-config ./tsconfig.json --extensions ts ./src",
298
304
  "circular:dist": "madge --circular --extensions js ./dist",
299
- "compile": "NODE_OPTIONS=--max-old-space-size=6144 tspc --noEmit",
305
+ "compile": "NODE_OPTIONS=--max-old-space-size=6144 tsc --noEmit",
300
306
  "lint": "NODE_OPTIONS=--max-old-space-size=6144 ESLINT_TS=1 eslint ./src",
301
307
  "lint:watch": "ESLINT_TS=1 esw -w --changed --clear --ext ts,tsx .",
302
308
  "autofix": "pnpm lint --fix",
package/src/Context.ts CHANGED
@@ -6,7 +6,9 @@
6
6
  */
7
7
 
8
8
  import { Effect, Layer, type Scope } from "effect"
9
+ import { type NonEmptyReadonlyArray } from "effect/Array"
9
10
  import * as Context from "effect/Context"
11
+ import { type Service } from "effect/Effect"
10
12
 
11
13
  export * from "effect/Context"
12
14
 
@@ -287,3 +289,57 @@ export const TagMakeId = <ServiceImpl, R, E, const Key extends string>(
287
289
 
288
290
  return proxify(assignTag<Id, Id>(key, creationError)(c))<Id, ServiceImpl>()
289
291
  }
292
+
293
+ export const ServiceDef = <Tag extends Context.Tag<any, any>>(self: Tag) =>
294
+ <A>() =>
295
+ <
296
+ LayerOpts extends {
297
+ effect: Effect.Effect<
298
+ A,
299
+ any,
300
+ any
301
+ >
302
+ dependencies?: NonEmptyReadonlyArray<Layer.Layer.Any>
303
+ }
304
+ >(opts: LayerOpts): Layer.Layer<
305
+ Tag,
306
+ | (LayerOpts extends { effect: Effect.Effect<infer _A, infer _E, infer _R> } ? _E
307
+ : never)
308
+ | Service.MakeDepsE<LayerOpts>,
309
+ | Exclude<
310
+ LayerOpts extends { effect: Effect.Effect<infer _A, infer _E, infer _R> } ? _R : never,
311
+ Service.MakeDepsOut<LayerOpts>
312
+ >
313
+ | Service.MakeDepsIn<LayerOpts>
314
+ > =>
315
+ Layer.scoped(self, opts.effect as any).pipe(
316
+ Layer.provide([Layer.empty, ...opts.dependencies ?? []])
317
+ ) as any
318
+
319
+ /** @deprecated; use `static Default = Layer.make(this, { effect, dependencies })` instead */
320
+ export const DefineService = <
321
+ Tag extends Context.TagClass<any, any, any>,
322
+ LayerOpts extends {
323
+ effect: Effect.Effect<
324
+ Context.Tag.Service<Tag>,
325
+ any,
326
+ any
327
+ >
328
+ dependencies?: NonEmptyReadonlyArray<Layer.Layer.Any>
329
+ }
330
+ >(tag: Tag, opts: LayerOpts): Tag & {
331
+ Default: Layer.Layer<
332
+ Context.Tag.Identifier<Tag>,
333
+ | (LayerOpts extends { effect: Effect.Effect<infer _A, infer _E, infer _R> } ? _E
334
+ : never)
335
+ | Service.MakeDepsE<LayerOpts>,
336
+ | Exclude<
337
+ LayerOpts extends { effect: Effect.Effect<infer _A, infer _E, infer _R> } ? _R : never,
338
+ Service.MakeDepsOut<LayerOpts>
339
+ >
340
+ | Service.MakeDepsIn<LayerOpts>
341
+ >
342
+ } =>
343
+ class extends (tag as any) {
344
+ static readonly Default = ServiceDef<Tag>(tag)<Context.Tag.Service<Tag>>()(opts)
345
+ } as any
package/src/Layer.ts ADDED
@@ -0,0 +1,60 @@
1
+ import { type Array, type Context, Effect, Layer, type Scope, type Types } from "effect"
2
+ import { dual } from "effect/Function"
3
+ import { type YieldWrap } from "effect/Utils"
4
+ import { type EffectGenUtils } from "./utils/gen.js"
5
+
6
+ export * from "effect/Layer"
7
+
8
+ type Make<S, E = never, R = never> = DependenciesOpt & (MakeEff<S, E, R> | MakeGenNo<S> | MakeGen<S, E, R>)
9
+
10
+ type MakeEff<S, E, R> = {
11
+ readonly make: Effect.Effect<S, E, R>
12
+ }
13
+ type MakeGen<S, E = never, R = never> = {
14
+ readonly make: () => Generator<YieldWrap<Effect.Effect<any, E, R>>, S, any>
15
+ }
16
+ type MakeGenNo<S> = {
17
+ readonly make: () => Generator<unknown, S>
18
+ }
19
+ type MakeErr<Opts> = Opts extends { make: () => any } ? EffectGenUtils.Error<Opts["make"]> : never
20
+ type MakeContext<Opts> = Opts extends { make: () => any } ? EffectGenUtils.Context<Opts["make"]> : never
21
+
22
+ type DependenciesOpt = { dependencies?: Array.NonEmptyReadonlyArray<Layer.Layer.Any> }
23
+ type Dependencies = { dependencies: Array.NonEmptyReadonlyArray<Layer.Layer.Any> }
24
+ type PackedLayers<I, Opts> =
25
+ & Layer.Layer<
26
+ I,
27
+ MakeErr<Opts> | Effect.Service.MakeDepsE<Opts>,
28
+ Exclude<MakeContext<Opts>, Scope.Scope | Effect.Service.MakeDepsOut<Opts>>
29
+ >
30
+ & {
31
+ withoutDependencies: Layer.Layer<I, MakeErr<Opts>, Exclude<MakeContext<Opts>, Scope.Scope>>
32
+ }
33
+
34
+ type PackedOrUnpackedLayer<I, Opts> = Opts extends Dependencies ? PackedLayers<I, Opts> & {}
35
+ : Layer.Layer<I, MakeErr<Opts>, MakeContext<Opts>>
36
+
37
+ export const make: {
38
+ <I, S>(
39
+ tag: Context.Tag<I, S>
40
+ ): <Opts extends Make<Types.NoInfer<S>, any, any>>(
41
+ options: Opts
42
+ ) => PackedOrUnpackedLayer<I, Opts>
43
+ <I, S, Opts extends Make<Types.NoInfer<S>, any, any>>(
44
+ tag: Context.Tag<I, S>,
45
+ options: Opts
46
+ ): PackedOrUnpackedLayer<I, Opts>
47
+ } = dual(2, (tag, options) => {
48
+ const effect = options.make[Symbol.toStringTag] === "GeneratorFunction"
49
+ ? Effect.fnUntraced(options.make)()
50
+ : options.make
51
+ const withoutDependencies = Layer.scoped(tag, effect)
52
+ if (options.dependencies) {
53
+ return Object.assign(
54
+ withoutDependencies.pipe(Layer.provide(options.dependencies)),
55
+ { withoutDependencies }
56
+ )
57
+ } else {
58
+ return withoutDependencies
59
+ }
60
+ })
@@ -0,0 +1,150 @@
1
+ import { S } from "../internal/lib.js"
2
+ import { type GetEffectError, type RpcContextMap } from "../rpc.js"
3
+ import { AST } from "../Schema.js"
4
+
5
+ // TODO: Fix error types... (?)
6
+ type JoinSchema<T> = T extends ReadonlyArray<S.Schema.All> ? S.Union<T> : typeof S.Never
7
+
8
+ const merge = (a: any, b: Array<any>) =>
9
+ a !== undefined && b.length ? S.Union(a, ...b) : a !== undefined ? a : b.length ? S.Union(...b) : S.Never
10
+
11
+ /**
12
+ * Converts struct fields to TypeLiteral schema, or returns existing schema.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * type Fields = { name: S.String; age: S.Number }
17
+ * type Schema = SchemaOrFields<Fields>
18
+ * // Result: S.TypeLiteral<Fields, []>
19
+ *
20
+ * type Existing = S.String
21
+ * type Same = SchemaOrFields<Existing>
22
+ * // Result: S.String
23
+ * ```
24
+ */
25
+ type SchemaOrFields<T> = T extends S.Struct.Fields ? S.TypeLiteral<T, []> : T extends S.Schema.Any ? T : never
26
+
27
+ /**
28
+ * Whatever the input, we will only decode or encode to void
29
+ */
30
+ const ForceVoid: S.Schema<void> = S.transform(S.Any, S.Void, { decode: () => void 0, encode: () => void 0 })
31
+
32
+ export const makeRpcClient = <
33
+ RequestConfig extends object,
34
+ RequestContextMap extends Record<string, RpcContextMap.Any>,
35
+ GeneralErrors extends S.Schema.All = never
36
+ >(
37
+ errors: { [K in keyof RequestContextMap]: RequestContextMap[K]["error"] },
38
+ generalErrors?: GeneralErrors
39
+ ) => {
40
+ // Long way around Context/C extends etc to support actual jsdoc from passed in RequestConfig etc... (??)
41
+ type Context = {
42
+ success: S.Schema.Any | S.Struct.Fields // SchemaOrFields will make a Schema type out of Struct.Fields
43
+ failure: S.Schema.Any | S.Struct.Fields // SchemaOrFields will make a Schema type out of Struct.Fields
44
+ }
45
+
46
+ function TaggedRequest<Self>(): {
47
+ <Tag extends string, Payload extends S.Struct.Fields, C extends Context>(
48
+ tag: Tag,
49
+ fields: Payload,
50
+ config: RequestConfig & C
51
+ ):
52
+ & S.TaggedRequestClass<
53
+ Self,
54
+ Tag,
55
+ { readonly _tag: S.tag<Tag> } & Payload,
56
+ SchemaOrFields<typeof config["success"]>,
57
+ JoinSchema<
58
+ [SchemaOrFields<typeof config["failure"]> | GetEffectError<RequestContextMap, C> | GeneralErrors]
59
+ >
60
+ >
61
+ & { config: Omit<C, "success" | "failure"> }
62
+ <Tag extends string, Payload extends S.Struct.Fields, C extends Pick<Context, "success">>(
63
+ tag: Tag,
64
+ fields: Payload,
65
+ config: RequestConfig & C
66
+ ):
67
+ & S.TaggedRequestClass<
68
+ Self,
69
+ Tag,
70
+ { readonly _tag: S.tag<Tag> } & Payload,
71
+ SchemaOrFields<typeof config["success"]>,
72
+ JoinSchema<[GetEffectError<RequestContextMap, C> | GeneralErrors]>
73
+ >
74
+ & { config: Omit<C, "success" | "failure"> }
75
+ <Tag extends string, Payload extends S.Struct.Fields, C extends Pick<Context, "failure">>(
76
+ tag: Tag,
77
+ fields: Payload,
78
+ config: RequestConfig & C
79
+ ):
80
+ & S.TaggedRequestClass<
81
+ Self,
82
+ Tag,
83
+ { readonly _tag: S.tag<Tag> } & Payload,
84
+ typeof S.Void,
85
+ JoinSchema<
86
+ [SchemaOrFields<typeof config["failure"]> | GetEffectError<RequestContextMap, C> | GeneralErrors]
87
+ >
88
+ >
89
+ & { config: Omit<C, "success" | "failure"> }
90
+ <Tag extends string, Payload extends S.Struct.Fields, C extends Record<string, any>>(
91
+ tag: Tag,
92
+ fields: Payload,
93
+ config: C & RequestConfig
94
+ ):
95
+ & S.TaggedRequestClass<
96
+ Self,
97
+ Tag,
98
+ { readonly _tag: S.tag<Tag> } & Payload,
99
+ typeof S.Void,
100
+ JoinSchema<[GetEffectError<RequestContextMap, C> | GeneralErrors]>
101
+ >
102
+ & { config: Omit<C, "success" | "failure"> }
103
+ <Tag extends string, Payload extends S.Struct.Fields>(
104
+ tag: Tag,
105
+ fields: Payload
106
+ ):
107
+ & S.TaggedRequestClass<
108
+ Self,
109
+ Tag,
110
+ { readonly _tag: S.tag<Tag> } & Payload,
111
+ typeof S.Void,
112
+ GeneralErrors extends never ? typeof S.Never : GeneralErrors
113
+ >
114
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type
115
+ & { config: {} }
116
+ } {
117
+ // TODO: filter errors based on config + take care of inversion
118
+ const errorSchemas = Object.values(errors)
119
+ return (<Tag extends string, Fields extends S.Struct.Fields, C extends Context>(
120
+ tag: Tag,
121
+ fields: Fields,
122
+ config?: C
123
+ ) => {
124
+ // S.TaggedRequest is a factory function that creates a TaggedRequest class
125
+ const req = S.TaggedRequest<Self>()(tag, {
126
+ payload: fields,
127
+ // ensure both failure and success are schemas
128
+ failure: merge(
129
+ config?.failure ? S.isSchema(config.failure) ? config.failure : S.Struct(config.failure) : undefined,
130
+ [...errorSchemas, generalErrors].filter(Boolean)
131
+ ),
132
+ success: config?.success
133
+ ? S.isSchema(config.success)
134
+ ? AST.isVoidKeyword(config.success.ast) ? ForceVoid : config.success
135
+ : S.Struct(config.success)
136
+ : ForceVoid
137
+ })
138
+ return class extends (Object.assign(req, { config }) as any) {
139
+ constructor(payload: any, disableValidation: any = true) {
140
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
141
+ super(payload, disableValidation)
142
+ }
143
+ }
144
+ }) as any
145
+ }
146
+
147
+ return {
148
+ TaggedRequest
149
+ }
150
+ }
package/src/client.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  export * from "./client/apiClientFactory.js"
3
3
  export * from "./client/clientFor.js"
4
4
  export * from "./client/errors.js"
5
- export * from "./client/req.js"
5
+ export * from "./client/makeClient.js"
6
6
  // codegen:end
@@ -17,7 +17,7 @@ import type * as EQ from "effect/Equivalence";
17
17
  import type * as EX from "effect/Exit";
18
18
  import type * as FR from "effect/FiberRef";
19
19
  import type * as HM from "effect/HashMap";
20
- import type * as LAYER from "effect/Layer";
20
+ import type * as LAYER from "effect-app/Layer";
21
21
  import type * as O from "effect/Option";
22
22
  import type * as ORD from "effect/Order";
23
23
  import type * as REF from "effect/Ref";
@@ -34,7 +34,7 @@ export declare namespace Effect {
34
34
  }
35
35
  export type Effect<out A, out E = never, out R = never> = EFFECT.Effect<A, E, R>;
36
36
  export declare namespace Layer {
37
- export * from "effect/Layer";
37
+ export * from "effect-app/Layer";
38
38
  export type Success<T extends Layer<never, any, any>> = LAYER.Layer.Success<T>;
39
39
  export type Error<T extends Layer<never, any, any>> = LAYER.Layer.Error<T>;
40
40
  export type Context<T extends Layer<never, any, any>> = LAYER.Layer.Context<T>;
@@ -11,7 +11,7 @@ export * as Equivalence from "effect/Equivalence";
11
11
  export * as Exit from "effect/Exit";
12
12
  export * as FiberRef from "effect/FiberRef";
13
13
  export * as HashMap from "effect/HashMap";
14
- export * as Layer from "effect/Layer";
14
+ export * as Layer from "effect-app/Layer";
15
15
  export * as Option from "effect/Option";
16
16
  export * as Order from "effect/Order";
17
17
  export * as Ref from "effect/Ref";
@@ -1,16 +1,16 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { Context } from "effect-app"
3
- import { Tag } from "./RpcMiddleware.js"
3
+ import { Middleware } from "./rpc.js"
4
4
 
5
5
  export class DevMode extends Context.Reference<DevMode>()("DevMode", { defaultValue: () => false }) {}
6
6
 
7
- export class RequestCacheMiddleware extends Tag<RequestCacheMiddleware>()("RequestCacheMiddleware", {}) {}
7
+ export class RequestCacheMiddleware extends Middleware.Tag<RequestCacheMiddleware>()("RequestCacheMiddleware") {}
8
8
 
9
9
  export class ConfigureInterruptibilityMiddleware
10
- extends Tag<ConfigureInterruptibilityMiddleware>()("ConfigureInterruptibilityMiddleware", {})
10
+ extends Middleware.Tag<ConfigureInterruptibilityMiddleware>()("ConfigureInterruptibilityMiddleware")
11
11
  {}
12
12
 
13
- export class LoggerMiddleware extends Tag<LoggerMiddleware>()("LoggerMiddleware", {}) {}
13
+ export class LoggerMiddleware extends Middleware.Tag<LoggerMiddleware>()("LoggerMiddleware") {}
14
14
 
15
15
  export const DefaultGenericMiddlewares = [
16
16
  RequestCacheMiddleware,