@geekmidas/constructs 0.3.2 → 0.6.0

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 (557) hide show
  1. package/dist/{AWSLambdaFunction-C54a1doJ.mjs → AWSLambdaFunction-BMTaCrG9.mjs} +6 -6
  2. package/dist/AWSLambdaFunction-BMTaCrG9.mjs.map +1 -0
  3. package/dist/{AWSLambdaFunction-BdebRMUh.d.mts → AWSLambdaFunction-BfLF5vNa.d.cts} +6 -6
  4. package/dist/AWSLambdaFunction-BfLF5vNa.d.cts.map +1 -0
  5. package/dist/{AWSLambdaFunction-EPGY4s7i.cjs → AWSLambdaFunction-C1gRqLO7.cjs} +6 -6
  6. package/dist/AWSLambdaFunction-C1gRqLO7.cjs.map +1 -0
  7. package/dist/{AWSLambdaFunction-D0tEOTXQ.d.cts → AWSLambdaFunction-K94K8JU2.d.mts} +6 -6
  8. package/dist/AWSLambdaFunction-K94K8JU2.d.mts.map +1 -0
  9. package/dist/{AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts → AWSLambdaSubscriberAdaptor-B2Gk3fgx.d.cts} +2 -2
  10. package/dist/AWSLambdaSubscriberAdaptor-B2Gk3fgx.d.cts.map +1 -0
  11. package/dist/{AWSLambdaSubscriberAdaptor-BLfO612H.mjs → AWSLambdaSubscriberAdaptor-BD3FwGUb.mjs} +3 -3
  12. package/dist/AWSLambdaSubscriberAdaptor-BD3FwGUb.mjs.map +1 -0
  13. package/dist/{AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs → AWSLambdaSubscriberAdaptor-DQDnt1Xk.cjs} +3 -3
  14. package/dist/AWSLambdaSubscriberAdaptor-DQDnt1Xk.cjs.map +1 -0
  15. package/dist/{AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts → AWSLambdaSubscriberAdaptor-QuMFwltJ.d.mts} +2 -2
  16. package/dist/AWSLambdaSubscriberAdaptor-QuMFwltJ.d.mts.map +1 -0
  17. package/dist/{AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs → AmazonApiGatewayEndpointAdaptor-B4gLJ2dx.mjs} +56 -14
  18. package/dist/AmazonApiGatewayEndpointAdaptor-B4gLJ2dx.mjs.map +1 -0
  19. package/dist/{AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts → AmazonApiGatewayEndpointAdaptor-C987ZCsM.d.cts} +51 -5
  20. package/dist/AmazonApiGatewayEndpointAdaptor-C987ZCsM.d.cts.map +1 -0
  21. package/dist/{AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs → AmazonApiGatewayEndpointAdaptor-CwRKMRr_.cjs} +55 -13
  22. package/dist/AmazonApiGatewayEndpointAdaptor-CwRKMRr_.cjs.map +1 -0
  23. package/dist/{AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts → AmazonApiGatewayEndpointAdaptor-DpPfO6Vj.d.mts} +52 -6
  24. package/dist/AmazonApiGatewayEndpointAdaptor-DpPfO6Vj.d.mts.map +1 -0
  25. package/dist/{AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs → AmazonApiGatewayV1EndpointAdaptor-BeZMu5DZ.cjs} +4 -4
  26. package/dist/AmazonApiGatewayV1EndpointAdaptor-BeZMu5DZ.cjs.map +1 -0
  27. package/dist/{AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts → AmazonApiGatewayV1EndpointAdaptor-DI_5kdqw.d.mts} +5 -5
  28. package/dist/AmazonApiGatewayV1EndpointAdaptor-DI_5kdqw.d.mts.map +1 -0
  29. package/dist/{AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts → AmazonApiGatewayV1EndpointAdaptor-DkGMOpoB.d.cts} +4 -4
  30. package/dist/AmazonApiGatewayV1EndpointAdaptor-DkGMOpoB.d.cts.map +1 -0
  31. package/dist/{AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs → AmazonApiGatewayV1EndpointAdaptor-VccB6FKp.mjs} +4 -4
  32. package/dist/AmazonApiGatewayV1EndpointAdaptor-VccB6FKp.mjs.map +1 -0
  33. package/dist/{AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts → AmazonApiGatewayV2EndpointAdaptor-BtBnMJS_.d.cts} +4 -6
  34. package/dist/AmazonApiGatewayV2EndpointAdaptor-BtBnMJS_.d.cts.map +1 -0
  35. package/dist/{AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs → AmazonApiGatewayV2EndpointAdaptor-BwsL9Gia.cjs} +4 -4
  36. package/dist/AmazonApiGatewayV2EndpointAdaptor-BwsL9Gia.cjs.map +1 -0
  37. package/dist/{AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs → AmazonApiGatewayV2EndpointAdaptor-CljxmUfz.mjs} +4 -4
  38. package/dist/AmazonApiGatewayV2EndpointAdaptor-CljxmUfz.mjs.map +1 -0
  39. package/dist/{AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts → AmazonApiGatewayV2EndpointAdaptor-DnCoqlvw.d.mts} +5 -7
  40. package/dist/AmazonApiGatewayV2EndpointAdaptor-DnCoqlvw.d.mts.map +1 -0
  41. package/dist/{Authorizer-C0ge_tc8.cjs → Authorizer-BXxBee2P.cjs} +1 -1
  42. package/dist/Authorizer-BXxBee2P.cjs.map +1 -0
  43. package/dist/{Authorizer-r9U3y_ms.mjs → Authorizer-BgjU8-z6.mjs} +1 -1
  44. package/dist/Authorizer-BgjU8-z6.mjs.map +1 -0
  45. package/dist/{Authorizer-gWxYsGEp.d.mts → Authorizer-DCcYOx3h.d.mts} +1 -1
  46. package/dist/Authorizer-DCcYOx3h.d.mts.map +1 -0
  47. package/dist/{Authorizer-B-btowNd.d.cts → Authorizer-DWtwC8we.d.cts} +1 -1
  48. package/dist/Authorizer-DWtwC8we.d.cts.map +1 -0
  49. package/dist/{BaseFunctionBuilder-BAtutR6q.d.cts → BaseFunctionBuilder-BqZCqIeU.d.mts} +3 -3
  50. package/dist/BaseFunctionBuilder-BqZCqIeU.d.mts.map +1 -0
  51. package/dist/{BaseFunctionBuilder-DRY419e7.d.mts → BaseFunctionBuilder-CcK691ni.d.cts} +3 -3
  52. package/dist/BaseFunctionBuilder-CcK691ni.d.cts.map +1 -0
  53. package/dist/{BaseFunctionBuilder-Czi1Jwza.mjs → BaseFunctionBuilder-Dsqe6pnn.mjs} +2 -2
  54. package/dist/BaseFunctionBuilder-Dsqe6pnn.mjs.map +1 -0
  55. package/dist/{BaseFunctionBuilder-MYG3C9ug.cjs → BaseFunctionBuilder-Z0XwrKB5.cjs} +2 -2
  56. package/dist/BaseFunctionBuilder-Z0XwrKB5.cjs.map +1 -0
  57. package/dist/Construct-BNDLJJfD.mjs +150 -0
  58. package/dist/Construct-BNDLJJfD.mjs.map +1 -0
  59. package/dist/{Construct-Ba5cMxib.cjs → Construct-CPrCF8NK.cjs} +93 -9
  60. package/dist/Construct-CPrCF8NK.cjs.map +1 -0
  61. package/dist/{Construct-C4rPE67v.d.cts → Construct-Dl0l2d8d.d.cts} +30 -4
  62. package/dist/Construct-Dl0l2d8d.d.cts.map +1 -0
  63. package/dist/{Construct-XrijZFFh.d.mts → Construct-E8QPyHh4.d.mts} +30 -4
  64. package/dist/Construct-E8QPyHh4.d.mts.map +1 -0
  65. package/dist/Construct.cjs +4 -2
  66. package/dist/Construct.d.cts +2 -2
  67. package/dist/Construct.d.mts +2 -2
  68. package/dist/Construct.mjs +2 -2
  69. package/dist/{Cron-CGF4YAfM.cjs → Cron-BmPNTLla.cjs} +3 -3
  70. package/dist/Cron-BmPNTLla.cjs.map +1 -0
  71. package/dist/{Cron-BxhGs5up.mjs → Cron-BpJONaFv.mjs} +3 -3
  72. package/dist/Cron-BpJONaFv.mjs.map +1 -0
  73. package/dist/{Cron-bDLcTvV5.d.cts → Cron-CnmLLh3E.d.mts} +3 -3
  74. package/dist/Cron-CnmLLh3E.d.mts.map +1 -0
  75. package/dist/{Cron-cdjlSKNp.d.mts → Cron-DufAeHry.d.cts} +3 -3
  76. package/dist/Cron-DufAeHry.d.cts.map +1 -0
  77. package/dist/{CronBuilder-d2jh-IB2.mjs → CronBuilder-02HSIHJr.mjs} +4 -4
  78. package/dist/CronBuilder-02HSIHJr.mjs.map +1 -0
  79. package/dist/{CronBuilder-CcxKRtVP.cjs → CronBuilder-DC2zUS8a.cjs} +4 -4
  80. package/dist/CronBuilder-DC2zUS8a.cjs.map +1 -0
  81. package/dist/{CronBuilder-BC4m5-p1.d.mts → CronBuilder-anUSbMxb.d.mts} +4 -4
  82. package/dist/CronBuilder-anUSbMxb.d.mts.map +1 -0
  83. package/dist/{CronBuilder-DKVXyE0Q.d.cts → CronBuilder-fyqf_X8n.d.cts} +4 -4
  84. package/dist/CronBuilder-fyqf_X8n.d.cts.map +1 -0
  85. package/dist/{Endpoint-BVGZXFyV.cjs → Endpoint-BCWVbi8l.cjs} +6 -6
  86. package/dist/Endpoint-BCWVbi8l.cjs.map +1 -0
  87. package/dist/{Endpoint-BPv9_-m_.d.cts → Endpoint-BlcHiGNx.d.cts} +3 -3
  88. package/dist/Endpoint-BlcHiGNx.d.cts.map +1 -0
  89. package/dist/{Endpoint-BdwG75G_.d.mts → Endpoint-DEHuy46S.d.mts} +4 -4
  90. package/dist/Endpoint-DEHuy46S.d.mts.map +1 -0
  91. package/dist/{Endpoint-CuOEswxJ.mjs → Endpoint-ygxv2Ia6.mjs} +6 -6
  92. package/dist/Endpoint-ygxv2Ia6.mjs.map +1 -0
  93. package/dist/{EndpointBuilder-DIy_m1bu.d.cts → EndpointBuilder-DPLAUHqg.d.cts} +4 -4
  94. package/dist/EndpointBuilder-DPLAUHqg.d.cts.map +1 -0
  95. package/dist/{EndpointBuilder-B3az942t.d.mts → EndpointBuilder-DaeCeneF.d.mts} +5 -5
  96. package/dist/EndpointBuilder-DaeCeneF.d.mts.map +1 -0
  97. package/dist/{EndpointBuilder-Cgj1P_ra.cjs → EndpointBuilder-J5D67Y6a.cjs} +6 -6
  98. package/dist/EndpointBuilder-J5D67Y6a.cjs.map +1 -0
  99. package/dist/{EndpointBuilder-DnCB1h1j.mjs → EndpointBuilder-tn4zqoyw.mjs} +6 -6
  100. package/dist/EndpointBuilder-tn4zqoyw.mjs.map +1 -0
  101. package/dist/{EndpointFactory-CbdxPCIH.mjs → EndpointFactory-CIUZTTAF.mjs} +7 -7
  102. package/dist/EndpointFactory-CIUZTTAF.mjs.map +1 -0
  103. package/dist/{EndpointFactory-CyPbm3AD.d.cts → EndpointFactory-CiKcb5PX.d.cts} +4 -4
  104. package/dist/EndpointFactory-CiKcb5PX.d.cts.map +1 -0
  105. package/dist/{EndpointFactory-C-0nE6Jg.d.mts → EndpointFactory-DufM0t2z.d.mts} +4 -4
  106. package/dist/EndpointFactory-DufM0t2z.d.mts.map +1 -0
  107. package/dist/{EndpointFactory-CYj6BYok.cjs → EndpointFactory-d5uwWFkK.cjs} +7 -7
  108. package/dist/EndpointFactory-d5uwWFkK.cjs.map +1 -0
  109. package/dist/{Function-DDZb1525.cjs → Function-2qWSZqYB.cjs} +3 -3
  110. package/dist/Function-2qWSZqYB.cjs.map +1 -0
  111. package/dist/{Function-Cf7f_kCz.d.cts → Function-CbEohg13.d.cts} +3 -3
  112. package/dist/Function-CbEohg13.d.cts.map +1 -0
  113. package/dist/{Function-BVHqIDp9.mjs → Function-CdF1HmFu.mjs} +3 -3
  114. package/dist/Function-CdF1HmFu.mjs.map +1 -0
  115. package/dist/{Function-DN2G6OT5.d.mts → Function-EjIOLxlh.d.mts} +3 -3
  116. package/dist/Function-EjIOLxlh.d.mts.map +1 -0
  117. package/dist/{FunctionBuilder-DswJ-9sD.cjs → FunctionBuilder-B-pbgm09.cjs} +4 -4
  118. package/dist/FunctionBuilder-B-pbgm09.cjs.map +1 -0
  119. package/dist/{FunctionBuilder-CJBzzXL3.d.cts → FunctionBuilder-CX3ooNdq.d.cts} +4 -4
  120. package/dist/FunctionBuilder-CX3ooNdq.d.cts.map +1 -0
  121. package/dist/{FunctionBuilder-Cxx8D2na.d.mts → FunctionBuilder-D11ytDyy.d.mts} +4 -4
  122. package/dist/FunctionBuilder-D11ytDyy.d.mts.map +1 -0
  123. package/dist/{FunctionBuilder-CrDYgfiI.mjs → FunctionBuilder-DaWVthAJ.mjs} +4 -4
  124. package/dist/FunctionBuilder-DaWVthAJ.mjs.map +1 -0
  125. package/dist/{FunctionExecutionWrapper-DF260Aaj.d.mts → FunctionExecutionWrapper-BJcRjH9Z.d.cts} +5 -5
  126. package/dist/FunctionExecutionWrapper-BJcRjH9Z.d.cts.map +1 -0
  127. package/dist/{FunctionExecutionWrapper-BYI2bGTL.cjs → FunctionExecutionWrapper-C6ChBNHs.cjs} +3 -3
  128. package/dist/FunctionExecutionWrapper-C6ChBNHs.cjs.map +1 -0
  129. package/dist/{FunctionExecutionWrapper-Qy8bmgFR.d.cts → FunctionExecutionWrapper-D3RNjGIR.d.mts} +5 -5
  130. package/dist/FunctionExecutionWrapper-D3RNjGIR.d.mts.map +1 -0
  131. package/dist/{FunctionExecutionWrapper-CLDh7Z2_.mjs → FunctionExecutionWrapper-Dj3pmXaN.mjs} +3 -3
  132. package/dist/FunctionExecutionWrapper-Dj3pmXaN.mjs.map +1 -0
  133. package/dist/{HonoEndpointAdaptor-BaPlUhz0.d.mts → HonoEndpointAdaptor-CKP6nrG2.d.mts} +11 -6
  134. package/dist/HonoEndpointAdaptor-CKP6nrG2.d.mts.map +1 -0
  135. package/dist/HonoEndpointAdaptor-Cc8Rnp9G.mjs +251 -0
  136. package/dist/HonoEndpointAdaptor-Cc8Rnp9G.mjs.map +1 -0
  137. package/dist/{HonoEndpointAdaptor-YcRHYALH.d.cts → HonoEndpointAdaptor-hrrvyfw9.d.cts} +10 -5
  138. package/dist/HonoEndpointAdaptor-hrrvyfw9.d.cts.map +1 -0
  139. package/dist/HonoEndpointAdaptor-xGnDZa3a.cjs +257 -0
  140. package/dist/HonoEndpointAdaptor-xGnDZa3a.cjs.map +1 -0
  141. package/dist/{Subscriber-COYMSevD.d.cts → Subscriber-BBcIOkhW.d.cts} +2 -2
  142. package/dist/Subscriber-BBcIOkhW.d.cts.map +1 -0
  143. package/dist/{Subscriber-ikctpU3I.d.mts → Subscriber-BpTAXvbM.d.mts} +2 -2
  144. package/dist/Subscriber-BpTAXvbM.d.mts.map +1 -0
  145. package/dist/{Subscriber-BiHjVXtM.cjs → Subscriber-CL4iYm01.cjs} +2 -2
  146. package/dist/Subscriber-CL4iYm01.cjs.map +1 -0
  147. package/dist/{Subscriber-BmPf9GFb.mjs → Subscriber-CZ8Smwd2.mjs} +2 -2
  148. package/dist/Subscriber-CZ8Smwd2.mjs.map +1 -0
  149. package/dist/{SubscriberBuilder-DJPEeYDJ.mjs → SubscriberBuilder-CxQg3TTm.mjs} +2 -2
  150. package/dist/SubscriberBuilder-CxQg3TTm.mjs.map +1 -0
  151. package/dist/{SubscriberBuilder-Cp1C-xtT.cjs → SubscriberBuilder-D0OS3hd7.cjs} +2 -2
  152. package/dist/SubscriberBuilder-D0OS3hd7.cjs.map +1 -0
  153. package/dist/{SubscriberBuilder-D_9zzllj.d.mts → SubscriberBuilder-D7IgufwB.d.cts} +3 -3
  154. package/dist/SubscriberBuilder-D7IgufwB.d.cts.map +1 -0
  155. package/dist/{SubscriberBuilder-ivHAGIVi.d.cts → SubscriberBuilder-DOFBbWLt.d.mts} +3 -3
  156. package/dist/SubscriberBuilder-DOFBbWLt.d.mts.map +1 -0
  157. package/dist/{TestEndpointAdaptor-DB7bREhS.d.mts → TestEndpointAdaptor-BnJusjf7.d.mts} +4 -4
  158. package/dist/TestEndpointAdaptor-BnJusjf7.d.mts.map +1 -0
  159. package/dist/TestEndpointAdaptor-CPL8ru6q.mjs +170 -0
  160. package/dist/TestEndpointAdaptor-CPL8ru6q.mjs.map +1 -0
  161. package/dist/TestEndpointAdaptor-Ca4K26_d.cjs +176 -0
  162. package/dist/TestEndpointAdaptor-Ca4K26_d.cjs.map +1 -0
  163. package/dist/{TestEndpointAdaptor-C10xBI--.d.cts → TestEndpointAdaptor-EPPTjntv.d.cts} +3 -3
  164. package/dist/TestEndpointAdaptor-EPPTjntv.d.cts.map +1 -0
  165. package/dist/adaptors/aws.cjs +12 -12
  166. package/dist/adaptors/aws.d.cts +15 -14
  167. package/dist/adaptors/aws.d.mts +16 -15
  168. package/dist/adaptors/aws.mjs +12 -12
  169. package/dist/adaptors/hono.cjs +10 -9
  170. package/dist/adaptors/hono.d.cts +8 -8
  171. package/dist/adaptors/hono.d.mts +9 -9
  172. package/dist/adaptors/hono.mjs +10 -9
  173. package/dist/adaptors/testing.cjs +8 -7
  174. package/dist/adaptors/testing.d.cts +8 -8
  175. package/dist/adaptors/testing.d.mts +9 -9
  176. package/dist/adaptors/testing.mjs +8 -7
  177. package/dist/crons/Cron.cjs +6 -6
  178. package/dist/crons/Cron.d.cts +6 -6
  179. package/dist/crons/Cron.d.mts +6 -6
  180. package/dist/crons/Cron.mjs +6 -6
  181. package/dist/crons/CronBuilder.cjs +7 -7
  182. package/dist/crons/CronBuilder.d.cts +7 -7
  183. package/dist/crons/CronBuilder.d.mts +7 -7
  184. package/dist/crons/CronBuilder.mjs +7 -7
  185. package/dist/crons/index.cjs +7 -7
  186. package/dist/crons/index.cjs.map +1 -1
  187. package/dist/crons/index.d.cts +11 -11
  188. package/dist/crons/index.d.mts +7 -7
  189. package/dist/crons/index.mjs +7 -7
  190. package/dist/crons/index.mjs.map +1 -1
  191. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +7 -7
  192. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +10 -9
  193. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +11 -10
  194. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +7 -7
  195. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +8 -8
  196. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +10 -9
  197. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +11 -10
  198. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +8 -8
  199. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +8 -8
  200. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +11 -10
  201. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +12 -11
  202. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +8 -8
  203. package/dist/endpoints/Authorizer.cjs +1 -1
  204. package/dist/endpoints/Authorizer.d.cts +1 -1
  205. package/dist/endpoints/Authorizer.d.mts +1 -1
  206. package/dist/endpoints/Authorizer.mjs +1 -1
  207. package/dist/endpoints/Endpoint.cjs +6 -6
  208. package/dist/endpoints/Endpoint.d.cts +7 -7
  209. package/dist/endpoints/Endpoint.d.mts +8 -8
  210. package/dist/endpoints/Endpoint.mjs +6 -6
  211. package/dist/endpoints/EndpointBuilder.cjs +9 -9
  212. package/dist/endpoints/EndpointBuilder.d.cts +8 -8
  213. package/dist/endpoints/EndpointBuilder.d.mts +9 -9
  214. package/dist/endpoints/EndpointBuilder.mjs +9 -9
  215. package/dist/endpoints/EndpointFactory.cjs +10 -10
  216. package/dist/endpoints/EndpointFactory.d.cts +9 -9
  217. package/dist/endpoints/EndpointFactory.d.mts +10 -10
  218. package/dist/endpoints/EndpointFactory.mjs +10 -10
  219. package/dist/endpoints/HonoEndpointAdaptor.cjs +10 -9
  220. package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -8
  221. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
  222. package/dist/endpoints/HonoEndpointAdaptor.mjs +10 -9
  223. package/dist/endpoints/TestEndpointAdaptor.cjs +8 -7
  224. package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -8
  225. package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
  226. package/dist/endpoints/TestEndpointAdaptor.mjs +8 -7
  227. package/dist/endpoints/audit.d.cts +7 -7
  228. package/dist/endpoints/audit.d.mts +8 -8
  229. package/dist/endpoints/helpers.cjs +7 -7
  230. package/dist/endpoints/helpers.d.cts +7 -7
  231. package/dist/endpoints/helpers.d.cts.map +1 -1
  232. package/dist/endpoints/helpers.d.mts +8 -8
  233. package/dist/endpoints/helpers.d.mts.map +1 -1
  234. package/dist/endpoints/helpers.mjs +7 -7
  235. package/dist/endpoints/index.cjs +20 -10
  236. package/dist/endpoints/index.cjs.map +1 -1
  237. package/dist/endpoints/index.d.cts +14 -12
  238. package/dist/endpoints/index.d.cts.map +1 -1
  239. package/dist/endpoints/index.d.mts +15 -13
  240. package/dist/endpoints/index.d.mts.map +1 -1
  241. package/dist/endpoints/index.mjs +13 -11
  242. package/dist/endpoints/index.mjs.map +1 -1
  243. package/dist/endpoints/lazyAccessors.cjs +10 -0
  244. package/dist/endpoints/lazyAccessors.d.cts +10 -0
  245. package/dist/endpoints/lazyAccessors.d.mts +10 -0
  246. package/dist/endpoints/lazyAccessors.mjs +3 -0
  247. package/dist/endpoints/parseHonoQuery.cjs +1 -1
  248. package/dist/endpoints/parseHonoQuery.mjs +1 -1
  249. package/dist/endpoints/parseQueryParams.d.cts.map +1 -1
  250. package/dist/endpoints/parseQueryParams.d.mts.map +1 -1
  251. package/dist/endpoints/processAudits.d.cts +7 -7
  252. package/dist/endpoints/processAudits.d.cts.map +1 -1
  253. package/dist/endpoints/processAudits.d.mts +8 -8
  254. package/dist/endpoints/processAudits.d.mts.map +1 -1
  255. package/dist/endpoints/rls.cjs +1 -1
  256. package/dist/endpoints/rls.d.cts +7 -7
  257. package/dist/endpoints/rls.d.mts +8 -8
  258. package/dist/endpoints/rls.mjs +1 -1
  259. package/dist/functions/AWSLambdaFunction.cjs +6 -6
  260. package/dist/functions/AWSLambdaFunction.d.cts +4 -4
  261. package/dist/functions/AWSLambdaFunction.d.mts +4 -4
  262. package/dist/functions/AWSLambdaFunction.mjs +6 -6
  263. package/dist/functions/BaseFunctionBuilder.cjs +2 -2
  264. package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
  265. package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
  266. package/dist/functions/BaseFunctionBuilder.mjs +2 -2
  267. package/dist/functions/Function.cjs +2 -2
  268. package/dist/functions/Function.d.cts +2 -2
  269. package/dist/functions/Function.d.mts +2 -2
  270. package/dist/functions/Function.mjs +2 -2
  271. package/dist/functions/FunctionBuilder.cjs +4 -4
  272. package/dist/functions/FunctionBuilder.d.cts +4 -4
  273. package/dist/functions/FunctionBuilder.d.mts +4 -4
  274. package/dist/functions/FunctionBuilder.mjs +4 -4
  275. package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
  276. package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
  277. package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
  278. package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
  279. package/dist/functions/TestFunctionAdaptor.cjs +7 -7
  280. package/dist/functions/TestFunctionAdaptor.cjs.map +1 -1
  281. package/dist/functions/TestFunctionAdaptor.d.cts +3 -3
  282. package/dist/functions/TestFunctionAdaptor.d.cts.map +1 -1
  283. package/dist/functions/TestFunctionAdaptor.d.mts +3 -3
  284. package/dist/functions/TestFunctionAdaptor.d.mts.map +1 -1
  285. package/dist/functions/TestFunctionAdaptor.mjs +7 -7
  286. package/dist/functions/TestFunctionAdaptor.mjs.map +1 -1
  287. package/dist/functions/index.cjs +5 -5
  288. package/dist/functions/index.d.cts +5 -5
  289. package/dist/functions/index.d.mts +5 -5
  290. package/dist/functions/index.mjs +5 -5
  291. package/dist/{functions-fTid0RMK.cjs → functions-CUEv5NC3.cjs} +2 -2
  292. package/dist/functions-CUEv5NC3.cjs.map +1 -0
  293. package/dist/functions-DOYBrb7n.mjs +8 -0
  294. package/dist/functions-DOYBrb7n.mjs.map +1 -0
  295. package/dist/{helpers-ByRTDO_m.mjs → helpers-Dl1eszfi.mjs} +2 -2
  296. package/dist/helpers-Dl1eszfi.mjs.map +1 -0
  297. package/dist/{helpers-BcP1tXAi.cjs → helpers-QMdfdnvU.cjs} +2 -2
  298. package/dist/helpers-QMdfdnvU.cjs.map +1 -0
  299. package/dist/{index-BWzGIj06.d.mts → index-BrGtMlpJ.d.cts} +2 -2
  300. package/dist/index-BrGtMlpJ.d.cts.map +1 -0
  301. package/dist/index-Dn4py3Db.d.mts +12 -0
  302. package/dist/index-Dn4py3Db.d.mts.map +1 -0
  303. package/dist/index.cjs +4 -2
  304. package/dist/index.d.cts +3 -2
  305. package/dist/index.d.mts +4 -3
  306. package/dist/index.mjs +2 -2
  307. package/dist/lazyAccessors-B-Jgkg2o.mjs +175 -0
  308. package/dist/lazyAccessors-B-Jgkg2o.mjs.map +1 -0
  309. package/dist/lazyAccessors-B8Hhras9.cjs +223 -0
  310. package/dist/lazyAccessors-B8Hhras9.cjs.map +1 -0
  311. package/dist/lazyAccessors-BFAj2-S4.d.mts +49 -0
  312. package/dist/lazyAccessors-BFAj2-S4.d.mts.map +1 -0
  313. package/dist/lazyAccessors-knaNZuTN.d.cts +49 -0
  314. package/dist/lazyAccessors-knaNZuTN.d.cts.map +1 -0
  315. package/dist/{parseHonoQuery-CZC5_97v.cjs → parseHonoQuery-D4MhxTRc.cjs} +1 -1
  316. package/dist/parseHonoQuery-D4MhxTRc.cjs.map +1 -0
  317. package/dist/{parseHonoQuery-DDgIkTO4.mjs → parseHonoQuery-DpK3sGPc.mjs} +1 -1
  318. package/dist/parseHonoQuery-DpK3sGPc.mjs.map +1 -0
  319. package/dist/parseQueryParams-BSNkjmZ9.cjs.map +1 -1
  320. package/dist/parseQueryParams-UMTRnRrW.mjs.map +1 -1
  321. package/dist/processAudits-CzHkPokQ.cjs.map +1 -1
  322. package/dist/processAudits-Dj8UGqcW.mjs.map +1 -1
  323. package/dist/publisher-BXG9YiRi.d.mts +16 -0
  324. package/dist/publisher-BXG9YiRi.d.mts.map +1 -0
  325. package/dist/publisher-Bw4770Hi.mjs.map +1 -1
  326. package/dist/publisher-D9ngDXg3.d.cts +16 -0
  327. package/dist/publisher-D9ngDXg3.d.cts.map +1 -0
  328. package/dist/publisher-lFQleddL.cjs.map +1 -1
  329. package/dist/publisher.d.cts +3 -16
  330. package/dist/publisher.d.mts +3 -16
  331. package/dist/{rls-CmJ7bRsz.cjs → rls-BrywnrQb.cjs} +1 -1
  332. package/dist/{rls-CmJ7bRsz.cjs.map → rls-BrywnrQb.cjs.map} +1 -1
  333. package/dist/{rls-Bf3FRwto.mjs → rls-C0cWOnk4.mjs} +1 -1
  334. package/dist/{rls-Bf3FRwto.mjs.map → rls-C0cWOnk4.mjs.map} +1 -1
  335. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
  336. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
  337. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
  338. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
  339. package/dist/subscribers/Subscriber.cjs +2 -2
  340. package/dist/subscribers/Subscriber.d.cts +2 -2
  341. package/dist/subscribers/Subscriber.d.mts +2 -2
  342. package/dist/subscribers/Subscriber.mjs +2 -2
  343. package/dist/subscribers/SubscriberBuilder.cjs +3 -3
  344. package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
  345. package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
  346. package/dist/subscribers/SubscriberBuilder.mjs +3 -3
  347. package/dist/subscribers/index.cjs +3 -3
  348. package/dist/subscribers/index.cjs.map +1 -1
  349. package/dist/subscribers/index.d.cts +5 -5
  350. package/dist/subscribers/index.d.cts.map +1 -1
  351. package/dist/subscribers/index.d.mts +5 -5
  352. package/dist/subscribers/index.d.mts.map +1 -1
  353. package/dist/subscribers/index.mjs +3 -3
  354. package/dist/subscribers/index.mjs.map +1 -1
  355. package/dist/telemetry-BTaiRqPo.d.cts +95 -0
  356. package/dist/telemetry-BTaiRqPo.d.cts.map +1 -0
  357. package/dist/telemetry-yAHf5yDs.d.mts +95 -0
  358. package/dist/telemetry-yAHf5yDs.d.mts.map +1 -0
  359. package/dist/telemetry.cjs +0 -0
  360. package/dist/telemetry.d.cts +2 -0
  361. package/dist/telemetry.d.mts +2 -0
  362. package/dist/telemetry.mjs +0 -0
  363. package/dist/types-B5H3piDg.d.cts.map +1 -1
  364. package/dist/{types-DdIlpxAd.d.mts → types-Dw-iLd3Y.d.mts} +1 -1
  365. package/dist/types-Dw-iLd3Y.d.mts.map +1 -0
  366. package/dist/types.d.mts +1 -1
  367. package/package.json +19 -18
  368. package/src/Construct.ts +189 -94
  369. package/src/__benchmarks__/build-time-optimization.bench.ts +274 -0
  370. package/src/__benchmarks__/endpoint.bench.ts +375 -375
  371. package/src/__benchmarks__/fixtures.ts +241 -0
  372. package/src/__benchmarks__/hono-adaptor.bench.ts +533 -0
  373. package/src/__benchmarks__/hono-server.bench.ts +206 -206
  374. package/src/__benchmarks__/response-builder.bench.ts +428 -0
  375. package/src/__benchmarks__/strategies/strategy-a-lazy-services.ts +319 -0
  376. package/src/__benchmarks__/strategies/strategy-c-middleware.ts +530 -0
  377. package/src/__benchmarks__/strategies/strategy-d-opt-in-events.ts +567 -0
  378. package/src/__tests__/Construct.environment.spec.ts +572 -351
  379. package/src/__tests__/publisher.setting.spec.ts +496 -499
  380. package/src/__tests__/publisher.spec.ts +440 -442
  381. package/src/crons/Cron.ts +117 -117
  382. package/src/crons/CronBuilder.ts +237 -238
  383. package/src/crons/__tests__/Cron.spec.ts +448 -448
  384. package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +214 -214
  385. package/src/crons/index.ts +4 -4
  386. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +571 -463
  387. package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +86 -86
  388. package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +85 -81
  389. package/src/endpoints/Authorizer.ts +100 -100
  390. package/src/endpoints/Endpoint.ts +921 -937
  391. package/src/endpoints/EndpointBuilder.ts +703 -703
  392. package/src/endpoints/EndpointFactory.ts +1054 -1056
  393. package/src/endpoints/HonoEndpointAdaptor.ts +621 -548
  394. package/src/endpoints/TestEndpointAdaptor.ts +372 -353
  395. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.audits.spec.ts +499 -0
  396. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +541 -542
  397. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +1172 -1174
  398. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +599 -599
  399. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +710 -710
  400. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.factory-publisher.spec.ts +280 -280
  401. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +924 -730
  402. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.rls.spec.ts +307 -0
  403. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.spec.ts +408 -408
  404. package/src/endpoints/__tests__/Authorizer.spec.ts +286 -0
  405. package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +162 -162
  406. package/src/endpoints/__tests__/Endpoint.headers.spec.ts +182 -182
  407. package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +158 -159
  408. package/src/endpoints/__tests__/Endpoint.spec.ts +819 -822
  409. package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +427 -427
  410. package/src/endpoints/__tests__/EndpointBuilder.spec.ts +478 -478
  411. package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +426 -426
  412. package/src/endpoints/__tests__/EndpointFactory.database-auditor.spec.ts +501 -501
  413. package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +177 -177
  414. package/src/endpoints/__tests__/EndpointFactory.spec.ts +471 -471
  415. package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +143 -143
  416. package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +663 -663
  417. package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +608 -608
  418. package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +561 -561
  419. package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +1036 -1036
  420. package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +278 -278
  421. package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +1093 -1093
  422. package/src/endpoints/__tests__/ResponseBuilder.spec.ts +230 -230
  423. package/src/endpoints/__tests__/TestEndpointAdaptor.audits.spec.ts +569 -569
  424. package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +841 -841
  425. package/src/endpoints/__tests__/endpoint-types.test.ts +68 -68
  426. package/src/endpoints/__tests__/helpers.spec.ts +37 -0
  427. package/src/endpoints/__tests__/lazyAccessors.spec.ts +330 -0
  428. package/src/endpoints/__tests__/processAudits.spec.ts +631 -0
  429. package/src/endpoints/audit.ts +51 -51
  430. package/src/endpoints/helpers.ts +34 -35
  431. package/src/endpoints/index.ts +33 -23
  432. package/src/endpoints/lazyAccessors.ts +241 -0
  433. package/src/endpoints/parseHonoQuery.ts +41 -41
  434. package/src/endpoints/parseQueryParams.ts +36 -36
  435. package/src/endpoints/processAudits.ts +269 -269
  436. package/src/endpoints/rls.ts +16 -16
  437. package/src/functions/AWSLambdaFunction.ts +294 -295
  438. package/src/functions/BaseFunctionBuilder.ts +185 -185
  439. package/src/functions/Function.ts +190 -190
  440. package/src/functions/FunctionBuilder.ts +353 -353
  441. package/src/functions/FunctionExecutionWrapper.ts +199 -200
  442. package/src/functions/TestFunctionAdaptor.ts +191 -191
  443. package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +424 -424
  444. package/src/functions/__tests__/Function.audits.spec.ts +364 -364
  445. package/src/functions/__tests__/Function.spec.ts +453 -454
  446. package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +179 -179
  447. package/src/functions/__tests__/TestFunctionAdaptor.spec.ts +369 -369
  448. package/src/functions/index.ts +6 -4
  449. package/src/index.ts +18 -9
  450. package/src/publisher.ts +71 -72
  451. package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +244 -248
  452. package/src/subscribers/Subscriber.ts +82 -84
  453. package/src/subscribers/SubscriberBuilder.ts +129 -129
  454. package/src/subscribers/__tests__/AWSLambdaSubscriberAdaptor.spec.ts +589 -589
  455. package/src/subscribers/__tests__/Subscriber.spec.ts +402 -404
  456. package/src/subscribers/index.ts +1 -0
  457. package/src/telemetry.ts +103 -0
  458. package/src/types.ts +7 -7
  459. package/test.ts +58 -59
  460. package/dist/AWSLambdaFunction-BdebRMUh.d.mts.map +0 -1
  461. package/dist/AWSLambdaFunction-C54a1doJ.mjs.map +0 -1
  462. package/dist/AWSLambdaFunction-D0tEOTXQ.d.cts.map +0 -1
  463. package/dist/AWSLambdaFunction-EPGY4s7i.cjs.map +0 -1
  464. package/dist/AWSLambdaSubscriberAdaptor-BLfO612H.mjs.map +0 -1
  465. package/dist/AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs.map +0 -1
  466. package/dist/AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts.map +0 -1
  467. package/dist/AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts.map +0 -1
  468. package/dist/AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs.map +0 -1
  469. package/dist/AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts.map +0 -1
  470. package/dist/AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs.map +0 -1
  471. package/dist/AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts.map +0 -1
  472. package/dist/AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs.map +0 -1
  473. package/dist/AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs.map +0 -1
  474. package/dist/AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts.map +0 -1
  475. package/dist/AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts.map +0 -1
  476. package/dist/AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs.map +0 -1
  477. package/dist/AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts.map +0 -1
  478. package/dist/AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts.map +0 -1
  479. package/dist/AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs.map +0 -1
  480. package/dist/Authorizer-B-btowNd.d.cts.map +0 -1
  481. package/dist/Authorizer-C0ge_tc8.cjs.map +0 -1
  482. package/dist/Authorizer-gWxYsGEp.d.mts.map +0 -1
  483. package/dist/Authorizer-r9U3y_ms.mjs.map +0 -1
  484. package/dist/BaseFunctionBuilder-BAtutR6q.d.cts.map +0 -1
  485. package/dist/BaseFunctionBuilder-Czi1Jwza.mjs.map +0 -1
  486. package/dist/BaseFunctionBuilder-DRY419e7.d.mts.map +0 -1
  487. package/dist/BaseFunctionBuilder-MYG3C9ug.cjs.map +0 -1
  488. package/dist/Construct-Ba5cMxib.cjs.map +0 -1
  489. package/dist/Construct-C4rPE67v.d.cts.map +0 -1
  490. package/dist/Construct-DdyGHuag.mjs +0 -78
  491. package/dist/Construct-DdyGHuag.mjs.map +0 -1
  492. package/dist/Construct-XrijZFFh.d.mts.map +0 -1
  493. package/dist/Cron-BxhGs5up.mjs.map +0 -1
  494. package/dist/Cron-CGF4YAfM.cjs.map +0 -1
  495. package/dist/Cron-bDLcTvV5.d.cts.map +0 -1
  496. package/dist/Cron-cdjlSKNp.d.mts.map +0 -1
  497. package/dist/CronBuilder-BC4m5-p1.d.mts.map +0 -1
  498. package/dist/CronBuilder-CcxKRtVP.cjs.map +0 -1
  499. package/dist/CronBuilder-DKVXyE0Q.d.cts.map +0 -1
  500. package/dist/CronBuilder-d2jh-IB2.mjs.map +0 -1
  501. package/dist/Endpoint-BPv9_-m_.d.cts.map +0 -1
  502. package/dist/Endpoint-BVGZXFyV.cjs.map +0 -1
  503. package/dist/Endpoint-BdwG75G_.d.mts.map +0 -1
  504. package/dist/Endpoint-CuOEswxJ.mjs.map +0 -1
  505. package/dist/EndpointBuilder-B3az942t.d.mts.map +0 -1
  506. package/dist/EndpointBuilder-Cgj1P_ra.cjs.map +0 -1
  507. package/dist/EndpointBuilder-DIy_m1bu.d.cts.map +0 -1
  508. package/dist/EndpointBuilder-DnCB1h1j.mjs.map +0 -1
  509. package/dist/EndpointFactory-C-0nE6Jg.d.mts.map +0 -1
  510. package/dist/EndpointFactory-CYj6BYok.cjs.map +0 -1
  511. package/dist/EndpointFactory-CbdxPCIH.mjs.map +0 -1
  512. package/dist/EndpointFactory-CyPbm3AD.d.cts.map +0 -1
  513. package/dist/Function-BVHqIDp9.mjs.map +0 -1
  514. package/dist/Function-Cf7f_kCz.d.cts.map +0 -1
  515. package/dist/Function-DDZb1525.cjs.map +0 -1
  516. package/dist/Function-DN2G6OT5.d.mts.map +0 -1
  517. package/dist/FunctionBuilder-CJBzzXL3.d.cts.map +0 -1
  518. package/dist/FunctionBuilder-CrDYgfiI.mjs.map +0 -1
  519. package/dist/FunctionBuilder-Cxx8D2na.d.mts.map +0 -1
  520. package/dist/FunctionBuilder-DswJ-9sD.cjs.map +0 -1
  521. package/dist/FunctionExecutionWrapper-BYI2bGTL.cjs.map +0 -1
  522. package/dist/FunctionExecutionWrapper-CLDh7Z2_.mjs.map +0 -1
  523. package/dist/FunctionExecutionWrapper-DF260Aaj.d.mts.map +0 -1
  524. package/dist/FunctionExecutionWrapper-Qy8bmgFR.d.cts.map +0 -1
  525. package/dist/HonoEndpointAdaptor-BaPlUhz0.d.mts.map +0 -1
  526. package/dist/HonoEndpointAdaptor-CQe2FqMR.cjs +0 -234
  527. package/dist/HonoEndpointAdaptor-CQe2FqMR.cjs.map +0 -1
  528. package/dist/HonoEndpointAdaptor-Ce-2HBxn.mjs +0 -228
  529. package/dist/HonoEndpointAdaptor-Ce-2HBxn.mjs.map +0 -1
  530. package/dist/HonoEndpointAdaptor-YcRHYALH.d.cts.map +0 -1
  531. package/dist/Subscriber-BiHjVXtM.cjs.map +0 -1
  532. package/dist/Subscriber-BmPf9GFb.mjs.map +0 -1
  533. package/dist/Subscriber-COYMSevD.d.cts.map +0 -1
  534. package/dist/Subscriber-ikctpU3I.d.mts.map +0 -1
  535. package/dist/SubscriberBuilder-Cp1C-xtT.cjs.map +0 -1
  536. package/dist/SubscriberBuilder-DJPEeYDJ.mjs.map +0 -1
  537. package/dist/SubscriberBuilder-D_9zzllj.d.mts.map +0 -1
  538. package/dist/SubscriberBuilder-ivHAGIVi.d.cts.map +0 -1
  539. package/dist/TestEndpointAdaptor-C10xBI--.d.cts.map +0 -1
  540. package/dist/TestEndpointAdaptor-DB7bREhS.d.mts.map +0 -1
  541. package/dist/TestEndpointAdaptor-DJgik2Wj.mjs +0 -160
  542. package/dist/TestEndpointAdaptor-DJgik2Wj.mjs.map +0 -1
  543. package/dist/TestEndpointAdaptor-ZbtQiuHE.cjs +0 -166
  544. package/dist/TestEndpointAdaptor-ZbtQiuHE.cjs.map +0 -1
  545. package/dist/functions-C6EK1xL6.mjs +0 -8
  546. package/dist/functions-C6EK1xL6.mjs.map +0 -1
  547. package/dist/functions-fTid0RMK.cjs.map +0 -1
  548. package/dist/helpers-BcP1tXAi.cjs.map +0 -1
  549. package/dist/helpers-ByRTDO_m.mjs.map +0 -1
  550. package/dist/index-BWzGIj06.d.mts.map +0 -1
  551. package/dist/index-DmFozqLd.d.cts +0 -12
  552. package/dist/index-DmFozqLd.d.cts.map +0 -1
  553. package/dist/parseHonoQuery-CZC5_97v.cjs.map +0 -1
  554. package/dist/parseHonoQuery-DDgIkTO4.mjs.map +0 -1
  555. package/dist/publisher.d.cts.map +0 -1
  556. package/dist/publisher.d.mts.map +0 -1
  557. package/dist/types-DdIlpxAd.d.mts.map +0 -1
@@ -7,412 +7,412 @@ import { AmazonApiGatewayV2Endpoint } from '../AmazonApiGatewayV2EndpointAdaptor
7
7
  import { e } from '../EndpointFactory';
8
8
 
9
9
  describe('AmazonApiGatewayV2Endpoint', () => {
10
- let envParser: EnvironmentParser<{}>;
11
- let mockContext: Context;
12
-
13
- beforeEach(() => {
14
- envParser = new EnvironmentParser({});
15
- mockContext = createMockContext();
16
- });
17
-
18
- describe('getInput', () => {
19
- it('should parse request body, query, and params', () => {
20
- const endpoint = e.get('/test').handle(() => ({ success: true }));
21
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
22
-
23
- const event = createMockV2Event({
24
- rawQueryString: 'foo=bar&baz=qux',
25
- queryStringParameters: { foo: 'bar', baz: 'qux' },
26
- pathParameters: { id: '123' },
27
- body: JSON.stringify({ name: 'test' }),
28
- });
29
-
30
- const result = adapter.getInput(event);
31
-
32
- expect(result).toEqual({
33
- body: { name: 'test' },
34
- query: { foo: 'bar', baz: 'qux' },
35
- params: { id: '123' },
36
- });
37
- });
38
-
39
- it('should handle missing body, query, and params', () => {
40
- const endpoint = e.get('/test').handle(() => ({ success: true }));
41
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
42
-
43
- const event = createMockV2Event();
44
-
45
- const result = adapter.getInput(event);
46
-
47
- expect(result).toEqual({
48
- body: undefined,
49
- query: {},
50
- params: {},
51
- });
52
- });
53
- });
54
-
55
- describe('getLoggerContext', () => {
56
- it('should extract logger context from event and context', () => {
57
- const endpoint = e.get('/test').handle(() => ({ success: true }));
58
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
59
-
60
- const event = createMockV2Event({
61
- requestContext: {
62
- ...createMockV2Event().requestContext,
63
- http: {
64
- method: 'GET',
65
- path: '/test/123',
66
- protocol: 'HTTP/1.1',
67
- sourceIp: '192.168.1.1',
68
- userAgent: 'Mozilla/5.0 Test',
69
- },
70
- requestId: 'event-request-id',
71
- },
72
- });
73
-
74
- const result = adapter.getLoggerContext(event, mockContext);
75
-
76
- expect(result).toEqual({
77
- fn: {
78
- name: 'test-function',
79
- version: '1',
80
- },
81
- req: {
82
- id: 'event-request-id',
83
- awsRequestId: 'test-request-id',
84
- ip: '192.168.1.1',
85
- userAgent: 'Mozilla/5.0 Test',
86
- path: '/test/123',
87
- },
88
- });
89
- });
90
-
91
- it('should handle missing user agent', () => {
92
- const endpoint = e.get('/test').handle(() => ({ success: true }));
93
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
94
-
95
- const event = createMockV2Event({
96
- requestContext: {
97
- ...createMockV2Event().requestContext,
98
- http: {
99
- method: 'GET',
100
- path: '/test',
101
- protocol: 'HTTP/1.1',
102
- sourceIp: '127.0.0.1',
103
- userAgent: '',
104
- },
105
- },
106
- });
107
-
108
- const result = adapter.getLoggerContext(event, mockContext);
109
-
110
- expect(result.req.userAgent).toBeUndefined();
111
- });
112
- });
113
-
114
- describe('integration', () => {
115
- it('should handle endpoint with body schema validation', async () => {
116
- const endpoint = e
117
- .post('/users')
118
- .body(z.object({ name: z.string(), age: z.number() }))
119
- .output(z.object({ id: z.string(), name: z.string() }))
120
- .handle(async ({ body }) => ({
121
- id: '123',
122
- name: body.name,
123
- }));
124
-
125
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
126
-
127
- const event = createMockV2Event({
128
- routeKey: 'POST /users',
129
- rawPath: '/users',
130
- headers: { 'content-type': 'application/json' },
131
- body: JSON.stringify({ name: 'John', age: 30 }),
132
- });
133
- // @ts-ignore
134
- const response = await adapter.handler(event, mockContext);
135
-
136
- expect(response).toEqual({
137
- statusCode: 200,
138
- body: JSON.stringify({ id: '123', name: 'John' }),
139
- });
140
- });
141
-
142
- it('should handle array query parameters (comma-separated)', async () => {
143
- const endpoint = e
144
- .get('/search')
145
- .query(
146
- z.object({
147
- tags: z.array(z.string()),
148
- limit: z.coerce.number().default(10),
149
- }),
150
- )
151
- .output(
152
- z.object({
153
- tags: z.array(z.string()),
154
- limit: z.number(),
155
- }),
156
- )
157
- .handle(async ({ query }) => ({
158
- tags: query.tags,
159
- limit: query.limit,
160
- }));
161
-
162
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
163
-
164
- const event = createMockV2Event({
165
- routeKey: 'GET /search',
166
- rawPath: '/search',
167
- rawQueryString: 'tags=nodejs,typescript,javascript&limit=20',
168
- queryStringParameters: {
169
- tags: 'nodejs,typescript,javascript',
170
- limit: '20',
171
- },
172
- });
173
- // @ts-ignore
174
- const response = await adapter.handler(event, mockContext);
175
-
176
- expect(response).toEqual({
177
- statusCode: 200,
178
- body: JSON.stringify({
179
- tags: ['nodejs', 'typescript', 'javascript'],
180
- limit: 20,
181
- }),
182
- });
183
- });
184
-
185
- it('should handle object query parameters with dot notation', async () => {
186
- const endpoint = e
187
- .get('/search')
188
- .query(
189
- z.object({
190
- filter: z.object({
191
- category: z.string(),
192
- active: z.coerce.boolean(),
193
- }),
194
- }),
195
- )
196
- .output(
197
- z.object({
198
- filter: z.object({
199
- category: z.string(),
200
- active: z.boolean(),
201
- }),
202
- }),
203
- )
204
- .handle(async ({ query }) => ({
205
- filter: query.filter,
206
- }));
207
-
208
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
209
-
210
- const event = createMockV2Event({
211
- routeKey: 'GET /search',
212
- rawPath: '/search',
213
- rawQueryString: 'filter.category=electronics&filter.active=true',
214
- queryStringParameters: {
215
- 'filter.category': 'electronics',
216
- 'filter.active': 'true',
217
- },
218
- });
219
- // @ts-ignore
220
- const response = await adapter.handler(event, mockContext);
221
-
222
- expect(response).toEqual({
223
- statusCode: 200,
224
- body: JSON.stringify({
225
- filter: {
226
- category: 'electronics',
227
- active: true,
228
- },
229
- }),
230
- });
231
- });
232
-
233
- it('should handle endpoint with query and params', async () => {
234
- const endpoint = e
235
- .get('/users/:id')
236
- .params(z.object({ id: z.string() }))
237
- .query(z.object({ include: z.string().optional() }))
238
- .output(z.object({ id: z.string(), include: z.string().optional() }))
239
- .handle(async ({ params, query }) => ({
240
- id: params.id,
241
- include: query.include,
242
- }));
243
-
244
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
245
-
246
- const event = createMockV2Event({
247
- routeKey: 'GET /users/{id}',
248
- rawPath: '/users/123',
249
- rawQueryString: 'include=profile',
250
- queryStringParameters: { include: 'profile' },
251
- pathParameters: { id: '123' },
252
- });
253
- // @ts-ignore
254
- const response = await adapter.handler(event, mockContext);
255
-
256
- expect(response).toEqual({
257
- statusCode: 200,
258
- body: JSON.stringify({ id: '123', include: 'profile' }),
259
- });
260
- });
261
-
262
- describe('response metadata', () => {
263
- it('should set response cookies', async () => {
264
- const endpoint = e
265
- .get('/test')
266
- .output(z.object({ success: z.boolean() }))
267
- .handle((_, response) => {
268
- response.cookie('session', 'abc123', {
269
- httpOnly: true,
270
- secure: true,
271
- });
272
- return { success: true };
273
- });
274
-
275
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
276
- const event = createMockV2Event();
277
- // @ts-ignore
278
- const response = await adapter.handler(event, mockContext);
279
-
280
- expect(response.multiValueHeaders?.['Set-Cookie']).toEqual([
281
- 'session=abc123; HttpOnly; Secure',
282
- ]);
283
- expect(response.statusCode).toBe(200);
284
- expect(response.body).toBe(JSON.stringify({ success: true }));
285
- });
286
-
287
- it('should set custom headers', async () => {
288
- const endpoint = e
289
- .get('/test')
290
- .output(z.object({ success: z.boolean() }))
291
- .handle((_, response) => {
292
- response.header('X-Custom-Header', 'custom-value');
293
- response.header('X-Request-Id', '12345');
294
- return { success: true };
295
- });
296
-
297
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
298
- const event = createMockV2Event();
299
- // @ts-ignore
300
- const response = await adapter.handler(event, mockContext);
301
-
302
- expect(response.headers).toEqual({
303
- 'X-Custom-Header': 'custom-value',
304
- 'X-Request-Id': '12345',
305
- });
306
- });
307
-
308
- it('should set custom status code', async () => {
309
- const endpoint = e
310
- .post('/test')
311
- .output(z.object({ id: z.string() }))
312
- .handle((_, response) => {
313
- response.status(201);
314
- return { id: '123' };
315
- });
316
-
317
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
318
- const event = createMockV2Event({ routeKey: 'POST /test' });
319
- // @ts-ignore
320
- const response = await adapter.handler(event, mockContext);
321
-
322
- expect(response.statusCode).toBe(201);
323
- });
324
-
325
- it('should combine cookies, headers, and status', async () => {
326
- const endpoint = e
327
- .post('/test')
328
- .output(z.object({ id: z.string() }))
329
- .handle((_, response) => {
330
- response
331
- .status(201)
332
- .header('Location', '/test/123')
333
- .cookie('session', 'abc123', { httpOnly: true })
334
- .cookie('theme', 'dark');
335
- return { id: '123' };
336
- });
337
-
338
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
339
- const event = createMockV2Event({ routeKey: 'POST /test' });
340
- // @ts-ignore
341
- const response = await adapter.handler(event, mockContext);
342
-
343
- expect(response.statusCode).toBe(201);
344
- expect(response.headers).toEqual({ Location: '/test/123' });
345
- expect(response.multiValueHeaders?.['Set-Cookie']).toEqual([
346
- 'session=abc123; HttpOnly',
347
- 'theme=dark',
348
- ]);
349
- });
350
-
351
- it('should delete cookies', async () => {
352
- const endpoint = e
353
- .get('/test')
354
- .output(z.object({ success: z.boolean() }))
355
- .handle((_, response) => {
356
- response.deleteCookie('session', {
357
- path: '/',
358
- domain: '.example.com',
359
- });
360
- return { success: true };
361
- });
362
-
363
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
364
- const event = createMockV2Event();
365
- // @ts-ignore
366
- const response = await adapter.handler(event, mockContext);
367
-
368
- expect(response.multiValueHeaders?.['Set-Cookie']).toEqual([
369
- 'session=; Domain=.example.com; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0',
370
- ]);
371
- });
372
-
373
- it('should use send() method with metadata', async () => {
374
- const endpoint = e
375
- .get('/test')
376
- .output(z.object({ id: z.string() }))
377
- .handle((_, response) => {
378
- return response
379
- .status(201)
380
- .header('X-Custom', 'value')
381
- .cookie('session', 'abc123')
382
- .send({ id: '123' });
383
- });
384
-
385
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
386
- const event = createMockV2Event();
387
- // @ts-ignore
388
- const response = await adapter.handler(event, mockContext);
389
-
390
- expect(response.statusCode).toBe(201);
391
- expect(response.headers).toEqual({ 'X-Custom': 'value' });
392
- expect(response.multiValueHeaders?.['Set-Cookie']).toEqual([
393
- 'session=abc123',
394
- ]);
395
- expect(response.body).toBe(JSON.stringify({ id: '123' }));
396
- });
397
-
398
- it('should return simple response without metadata when not using response builder', async () => {
399
- const endpoint = e
400
- .get('/test')
401
- .output(z.object({ success: z.boolean() }))
402
- .handle(() => ({ success: true }));
403
-
404
- const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
405
- const event = createMockV2Event();
406
- // @ts-ignore
407
- const response = await adapter.handler(event, mockContext);
408
-
409
- expect(response).toEqual({
410
- statusCode: 200,
411
- body: JSON.stringify({ success: true }),
412
- });
413
- expect(response.headers).toBeUndefined();
414
- expect(response.multiValueHeaders).toBeUndefined();
415
- });
416
- });
417
- });
10
+ let envParser: EnvironmentParser<{}>;
11
+ let mockContext: Context;
12
+
13
+ beforeEach(() => {
14
+ envParser = new EnvironmentParser({});
15
+ mockContext = createMockContext();
16
+ });
17
+
18
+ describe('getInput', () => {
19
+ it('should parse request body, query, and params', () => {
20
+ const endpoint = e.get('/test').handle(() => ({ success: true }));
21
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
22
+
23
+ const event = createMockV2Event({
24
+ rawQueryString: 'foo=bar&baz=qux',
25
+ queryStringParameters: { foo: 'bar', baz: 'qux' },
26
+ pathParameters: { id: '123' },
27
+ body: JSON.stringify({ name: 'test' }),
28
+ });
29
+
30
+ const result = adapter.getInput(event);
31
+
32
+ expect(result).toEqual({
33
+ body: { name: 'test' },
34
+ query: { foo: 'bar', baz: 'qux' },
35
+ params: { id: '123' },
36
+ });
37
+ });
38
+
39
+ it('should handle missing body, query, and params', () => {
40
+ const endpoint = e.get('/test').handle(() => ({ success: true }));
41
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
42
+
43
+ const event = createMockV2Event();
44
+
45
+ const result = adapter.getInput(event);
46
+
47
+ expect(result).toEqual({
48
+ body: undefined,
49
+ query: {},
50
+ params: {},
51
+ });
52
+ });
53
+ });
54
+
55
+ describe('getLoggerContext', () => {
56
+ it('should extract logger context from event and context', () => {
57
+ const endpoint = e.get('/test').handle(() => ({ success: true }));
58
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
59
+
60
+ const event = createMockV2Event({
61
+ requestContext: {
62
+ ...createMockV2Event().requestContext,
63
+ http: {
64
+ method: 'GET',
65
+ path: '/test/123',
66
+ protocol: 'HTTP/1.1',
67
+ sourceIp: '192.168.1.1',
68
+ userAgent: 'Mozilla/5.0 Test',
69
+ },
70
+ requestId: 'event-request-id',
71
+ },
72
+ });
73
+
74
+ const result = adapter.getLoggerContext(event, mockContext);
75
+
76
+ expect(result).toEqual({
77
+ fn: {
78
+ name: 'test-function',
79
+ version: '1',
80
+ },
81
+ req: {
82
+ id: 'event-request-id',
83
+ awsRequestId: 'test-request-id',
84
+ ip: '192.168.1.1',
85
+ userAgent: 'Mozilla/5.0 Test',
86
+ path: '/test/123',
87
+ },
88
+ });
89
+ });
90
+
91
+ it('should handle missing user agent', () => {
92
+ const endpoint = e.get('/test').handle(() => ({ success: true }));
93
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
94
+
95
+ const event = createMockV2Event({
96
+ requestContext: {
97
+ ...createMockV2Event().requestContext,
98
+ http: {
99
+ method: 'GET',
100
+ path: '/test',
101
+ protocol: 'HTTP/1.1',
102
+ sourceIp: '127.0.0.1',
103
+ userAgent: '',
104
+ },
105
+ },
106
+ });
107
+
108
+ const result = adapter.getLoggerContext(event, mockContext);
109
+
110
+ expect(result.req.userAgent).toBeUndefined();
111
+ });
112
+ });
113
+
114
+ describe('integration', () => {
115
+ it('should handle endpoint with body schema validation', async () => {
116
+ const endpoint = e
117
+ .post('/users')
118
+ .body(z.object({ name: z.string(), age: z.number() }))
119
+ .output(z.object({ id: z.string(), name: z.string() }))
120
+ .handle(async ({ body }) => ({
121
+ id: '123',
122
+ name: body.name,
123
+ }));
124
+
125
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
126
+
127
+ const event = createMockV2Event({
128
+ routeKey: 'POST /users',
129
+ rawPath: '/users',
130
+ headers: { 'content-type': 'application/json' },
131
+ body: JSON.stringify({ name: 'John', age: 30 }),
132
+ });
133
+ // @ts-expect-error
134
+ const response = await adapter.handler(event, mockContext);
135
+
136
+ expect(response).toEqual({
137
+ statusCode: 200,
138
+ body: JSON.stringify({ id: '123', name: 'John' }),
139
+ });
140
+ });
141
+
142
+ it('should handle array query parameters (comma-separated)', async () => {
143
+ const endpoint = e
144
+ .get('/search')
145
+ .query(
146
+ z.object({
147
+ tags: z.array(z.string()),
148
+ limit: z.coerce.number().default(10),
149
+ }),
150
+ )
151
+ .output(
152
+ z.object({
153
+ tags: z.array(z.string()),
154
+ limit: z.number(),
155
+ }),
156
+ )
157
+ .handle(async ({ query }) => ({
158
+ tags: query.tags,
159
+ limit: query.limit,
160
+ }));
161
+
162
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
163
+
164
+ const event = createMockV2Event({
165
+ routeKey: 'GET /search',
166
+ rawPath: '/search',
167
+ rawQueryString: 'tags=nodejs,typescript,javascript&limit=20',
168
+ queryStringParameters: {
169
+ tags: 'nodejs,typescript,javascript',
170
+ limit: '20',
171
+ },
172
+ });
173
+ // @ts-expect-error
174
+ const response = await adapter.handler(event, mockContext);
175
+
176
+ expect(response).toEqual({
177
+ statusCode: 200,
178
+ body: JSON.stringify({
179
+ tags: ['nodejs', 'typescript', 'javascript'],
180
+ limit: 20,
181
+ }),
182
+ });
183
+ });
184
+
185
+ it('should handle object query parameters with dot notation', async () => {
186
+ const endpoint = e
187
+ .get('/search')
188
+ .query(
189
+ z.object({
190
+ filter: z.object({
191
+ category: z.string(),
192
+ active: z.coerce.boolean(),
193
+ }),
194
+ }),
195
+ )
196
+ .output(
197
+ z.object({
198
+ filter: z.object({
199
+ category: z.string(),
200
+ active: z.boolean(),
201
+ }),
202
+ }),
203
+ )
204
+ .handle(async ({ query }) => ({
205
+ filter: query.filter,
206
+ }));
207
+
208
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
209
+
210
+ const event = createMockV2Event({
211
+ routeKey: 'GET /search',
212
+ rawPath: '/search',
213
+ rawQueryString: 'filter.category=electronics&filter.active=true',
214
+ queryStringParameters: {
215
+ 'filter.category': 'electronics',
216
+ 'filter.active': 'true',
217
+ },
218
+ });
219
+ // @ts-expect-error
220
+ const response = await adapter.handler(event, mockContext);
221
+
222
+ expect(response).toEqual({
223
+ statusCode: 200,
224
+ body: JSON.stringify({
225
+ filter: {
226
+ category: 'electronics',
227
+ active: true,
228
+ },
229
+ }),
230
+ });
231
+ });
232
+
233
+ it('should handle endpoint with query and params', async () => {
234
+ const endpoint = e
235
+ .get('/users/:id')
236
+ .params(z.object({ id: z.string() }))
237
+ .query(z.object({ include: z.string().optional() }))
238
+ .output(z.object({ id: z.string(), include: z.string().optional() }))
239
+ .handle(async ({ params, query }) => ({
240
+ id: params.id,
241
+ include: query.include,
242
+ }));
243
+
244
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
245
+
246
+ const event = createMockV2Event({
247
+ routeKey: 'GET /users/{id}',
248
+ rawPath: '/users/123',
249
+ rawQueryString: 'include=profile',
250
+ queryStringParameters: { include: 'profile' },
251
+ pathParameters: { id: '123' },
252
+ });
253
+ // @ts-expect-error
254
+ const response = await adapter.handler(event, mockContext);
255
+
256
+ expect(response).toEqual({
257
+ statusCode: 200,
258
+ body: JSON.stringify({ id: '123', include: 'profile' }),
259
+ });
260
+ });
261
+
262
+ describe('response metadata', () => {
263
+ it('should set response cookies', async () => {
264
+ const endpoint = e
265
+ .get('/test')
266
+ .output(z.object({ success: z.boolean() }))
267
+ .handle((_, response) => {
268
+ response.cookie('session', 'abc123', {
269
+ httpOnly: true,
270
+ secure: true,
271
+ });
272
+ return { success: true };
273
+ });
274
+
275
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
276
+ const event = createMockV2Event();
277
+ // @ts-expect-error
278
+ const response = await adapter.handler(event, mockContext);
279
+
280
+ expect(response.multiValueHeaders?.['Set-Cookie']).toEqual([
281
+ 'session=abc123; HttpOnly; Secure',
282
+ ]);
283
+ expect(response.statusCode).toBe(200);
284
+ expect(response.body).toBe(JSON.stringify({ success: true }));
285
+ });
286
+
287
+ it('should set custom headers', async () => {
288
+ const endpoint = e
289
+ .get('/test')
290
+ .output(z.object({ success: z.boolean() }))
291
+ .handle((_, response) => {
292
+ response.header('X-Custom-Header', 'custom-value');
293
+ response.header('X-Request-Id', '12345');
294
+ return { success: true };
295
+ });
296
+
297
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
298
+ const event = createMockV2Event();
299
+ // @ts-expect-error
300
+ const response = await adapter.handler(event, mockContext);
301
+
302
+ expect(response.headers).toEqual({
303
+ 'X-Custom-Header': 'custom-value',
304
+ 'X-Request-Id': '12345',
305
+ });
306
+ });
307
+
308
+ it('should set custom status code', async () => {
309
+ const endpoint = e
310
+ .post('/test')
311
+ .output(z.object({ id: z.string() }))
312
+ .handle((_, response) => {
313
+ response.status(201);
314
+ return { id: '123' };
315
+ });
316
+
317
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
318
+ const event = createMockV2Event({ routeKey: 'POST /test' });
319
+ // @ts-expect-error
320
+ const response = await adapter.handler(event, mockContext);
321
+
322
+ expect(response.statusCode).toBe(201);
323
+ });
324
+
325
+ it('should combine cookies, headers, and status', async () => {
326
+ const endpoint = e
327
+ .post('/test')
328
+ .output(z.object({ id: z.string() }))
329
+ .handle((_, response) => {
330
+ response
331
+ .status(201)
332
+ .header('Location', '/test/123')
333
+ .cookie('session', 'abc123', { httpOnly: true })
334
+ .cookie('theme', 'dark');
335
+ return { id: '123' };
336
+ });
337
+
338
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
339
+ const event = createMockV2Event({ routeKey: 'POST /test' });
340
+ // @ts-expect-error
341
+ const response = await adapter.handler(event, mockContext);
342
+
343
+ expect(response.statusCode).toBe(201);
344
+ expect(response.headers).toEqual({ Location: '/test/123' });
345
+ expect(response.multiValueHeaders?.['Set-Cookie']).toEqual([
346
+ 'session=abc123; HttpOnly',
347
+ 'theme=dark',
348
+ ]);
349
+ });
350
+
351
+ it('should delete cookies', async () => {
352
+ const endpoint = e
353
+ .get('/test')
354
+ .output(z.object({ success: z.boolean() }))
355
+ .handle((_, response) => {
356
+ response.deleteCookie('session', {
357
+ path: '/',
358
+ domain: '.example.com',
359
+ });
360
+ return { success: true };
361
+ });
362
+
363
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
364
+ const event = createMockV2Event();
365
+ // @ts-expect-error
366
+ const response = await adapter.handler(event, mockContext);
367
+
368
+ expect(response.multiValueHeaders?.['Set-Cookie']).toEqual([
369
+ 'session=; Domain=.example.com; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0',
370
+ ]);
371
+ });
372
+
373
+ it('should use send() method with metadata', async () => {
374
+ const endpoint = e
375
+ .get('/test')
376
+ .output(z.object({ id: z.string() }))
377
+ .handle((_, response) => {
378
+ return response
379
+ .status(201)
380
+ .header('X-Custom', 'value')
381
+ .cookie('session', 'abc123')
382
+ .send({ id: '123' });
383
+ });
384
+
385
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
386
+ const event = createMockV2Event();
387
+ // @ts-expect-error
388
+ const response = await adapter.handler(event, mockContext);
389
+
390
+ expect(response.statusCode).toBe(201);
391
+ expect(response.headers).toEqual({ 'X-Custom': 'value' });
392
+ expect(response.multiValueHeaders?.['Set-Cookie']).toEqual([
393
+ 'session=abc123',
394
+ ]);
395
+ expect(response.body).toBe(JSON.stringify({ id: '123' }));
396
+ });
397
+
398
+ it('should return simple response without metadata when not using response builder', async () => {
399
+ const endpoint = e
400
+ .get('/test')
401
+ .output(z.object({ success: z.boolean() }))
402
+ .handle(() => ({ success: true }));
403
+
404
+ const adapter = new AmazonApiGatewayV2Endpoint(envParser, endpoint);
405
+ const event = createMockV2Event();
406
+ // @ts-expect-error
407
+ const response = await adapter.handler(event, mockContext);
408
+
409
+ expect(response).toEqual({
410
+ statusCode: 200,
411
+ body: JSON.stringify({ success: true }),
412
+ });
413
+ expect(response.headers).toBeUndefined();
414
+ expect(response.multiValueHeaders).toBeUndefined();
415
+ });
416
+ });
417
+ });
418
418
  });