@geekmidas/constructs 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/{AWSLambdaFunction-CpHFE2m6.d.mts → AWSLambdaFunction-CANc3Qo2.d.mts} +3 -3
  2. package/dist/{AWSLambdaFunction-qA5LqPsv.cjs → AWSLambdaFunction-DW9qrBNR.cjs} +2 -2
  3. package/dist/{AWSLambdaFunction-qA5LqPsv.cjs.map → AWSLambdaFunction-DW9qrBNR.cjs.map} +1 -1
  4. package/dist/{AWSLambdaFunction-DWIZYsCy.mjs → AWSLambdaFunction-nic3vzt3.mjs} +2 -2
  5. package/dist/{AWSLambdaFunction-DWIZYsCy.mjs.map → AWSLambdaFunction-nic3vzt3.mjs.map} +1 -1
  6. package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs → AWSLambdaSubscriberAdaptor-BhqrpTVc.mjs} +1 -1
  7. package/dist/{AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs.map → AWSLambdaSubscriberAdaptor-BhqrpTVc.mjs.map} +1 -1
  8. package/dist/{AWSLambdaSubscriberAdaptor-C1wQuucQ.d.mts → AWSLambdaSubscriberAdaptor-C6JYIZxn.d.mts} +2 -2
  9. package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs → AWSLambdaSubscriberAdaptor-ZuQAhW9_.cjs} +1 -1
  10. package/dist/{AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs.map → AWSLambdaSubscriberAdaptor-ZuQAhW9_.cjs.map} +1 -1
  11. package/dist/{AmazonApiGatewayEndpointAdaptor-BoBh7vvD.d.mts → AmazonApiGatewayEndpointAdaptor-DNZLntHj.d.mts} +3 -3
  12. package/dist/{AmazonApiGatewayEndpointAdaptor-i74DEUbc.cjs → AmazonApiGatewayEndpointAdaptor-D_Q_NTMT.cjs} +3 -3
  13. package/dist/{AmazonApiGatewayEndpointAdaptor-i74DEUbc.cjs.map → AmazonApiGatewayEndpointAdaptor-D_Q_NTMT.cjs.map} +1 -1
  14. package/dist/{AmazonApiGatewayEndpointAdaptor-Cx1oqcqh.mjs → AmazonApiGatewayEndpointAdaptor-QzIAnWzS.mjs} +3 -3
  15. package/dist/{AmazonApiGatewayEndpointAdaptor-Cx1oqcqh.mjs.map → AmazonApiGatewayEndpointAdaptor-QzIAnWzS.mjs.map} +1 -1
  16. package/dist/{AmazonApiGatewayV1EndpointAdaptor-CLmBDYsl.mjs → AmazonApiGatewayV1EndpointAdaptor-BF5bGWV1.mjs} +3 -3
  17. package/dist/{AmazonApiGatewayV1EndpointAdaptor-CLmBDYsl.mjs.map → AmazonApiGatewayV1EndpointAdaptor-BF5bGWV1.mjs.map} +1 -1
  18. package/dist/{AmazonApiGatewayV1EndpointAdaptor-GkMAUPL5.cjs → AmazonApiGatewayV1EndpointAdaptor-Bh4tckwd.cjs} +3 -3
  19. package/dist/{AmazonApiGatewayV1EndpointAdaptor-GkMAUPL5.cjs.map → AmazonApiGatewayV1EndpointAdaptor-Bh4tckwd.cjs.map} +1 -1
  20. package/dist/{AmazonApiGatewayV1EndpointAdaptor-EhMd1YqV.d.mts → AmazonApiGatewayV1EndpointAdaptor-DbJa4cpU.d.mts} +4 -4
  21. package/dist/{AmazonApiGatewayV2EndpointAdaptor-3RqegmJC.mjs → AmazonApiGatewayV2EndpointAdaptor-BOaOkLXF.mjs} +3 -3
  22. package/dist/{AmazonApiGatewayV2EndpointAdaptor-3RqegmJC.mjs.map → AmazonApiGatewayV2EndpointAdaptor-BOaOkLXF.mjs.map} +1 -1
  23. package/dist/{AmazonApiGatewayV2EndpointAdaptor-zfd1gqXA.d.mts → AmazonApiGatewayV2EndpointAdaptor-BlKn-KJ6.d.mts} +4 -4
  24. package/dist/{AmazonApiGatewayV2EndpointAdaptor-YlFoFSS9.cjs → AmazonApiGatewayV2EndpointAdaptor-L4Ywv3Pk.cjs} +3 -3
  25. package/dist/{AmazonApiGatewayV2EndpointAdaptor-YlFoFSS9.cjs.map → AmazonApiGatewayV2EndpointAdaptor-L4Ywv3Pk.cjs.map} +1 -1
  26. package/dist/{BaseFunctionBuilder-BFPVGnKi.d.mts → BaseFunctionBuilder-Dda7AiID.d.mts} +2 -2
  27. package/dist/{Construct-DIguIyw4.d.mts → Construct-DdyYENBD.d.mts} +1 -1
  28. package/dist/Construct.d.mts +1 -1
  29. package/dist/{Cron-Bgs6EQOb.mjs → Cron-BgJo6EW6.mjs} +1 -1
  30. package/dist/{Cron-Bgs6EQOb.mjs.map → Cron-BgJo6EW6.mjs.map} +1 -1
  31. package/dist/{Cron-ztnK6zgU.d.cts → Cron-BxMXmn4t.d.cts} +1 -1
  32. package/dist/{Cron-DQiCj3ef.cjs → Cron-JYYGj5ik.cjs} +1 -1
  33. package/dist/{Cron-DQiCj3ef.cjs.map → Cron-JYYGj5ik.cjs.map} +1 -1
  34. package/dist/{Cron-FpAw03k6.d.mts → Cron-NDBlJhb3.d.mts} +2 -2
  35. package/dist/{CronBuilder-DIBqJkh_.cjs → CronBuilder-BDDS21OP.cjs} +2 -2
  36. package/dist/{CronBuilder-DIBqJkh_.cjs.map → CronBuilder-BDDS21OP.cjs.map} +1 -1
  37. package/dist/{CronBuilder-Cje9K8lZ.d.cts → CronBuilder-C6K5AbIO.d.cts} +2 -2
  38. package/dist/{CronBuilder-DecAvvcn.mjs → CronBuilder-DVuhB_kA.mjs} +2 -2
  39. package/dist/{CronBuilder-DecAvvcn.mjs.map → CronBuilder-DVuhB_kA.mjs.map} +1 -1
  40. package/dist/{CronBuilder-B2clNQSP.d.mts → CronBuilder-s5x8V8hH.d.mts} +4 -4
  41. package/dist/{Endpoint-BaHC9y4Z.cjs → Endpoint-D1nnEsBU.cjs} +1 -1
  42. package/dist/{Endpoint-BaHC9y4Z.cjs.map → Endpoint-D1nnEsBU.cjs.map} +1 -1
  43. package/dist/{Endpoint-ierdM62O.mjs → Endpoint-DNlmybXV.mjs} +1 -1
  44. package/dist/{Endpoint-ierdM62O.mjs.map → Endpoint-DNlmybXV.mjs.map} +1 -1
  45. package/dist/{Endpoint-DCn53Vd8.d.mts → Endpoint-DYUjJdEs.d.mts} +3 -3
  46. package/dist/{EndpointBuilder-CP9RGwZH.d.cts → EndpointBuilder-1fw103D6.d.cts} +1 -1
  47. package/dist/{EndpointBuilder-Bfnb2oJr.d.mts → EndpointBuilder-B2iScUND.d.mts} +4 -4
  48. package/dist/{EndpointBuilder-BHFSpbPR.cjs → EndpointBuilder-BhRd626m.cjs} +2 -2
  49. package/dist/{EndpointBuilder-BHFSpbPR.cjs.map → EndpointBuilder-BhRd626m.cjs.map} +1 -1
  50. package/dist/{EndpointBuilder-BLUsoK3l.mjs → EndpointBuilder-CpjIMYb0.mjs} +2 -2
  51. package/dist/{EndpointBuilder-BLUsoK3l.mjs.map → EndpointBuilder-CpjIMYb0.mjs.map} +1 -1
  52. package/dist/{EndpointFactory-CXX4E6Gx.cjs → EndpointFactory-ChmVHWim.cjs} +2 -2
  53. package/dist/{EndpointFactory-CXX4E6Gx.cjs.map → EndpointFactory-ChmVHWim.cjs.map} +1 -1
  54. package/dist/{EndpointFactory-D2zgWbXZ.d.cts → EndpointFactory-D576BhaH.d.cts} +2 -2
  55. package/dist/{EndpointFactory-BYdDVCNj.mjs → EndpointFactory-DLpEbLzL.mjs} +2 -2
  56. package/dist/{EndpointFactory-BYdDVCNj.mjs.map → EndpointFactory-DLpEbLzL.mjs.map} +1 -1
  57. package/dist/{EndpointFactory-CNtMXgIh.d.mts → EndpointFactory-DZQpM-9K.d.mts} +3 -3
  58. package/dist/{Function-BsBxc2wA.d.mts → Function-C98H68DW.d.mts} +2 -2
  59. package/dist/{FunctionBuilder-C-PfPN3r.d.mts → FunctionBuilder-DBwR7jg7.d.mts} +4 -4
  60. package/dist/{FunctionExecutionWrapper-DvglBBjE.d.mts → FunctionExecutionWrapper-B0V7V8YS.d.mts} +2 -2
  61. package/dist/{FunctionExecutionWrapper-XGrSAAPD.mjs → FunctionExecutionWrapper-CPzSbfaI.mjs} +1 -1
  62. package/dist/{FunctionExecutionWrapper-XGrSAAPD.mjs.map → FunctionExecutionWrapper-CPzSbfaI.mjs.map} +1 -1
  63. package/dist/{FunctionExecutionWrapper-CElXEjPe.cjs → FunctionExecutionWrapper-UzfHDM2R.cjs} +1 -1
  64. package/dist/{FunctionExecutionWrapper-CElXEjPe.cjs.map → FunctionExecutionWrapper-UzfHDM2R.cjs.map} +1 -1
  65. package/dist/{HonoEndpointAdaptor-B0IO1zj2.d.mts → HonoEndpointAdaptor-01cH100U.d.mts} +5 -5
  66. package/dist/{HonoEndpointAdaptor-B4snrp7v.cjs → HonoEndpointAdaptor-6LERutxi.cjs} +4 -4
  67. package/dist/{HonoEndpointAdaptor-B4snrp7v.cjs.map → HonoEndpointAdaptor-6LERutxi.cjs.map} +1 -1
  68. package/dist/{HonoEndpointAdaptor-D-M4-6Tf.mjs → HonoEndpointAdaptor-fs2928iO.mjs} +4 -4
  69. package/dist/{HonoEndpointAdaptor-D-M4-6Tf.mjs.map → HonoEndpointAdaptor-fs2928iO.mjs.map} +1 -1
  70. package/dist/{HonoEndpointAdaptor-B6lW9Q1k.d.cts → HonoEndpointAdaptor-ua6mp3gt.d.cts} +3 -3
  71. package/dist/{Subscriber-BwuCaC9G.mjs → Subscriber-BTwKnz3c.mjs} +1 -1
  72. package/dist/{Subscriber-BwuCaC9G.mjs.map → Subscriber-BTwKnz3c.mjs.map} +1 -1
  73. package/dist/{Subscriber-THGsj7Iy.d.mts → Subscriber-BxH6n8zQ.d.mts} +2 -2
  74. package/dist/{Subscriber-iMRFG7ba.cjs → Subscriber-G7EUI3yc.cjs} +1 -1
  75. package/dist/{Subscriber-iMRFG7ba.cjs.map → Subscriber-G7EUI3yc.cjs.map} +1 -1
  76. package/dist/{SubscriberBuilder-CiPxgnKT.d.mts → SubscriberBuilder-BpSDPzBz.d.mts} +2 -2
  77. package/dist/{SubscriberBuilder-Dhz0C_t-.mjs → SubscriberBuilder-C1me_972.mjs} +2 -2
  78. package/dist/{SubscriberBuilder-Dhz0C_t-.mjs.map → SubscriberBuilder-C1me_972.mjs.map} +1 -1
  79. package/dist/{SubscriberBuilder-wthr-FL9.cjs → SubscriberBuilder-C6iZvuDe.cjs} +2 -2
  80. package/dist/{SubscriberBuilder-wthr-FL9.cjs.map → SubscriberBuilder-C6iZvuDe.cjs.map} +1 -1
  81. package/dist/{SubscriberBuilder-DuIgxuzc.d.cts → SubscriberBuilder-DgljKtYu.d.cts} +1 -1
  82. package/dist/TestEndpointAdaptor-B4SvJvK-.cjs +54 -0
  83. package/dist/TestEndpointAdaptor-B4SvJvK-.cjs.map +1 -0
  84. package/dist/TestEndpointAdaptor-CHcgyI3V.d.cts +24 -0
  85. package/dist/TestEndpointAdaptor-CelYsQi0.mjs +48 -0
  86. package/dist/TestEndpointAdaptor-CelYsQi0.mjs.map +1 -0
  87. package/dist/TestEndpointAdaptor-Da0ooGt2.d.mts +24 -0
  88. package/dist/adaptors/aws.cjs +8 -8
  89. package/dist/adaptors/aws.d.cts +1 -1
  90. package/dist/adaptors/aws.d.mts +14 -14
  91. package/dist/adaptors/aws.mjs +8 -8
  92. package/dist/adaptors/hono.cjs +4 -4
  93. package/dist/adaptors/hono.d.cts +2 -2
  94. package/dist/adaptors/hono.d.mts +8 -8
  95. package/dist/adaptors/hono.mjs +4 -4
  96. package/dist/adaptors/testing.cjs +10 -0
  97. package/dist/adaptors/testing.d.cts +9 -0
  98. package/dist/adaptors/testing.d.mts +9 -0
  99. package/dist/adaptors/testing.mjs +10 -0
  100. package/dist/crons/Cron.cjs +1 -1
  101. package/dist/crons/Cron.d.cts +2 -2
  102. package/dist/crons/Cron.d.mts +6 -6
  103. package/dist/crons/Cron.mjs +1 -1
  104. package/dist/crons/CronBuilder.cjs +2 -2
  105. package/dist/crons/CronBuilder.d.cts +3 -3
  106. package/dist/crons/CronBuilder.d.mts +7 -7
  107. package/dist/crons/CronBuilder.mjs +2 -2
  108. package/dist/crons/index.cjs +2 -2
  109. package/dist/crons/index.d.cts +7 -7
  110. package/dist/crons/index.d.mts +11 -11
  111. package/dist/crons/index.mjs +2 -2
  112. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +2 -2
  113. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +1 -1
  114. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +8 -8
  115. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +2 -2
  116. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +4 -4
  117. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +1 -1
  118. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +9 -9
  119. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +4 -4
  120. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +4 -4
  121. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +1 -1
  122. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +9 -9
  123. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +4 -4
  124. package/dist/endpoints/Endpoint.cjs +1 -1
  125. package/dist/endpoints/Endpoint.d.cts +1 -1
  126. package/dist/endpoints/Endpoint.d.mts +7 -7
  127. package/dist/endpoints/Endpoint.mjs +1 -1
  128. package/dist/endpoints/EndpointBuilder.cjs +2 -2
  129. package/dist/endpoints/EndpointBuilder.d.cts +2 -2
  130. package/dist/endpoints/EndpointBuilder.d.mts +8 -8
  131. package/dist/endpoints/EndpointBuilder.mjs +2 -2
  132. package/dist/endpoints/EndpointFactory.cjs +3 -3
  133. package/dist/endpoints/EndpointFactory.d.cts +3 -3
  134. package/dist/endpoints/EndpointFactory.d.mts +9 -9
  135. package/dist/endpoints/EndpointFactory.mjs +3 -3
  136. package/dist/endpoints/HonoEndpointAdaptor.cjs +4 -4
  137. package/dist/endpoints/HonoEndpointAdaptor.d.cts +2 -2
  138. package/dist/endpoints/HonoEndpointAdaptor.d.mts +8 -8
  139. package/dist/endpoints/HonoEndpointAdaptor.mjs +4 -4
  140. package/dist/endpoints/TestEndpointAdaptor.cjs +4 -48
  141. package/dist/endpoints/TestEndpointAdaptor.d.cts +5 -25
  142. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -29
  143. package/dist/endpoints/TestEndpointAdaptor.mjs +4 -47
  144. package/dist/endpoints/helpers.cjs +2 -2
  145. package/dist/endpoints/helpers.d.cts +1 -1
  146. package/dist/endpoints/helpers.d.mts +7 -7
  147. package/dist/endpoints/helpers.mjs +2 -2
  148. package/dist/endpoints/index.cjs +3 -3
  149. package/dist/endpoints/index.d.cts +5 -5
  150. package/dist/endpoints/index.d.mts +11 -11
  151. package/dist/endpoints/index.mjs +3 -3
  152. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  153. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  154. package/dist/endpoints/parseQueryParams.cjs +1 -1
  155. package/dist/endpoints/parseQueryParams.mjs +1 -1
  156. package/dist/functions/AWSLambdaFunction.cjs +2 -2
  157. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  158. package/dist/functions/AWSLambdaFunction.mjs +2 -2
  159. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  160. package/dist/functions/Function.d.mts +2 -2
  161. package/dist/functions/FunctionBuilder.d.mts +4 -4
  162. package/dist/functions/FunctionExecutionWrapper.cjs +1 -1
  163. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  164. package/dist/functions/FunctionExecutionWrapper.mjs +1 -1
  165. package/dist/functions/TestFunctionAdaptor.d.mts +2 -2
  166. package/dist/functions/index.d.cts +1 -1
  167. package/dist/functions/index.d.mts +5 -5
  168. package/dist/{helpers-DbpO95aE.mjs → helpers-CP7A0U_s.mjs} +2 -2
  169. package/dist/{helpers-DbpO95aE.mjs.map → helpers-CP7A0U_s.mjs.map} +1 -1
  170. package/dist/{helpers-BeGM4pP_.cjs → helpers-CjvCSIF5.cjs} +2 -2
  171. package/dist/{helpers-BeGM4pP_.cjs.map → helpers-CjvCSIF5.cjs.map} +1 -1
  172. package/dist/index-BXTN4mwI.d.mts +9 -0
  173. package/dist/index-zOH9f4sh.d.cts +9 -0
  174. package/dist/index.d.mts +2 -2
  175. package/dist/{parseHonoQuery-DopC24vB.cjs → parseHonoQuery-BiPp8bEJ.cjs} +1 -1
  176. package/dist/{parseHonoQuery-DopC24vB.cjs.map → parseHonoQuery-BiPp8bEJ.cjs.map} +1 -1
  177. package/dist/{parseHonoQuery-znDKBhdE.mjs → parseHonoQuery-yWRoKFFl.mjs} +1 -1
  178. package/dist/{parseHonoQuery-znDKBhdE.mjs.map → parseHonoQuery-yWRoKFFl.mjs.map} +1 -1
  179. package/dist/{parseQueryParams-BzPop4I1.cjs → parseQueryParams-C2EjouGt.cjs} +1 -1
  180. package/dist/{parseQueryParams-BzPop4I1.cjs.map → parseQueryParams-C2EjouGt.cjs.map} +1 -1
  181. package/dist/{parseQueryParams-BJaRh3OB.mjs → parseQueryParams-DSk9xl09.mjs} +1 -1
  182. package/dist/{parseQueryParams-BJaRh3OB.mjs.map → parseQueryParams-DSk9xl09.mjs.map} +1 -1
  183. package/dist/publisher.d.mts +1 -1
  184. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  185. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  186. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  187. package/dist/subscribers/Subscriber.cjs +1 -1
  188. package/dist/subscribers/Subscriber.d.mts +2 -2
  189. package/dist/subscribers/Subscriber.mjs +1 -1
  190. package/dist/subscribers/SubscriberBuilder.cjs +2 -2
  191. package/dist/subscribers/SubscriberBuilder.d.cts +1 -1
  192. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  193. package/dist/subscribers/SubscriberBuilder.mjs +2 -2
  194. package/dist/subscribers/index.cjs +2 -2
  195. package/dist/subscribers/index.d.cts +3 -3
  196. package/dist/subscribers/index.d.mts +5 -5
  197. package/dist/subscribers/index.mjs +2 -2
  198. package/dist/{types-DBKNYvsW.d.mts → types-CVq20-fE.d.mts} +1 -1
  199. package/dist/types.d.mts +1 -1
  200. package/package.json +10 -5
  201. package/src/adaptors/testing.ts +1 -0
  202. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +62 -13
  203. package/src/endpoints/Endpoint.ts +243 -19
  204. package/src/endpoints/HonoEndpointAdaptor.ts +52 -16
  205. package/src/endpoints/TestEndpointAdaptor.ts +45 -12
  206. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +240 -0
  207. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.spec.ts +177 -200
  208. package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +120 -0
  209. package/src/endpoints/__tests__/Endpoint.spec.ts +12 -0
  210. package/src/endpoints/__tests__/ResponseBuilder.spec.ts +235 -0
  211. package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +348 -0
  212. package/dist/endpoints/TestEndpointAdaptor.cjs.map +0 -1
  213. package/dist/endpoints/TestEndpointAdaptor.mjs.map +0 -1
  214. package/dist/index-CuGR4L7O.d.mts +0 -9
  215. package/dist/index-Fg3N3EKD.d.cts +0 -9
@@ -0,0 +1,9 @@
1
+ import { FunctionBuilder } from "./FunctionBuilder-BS1KgxA_.cjs";
2
+ import * as _geekmidas_logger2 from "@geekmidas/logger";
3
+ import * as _geekmidas_schema1 from "@geekmidas/schema";
4
+
5
+ //#region src/functions/index.d.ts
6
+ declare const f: FunctionBuilder<_geekmidas_schema1.ComposableStandardSchema, undefined, [], _geekmidas_logger2.Logger, undefined, string>;
7
+ //#endregion
8
+ export { f };
9
+ //# sourceMappingURL=index-zOH9f4sh.d.cts.map
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Construct, ConstructType } from "./Construct-DIguIyw4.mjs";
2
- import { HttpMethod, LowerHttpMethod, RemoveUndefined } from "./types-DBKNYvsW.mjs";
1
+ import { Construct, ConstructType } from "./Construct-DdyYENBD.mjs";
2
+ import { HttpMethod, LowerHttpMethod, RemoveUndefined } from "./types-CVq20-fE.mjs";
3
3
  import { Service, ServiceRecord } from "@geekmidas/services";
4
4
  export { Construct, ConstructType, HttpMethod, LowerHttpMethod, RemoveUndefined, Service, ServiceRecord };
@@ -34,4 +34,4 @@ Object.defineProperty(exports, 'parseHonoQuery', {
34
34
  return parseHonoQuery;
35
35
  }
36
36
  });
37
- //# sourceMappingURL=parseHonoQuery-DopC24vB.cjs.map
37
+ //# sourceMappingURL=parseHonoQuery-BiPp8bEJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseHonoQuery-DopC24vB.cjs","names":["c: Context","result: Record<string, any>"],"sources":["../src/endpoints/parseHonoQuery.ts"],"sourcesContent":["import type { Context } from 'hono';\n\n/**\n * Parse Hono query parameters to handle arrays and nested objects\n * Hono provides c.req.queries() for arrays, but we need to handle dot notation for objects\n */\nexport function parseHonoQuery(c: Context): Record<string, any> {\n const allParams = c.req.query();\n const result: Record<string, any> = {};\n\n // First, handle all query parameters\n for (const [key, value] of Object.entries(allParams)) {\n if (key.includes('.')) {\n // Handle dot notation for objects\n const parts = key.split('.');\n let current = result;\n\n // Navigate/create the nested structure\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (\n !current[part] ||\n typeof current[part] !== 'object' ||\n Array.isArray(current[part])\n ) {\n current[part] = {};\n }\n current = current[part];\n }\n\n // Set the final value, checking for arrays in nested keys\n const lastPart = parts[parts.length - 1];\n const multipleValues = c.req.queries(key);\n if (multipleValues && multipleValues.length > 1) {\n current[lastPart] = multipleValues;\n } else {\n current[lastPart] = value;\n }\n } else {\n // For regular keys, check if there are multiple values\n const multipleValues = c.req.queries(key);\n if (multipleValues && multipleValues.length > 1) {\n result[key] = multipleValues;\n } else {\n result[key] = value;\n }\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;;AAMA,SAAgB,eAAeA,GAAiC;CAC9D,MAAM,YAAY,EAAE,IAAI,OAAO;CAC/B,MAAMC,SAA8B,CAAE;AAGtC,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,UAAU,CAClD,KAAI,IAAI,SAAS,IAAI,EAAE;EAErB,MAAM,QAAQ,IAAI,MAAM,IAAI;EAC5B,IAAI,UAAU;AAGd,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;GACzC,MAAM,OAAO,MAAM;AACnB,QACG,QAAQ,gBACF,QAAQ,UAAU,YACzB,MAAM,QAAQ,QAAQ,MAAM,CAE5B,SAAQ,QAAQ,CAAE;AAEpB,aAAU,QAAQ;EACnB;EAGD,MAAM,WAAW,MAAM,MAAM,SAAS;EACtC,MAAM,iBAAiB,EAAE,IAAI,QAAQ,IAAI;AACzC,MAAI,kBAAkB,eAAe,SAAS,EAC5C,SAAQ,YAAY;MAEpB,SAAQ,YAAY;CAEvB,OAAM;EAEL,MAAM,iBAAiB,EAAE,IAAI,QAAQ,IAAI;AACzC,MAAI,kBAAkB,eAAe,SAAS,EAC5C,QAAO,OAAO;MAEd,QAAO,OAAO;CAEjB;AAGH,QAAO;AACR"}
1
+ {"version":3,"file":"parseHonoQuery-BiPp8bEJ.cjs","names":["c: Context","result: Record<string, any>"],"sources":["../src/endpoints/parseHonoQuery.ts"],"sourcesContent":["import type { Context } from 'hono';\n\n/**\n * Parse Hono query parameters to handle arrays and nested objects\n * Hono provides c.req.queries() for arrays, but we need to handle dot notation for objects\n */\nexport function parseHonoQuery(c: Context): Record<string, any> {\n const allParams = c.req.query();\n const result: Record<string, any> = {};\n\n // First, handle all query parameters\n for (const [key, value] of Object.entries(allParams)) {\n if (key.includes('.')) {\n // Handle dot notation for objects\n const parts = key.split('.');\n let current = result;\n\n // Navigate/create the nested structure\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (\n !current[part] ||\n typeof current[part] !== 'object' ||\n Array.isArray(current[part])\n ) {\n current[part] = {};\n }\n current = current[part];\n }\n\n // Set the final value, checking for arrays in nested keys\n const lastPart = parts[parts.length - 1];\n const multipleValues = c.req.queries(key);\n if (multipleValues && multipleValues.length > 1) {\n current[lastPart] = multipleValues;\n } else {\n current[lastPart] = value;\n }\n } else {\n // For regular keys, check if there are multiple values\n const multipleValues = c.req.queries(key);\n if (multipleValues && multipleValues.length > 1) {\n result[key] = multipleValues;\n } else {\n result[key] = value;\n }\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;;AAMA,SAAgB,eAAeA,GAAiC;CAC9D,MAAM,YAAY,EAAE,IAAI,OAAO;CAC/B,MAAMC,SAA8B,CAAE;AAGtC,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,UAAU,CAClD,KAAI,IAAI,SAAS,IAAI,EAAE;EAErB,MAAM,QAAQ,IAAI,MAAM,IAAI;EAC5B,IAAI,UAAU;AAGd,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;GACzC,MAAM,OAAO,MAAM;AACnB,QACG,QAAQ,gBACF,QAAQ,UAAU,YACzB,MAAM,QAAQ,QAAQ,MAAM,CAE5B,SAAQ,QAAQ,CAAE;AAEpB,aAAU,QAAQ;EACnB;EAGD,MAAM,WAAW,MAAM,MAAM,SAAS;EACtC,MAAM,iBAAiB,EAAE,IAAI,QAAQ,IAAI;AACzC,MAAI,kBAAkB,eAAe,SAAS,EAC5C,SAAQ,YAAY;MAEpB,SAAQ,YAAY;CAEvB,OAAM;EAEL,MAAM,iBAAiB,EAAE,IAAI,QAAQ,IAAI;AACzC,MAAI,kBAAkB,eAAe,SAAS,EAC5C,QAAO,OAAO;MAEd,QAAO,OAAO;CAEjB;AAGH,QAAO;AACR"}
@@ -28,4 +28,4 @@ function parseHonoQuery(c) {
28
28
 
29
29
  //#endregion
30
30
  export { parseHonoQuery };
31
- //# sourceMappingURL=parseHonoQuery-znDKBhdE.mjs.map
31
+ //# sourceMappingURL=parseHonoQuery-yWRoKFFl.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseHonoQuery-znDKBhdE.mjs","names":["c: Context","result: Record<string, any>"],"sources":["../src/endpoints/parseHonoQuery.ts"],"sourcesContent":["import type { Context } from 'hono';\n\n/**\n * Parse Hono query parameters to handle arrays and nested objects\n * Hono provides c.req.queries() for arrays, but we need to handle dot notation for objects\n */\nexport function parseHonoQuery(c: Context): Record<string, any> {\n const allParams = c.req.query();\n const result: Record<string, any> = {};\n\n // First, handle all query parameters\n for (const [key, value] of Object.entries(allParams)) {\n if (key.includes('.')) {\n // Handle dot notation for objects\n const parts = key.split('.');\n let current = result;\n\n // Navigate/create the nested structure\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (\n !current[part] ||\n typeof current[part] !== 'object' ||\n Array.isArray(current[part])\n ) {\n current[part] = {};\n }\n current = current[part];\n }\n\n // Set the final value, checking for arrays in nested keys\n const lastPart = parts[parts.length - 1];\n const multipleValues = c.req.queries(key);\n if (multipleValues && multipleValues.length > 1) {\n current[lastPart] = multipleValues;\n } else {\n current[lastPart] = value;\n }\n } else {\n // For regular keys, check if there are multiple values\n const multipleValues = c.req.queries(key);\n if (multipleValues && multipleValues.length > 1) {\n result[key] = multipleValues;\n } else {\n result[key] = value;\n }\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;AAMA,SAAgB,eAAeA,GAAiC;CAC9D,MAAM,YAAY,EAAE,IAAI,OAAO;CAC/B,MAAMC,SAA8B,CAAE;AAGtC,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,UAAU,CAClD,KAAI,IAAI,SAAS,IAAI,EAAE;EAErB,MAAM,QAAQ,IAAI,MAAM,IAAI;EAC5B,IAAI,UAAU;AAGd,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;GACzC,MAAM,OAAO,MAAM;AACnB,QACG,QAAQ,gBACF,QAAQ,UAAU,YACzB,MAAM,QAAQ,QAAQ,MAAM,CAE5B,SAAQ,QAAQ,CAAE;AAEpB,aAAU,QAAQ;EACnB;EAGD,MAAM,WAAW,MAAM,MAAM,SAAS;EACtC,MAAM,iBAAiB,EAAE,IAAI,QAAQ,IAAI;AACzC,MAAI,kBAAkB,eAAe,SAAS,EAC5C,SAAQ,YAAY;MAEpB,SAAQ,YAAY;CAEvB,OAAM;EAEL,MAAM,iBAAiB,EAAE,IAAI,QAAQ,IAAI;AACzC,MAAI,kBAAkB,eAAe,SAAS,EAC5C,QAAO,OAAO;MAEd,QAAO,OAAO;CAEjB;AAGH,QAAO;AACR"}
1
+ {"version":3,"file":"parseHonoQuery-yWRoKFFl.mjs","names":["c: Context","result: Record<string, any>"],"sources":["../src/endpoints/parseHonoQuery.ts"],"sourcesContent":["import type { Context } from 'hono';\n\n/**\n * Parse Hono query parameters to handle arrays and nested objects\n * Hono provides c.req.queries() for arrays, but we need to handle dot notation for objects\n */\nexport function parseHonoQuery(c: Context): Record<string, any> {\n const allParams = c.req.query();\n const result: Record<string, any> = {};\n\n // First, handle all query parameters\n for (const [key, value] of Object.entries(allParams)) {\n if (key.includes('.')) {\n // Handle dot notation for objects\n const parts = key.split('.');\n let current = result;\n\n // Navigate/create the nested structure\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (\n !current[part] ||\n typeof current[part] !== 'object' ||\n Array.isArray(current[part])\n ) {\n current[part] = {};\n }\n current = current[part];\n }\n\n // Set the final value, checking for arrays in nested keys\n const lastPart = parts[parts.length - 1];\n const multipleValues = c.req.queries(key);\n if (multipleValues && multipleValues.length > 1) {\n current[lastPart] = multipleValues;\n } else {\n current[lastPart] = value;\n }\n } else {\n // For regular keys, check if there are multiple values\n const multipleValues = c.req.queries(key);\n if (multipleValues && multipleValues.length > 1) {\n result[key] = multipleValues;\n } else {\n result[key] = value;\n }\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;AAMA,SAAgB,eAAeA,GAAiC;CAC9D,MAAM,YAAY,EAAE,IAAI,OAAO;CAC/B,MAAMC,SAA8B,CAAE;AAGtC,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,UAAU,CAClD,KAAI,IAAI,SAAS,IAAI,EAAE;EAErB,MAAM,QAAQ,IAAI,MAAM,IAAI;EAC5B,IAAI,UAAU;AAGd,OAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;GACzC,MAAM,OAAO,MAAM;AACnB,QACG,QAAQ,gBACF,QAAQ,UAAU,YACzB,MAAM,QAAQ,QAAQ,MAAM,CAE5B,SAAQ,QAAQ,CAAE;AAEpB,aAAU,QAAQ;EACnB;EAGD,MAAM,WAAW,MAAM,MAAM,SAAS;EACtC,MAAM,iBAAiB,EAAE,IAAI,QAAQ,IAAI;AACzC,MAAI,kBAAkB,eAAe,SAAS,EAC5C,SAAQ,YAAY;MAEpB,SAAQ,YAAY;CAEvB,OAAM;EAEL,MAAM,iBAAiB,EAAE,IAAI,QAAQ,IAAI;AACzC,MAAI,kBAAkB,eAAe,SAAS,EAC5C,QAAO,OAAO;MAEd,QAAO,OAAO;CAEjB;AAGH,QAAO;AACR"}
@@ -35,4 +35,4 @@ Object.defineProperty(exports, 'parseQueryParams', {
35
35
  return parseQueryParams;
36
36
  }
37
37
  });
38
- //# sourceMappingURL=parseQueryParams-BzPop4I1.cjs.map
38
+ //# sourceMappingURL=parseQueryParams-C2EjouGt.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseQueryParams-BzPop4I1.cjs","names":["queryParams: Record<string, string | string[] | undefined> | null","result: Record<string, any>"],"sources":["../src/endpoints/parseQueryParams.ts"],"sourcesContent":["/**\n * Parse query parameters from a flat object into a nested structure\n * Handles arrays (multiple values with same key) and objects (dot notation)\n *\n * @example\n * parseQueryParams({ 'tags': ['a', 'b'], 'filter.name': 'john' })\n * // Returns: { tags: ['a', 'b'], filter: { name: 'john' } }\n */\nexport function parseQueryParams(\n queryParams: Record<string, string | string[] | undefined> | null,\n): Record<string, any> {\n if (!queryParams) {\n return {};\n }\n\n const result: Record<string, any> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value === undefined) {\n continue;\n }\n\n // Check if the key contains dot notation\n if (key.includes('.')) {\n const parts = key.split('.');\n let current = result;\n\n // Navigate/create the nested structure\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (\n !current[part] ||\n typeof current[part] !== 'object' ||\n Array.isArray(current[part])\n ) {\n current[part] = {};\n }\n current = current[part];\n }\n\n // Set the final value\n const lastPart = parts[parts.length - 1];\n current[lastPart] = value;\n } else {\n // Simple key, just assign the value\n result[key] = value;\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;AAQA,SAAgB,iBACdA,aACqB;AACrB,MAAK,YACH,QAAO,CAAE;CAGX,MAAMC,SAA8B,CAAE;AAEtC,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,EAAE;AACtD,MAAI,iBACF;AAIF,MAAI,IAAI,SAAS,IAAI,EAAE;GACrB,MAAM,QAAQ,IAAI,MAAM,IAAI;GAC5B,IAAI,UAAU;AAGd,QAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;IACzC,MAAM,OAAO,MAAM;AACnB,SACG,QAAQ,gBACF,QAAQ,UAAU,YACzB,MAAM,QAAQ,QAAQ,MAAM,CAE5B,SAAQ,QAAQ,CAAE;AAEpB,cAAU,QAAQ;GACnB;GAGD,MAAM,WAAW,MAAM,MAAM,SAAS;AACtC,WAAQ,YAAY;EACrB,MAEC,QAAO,OAAO;CAEjB;AAED,QAAO;AACR"}
1
+ {"version":3,"file":"parseQueryParams-C2EjouGt.cjs","names":["queryParams: Record<string, string | string[] | undefined> | null","result: Record<string, any>"],"sources":["../src/endpoints/parseQueryParams.ts"],"sourcesContent":["/**\n * Parse query parameters from a flat object into a nested structure\n * Handles arrays (multiple values with same key) and objects (dot notation)\n *\n * @example\n * parseQueryParams({ 'tags': ['a', 'b'], 'filter.name': 'john' })\n * // Returns: { tags: ['a', 'b'], filter: { name: 'john' } }\n */\nexport function parseQueryParams(\n queryParams: Record<string, string | string[] | undefined> | null,\n): Record<string, any> {\n if (!queryParams) {\n return {};\n }\n\n const result: Record<string, any> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value === undefined) {\n continue;\n }\n\n // Check if the key contains dot notation\n if (key.includes('.')) {\n const parts = key.split('.');\n let current = result;\n\n // Navigate/create the nested structure\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (\n !current[part] ||\n typeof current[part] !== 'object' ||\n Array.isArray(current[part])\n ) {\n current[part] = {};\n }\n current = current[part];\n }\n\n // Set the final value\n const lastPart = parts[parts.length - 1];\n current[lastPart] = value;\n } else {\n // Simple key, just assign the value\n result[key] = value;\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;AAQA,SAAgB,iBACdA,aACqB;AACrB,MAAK,YACH,QAAO,CAAE;CAGX,MAAMC,SAA8B,CAAE;AAEtC,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,EAAE;AACtD,MAAI,iBACF;AAIF,MAAI,IAAI,SAAS,IAAI,EAAE;GACrB,MAAM,QAAQ,IAAI,MAAM,IAAI;GAC5B,IAAI,UAAU;AAGd,QAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;IACzC,MAAM,OAAO,MAAM;AACnB,SACG,QAAQ,gBACF,QAAQ,UAAU,YACzB,MAAM,QAAQ,QAAQ,MAAM,CAE5B,SAAQ,QAAQ,CAAE;AAEpB,cAAU,QAAQ;GACnB;GAGD,MAAM,WAAW,MAAM,MAAM,SAAS;AACtC,WAAQ,YAAY;EACrB,MAEC,QAAO,OAAO;CAEjB;AAED,QAAO;AACR"}
@@ -29,4 +29,4 @@ function parseQueryParams(queryParams) {
29
29
 
30
30
  //#endregion
31
31
  export { parseQueryParams };
32
- //# sourceMappingURL=parseQueryParams-BJaRh3OB.mjs.map
32
+ //# sourceMappingURL=parseQueryParams-DSk9xl09.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseQueryParams-BJaRh3OB.mjs","names":["queryParams: Record<string, string | string[] | undefined> | null","result: Record<string, any>"],"sources":["../src/endpoints/parseQueryParams.ts"],"sourcesContent":["/**\n * Parse query parameters from a flat object into a nested structure\n * Handles arrays (multiple values with same key) and objects (dot notation)\n *\n * @example\n * parseQueryParams({ 'tags': ['a', 'b'], 'filter.name': 'john' })\n * // Returns: { tags: ['a', 'b'], filter: { name: 'john' } }\n */\nexport function parseQueryParams(\n queryParams: Record<string, string | string[] | undefined> | null,\n): Record<string, any> {\n if (!queryParams) {\n return {};\n }\n\n const result: Record<string, any> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value === undefined) {\n continue;\n }\n\n // Check if the key contains dot notation\n if (key.includes('.')) {\n const parts = key.split('.');\n let current = result;\n\n // Navigate/create the nested structure\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (\n !current[part] ||\n typeof current[part] !== 'object' ||\n Array.isArray(current[part])\n ) {\n current[part] = {};\n }\n current = current[part];\n }\n\n // Set the final value\n const lastPart = parts[parts.length - 1];\n current[lastPart] = value;\n } else {\n // Simple key, just assign the value\n result[key] = value;\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,iBACdA,aACqB;AACrB,MAAK,YACH,QAAO,CAAE;CAGX,MAAMC,SAA8B,CAAE;AAEtC,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,EAAE;AACtD,MAAI,iBACF;AAIF,MAAI,IAAI,SAAS,IAAI,EAAE;GACrB,MAAM,QAAQ,IAAI,MAAM,IAAI;GAC5B,IAAI,UAAU;AAGd,QAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;IACzC,MAAM,OAAO,MAAM;AACnB,SACG,QAAQ,gBACF,QAAQ,UAAU,YACzB,MAAM,QAAQ,QAAQ,MAAM,CAE5B,SAAQ,QAAQ,CAAE;AAEpB,cAAU,QAAQ;GACnB;GAGD,MAAM,WAAW,MAAM,MAAM,SAAS;AACtC,WAAQ,YAAY;EACrB,MAEC,QAAO,OAAO;CAEjB;AAED,QAAO;AACR"}
1
+ {"version":3,"file":"parseQueryParams-DSk9xl09.mjs","names":["queryParams: Record<string, string | string[] | undefined> | null","result: Record<string, any>"],"sources":["../src/endpoints/parseQueryParams.ts"],"sourcesContent":["/**\n * Parse query parameters from a flat object into a nested structure\n * Handles arrays (multiple values with same key) and objects (dot notation)\n *\n * @example\n * parseQueryParams({ 'tags': ['a', 'b'], 'filter.name': 'john' })\n * // Returns: { tags: ['a', 'b'], filter: { name: 'john' } }\n */\nexport function parseQueryParams(\n queryParams: Record<string, string | string[] | undefined> | null,\n): Record<string, any> {\n if (!queryParams) {\n return {};\n }\n\n const result: Record<string, any> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value === undefined) {\n continue;\n }\n\n // Check if the key contains dot notation\n if (key.includes('.')) {\n const parts = key.split('.');\n let current = result;\n\n // Navigate/create the nested structure\n for (let i = 0; i < parts.length - 1; i++) {\n const part = parts[i];\n if (\n !current[part] ||\n typeof current[part] !== 'object' ||\n Array.isArray(current[part])\n ) {\n current[part] = {};\n }\n current = current[part];\n }\n\n // Set the final value\n const lastPart = parts[parts.length - 1];\n current[lastPart] = value;\n } else {\n // Simple key, just assign the value\n result[key] = value;\n }\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,iBACdA,aACqB;AACrB,MAAK,YACH,QAAO,CAAE;CAGX,MAAMC,SAA8B,CAAE;AAEtC,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,EAAE;AACtD,MAAI,iBACF;AAIF,MAAI,IAAI,SAAS,IAAI,EAAE;GACrB,MAAM,QAAQ,IAAI,MAAM,IAAI;GAC5B,IAAI,UAAU;AAGd,QAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;IACzC,MAAM,OAAO,MAAM;AACnB,SACG,QAAQ,gBACF,QAAQ,UAAU,YACzB,MAAM,QAAQ,QAAQ,MAAM,CAE5B,SAAQ,QAAQ,CAAE;AAEpB,cAAU,QAAQ;GACnB;GAGD,MAAM,WAAW,MAAM,MAAM,SAAS;AACtC,WAAQ,YAAY;EACrB,MAEC,QAAO,OAAO;CAEjB;AAED,QAAO;AACR"}
@@ -1,4 +1,4 @@
1
- import { Construct } from "./Construct-DIguIyw4.mjs";
1
+ import { Construct } from "./Construct-DdyYENBD.mjs";
2
2
  import { Service, ServiceDiscovery } from "@geekmidas/services";
3
3
  import { EventPublisher, MappedEvent } from "@geekmidas/events";
4
4
  import { Logger } from "@geekmidas/logger";
@@ -1,3 +1,3 @@
1
- const require_AWSLambdaSubscriberAdaptor = require('../AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs');
1
+ const require_AWSLambdaSubscriberAdaptor = require('../AWSLambdaSubscriberAdaptor-ZuQAhW9_.cjs');
2
2
 
3
3
  exports.AWSLambdaSubscriber = require_AWSLambdaSubscriberAdaptor.AWSLambdaSubscriber;
@@ -1,4 +1,4 @@
1
- import "../Construct-DIguIyw4.mjs";
2
- import "../Subscriber-THGsj7Iy.mjs";
3
- import { AWSLambdaHandler, AWSLambdaSubscriber } from "../AWSLambdaSubscriberAdaptor-C1wQuucQ.mjs";
1
+ import "../Construct-DdyYENBD.mjs";
2
+ import "../Subscriber-BxH6n8zQ.mjs";
3
+ import { AWSLambdaHandler, AWSLambdaSubscriber } from "../AWSLambdaSubscriberAdaptor-C6JYIZxn.mjs";
4
4
  export { AWSLambdaHandler, AWSLambdaSubscriber };
@@ -1,3 +1,3 @@
1
- import { AWSLambdaSubscriber } from "../AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs";
1
+ import { AWSLambdaSubscriber } from "../AWSLambdaSubscriberAdaptor-BhqrpTVc.mjs";
2
2
 
3
3
  export { AWSLambdaSubscriber };
@@ -1,4 +1,4 @@
1
1
  require('../Construct-BSEs6uwW.cjs');
2
- const require_Subscriber = require('../Subscriber-iMRFG7ba.cjs');
2
+ const require_Subscriber = require('../Subscriber-G7EUI3yc.cjs');
3
3
 
4
4
  exports.Subscriber = require_Subscriber.Subscriber;
@@ -1,3 +1,3 @@
1
- import "../Construct-DIguIyw4.mjs";
2
- import { Subscriber, SubscriberContext, SubscriberHandler } from "../Subscriber-THGsj7Iy.mjs";
1
+ import "../Construct-DdyYENBD.mjs";
2
+ import { Subscriber, SubscriberContext, SubscriberHandler } from "../Subscriber-BxH6n8zQ.mjs";
3
3
  export { Subscriber, SubscriberContext, SubscriberHandler };
@@ -1,4 +1,4 @@
1
1
  import "../Construct-BbKCIPQm.mjs";
2
- import { Subscriber } from "../Subscriber-BwuCaC9G.mjs";
2
+ import { Subscriber } from "../Subscriber-BTwKnz3c.mjs";
3
3
 
4
4
  export { Subscriber };
@@ -1,5 +1,5 @@
1
1
  require('../Construct-BSEs6uwW.cjs');
2
- require('../Subscriber-iMRFG7ba.cjs');
3
- const require_SubscriberBuilder = require('../SubscriberBuilder-wthr-FL9.cjs');
2
+ require('../Subscriber-G7EUI3yc.cjs');
3
+ const require_SubscriberBuilder = require('../SubscriberBuilder-C6iZvuDe.cjs');
4
4
 
5
5
  exports.SubscriberBuilder = require_SubscriberBuilder.SubscriberBuilder;
@@ -1,4 +1,4 @@
1
1
  import "../Construct-Bm-PSO2V.cjs";
2
2
  import "../Subscriber-BoFm12i_.cjs";
3
- import { SubscriberBuilder } from "../SubscriberBuilder-DuIgxuzc.cjs";
3
+ import { SubscriberBuilder } from "../SubscriberBuilder-DgljKtYu.cjs";
4
4
  export { SubscriberBuilder };
@@ -1,4 +1,4 @@
1
- import "../Construct-DIguIyw4.mjs";
2
- import "../Subscriber-THGsj7Iy.mjs";
3
- import { SubscriberBuilder } from "../SubscriberBuilder-CiPxgnKT.mjs";
1
+ import "../Construct-DdyYENBD.mjs";
2
+ import "../Subscriber-BxH6n8zQ.mjs";
3
+ import { SubscriberBuilder } from "../SubscriberBuilder-BpSDPzBz.mjs";
4
4
  export { SubscriberBuilder };
@@ -1,5 +1,5 @@
1
1
  import "../Construct-BbKCIPQm.mjs";
2
- import "../Subscriber-BwuCaC9G.mjs";
3
- import { SubscriberBuilder } from "../SubscriberBuilder-Dhz0C_t-.mjs";
2
+ import "../Subscriber-BTwKnz3c.mjs";
3
+ import { SubscriberBuilder } from "../SubscriberBuilder-C1me_972.mjs";
4
4
 
5
5
  export { SubscriberBuilder };
@@ -1,6 +1,6 @@
1
1
  require('../Construct-BSEs6uwW.cjs');
2
- const require_Subscriber = require('../Subscriber-iMRFG7ba.cjs');
3
- const require_SubscriberBuilder = require('../SubscriberBuilder-wthr-FL9.cjs');
2
+ const require_Subscriber = require('../Subscriber-G7EUI3yc.cjs');
3
+ const require_SubscriberBuilder = require('../SubscriberBuilder-C6iZvuDe.cjs');
4
4
 
5
5
  //#region src/subscribers/index.ts
6
6
  const s = new require_SubscriberBuilder.SubscriberBuilder();
@@ -1,10 +1,10 @@
1
1
  import "../Construct-Bm-PSO2V.cjs";
2
2
  import { Subscriber } from "../Subscriber-BoFm12i_.cjs";
3
- import { SubscriberBuilder } from "../SubscriberBuilder-DuIgxuzc.cjs";
4
- import * as _geekmidas_logger8 from "@geekmidas/logger";
3
+ import { SubscriberBuilder } from "../SubscriberBuilder-DgljKtYu.cjs";
4
+ import * as _geekmidas_logger0 from "@geekmidas/logger";
5
5
 
6
6
  //#region src/subscribers/index.d.ts
7
- declare const s: SubscriberBuilder<[], _geekmidas_logger8.Logger, undefined, undefined, string, []>;
7
+ declare const s: SubscriberBuilder<[], _geekmidas_logger0.Logger, undefined, undefined, string, []>;
8
8
  //#endregion
9
9
  export { Subscriber, SubscriberBuilder, s };
10
10
  //# sourceMappingURL=index.d.cts.map
@@ -1,10 +1,10 @@
1
- import "../Construct-DIguIyw4.mjs";
2
- import { Subscriber } from "../Subscriber-THGsj7Iy.mjs";
3
- import { SubscriberBuilder } from "../SubscriberBuilder-CiPxgnKT.mjs";
4
- import * as _geekmidas_logger1 from "@geekmidas/logger";
1
+ import "../Construct-DdyYENBD.mjs";
2
+ import { Subscriber } from "../Subscriber-BxH6n8zQ.mjs";
3
+ import { SubscriberBuilder } from "../SubscriberBuilder-BpSDPzBz.mjs";
4
+ import * as _geekmidas_logger6 from "@geekmidas/logger";
5
5
 
6
6
  //#region src/subscribers/index.d.ts
7
- declare const s: SubscriberBuilder<[], _geekmidas_logger1.Logger, undefined, undefined, string, []>;
7
+ declare const s: SubscriberBuilder<[], _geekmidas_logger6.Logger, undefined, undefined, string, []>;
8
8
  //#endregion
9
9
  export { Subscriber, SubscriberBuilder, s };
10
10
  //# sourceMappingURL=index.d.mts.map
@@ -1,6 +1,6 @@
1
1
  import "../Construct-BbKCIPQm.mjs";
2
- import { Subscriber } from "../Subscriber-BwuCaC9G.mjs";
3
- import { SubscriberBuilder } from "../SubscriberBuilder-Dhz0C_t-.mjs";
2
+ import { Subscriber } from "../Subscriber-BTwKnz3c.mjs";
3
+ import { SubscriberBuilder } from "../SubscriberBuilder-C1me_972.mjs";
4
4
 
5
5
  //#region src/subscribers/index.ts
6
6
  const s = new SubscriberBuilder();
@@ -4,4 +4,4 @@ type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
4
4
  type LowerHttpMethod<T extends HttpMethod> = Lowercase<T>;
5
5
  //#endregion
6
6
  export { HttpMethod, LowerHttpMethod, RemoveUndefined };
7
- //# sourceMappingURL=types-DBKNYvsW.d.mts.map
7
+ //# sourceMappingURL=types-CVq20-fE.d.mts.map
package/dist/types.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { HttpMethod, LowerHttpMethod, RemoveUndefined } from "./types-DBKNYvsW.mjs";
1
+ import { HttpMethod, LowerHttpMethod, RemoveUndefined } from "./types-CVq20-fE.mjs";
2
2
  export { HttpMethod, LowerHttpMethod, RemoveUndefined };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geekmidas/constructs",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -43,6 +43,11 @@
43
43
  "types": "./dist/adaptors/aws.d.ts",
44
44
  "import": "./dist/adaptors/aws.mjs",
45
45
  "require": "./dist/adaptors/aws.cjs"
46
+ },
47
+ "./testing": {
48
+ "types": "./dist/adaptors/testing.d.ts",
49
+ "import": "./dist/adaptors/testing.mjs",
50
+ "require": "./dist/adaptors/testing.cjs"
46
51
  }
47
52
  },
48
53
  "repository": {
@@ -61,13 +66,13 @@
61
66
  "lodash.compact": "~3.0.1",
62
67
  "openapi-types": "~12.1.3",
63
68
  "fast-glob": "~3.3.3",
69
+ "@geekmidas/schema": "0.0.1",
64
70
  "@geekmidas/services": "0.0.1",
65
71
  "@geekmidas/logger": "0.0.1",
66
- "@geekmidas/cache": "0.0.7",
67
- "@geekmidas/rate-limit": "0.1.0",
68
- "@geekmidas/schema": "0.0.1",
69
72
  "@geekmidas/events": "0.0.1",
70
- "@geekmidas/errors": "0.0.1"
73
+ "@geekmidas/errors": "0.0.1",
74
+ "@geekmidas/cache": "0.0.7",
75
+ "@geekmidas/rate-limit": "0.1.0"
71
76
  },
72
77
  "devDependencies": {
73
78
  "@types/lodash.pick": "~4.4.9",
@@ -0,0 +1 @@
1
+ export { TestEndpointAdaptor } from '../endpoints/TestEndpointAdaptor';
@@ -1,7 +1,7 @@
1
1
  import type { Logger } from '@geekmidas/logger';
2
2
  import type { StandardSchemaV1 } from '@standard-schema/spec';
3
3
  import type { HttpMethod } from '../types';
4
- import { Endpoint, type EndpointSchemas } from './Endpoint';
4
+ import { Endpoint, type EndpointSchemas, ResponseBuilder } from './Endpoint';
5
5
 
6
6
  import type { EnvironmentParser } from '@geekmidas/envkit';
7
7
  import middy, { type MiddlewareObj } from '@middy/core';
@@ -88,6 +88,7 @@ export abstract class AmazonApiGatewayEndpoint<
88
88
  const { body, query, params } = this.getInput(req.event);
89
89
  const headers = req.event.headers as Record<string, string>;
90
90
  const header = Endpoint.createHeaders(headers);
91
+ const cookie = Endpoint.createCookies(headers.cookie);
91
92
 
92
93
  set(req.event, 'body', await this.endpoint.parseInput(body, 'body'));
93
94
 
@@ -102,6 +103,7 @@ export abstract class AmazonApiGatewayEndpoint<
102
103
  await this.endpoint.parseInput(params, 'params'),
103
104
  );
104
105
  set(req.event, 'header', header);
106
+ set(req.event, 'cookie', cookie);
105
107
  } catch (error) {
106
108
  // Convert validation errors to 422 Unprocessable Entity
107
109
  if (error && typeof error === 'object' && Array.isArray(error)) {
@@ -151,10 +153,12 @@ export abstract class AmazonApiGatewayEndpoint<
151
153
  const logger = req.event.logger as TLogger;
152
154
  const services = req.event.services;
153
155
  const header = req.event.header;
156
+ const cookie = req.event.cookie;
154
157
  const session = req.event.session as TSession;
155
158
 
156
159
  const isAuthorized = await this.endpoint.authorize({
157
160
  header,
161
+ cookie,
158
162
  services,
159
163
  logger,
160
164
  session,
@@ -180,6 +184,7 @@ export abstract class AmazonApiGatewayEndpoint<
180
184
  logger,
181
185
  services,
182
186
  header: req.event.header,
187
+ cookie: req.event.cookie,
183
188
  })) as TSession;
184
189
  },
185
190
  };
@@ -216,25 +221,66 @@ export abstract class AmazonApiGatewayEndpoint<
216
221
  ) {
217
222
  const input = this.endpoint.refineInput(event);
218
223
 
219
- const response = await this.endpoint.handler({
220
- header: event.header,
221
- logger: event.logger,
222
- services: event.services,
223
- session: event.session,
224
- ...input,
225
- });
224
+ const responseBuilder = new ResponseBuilder();
225
+ const response = await this.endpoint.handler(
226
+ {
227
+ header: event.header,
228
+ cookie: event.cookie,
229
+ logger: event.logger,
230
+ services: event.services,
231
+ session: event.session,
232
+ ...input,
233
+ },
234
+ responseBuilder,
235
+ );
236
+
237
+ // Check if response has metadata
238
+ let data = response;
239
+ let metadata = responseBuilder.getMetadata();
240
+
241
+ if (Endpoint.hasMetadata(response)) {
242
+ data = response.data;
243
+ metadata = response.metadata;
244
+ }
226
245
 
227
- const output = await this.endpoint.parseOutput(response);
246
+ const output = this.endpoint.outputSchema
247
+ ? await this.endpoint.parseOutput(data)
248
+ : undefined;
228
249
 
229
- const body = output ? JSON.stringify(output) : undefined;
250
+ const body = output !== undefined ? JSON.stringify(output) : undefined;
230
251
 
231
252
  // Store response for middleware access
232
- (event as any).__response = response;
253
+ (event as any).__response = output;
233
254
 
234
- return {
235
- statusCode: this.endpoint.status,
255
+ // Build response with metadata
256
+ const lambdaResponse: AmazonApiGatewayEndpointHandlerResponse = {
257
+ statusCode: metadata.status ?? this.endpoint.status,
236
258
  body,
237
259
  };
260
+
261
+ // Add custom headers
262
+ if (metadata.headers && Object.keys(metadata.headers).length > 0) {
263
+ lambdaResponse.headers = { ...metadata.headers };
264
+ }
265
+
266
+ // Format cookies as Set-Cookie headers
267
+ if (metadata.cookies && metadata.cookies.size > 0) {
268
+ const setCookieHeaders: string[] = [];
269
+ for (const [name, { value, options }] of metadata.cookies) {
270
+ setCookieHeaders.push(
271
+ Endpoint.formatCookieHeader(name, value, options),
272
+ );
273
+ }
274
+
275
+ if (setCookieHeaders.length > 0) {
276
+ lambdaResponse.multiValueHeaders = {
277
+ ...lambdaResponse.multiValueHeaders,
278
+ 'Set-Cookie': setCookieHeaders,
279
+ };
280
+ }
281
+ }
282
+
283
+ return lambdaResponse;
238
284
  }
239
285
 
240
286
  get handler() {
@@ -260,6 +306,7 @@ export type Event<
260
306
  services: ServiceRecord<TServices>;
261
307
  logger: TLogger;
262
308
  header(key: string): string | undefined;
309
+ cookie(name: string): string | undefined;
263
310
  session: TSession;
264
311
  } & TEvent &
265
312
  InferComposableStandardSchema<TInput>;
@@ -275,6 +322,8 @@ type Middleware<
275
322
  export type AmazonApiGatewayEndpointHandlerResponse = {
276
323
  statusCode: number;
277
324
  body: string | undefined;
325
+ headers?: Record<string, string>;
326
+ multiValueHeaders?: Record<string, string[]>;
278
327
  };
279
328
 
280
329
  export type LoggerContext = {