@effect-app/infra 4.0.0-beta.132 → 4.0.0-beta.134

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 (177) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/CUPS.d.ts +4 -4
  3. package/dist/CUPS.d.ts.map +1 -1
  4. package/dist/CUPS.js +1 -1
  5. package/dist/Emailer/Sendgrid.d.ts +13 -13
  6. package/dist/Emailer/fake.d.ts +1 -1
  7. package/dist/Emailer/service.d.ts +1 -1
  8. package/dist/Emailer.d.ts +1 -1
  9. package/dist/MainFiberSet.d.ts +3 -3
  10. package/dist/MainFiberSet.d.ts.map +1 -1
  11. package/dist/MainFiberSet.js +1 -1
  12. package/dist/Model/Repository/Registry.d.ts +1 -1
  13. package/dist/Model/Repository/ext.d.ts +12 -12
  14. package/dist/Model/Repository/ext.d.ts.map +1 -1
  15. package/dist/Model/Repository/internal/internal.d.ts +3 -3
  16. package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
  17. package/dist/Model/Repository/internal/internal.js +3 -2
  18. package/dist/Model/Repository/legacy.d.ts +1 -1
  19. package/dist/Model/Repository/makeRepo.d.ts +1 -1
  20. package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
  21. package/dist/Model/Repository/makeRepo.js +2 -1
  22. package/dist/Model/Repository/service.d.ts +1 -1
  23. package/dist/Model/Repository/validation.d.ts +13 -13
  24. package/dist/Model/Repository.d.ts +1 -1
  25. package/dist/Model/dsl.d.ts +4 -4
  26. package/dist/Model/dsl.d.ts.map +1 -1
  27. package/dist/Model/filter/filterApi.d.ts +5 -5
  28. package/dist/Model/filter/filterApi.d.ts.map +1 -1
  29. package/dist/Model/filter/types/errors.d.ts +1 -1
  30. package/dist/Model/filter/types/fields.d.ts +1 -1
  31. package/dist/Model/filter/types/path/common.d.ts +1 -1
  32. package/dist/Model/filter/types/path/eager.d.ts +1 -1
  33. package/dist/Model/filter/types/path/eager.d.ts.map +1 -1
  34. package/dist/Model/filter/types/path/index.d.ts +1 -1
  35. package/dist/Model/filter/types/utils.d.ts +1 -1
  36. package/dist/Model/filter/types/validator.d.ts +1 -1
  37. package/dist/Model/filter/types.d.ts +1 -1
  38. package/dist/Model/query/dsl.d.ts +1 -1
  39. package/dist/Model/query/dsl.d.ts.map +1 -1
  40. package/dist/Model/query/new-kid-interpreter.d.ts +6 -6
  41. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
  42. package/dist/Model/query.d.ts +1 -1
  43. package/dist/Model.d.ts +1 -1
  44. package/dist/Operations.d.ts +2 -2
  45. package/dist/Operations.d.ts.map +1 -1
  46. package/dist/Operations.js +1 -1
  47. package/dist/OperationsRepo.d.ts +16 -16
  48. package/dist/QueueMaker/SQLQueue.d.ts +3 -2
  49. package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
  50. package/dist/QueueMaker/errors.d.ts +1 -1
  51. package/dist/QueueMaker/errors.d.ts.map +1 -1
  52. package/dist/QueueMaker/memQueue.d.ts +1 -1
  53. package/dist/QueueMaker/sbqueue.d.ts +2 -2
  54. package/dist/QueueMaker/service.d.ts +1 -1
  55. package/dist/RequestContext.d.ts +17 -17
  56. package/dist/RequestContext.d.ts.map +1 -1
  57. package/dist/RequestFiberSet.d.ts +5 -5
  58. package/dist/RequestFiberSet.d.ts.map +1 -1
  59. package/dist/RequestFiberSet.js +1 -1
  60. package/dist/Store/ContextMapContainer.d.ts +1 -1
  61. package/dist/Store/ContextMapContainer.js +1 -1
  62. package/dist/Store/Cosmos/query.d.ts +1 -1
  63. package/dist/Store/Cosmos/query.d.ts.map +1 -1
  64. package/dist/Store/Cosmos/query.js +8 -10
  65. package/dist/Store/Cosmos.d.ts +1 -1
  66. package/dist/Store/Cosmos.js +1 -1
  67. package/dist/Store/Disk.d.ts +1 -1
  68. package/dist/Store/Memory.d.ts +1 -1
  69. package/dist/Store/Memory.d.ts.map +1 -1
  70. package/dist/Store/SQL/Pg.d.ts +1 -1
  71. package/dist/Store/SQL/query.d.ts +1 -1
  72. package/dist/Store/SQL/query.js +1 -1
  73. package/dist/Store/SQL.d.ts +1 -1
  74. package/dist/Store/SQL.d.ts.map +1 -1
  75. package/dist/Store/codeFilter.d.ts +1 -1
  76. package/dist/Store/codeFilter.d.ts.map +1 -1
  77. package/dist/Store/codeFilter.js +2 -1
  78. package/dist/Store/index.d.ts +2 -2
  79. package/dist/Store/service.d.ts +1 -1
  80. package/dist/Store/service.d.ts.map +1 -1
  81. package/dist/Store/utils.d.ts +1 -1
  82. package/dist/Store/utils.d.ts.map +1 -1
  83. package/dist/Store.d.ts +1 -1
  84. package/dist/adapters/SQL/Model.d.ts +28 -42
  85. package/dist/adapters/SQL/Model.d.ts.map +1 -1
  86. package/dist/adapters/SQL/Model.js +2 -2
  87. package/dist/adapters/SQL.d.ts +1 -1
  88. package/dist/adapters/ServiceBus.d.ts +3 -3
  89. package/dist/adapters/ServiceBus.d.ts.map +1 -1
  90. package/dist/adapters/ServiceBus.js +1 -1
  91. package/dist/adapters/cosmos-client.d.ts +1 -1
  92. package/dist/adapters/cosmos-client.d.ts.map +1 -1
  93. package/dist/adapters/index.d.ts +8 -2
  94. package/dist/adapters/index.d.ts.map +1 -1
  95. package/dist/adapters/index.js +8 -2
  96. package/dist/adapters/logger.d.ts +1 -1
  97. package/dist/adapters/logger.d.ts.map +1 -1
  98. package/dist/adapters/memQueue.d.ts +1 -1
  99. package/dist/adapters/memQueue.js +1 -1
  100. package/dist/adapters/mongo-client.d.ts +1 -1
  101. package/dist/adapters/mongo-client.d.ts.map +1 -1
  102. package/dist/adapters/redis-client.d.ts +1 -1
  103. package/dist/adapters/redis-client.d.ts.map +1 -1
  104. package/dist/api/ContextProvider.d.ts +1 -1
  105. package/dist/api/ContextProvider.d.ts.map +1 -1
  106. package/dist/api/codec.d.ts +1 -1
  107. package/dist/api/internal/RequestContextMiddleware.d.ts +2 -2
  108. package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
  109. package/dist/api/internal/RequestContextMiddleware.js +1 -1
  110. package/dist/api/internal/auth.d.ts +2 -2
  111. package/dist/api/internal/auth.d.ts.map +1 -1
  112. package/dist/api/internal/events.d.ts +2 -2
  113. package/dist/api/internal/events.d.ts.map +1 -1
  114. package/dist/api/internal/health.d.ts +1 -1
  115. package/dist/api/layerUtils.d.ts +1 -1
  116. package/dist/api/layerUtils.d.ts.map +1 -1
  117. package/dist/api/middlewares.d.ts +1 -1
  118. package/dist/api/reportError.d.ts +1 -1
  119. package/dist/api/routing/middleware/RouterMiddleware.d.ts +1 -1
  120. package/dist/api/routing/middleware/middleware.d.ts +2 -2
  121. package/dist/api/routing/middleware.d.ts +1 -2
  122. package/dist/api/routing/middleware.d.ts.map +1 -1
  123. package/dist/api/routing/middleware.js +1 -2
  124. package/dist/api/routing/schema/jwt.d.ts +1 -1
  125. package/dist/api/routing/schema/jwt.d.ts.map +1 -1
  126. package/dist/api/routing/tsort.d.ts +1 -1
  127. package/dist/api/routing/tsort.d.ts.map +1 -1
  128. package/dist/api/routing/utils.d.ts +3 -3
  129. package/dist/api/routing/utils.d.ts.map +1 -1
  130. package/dist/api/routing.d.ts +8 -8
  131. package/dist/api/routing.d.ts.map +1 -1
  132. package/dist/api/routing.js +5 -1
  133. package/dist/api/setupRequest.d.ts +2 -2
  134. package/dist/api/setupRequest.d.ts.map +1 -1
  135. package/dist/api/util.d.ts +1 -1
  136. package/dist/arbs.d.ts +1 -1
  137. package/dist/errorReporter.d.ts +1 -1
  138. package/dist/errorReporter.js +1 -1
  139. package/dist/errors.d.ts +1 -1
  140. package/dist/fileUtil.d.ts +1 -1
  141. package/dist/fileUtil.d.ts.map +1 -1
  142. package/dist/index.d.ts +1 -1
  143. package/dist/logger/jsonLogger.d.ts +1 -1
  144. package/dist/logger/logFmtLogger.d.ts +1 -1
  145. package/dist/logger/shared.d.ts +1 -1
  146. package/dist/logger.d.ts +1 -1
  147. package/dist/logger.d.ts.map +1 -1
  148. package/dist/rateLimit.d.ts +1 -1
  149. package/dist/rateLimit.d.ts.map +1 -1
  150. package/dist/test.d.ts +1 -1
  151. package/dist/test.d.ts.map +1 -1
  152. package/dist/vitest.d.ts +1 -1
  153. package/eslint.config.mjs +1 -1
  154. package/package.json +11 -11
  155. package/src/MainFiberSet.ts +1 -1
  156. package/src/Model/Repository/internal/internal.ts +2 -3
  157. package/src/Model/Repository/makeRepo.ts +1 -2
  158. package/src/Model/dsl.ts +3 -3
  159. package/src/Store/Cosmos/query.ts +9 -11
  160. package/src/Store/codeFilter.ts +1 -0
  161. package/src/adapters/SQL/Model.ts +10 -4
  162. package/src/adapters/index.ts +7 -0
  163. package/src/api/routing/middleware.ts +0 -2
  164. package/src/api/routing.ts +4 -0
  165. package/test/controller.test.ts +1 -2
  166. package/test/dist/controller.test.d.ts.map +1 -1
  167. package/test/dist/fixtures.d.ts +4 -4
  168. package/test/dist/fixtures.d.ts.map +1 -1
  169. package/test/dist/fixtures.js +3 -3
  170. package/test/dist/query.test.d.ts.map +1 -1
  171. package/test/dist/requires.test.d.ts.map +1 -1
  172. package/test/dist/router-generator.test.d.ts.map +1 -0
  173. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  174. package/test/fixtures.ts +2 -2
  175. package/test/requires.test.ts +1 -2
  176. package/test/router-generator.test.ts +180 -0
  177. package/test/rpc-multi-middleware.test.ts +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;iBACiO,GAAG;eAAkF,GAAG;eAAkF,GAAG;cAAiF,GAAG;eAAkF,GAAG;8DAA+G,GAAI;CADnoB,CAAA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;CAAuC,CAAA"}
@@ -16,4 +16,4 @@ export declare const batch: {
16
16
  <T, A, E, R, A2, E2, R2>(items: Iterable<T>, n: number, forEachItem: (item: T, iWithinBatch: number, batchI: number) => Effect.Effect<A, E, R>, forEachBatch: (a: NonEmptyArray<A>, i: number) => Effect.Effect<A2, E2, R2>, options?: BatchOptions): Effect.Effect<Array<A2>, E | E2, R | R2>;
17
17
  };
18
18
  export declare function naiveRateLimit(n: number, d: Duration.Duration): <T>(items: Iterable<T>) => <R, E, A, R2, E2, A2>(forEachItem: (i: T) => Effect.Effect<A, E, R>, forEachBatch: (a: A[]) => Effect.Effect<A2, E2, R2>) => Effect.Effect<A2[], E | E2, R | R2>;
19
- //# sourceMappingURL=rateLimit.d.ts.map
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZUxpbWl0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmF0ZUxpbWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCQSxPQUFPLEVBQVMsS0FBSyxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTdFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUvQzs7Ozs7R0FLRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxVQUNwRSxTQUFTLEtBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FhOUY7QUFFRCxNQUFNLFdBQVcsWUFBWTtJQUMzQixRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxHQUFHLFNBQVMsQ0FBQTtDQUMvQztBQUVELGVBQU8sTUFBTSxLQUFLLEVBQUU7SUFDbEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQ3JCLENBQUMsRUFBRSxNQUFNLEVBQ1QsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUN0RixZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUMzRSxPQUFPLENBQUMsRUFBRSxZQUFZLEdBQ3JCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUNuRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFDckIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFDbEIsQ0FBQyxFQUFFLE1BQU0sRUFDVCxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3RGLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQzNFLE9BQU8sQ0FBQyxFQUFFLFlBQVksR0FDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7Q0FrQjVDLENBQUE7QUFrQkQsd0JBQWdCLGNBQWMsQ0FDNUIsQ0FBQyxFQUFFLE1BQU0sRUFDVCxDQUFDLEVBQUUsUUFBUSxDQUFDLFFBQVEsSUFFWixDQUFDLFNBQVMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxlQUN4QyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFDL0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyx5Q0FjdEQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../src/rateLimit.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAC1E,MAAM,SAAS,KAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAa9F;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAC/C;AAED,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACrB,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtF,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC3E,OAAO,CAAC,EAAE,YAAY,GACrB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;IACnE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACrB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtF,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC3E,OAAO,CAAC,EAAE,YAAY,GACrB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;CAkB5C,CAAA;AAkBD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,QAAQ,CAAC,QAAQ,IAEZ,CAAC,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACrD,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC7C,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,yCActD"}
1
+ {"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../src/rateLimit.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,UACpE,SAAS,KAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAa9F;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAC/C;AAED,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACrB,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtF,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC3E,OAAO,CAAC,EAAE,YAAY,GACrB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;IACnE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACrB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAClB,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtF,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC3E,OAAO,CAAC,EAAE,YAAY,GACrB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA;CAkB5C,CAAA;AAkBD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,QAAQ,CAAC,QAAQ,IAEZ,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,MAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,eACxC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gBAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,yCActD"}
package/dist/test.d.ts CHANGED
@@ -12,4 +12,4 @@ export declare const createRandomInstanceI: <A extends object, I>(s: S.Codec<A,
12
12
  fields: S.Struct.Fields;
13
13
  }) => (overrides?: Partial<I>) => A;
14
14
  export * from "./arbs.js";
15
- //# sourceMappingURL=test.d.ts.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUk5Qjs7R0FFRztBQUNILGVBQU8sTUFBTSxvQkFBb0IsR0FBSSxDQUFDLFNBQVMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHO0lBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO0NBQUUsa0JBRXhGLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFJL0IsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsZUFBTyxNQUFNLHFCQUFxQixHQUFJLENBQUMsU0FBUyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRztJQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQTtDQUFFLGtCQUkxRixPQUFPLENBQUMsQ0FBQyxDQUFDLE1BSy9CLENBQUE7QUFFRCxjQUFjLFdBQVcsQ0FBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAI9B;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,MAEpG,YAAY,OAAO,CAAC,CAAC,CAAC,MAI/B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,MAItG,YAAY,OAAO,CAAC,CAAC,CAAC,MAK/B,CAAA;AAED,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAI9B;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,kBAExF,OAAO,CAAC,CAAC,CAAC,MAI/B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;CAAE,kBAI1F,OAAO,CAAC,CAAC,CAAC,MAK/B,CAAA;AAED,cAAc,WAAW,CAAA"}
package/dist/vitest.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from "@effect/vitest";
2
2
  export * from "./test.js";
3
- //# sourceMappingURL=vitest.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxXQUFXLENBQUEifQ==
package/eslint.config.mjs CHANGED
@@ -6,7 +6,7 @@ const __filename = fileURLToPath(import.meta.url)
6
6
  const __dirname = path.dirname(__filename)
7
7
 
8
8
  export default [
9
- ...augmentedConfig(__dirname, false),
9
+ ...augmentedConfig(__dirname, false, undefined, true),
10
10
  {
11
11
  ignores: [
12
12
  "**/*.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "4.0.0-beta.132",
3
+ "version": "4.0.0-beta.134",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -13,7 +13,7 @@
13
13
  "proper-lockfile": "^4.1.2",
14
14
  "pure-rand": "7.0.1",
15
15
  "query-string": "^9.3.1",
16
- "effect-app": "4.0.0-beta.132"
16
+ "effect-app": "4.0.0-beta.134"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@azure/cosmos": "^4.9.3",
@@ -31,19 +31,19 @@
31
31
  "redis": "^3.1.2",
32
32
  "redlock": "^4.2.0",
33
33
  "strip-ansi": "^7.2.0",
34
- "typescript": "~6.0.3",
34
+ "typescript": "npm:@typescript/native-preview@beta",
35
35
  "vitest": "^4.1.5",
36
- "@effect-app/eslint-shared-config": "0.6.0-beta.10"
36
+ "@effect-app/eslint-shared-config": "0.6.0-beta.11"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "@azure/cosmos": "^4.9.3",
40
40
  "@azure/service-bus": "^7.9.5",
41
- "@effect/vitest": "^4.0.0-beta.52",
41
+ "@effect/vitest": "^4.0.0-beta.56",
42
42
  "@sendgrid/helpers": "^8.0.0",
43
43
  "@sendgrid/mail": "^8.1.6",
44
44
  "@sentry/node": "10.49.0",
45
45
  "@sentry/opentelemetry": "10.49.0",
46
- "effect": "^4.0.0-beta.52",
46
+ "effect": "^4.0.0-beta.56",
47
47
  "jwt-decode": "^4.0.0",
48
48
  "redis": "^3.1.2",
49
49
  "redlock": "^4.2.0"
@@ -398,18 +398,18 @@
398
398
  "scripts": {
399
399
  "watch": "pnpm build:tsc -w",
400
400
  "build:tsc": "pnpm clean-dist && effect-app-cli packagejson pnpm check",
401
- "check": "tsc --build",
401
+ "check": "tsgo --build",
402
402
  "build": "pnpm build:tsc",
403
- "watch2": "pnpm clean-dist && NODE_OPTIONS=--max-old-space-size=6144 tsc -w",
403
+ "watch2": "pnpm clean-dist && NODE_OPTIONS=--max-old-space-size=6144 tsgo -w",
404
404
  "clean": "rm -rf dist",
405
405
  "clean-dist": "sh ../../scripts/clean-dist.sh",
406
406
  "circular": "pnpm circular:src && pnpm circular:dist",
407
407
  "circular:src": "madge --circular --ts-config ./tsconfig.json --extensions ts ./src",
408
408
  "circular:dist": "madge --circular --extensions js ./dist",
409
- "compile": "NODE_OPTIONS=--max-old-space-size=6144 tsc --noEmit",
410
- "lint": "NODE_OPTIONS=--max-old-space-size=6144 ESLINT_TS=1 eslint ./src",
409
+ "compile": "NODE_OPTIONS=--max-old-space-size=6144 tsgo --noEmit",
410
+ "lint": "oxlint ./src && NODE_OPTIONS=--max-old-space-size=6144 ESLINT_TS=1 eslint ./src",
411
411
  "lint:watch": "ESLINT_TS=1 esw -w --changed --clear --ext ts,tsx .",
412
- "lint-fix": "pnpm lint --fix",
412
+ "lint-fix": "oxlint --fix ./src && NODE_OPTIONS=--max-old-space-size=6144 ESLINT_TS=1 eslint --fix ./src",
413
413
  "test": "vitest",
414
414
  "test:run": "pnpm run test run --passWithNoTests",
415
415
  "testsuite": "pnpm lint && pnpm circular && pnpm run test:run",
@@ -1,5 +1,5 @@
1
1
  import { Context, Effect, Fiber, FiberSet, Layer } from "effect-app"
2
- import type {} from "effect/Scope"
2
+
3
3
  import { InfraLogger } from "./logger.js"
4
4
  import { reportNonInterruptedFailureCause } from "./QueueMaker/errors.js"
5
5
  import { setRootParentSpan } from "./RequestFiberSet.js"
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import type {} from "effect/Equal"
3
- import type {} from "effect/Hash"
2
+
4
3
  import { Array, Chunk, Context, Effect, Equivalence, flow, type NonEmptyReadonlyArray, Option, pipe, Pipeable, PubSub, Result, S, SchemaAST, Unify } from "effect-app"
5
4
  import { toNonEmptyArray } from "effect-app/Array"
6
5
  import { NotFoundError } from "effect-app/client/errors"
@@ -195,7 +194,7 @@ export function makeRepoInternal<
195
194
  function*(items: Iterable<T>, events: Iterable<Evt> = []) {
196
195
  const it = Chunk.fromIterable(items)
197
196
  const evts = [...events]
198
- yield* Effect.annotateCurrentSpan({ itemIds: [...Chunk.map(it, (_) => _[idKey])], events: evts.length })
197
+ yield* Effect.annotateCurrentSpan({ itemIds: Chunk.map(it, (_) => _[idKey]), events: evts.length })
199
198
  return yield* saveAll(it)
200
199
  .pipe(
201
200
  Effect.andThen(Effect.sync(() => toNonEmptyArray(evts))),
@@ -5,8 +5,7 @@
5
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
6
 
7
7
  // import type { ParserEnv } from "effect-app/Schema/custom/Parser"
8
- import type {} from "effect/Equal"
9
- import type {} from "effect/Hash"
8
+
10
9
  import { type Context, Effect, type NonEmptyReadonlyArray, type S } from "effect-app"
11
10
  import type { StoreConfig, StoreMaker } from "../../Store.js"
12
11
  import type { FieldValues } from "../filter/types.js"
package/src/Model/dsl.ts CHANGED
@@ -42,16 +42,16 @@ export function makeAllDSL<T, Evt>() {
42
42
 
43
43
  export type OneDSL<T, Evt> =
44
44
  & (<R, A, E, S1 extends T, S2 extends T>(
45
- pure: (dsl: PureDSL<S1, S2, Evt>) => Effect.Effect<A, E, FixEnv<R, Evt, S1, S2>>
45
+ pure: (dsl: PureDSL<S1, S2, Evt>) => Effect.Effect<A, E, R>
46
46
  ) => Effect.Effect<A, E, FixEnv<R, Evt, S1, S2>>)
47
47
  & OneDSLExt<T, Evt>
48
48
 
49
49
  export interface OneDSLExt<T, Evt> {
50
50
  modify: <R, E, A, S1 extends T, S2 extends T>(
51
- pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => Effect.Effect<A, E, FixEnv<R, Evt, S1, S2>>
51
+ pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => Effect.Effect<A, E, R>
52
52
  ) => Effect.Effect<A, E, FixEnv<R, Evt, S1, S2> | PureEnvEnv<Evt, S1, S1>>
53
53
  update: <R, E, S1 extends T, S2 extends T>(
54
- pure: (items: S1, log: (...evt: Evt[]) => PureLogT<Evt>) => Effect.Effect<S2, E, FixEnv<R, Evt, S1, S2>>
54
+ pure: (items: S1, log: (...evt: Evt[]) => PureLogT<Evt>) => Effect.Effect<S2, E, R>
55
55
  ) => Effect.Effect<S2, E, FixEnv<R, Evt, S1, S2>>
56
56
  updateWith: <S1 extends T, S2 extends T>(
57
57
  upd: (item: S1) => S2
@@ -296,16 +296,14 @@ export function buildWhereCosmosQuery3(
296
296
  ${filter.length ? `WHERE (${print(filter, values.map((_) => _.value), null, false)})` : ""}
297
297
  ${order ? `ORDER BY ${order.map((_) => `${dottedToAccess(`f.${_.key}`)} ${_.direction}`).join(", ")}` : ""}
298
298
  ${skip !== undefined || limit !== undefined ? `OFFSET ${skip ?? 0} LIMIT ${limit ?? 999999}` : ""}`,
299
- parameters: [
300
- ...values
301
- .flatMap((x, i) =>
302
- [{
303
- name: `@v${i}`,
304
- value: x.value as any
305
- }]
306
- // TODO: only for arrays that are used with _ANY or _ALL
307
- .concat(Array.isArray(x.value) ? x.value.map((_, i2) => ({ name: `@v${i}__${i2}`, value: _ as any })) : [])
308
- )
309
- ]
299
+ parameters: values
300
+ .flatMap((x, i) =>
301
+ [{
302
+ name: `@v${i}`,
303
+ value: x.value as any
304
+ }]
305
+ // TODO: only for arrays that are used with _ANY or _ALL
306
+ .concat(Array.isArray(x.value) ? x.value.map((_, i2) => ({ name: `@v${i}__${i2}`, value: _ as any })) : [])
307
+ )
310
308
  }
311
309
  }
@@ -186,6 +186,7 @@ export const codeFilter3_ = <E>(state: readonly FilterResult[], sut: E): boolean
186
186
  const statements: any[] = [] // must be defined here to be used by eval.
187
187
  // always put everything inside a root scope.
188
188
  const s = codeFilter3__([{ t: "where-scope", result: state, relation: "some" }], sut, statements, null, false)
189
+ // oxlint-disable-next-line no-eval
189
190
  return eval(s)
190
191
  }
191
192
 
@@ -545,9 +545,15 @@ export const DateTimeUpdateFromNumber: DateTimeUpdateFromNumber = Field({
545
545
  */
546
546
  export interface JsonFromString<S extends Schema.Top> extends
547
547
  VariantSchema.Field<{
548
- readonly select: Schema.fromJsonString<S>
549
- readonly insert: Schema.fromJsonString<S>
550
- readonly update: Schema.fromJsonString<S>
548
+ readonly select: Schema.fromJsonString<
549
+ Schema.Codec<S["Type"], Schema.Json, S["DecodingServices"], S["EncodingServices"]>
550
+ >
551
+ readonly insert: Schema.fromJsonString<
552
+ Schema.Codec<S["Type"], Schema.Json, S["DecodingServices"], S["EncodingServices"]>
553
+ >
554
+ readonly update: Schema.fromJsonString<
555
+ Schema.Codec<S["Type"], Schema.Json, S["DecodingServices"], S["EncodingServices"]>
556
+ >
551
557
  readonly json: S
552
558
  readonly jsonCreate: S
553
559
  readonly jsonUpdate: S
@@ -565,7 +571,7 @@ export interface JsonFromString<S extends Schema.Top> extends
565
571
  export const JsonFromString = <S extends Schema.Top>(
566
572
  schema: S
567
573
  ): JsonFromString<S> => {
568
- const parsed = Schema.fromJsonString(schema)
574
+ const parsed = Schema.fromJsonString(Schema.toCodecJson(schema))
569
575
  return Field({
570
576
  select: parsed,
571
577
  insert: parsed,
@@ -0,0 +1,7 @@
1
+ export * from "./cosmos-client.js"
2
+ export * from "./logger.js"
3
+ export * from "./memQueue.js"
4
+ export * from "./mongo-client.js"
5
+ export * from "./redis-client.js"
6
+ export * from "./ServiceBus.js"
7
+ export * from "./SQL.js"
@@ -2,5 +2,3 @@
2
2
  export * from "./middleware/middleware.js"
3
3
  export * from "./middleware/RouterMiddleware.js"
4
4
  // codegen:end
5
-
6
- export * as Middleware from "./middleware.js"
@@ -267,12 +267,14 @@ export const makeRouter = <
267
267
  if (handlerImpl[Symbol.toStringTag] === "GeneratorFunction") handlerImpl = Effect.fnUntraced(handlerImpl)
268
268
  const stack = new Error().stack?.split("\n").slice(2).join("\n")
269
269
  return Effect.isEffect(handlerImpl)
270
+ // oxlint-disable-next-line typescript/no-extraneous-class
270
271
  ? class {
271
272
  static request = rsc[cur]
272
273
  static stack = stack
273
274
  static _tag = RequestTypes.DECODED
274
275
  static handler = () => handlerImpl
275
276
  }
277
+ // oxlint-disable-next-line typescript/no-extraneous-class
276
278
  : class {
277
279
  static request = rsc[cur]
278
280
  static stack = stack
@@ -290,12 +292,14 @@ export const makeRouter = <
290
292
  if (handlerImpl[Symbol.toStringTag] === "GeneratorFunction") handlerImpl = Effect.fnUntraced(handlerImpl)
291
293
  const stack = new Error().stack?.split("\n").slice(2).join("\n")
292
294
  return Effect.isEffect(handlerImpl)
295
+ // oxlint-disable-next-line typescript/no-extraneous-class
293
296
  ? class {
294
297
  static request = rsc[cur]
295
298
  static stack = stack
296
299
  static _tag = RequestTypes.RAW
297
300
  static handler = () => handlerImpl
298
301
  }
302
+ // oxlint-disable-next-line typescript/no-extraneous-class
299
303
  : class {
300
304
  static request = rsc[cur]
301
305
  static stack = stack
@@ -2,10 +2,9 @@
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
3
  import { type MakeContext, type MakeErrors, makeRouter } from "@effect-app/infra/api/routing"
4
4
  import { expect, expectTypeOf, it } from "@effect/vitest"
5
- import { Context, Effect, Layer, S, Scope } from "effect-app"
5
+ import { Context, Effect, Layer, RpcX, S, Scope } from "effect-app"
6
6
  import { InvalidStateError, makeRpcClient, UnauthorizedError } from "effect-app/client"
7
7
  import { DefaultGenericMiddlewares } from "effect-app/middleware"
8
- import * as RpcX from "effect-app/rpc"
9
8
  import { MiddlewareMaker } from "effect-app/rpc"
10
9
  import { TypeTestId } from "effect-app/TypeTest"
11
10
  import { type RpcSerialization } from "effect/unstable/rpc"
@@ -1 +1 @@
1
- {"version":3,"file":"controller.test.d.ts","sourceRoot":"","sources":["../controller.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAc,MAAM,+BAA+B,CAAA;AAE7F,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAoC,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEvF,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAGtC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,OAAO,EAAE,cAAc,EAAsB,YAAY,EAAqB,YAAY,EAAoB,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAY,MAAM,eAAe,CAAA;;cAuE/G,QAAQ;;AADzE,cAAM,kBACJ,SAAQ,uBAA0F;IAElG,MAAM,CAAC,OAAO,uDAUZ;CACH;;AAID,cAAM,GAAI,SAAQ,QAAoC;CAAG;;;;;AAEzD,qBAAa,eAAgB,SAAQ,oBAA4D;IAC/F,MAAM,CAAC,OAAO,2CAUZ;CACH;AAkFD,eAAO,MAAM,WAAW;;;;;;;;;;YAKM,CAAA;AAE9B,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAqC,CAAA;;;;;;;;;;;;;;;;;;;;AAKpE,qBAAa,GAAI,SAAQ,QAA8C;CAAG;;;;;;;;;;;;;;;;AAC1E,qBAAa,GAAI,SAAQ,QAAyB;CAAG;;;;;;;;;;;;;;;;;;;;;;AAIrD,qBAAa,WAAY,SAAQ,gBAEV;CAAG;;;;;;;;;;;;;;;;;;;;;;AAgB1B,qBAAa,YAAa,SAAQ,iBAET;CAAG;;;;;;;;;;;;;;;;;;;;;;AAE5B,qBAAa,aAAc,SAAQ,kBAEA;CAAG;;;;;;;;AAOtC,qBAAa,gBAAiB,SAAQ,qBASrC;IACC,MAAM,CAAC,OAAO,8CAAgC;CAC/C;;;;;;;;AASD,qBAAa,aAAc,SAAQ,kBASlC;IACC,MAAM,CAAC,OAAO,2CAA8E;CAC7F;;;;;;;;AAED,qBAAa,iBAAkB,SAAQ,sBAOtC;IACC,MAAM,CAAC,OAAO,+CAAgC;CAC/C;AAED,eAAO,MAAQ,MAAM;SA3KnB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2KqB,QAAQ;;0FAE9B,CAAA;AAED,eAAO,MAAM,EAAE;;;;;aA/Kb,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiLD,CAAA"}
1
+ {"version":3,"file":"controller.test.d.ts","sourceRoot":"","sources":["../controller.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAc,MAAM,+BAA+B,CAAA;AAE7F,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAoC,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,OAAO,EAAE,cAAc,EAAsB,YAAY,EAAqB,YAAY,EAAoB,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAY,MAAM,eAAe,CAAA;;cAuE/G,QAAQ;;AADzE,cAAM,kBACJ,SAAQ,uBAA0F;IAElG,MAAM,CAAC,OAAO,uDAUZ;CACH;;AAID,cAAM,GAAI,SAAQ,QAAoC;CAAG;;;;;AAEzD,qBAAa,eAAgB,SAAQ,oBAA4D;IAC/F,MAAM,CAAC,OAAO,2CAUZ;CACH;AAkFD,eAAO,MAAM,WAAW;;;;;;;;;;YAKM,CAAA;AAE9B,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAqC,CAAA;;;;;;;;;;;;;;;;;;;;AAKpE,qBAAa,GAAI,SAAQ,QAA8C;CAAG;;;;;;;;;;;;;;;;AAC1E,qBAAa,GAAI,SAAQ,QAAyB;CAAG;;;;;;;;;;;;;;;;;;;;;;AAIrD,qBAAa,WAAY,SAAQ,gBAEV;CAAG;;;;;;;;;;;;;;;;;;;;;;AAgB1B,qBAAa,YAAa,SAAQ,iBAET;CAAG;;;;;;;;;;;;;;;;;;;;;;AAE5B,qBAAa,aAAc,SAAQ,kBAEA;CAAG;;;;;;;;AAOtC,qBAAa,gBAAiB,SAAQ,qBASrC;IACC,MAAM,CAAC,OAAO,8CAAgC;CAC/C;;;;;;;;AASD,qBAAa,aAAc,SAAQ,kBASlC;IACC,MAAM,CAAC,OAAO,2CAA8E;CAC7F;;;;;;;;AAED,qBAAa,iBAAkB,SAAQ,sBAOtC;IACC,MAAM,CAAC,OAAO,+CAAgC;CAC/C;AAED,eAAO,MAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,QAAQ;;0FAE9B,CAAA;AAED,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEd,CAAA"}
@@ -1,6 +1,6 @@
1
- import { Context, Effect, Layer, S } from "effect-app";
1
+ import { Context, Effect, Layer, RpcX, S } from "effect-app";
2
2
  import { NotLoggedInError, UnauthorizedError } from "effect-app/client";
3
- import { RpcContextMap, RpcX } from "effect-app/rpc";
3
+ import { RpcContextMap } from "effect-app/rpc";
4
4
  declare const UserProfile_base: S.EnhancedClass<UserProfile, import("effect/Schema").Struct<{
5
5
  id: S.String;
6
6
  roles: S.$Array<S.String> & {
@@ -67,7 +67,7 @@ declare const RequestContextMap_base: (new () => {
67
67
  readonly requireRoles: RpcContextMap.RpcContextMap.Custom<never, typeof UnauthorizedError, string[]>;
68
68
  readonly test: RpcContextMap.RpcContextMap<never, S.Never>;
69
69
  }>;
70
- get: <Key extends "allowAnonymous" | "requireRoles" | "test">(key: Key) => RpcX.RpcMiddleware.RpcDynamic<Key, {
70
+ get: <Key extends ("allowAnonymous" | "requireRoles" | "test") & string>(key: Key) => RpcX.RpcMiddleware.RpcDynamic<Key, {
71
71
  readonly allowAnonymous: RpcContextMap.RpcContextMap.Inverted<UserProfile, typeof NotLoggedInError>;
72
72
  readonly requireRoles: RpcContextMap.RpcContextMap.Custom<never, typeof UnauthorizedError, string[]>;
73
73
  readonly test: RpcContextMap.RpcContextMap<never, S.Never>;
@@ -118,4 +118,4 @@ declare const CustomError2_base: import("effect/Schema").Class<CustomError2, imp
118
118
  export declare class CustomError2 extends CustomError2_base {
119
119
  }
120
120
  export {};
121
- //# sourceMappingURL=fixtures.d.ts.map
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7Ozs7Ozs7QUFHOUMscUJBQWEsV0FBWSxTQUFRLGdCQUtoQztDQUNBOzs7Ozs7OztBQUVELHFCQUFhLElBQUssU0FBUSxTQUFrRTtDQUFHOzs7Ozs7OztBQUMvRixxQkFBYSxRQUFTLFNBQVEsYUFBMEU7Q0FBRzs7Ozs7Ozs7QUFFM0cscUJBQWEsV0FBWSxTQUFRLGdCQUF1RTtJQUN0RyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8seUNBQTBCO0NBQ2xEOztjQUdzRixJQUFJOztBQUEzRixxQkFBYSxjQUFlLFNBQVEsbUJBQThFO0NBQ2pIO0FBRUQsZUFBTyxNQUFNLGtCQUFrQiwyQ0FNOUIsQ0FBQTs7Y0FHZ0UsUUFBUTs7QUFEekUscUJBQWEsa0JBQ1gsU0FBUSx1QkFBMEY7Q0FDbEc7QUFFRixlQUFPLE1BQU0sc0JBQXNCLCtDQVVsQyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRCxxQkFBYSxpQkFBa0IsU0FBUSxzQkFJckM7Q0FBRzs7OztjQUVrRixRQUFROztBQUEvRixxQkFBYSxjQUFlLFNBQVEsbUJBRWxDO0NBQUc7QUFFTCxlQUFPLE1BQU0sa0JBQWtCLDJDQXlCOUIsQ0FBQTs7Ozs7Ozs7QUFFRCxxQkFBYSxZQUFhLFNBQVEsaUJBS2hDO0NBQUc7QUFFTCxlQUFPLE1BQU0sZ0JBQWdCLCtDQXVCNUIsQ0FBQTs7Ozs7OztBQUVELHFCQUFhLElBQUssU0FBUSxTQUV4QjtDQUFHO0FBRUwsZUFBTyxNQUFNLFFBQVEsaUNBT3BCLENBQUE7Ozs7Ozs7O0FBRUQscUJBQWEsT0FBUSxTQUFRLFlBQXdFO0NBQUc7O0FBRXhHLHFCQUFhLFlBQWEsU0FBUSxpQkFBb0Q7Q0FBRzs7QUFDekYscUJBQWEsWUFBYSxTQUFRLGlCQUFvRDtDQUFHIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAS,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;;;;;;;;AAGpD,qBAAa,WAAY,SAAQ,gBAKhC;CACA;;;;;;;;AAED,qBAAa,IAAK,SAAQ,SAAkE;CAAG;;;;;;;;AAC/F,qBAAa,QAAS,SAAQ,aAA0E;CAAG;;;;;;;;AAE3G,qBAAa,WAAY,SAAQ,gBAAuE;IACtG,MAAM,CAAC,QAAQ,CAAC,OAAO,yCAA0B;CAClD;;cAGsF,IAAI;;AAA3F,qBAAa,cAAe,SAAQ,mBAA8E;CACjH;AAED,eAAO,MAAM,kBAAkB,2CAM9B,CAAA;;cAGgE,QAAQ;;AADzE,qBAAa,kBACX,SAAQ,uBAA0F;CAClG;AAEF,eAAO,MAAM,sBAAsB,+CAUlC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,iBAAkB,SAAQ,sBAIrC;CAAG;;;;cAEkF,QAAQ;;AAA/F,qBAAa,cAAe,SAAQ,mBAElC;CAAG;AAEL,eAAO,MAAM,kBAAkB,2CAyB9B,CAAA;;;;;;;;AAED,qBAAa,YAAa,SAAQ,iBAKhC;CAAG;AAEL,eAAO,MAAM,gBAAgB,+CAuB5B,CAAA;;;;;;;AAED,qBAAa,IAAK,SAAQ,SAExB;CAAG;AAEL,eAAO,MAAM,QAAQ,iCAOpB,CAAA;;;;;;;;AAED,qBAAa,OAAQ,SAAQ,YAAwE;CAAG;;AAExG,qBAAa,YAAa,SAAQ,iBAAoD;CAAG;;AACzF,qBAAa,YAAa,SAAQ,iBAAoD;CAAG"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAS,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;;;;;;;;AAG9C,qBAAa,WAAY,SAAQ,gBAKhC;CACA;;;;;;;;AAED,qBAAa,IAAK,SAAQ,SAAkE;CAAG;;;;;;;;AAC/F,qBAAa,QAAS,SAAQ,aAA0E;CAAG;;;;;;;;AAE3G,qBAAa,WAAY,SAAQ,gBAAuE;IACtG,MAAM,CAAC,QAAQ,CAAC,OAAO,yCAA0B;CAClD;;cAGsF,IAAI;;AAA3F,qBAAa,cAAe,SAAQ,mBAA8E;CACjH;AAED,eAAO,MAAM,kBAAkB,2CAM9B,CAAA;;cAGgE,QAAQ;;AADzE,qBAAa,kBACX,SAAQ,uBAA0F;CAClG;AAEF,eAAO,MAAM,sBAAsB,+CAUlC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,iBAAkB,SAAQ,sBAIrC;CAAG;;;;cAEkF,QAAQ;;AAA/F,qBAAa,cAAe,SAAQ,mBAElC;CAAG;AAEL,eAAO,MAAM,kBAAkB,2CAyB9B,CAAA;;;;;;;;AAED,qBAAa,YAAa,SAAQ,iBAKhC;CAAG;AAEL,eAAO,MAAM,gBAAgB,+CAuB5B,CAAA;;;;;;;AAED,qBAAa,IAAK,SAAQ,SAExB;CAAG;AAEL,eAAO,MAAM,QAAQ,iCAOpB,CAAA;;;;;;;;AAED,qBAAa,OAAQ,SAAQ,YAAwE;CAAG;;AAExG,qBAAa,YAAa,SAAQ,iBAAoD;CAAG;;AACzF,qBAAa,YAAa,SAAQ,iBAAoD;CAAG"}
@@ -1,6 +1,6 @@
1
- import { Context, Effect, Layer, S, Scope } from "effect-app";
1
+ import { Context, Effect, Layer, RpcX, S, Scope } from "effect-app";
2
2
  import { NotLoggedInError, UnauthorizedError } from "effect-app/client";
3
- import { RpcContextMap, RpcX } from "effect-app/rpc";
3
+ import { RpcContextMap } from "effect-app/rpc";
4
4
  import { TaggedErrorClass } from "effect-app/Schema";
5
5
  export class UserProfile extends Context.assignTag("UserProfile")(S.Class("UserProfile")({
6
6
  id: S.String,
@@ -96,4 +96,4 @@ export class CustomError1 extends TaggedErrorClass()("CustomError1", {}) {
96
96
  }
97
97
  export class CustomError2 extends TaggedErrorClass()("CustomError2", {}) {
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXBELE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTyxDQUFDLFNBQVMsQ0FBMkIsYUFBYSxDQUFDLENBQ3pGLENBQUMsQ0FBQyxLQUFLLENBQWMsYUFBYSxDQUFDLENBQUM7SUFDbEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztDQUN6QixDQUFDLENBQ0g7Q0FDQTtBQUVELE1BQU0sT0FBTyxJQUFLLFNBQVEsT0FBTyxDQUFDLE1BQU0sRUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztDQUFHO0FBQy9GLE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBTyxDQUFDLE1BQU0sRUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztDQUFHO0FBQzNHLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtB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
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXBELE1BQU0sT0FBTyxXQUFZLFNBQVEsT0FBTyxDQUFDLFNBQVMsQ0FBMkIsYUFBYSxDQUFDLENBQ3pGLENBQUMsQ0FBQyxLQUFLLENBQWMsYUFBYSxDQUFDLENBQUM7SUFDbEMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztDQUN6QixDQUFDLENBQ0g7Q0FDQTtBQUVELE1BQU0sT0FBTyxJQUFLLFNBQVEsT0FBTyxDQUFDLE1BQU0sRUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztDQUFHO0FBQy9GLE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBTyxDQUFDLE1BQU0sRUFBWSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztDQUFHO0FBQzNHLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtB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
@@ -1 +1 @@
1
- {"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../query.test.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8C,CAAC,EAAU,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBlF,qBAAa,SAAU,SAAQ,cAM7B;CAAG;AACL,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IAEjC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,SAAS,CAAC;KAAG;CACtE"}
1
+ {"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../query.test.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8C,CAAC,EAAU,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBlF,qBAAa,SAAU,SAAQ,cAM7B;CAAG;AACL,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC,CAAC;IAElC,UAAiB,OAAQ,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,SAAS,CAAC;KAAG;CACtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"requires.test.d.ts","sourceRoot":"","sources":["../requires.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,EAAU,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEvE,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAKtC,OAAO,EAAE,cAAc,EAAyC,YAAY,EAAoB,IAAI,EAAE,kBAAkB,EAA0B,cAAc,EAAmC,IAAI,EAAY,MAAM,eAAe,CAAA;;cAGnK,IAAI;;AADzE,qBAAa,sBACX,SAAQ,2BAA8F;IAEtG,MAAM,CAAC,OAAO,oDASZ;CACH;AAqBD,eAAO,MAAM,eAAe;;;;;;;;;;SAMK,CAAA"}
1
+ {"version":3,"file":"requires.test.d.ts","sourceRoot":"","sources":["../requires.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,EAAU,IAAI,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,OAAO,EAAE,cAAc,EAAyC,YAAY,EAAoB,IAAI,EAAE,kBAAkB,EAA0B,cAAc,EAAmC,IAAI,EAAY,MAAM,eAAe,CAAA;;cAGnK,IAAI;;AADzE,qBAAa,sBACX,SAAQ,2BAA8F;IAEtG,MAAM,CAAC,OAAO,oDASZ;CACH;AAqBD,eAAO,MAAM,eAAe;;;;;;;;;;SAMK,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-generator.test.d.ts","sourceRoot":"","sources":["../router-generator.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-multi-middleware.test.d.ts","sourceRoot":"","sources":["../rpc-multi-middleware.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,EAAe,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAW,CAAC,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAkD,MAAM,qBAAqB,CAAA;AAGpG,OAAO,EAAE,cAAc,EAAyC,YAAY,EAA0B,kBAAkB,EAA0B,cAAc,EAAmC,IAAI,EAAY,WAAW,EAAE,MAAM,eAAe,CAAA;AAErP,QAAA,MAAM,UAAU;;;;;;;;;;oCAGmB,CAAA;AAGnC,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;;;;;;;;;;;;AAEvD,cAAM,UAAW,SAAQ,eAKkB;CACzC;AAsCF,eAAO,MAAM,OAAO,iEAMhB,CAAA;AAgBJ,eAAO,MAAM,YAAY,2HAItB,CAAA;AAEH,eAAO,MAAM,YAAY,yIAgB2B,CAAA"}
1
+ {"version":3,"file":"rpc-multi-middleware.test.d.ts","sourceRoot":"","sources":["../rpc-multi-middleware.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,EAAe,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAW,IAAI,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIpD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAkD,MAAM,qBAAqB,CAAA;AAGpG,OAAO,EAAE,cAAc,EAAyC,YAAY,EAA0B,kBAAkB,EAA0B,cAAc,EAAmC,IAAI,EAAY,WAAW,EAAE,MAAM,eAAe,CAAA;AAErP,QAAA,MAAM,UAAU;;;;;;;;;;oCAImB,CAAA;AAGnC,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;;;;;;;;;;;;AAEvD,cAAM,UAAW,SAAQ,eAMkB;CACzC;AAsCF,eAAO,MAAM,OAAO,iEAMhB,CAAA;AAgBJ,eAAO,MAAM,YAAY,2HAItB,CAAA;AAEH,eAAO,MAAM,YAAY,yIAgB2B,CAAA"}
package/test/fixtures.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Context, Effect, Layer, S, Scope } from "effect-app"
1
+ import { Context, Effect, Layer, RpcX, S, Scope } from "effect-app"
2
2
  import { NotLoggedInError, UnauthorizedError } from "effect-app/client"
3
- import { RpcContextMap, RpcX } from "effect-app/rpc"
3
+ import { RpcContextMap } from "effect-app/rpc"
4
4
  import { TaggedErrorClass } from "effect-app/Schema"
5
5
 
6
6
  export class UserProfile extends Context.assignTag<UserProfile, UserProfile>("UserProfile")(
@@ -1,8 +1,7 @@
1
1
  import { describe, expect, expectTypeOf, it } from "@effect/vitest"
2
- import { Context, Effect, Layer, Result, S } from "effect-app"
2
+ import { Context, Effect, Layer, Result, RpcX, S } from "effect-app"
3
3
  import { NotLoggedInError, UnauthorizedError } from "effect-app/client"
4
4
  import { HttpHeaders } from "effect-app/http"
5
- import * as RpcX from "effect-app/rpc"
6
5
  import { MiddlewareMaker } from "effect-app/rpc"
7
6
  import type { unhandled } from "effect-app/Types"
8
7
  import { Rpc } from "effect/unstable/rpc"
@@ -0,0 +1,180 @@
1
+ import { type MakeContext, type MakeErrors, makeRouter } from "@effect-app/infra/api/routing"
2
+ import { makeAllDSL, makeOneDSL } from "@effect-app/infra/Model"
3
+ import { expectTypeOf, it } from "@effect/vitest"
4
+ import { Context, Effect, Layer, RpcX, S } from "effect-app"
5
+ import { InvalidStateError, makeRpcClient, UnauthorizedError } from "effect-app/client"
6
+ import { DefaultGenericMiddlewares } from "effect-app/middleware"
7
+ import { type FixEnv } from "effect-app/Pure"
8
+ import { MiddlewareMaker } from "effect-app/rpc"
9
+ import { type TypeTestId } from "effect-app/TypeTest"
10
+ import { type ConfigError } from "effect/Config"
11
+ import { type RpcSerialization } from "effect/unstable/rpc/RpcSerialization"
12
+ import { DefaultGenericMiddlewaresLive, DevModeMiddlewareLive } from "../src/api/routing/middleware.js"
13
+ import { AllowAnonymous, AllowAnonymousLive, RequestContextMap, RequireRoles, RequireRolesLive, Some, SomeElse, SomeService, Test, TestLive } from "./fixtures.js"
14
+
15
+ // Inline minimal context provider (provides `Some`)
16
+ class CtxProvider extends RpcX.RpcMiddleware.Tag<CtxProvider, { provides: Some }>()("CtxProvider") {
17
+ static Default = Layer.make(this, {
18
+ *make() {
19
+ return Effect.fnUntraced(function*(effect) {
20
+ return yield* Effect.provideService(effect, Some, Some.of({ a: 1 }))
21
+ })
22
+ }
23
+ })
24
+ }
25
+
26
+ // Provides `SomeElse` so AllowAnonymous's requirement is met.
27
+ class SomeElseProvider extends RpcX.RpcMiddleware.Tag<SomeElseProvider, { provides: SomeElse }>()("SomeElseProvider") {
28
+ static Default = Layer.make(this, {
29
+ *make() {
30
+ return Effect.fnUntraced(function*(effect) {
31
+ return yield* Effect.provideService(effect, SomeElse, SomeElse.of({ b: 2 }))
32
+ })
33
+ }
34
+ })
35
+ }
36
+
37
+ class mw extends MiddlewareMaker
38
+ .Tag<mw>()("mw", RequestContextMap)
39
+ .middleware(RequireRoles, Test)
40
+ .middleware(AllowAnonymous)
41
+ .middleware(CtxProvider)
42
+ .middleware(...DefaultGenericMiddlewares, SomeElseProvider)
43
+ {
44
+ static Default = this.layer.pipe(
45
+ Layer.provide([
46
+ RequireRolesLive,
47
+ TestLive,
48
+ AllowAnonymousLive,
49
+ CtxProvider.Default,
50
+ SomeElseProvider.Default,
51
+ DefaultGenericMiddlewaresLive,
52
+ DevModeMiddlewareLive,
53
+ SomeService.Default
54
+ ])
55
+ )
56
+ }
57
+
58
+ const { TaggedRequestFor } = makeRpcClient(RequestContextMap)
59
+ const Req = TaggedRequestFor("GenRouter")
60
+
61
+ class GetThing extends Req.Query<GetThing>()("GetThing", { id: S.String }, { success: S.String }) {}
62
+ class DoThing extends Req.Command<DoThing>()("DoThing", { id: S.String }, { success: S.Void }) {}
63
+
64
+ const Resource = { GetThing, DoThing }
65
+
66
+ const { Router, matchAll } = makeRouter(mw)
67
+
68
+ class ThingRepo extends Context.Service<ThingRepo>()("ThingRepo", {
69
+ make: Effect.succeed({ get: (id: string) => Effect.succeed(id + "!") })
70
+ }) {
71
+ static Default = Layer.effect(this, this.make)
72
+ }
73
+
74
+ // Case under test:
75
+ // `match({})` is given handlers as **shorthand generator methods** (`*GetThing(req) { ... }`).
76
+ // tsgo (>= 7 dev) infers `TNext = unknown` for these shorthand generators while TS6 infers `never`.
77
+ // `HandlerWithInputGen` in routing.ts must accept both — see the structural fix.
78
+ const router = Router(Resource)({
79
+ dependencies: [ThingRepo.Default],
80
+ *effect(match) {
81
+ const repo = yield* ThingRepo
82
+
83
+ if (Math.random() > 0.5) return yield* new InvalidStateError("nope")
84
+
85
+ return match({
86
+ *GetThing(req) {
87
+ const some = yield* Some
88
+ if (req.id === "boom") {
89
+ return yield* Effect.fail(new UnauthorizedError())
90
+ }
91
+ return yield* repo.get(req.id + String(some.a))
92
+ },
93
+ *DoThing(_req) {
94
+ yield* Effect.succeed(1)
95
+ }
96
+ })
97
+ }
98
+ })
99
+
100
+ // Same scenario but using the `raw:` variant — exercises the `raw` path of `HandlerWithInputGen`.
101
+ const routerRaw = Router({ GetThing })({
102
+ *effect(match) {
103
+ return match({
104
+ GetThing: {
105
+ *raw(req) {
106
+ const some = yield* Some
107
+ return yield* Effect.succeed(req.id + String(some.a))
108
+ }
109
+ }
110
+ })
111
+ }
112
+ })
113
+
114
+ it("router with generator-method handlers compiles", () => {
115
+ expectTypeOf(router).toMatchTypeOf<
116
+ Layer.Layer<never, ConfigError | InvalidStateError, SomeService | RpcSerialization>
117
+ >()
118
+ expectTypeOf(routerRaw).toMatchTypeOf<Layer.Layer<never, ConfigError, SomeService | RpcSerialization>>()
119
+ })
120
+
121
+ // Type-level assertions: verify generator yields propagate to MakeErrors / MakeContext
122
+ type Errors = MakeErrors<typeof router[TypeTestId]>
123
+ type Ctx = MakeContext<typeof router[TypeTestId]>
124
+ expectTypeOf<Errors>().toEqualTypeOf<InvalidStateError>()
125
+ expectTypeOf<Ctx>().toEqualTypeOf<ThingRepo>()
126
+
127
+ const matched = matchAll({ router })
128
+ expectTypeOf(matched).toMatchTypeOf<
129
+ Layer.Layer<never, ConfigError | InvalidStateError, SomeService | RpcSerialization>
130
+ >()
131
+
132
+ // ---------------------------------------------------------------------------
133
+ // DSL R-inference regression
134
+ // ---------------------------------------------------------------------------
135
+ // `OneDSL`/`OneDSLExt.update`/`.modify` previously annotated the callback's
136
+ // effect R as `FixEnv<R, Evt, S1, S2>`. That deadlocked inference of `R`
137
+ // (TS6 → `never`, tsgo → `unknown`), causing yielded effects to leak
138
+ // `unknown` in the R slot when consumed by generator handlers.
139
+ // The fix uses bare `R` in the callback and `FixEnv<R, …>` only on the return.
140
+ class Item extends S.Class<Item>("Item")({ id: S.String, label: S.String }) {}
141
+ class Dep extends Context.Service<Dep>()("Dep", { make: Effect.succeed({ tag: "dep" as const }) }) {}
142
+
143
+ type Evt = { _tag: "Updated"; id: string }
144
+
145
+ const Items$ = makeAllDSL<Item, Evt>()
146
+ const Item$ = makeOneDSL<Item, Evt>()
147
+
148
+ // Callback body uses generator syntax (TNext = unknown under tsgo) and yields
149
+ // a service-dependent effect — R must be inferred as `Dep` (plus the
150
+ // canonical PureEnvEnv contributed by FixEnv on the return).
151
+ const oneUpdate = Item$.update((item) =>
152
+ Effect.gen(function*() {
153
+ const dep = yield* Dep
154
+ return new Item({ id: item.id, label: item.label + dep.tag })
155
+ })
156
+ )
157
+
158
+ const allUpdate = Items$.update((items) =>
159
+ Effect.gen(function*() {
160
+ const dep = yield* Dep
161
+ return items.map((_) => new Item({ id: _.id, label: _.label + dep.tag }))
162
+ })
163
+ )
164
+
165
+ const oneModify = Item$.modify((item, _dsl) =>
166
+ Effect.gen(function*() {
167
+ const dep = yield* Dep
168
+ return { ...item, tag: dep.tag }
169
+ })
170
+ )
171
+
172
+ // `R` should be `FixEnv<Dep, Evt, …>` — never collapsed to `unknown`/`never`.
173
+ // The regression manifested as `unknown` here, breaking `Dep` assignability.
174
+ expectTypeOf(oneUpdate).toMatchTypeOf<Effect.Effect<Item, never, FixEnv<Dep, Evt, Item, Item>>>()
175
+ expectTypeOf(allUpdate).toMatchTypeOf<
176
+ Effect.Effect<readonly Item[], never, FixEnv<Dep, Evt, readonly Item[], readonly Item[]>>
177
+ >()
178
+ expectTypeOf(oneModify).toMatchTypeOf<
179
+ Effect.Effect<{ tag: "dep"; id: string; label: string }, never, FixEnv<Dep, Evt, Item, Item>>
180
+ >()