@geekmidas/constructs 0.0.1

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 (329) hide show
  1. package/README.md +614 -0
  2. package/dist/AWSLambdaFunction-CpHFE2m6.d.mts +27 -0
  3. package/dist/AWSLambdaFunction-CwagvPG3.d.cts +27 -0
  4. package/dist/AWSLambdaFunction-DWIZYsCy.mjs +79 -0
  5. package/dist/AWSLambdaFunction-DWIZYsCy.mjs.map +1 -0
  6. package/dist/AWSLambdaFunction-qA5LqPsv.cjs +85 -0
  7. package/dist/AWSLambdaFunction-qA5LqPsv.cjs.map +1 -0
  8. package/dist/AWSLambdaSubscriberAdaptor-C1wQuucQ.d.mts +32 -0
  9. package/dist/AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs +138 -0
  10. package/dist/AWSLambdaSubscriberAdaptor-CmPZ10JF.cjs.map +1 -0
  11. package/dist/AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs +132 -0
  12. package/dist/AWSLambdaSubscriberAdaptor-G8y3YkWj.mjs.map +1 -0
  13. package/dist/AWSLambdaSubscriberAdaptor-QKVxR6qh.d.cts +32 -0
  14. package/dist/AmazonApiGatewayEndpointAdaptor-BoBh7vvD.d.mts +61 -0
  15. package/dist/AmazonApiGatewayEndpointAdaptor-Cx1oqcqh.mjs +124 -0
  16. package/dist/AmazonApiGatewayEndpointAdaptor-Cx1oqcqh.mjs.map +1 -0
  17. package/dist/AmazonApiGatewayEndpointAdaptor-DtzgQ9Vb.d.cts +61 -0
  18. package/dist/AmazonApiGatewayEndpointAdaptor-i74DEUbc.cjs +130 -0
  19. package/dist/AmazonApiGatewayEndpointAdaptor-i74DEUbc.cjs.map +1 -0
  20. package/dist/AmazonApiGatewayV1EndpointAdaptor-CLmBDYsl.mjs +42 -0
  21. package/dist/AmazonApiGatewayV1EndpointAdaptor-CLmBDYsl.mjs.map +1 -0
  22. package/dist/AmazonApiGatewayV1EndpointAdaptor-EhMd1YqV.d.mts +21 -0
  23. package/dist/AmazonApiGatewayV1EndpointAdaptor-GkMAUPL5.cjs +47 -0
  24. package/dist/AmazonApiGatewayV1EndpointAdaptor-GkMAUPL5.cjs.map +1 -0
  25. package/dist/AmazonApiGatewayV1EndpointAdaptor-Gw-j61qM.d.cts +21 -0
  26. package/dist/AmazonApiGatewayV2EndpointAdaptor-3RqegmJC.mjs +41 -0
  27. package/dist/AmazonApiGatewayV2EndpointAdaptor-3RqegmJC.mjs.map +1 -0
  28. package/dist/AmazonApiGatewayV2EndpointAdaptor-LUlpwmUW.d.cts +21 -0
  29. package/dist/AmazonApiGatewayV2EndpointAdaptor-YlFoFSS9.cjs +46 -0
  30. package/dist/AmazonApiGatewayV2EndpointAdaptor-YlFoFSS9.cjs.map +1 -0
  31. package/dist/AmazonApiGatewayV2EndpointAdaptor-zfd1gqXA.d.mts +21 -0
  32. package/dist/BaseFunctionBuilder-5QCHkchp.d.cts +31 -0
  33. package/dist/BaseFunctionBuilder-BFPVGnKi.d.mts +31 -0
  34. package/dist/BaseFunctionBuilder-BPE9JBbT.mjs +56 -0
  35. package/dist/BaseFunctionBuilder-BPE9JBbT.mjs.map +1 -0
  36. package/dist/BaseFunctionBuilder-DtO4Nwxm.cjs +62 -0
  37. package/dist/BaseFunctionBuilder-DtO4Nwxm.cjs.map +1 -0
  38. package/dist/Construct-BSEs6uwW.cjs +75 -0
  39. package/dist/Construct-BSEs6uwW.cjs.map +1 -0
  40. package/dist/Construct-BbKCIPQm.mjs +63 -0
  41. package/dist/Construct-BbKCIPQm.mjs.map +1 -0
  42. package/dist/Construct-Bm-PSO2V.d.cts +42 -0
  43. package/dist/Construct-DIguIyw4.d.mts +42 -0
  44. package/dist/Construct.cjs +4 -0
  45. package/dist/Construct.d.cts +2 -0
  46. package/dist/Construct.d.mts +2 -0
  47. package/dist/Construct.mjs +3 -0
  48. package/dist/Cron-Bgs6EQOb.mjs +20 -0
  49. package/dist/Cron-Bgs6EQOb.mjs.map +1 -0
  50. package/dist/Cron-DQiCj3ef.cjs +25 -0
  51. package/dist/Cron-DQiCj3ef.cjs.map +1 -0
  52. package/dist/Cron-FpAw03k6.d.mts +25 -0
  53. package/dist/Cron-ztnK6zgU.d.cts +25 -0
  54. package/dist/CronBuilder-B2clNQSP.d.mts +24 -0
  55. package/dist/CronBuilder-Cje9K8lZ.d.cts +24 -0
  56. package/dist/CronBuilder-DIBqJkh_.cjs +60 -0
  57. package/dist/CronBuilder-DIBqJkh_.cjs.map +1 -0
  58. package/dist/CronBuilder-DecAvvcn.mjs +54 -0
  59. package/dist/CronBuilder-DecAvvcn.mjs.map +1 -0
  60. package/dist/Endpoint-BaHC9y4Z.cjs +291 -0
  61. package/dist/Endpoint-BaHC9y4Z.cjs.map +1 -0
  62. package/dist/Endpoint-C7z9YJHK.d.cts +405 -0
  63. package/dist/Endpoint-DCn53Vd8.d.mts +405 -0
  64. package/dist/Endpoint-ierdM62O.mjs +279 -0
  65. package/dist/Endpoint-ierdM62O.mjs.map +1 -0
  66. package/dist/EndpointBuilder-BHFSpbPR.cjs +107 -0
  67. package/dist/EndpointBuilder-BHFSpbPR.cjs.map +1 -0
  68. package/dist/EndpointBuilder-BLUsoK3l.mjs +101 -0
  69. package/dist/EndpointBuilder-BLUsoK3l.mjs.map +1 -0
  70. package/dist/EndpointBuilder-Bfnb2oJr.d.mts +49 -0
  71. package/dist/EndpointBuilder-CP9RGwZH.d.cts +49 -0
  72. package/dist/EndpointFactory-BYdDVCNj.mjs +127 -0
  73. package/dist/EndpointFactory-BYdDVCNj.mjs.map +1 -0
  74. package/dist/EndpointFactory-CNtMXgIh.d.mts +52 -0
  75. package/dist/EndpointFactory-CXX4E6Gx.cjs +139 -0
  76. package/dist/EndpointFactory-CXX4E6Gx.cjs.map +1 -0
  77. package/dist/EndpointFactory-D2zgWbXZ.d.cts +52 -0
  78. package/dist/Function-BP58p9Mp.d.cts +59 -0
  79. package/dist/Function-BsBxc2wA.d.mts +59 -0
  80. package/dist/Function-C5mW-38v.mjs +72 -0
  81. package/dist/Function-C5mW-38v.mjs.map +1 -0
  82. package/dist/Function-CbO2NZx-.cjs +84 -0
  83. package/dist/Function-CbO2NZx-.cjs.map +1 -0
  84. package/dist/FunctionBuilder-BS1KgxA_.d.cts +24 -0
  85. package/dist/FunctionBuilder-C-PfPN3r.d.mts +24 -0
  86. package/dist/FunctionBuilder-CosgPmMl.mjs +53 -0
  87. package/dist/FunctionBuilder-CosgPmMl.mjs.map +1 -0
  88. package/dist/FunctionBuilder-DuOeWCAl.cjs +59 -0
  89. package/dist/FunctionBuilder-DuOeWCAl.cjs.map +1 -0
  90. package/dist/FunctionExecutionWrapper-Bx-Dl-2a.d.cts +24 -0
  91. package/dist/FunctionExecutionWrapper-CElXEjPe.cjs +42 -0
  92. package/dist/FunctionExecutionWrapper-CElXEjPe.cjs.map +1 -0
  93. package/dist/FunctionExecutionWrapper-DvglBBjE.d.mts +24 -0
  94. package/dist/FunctionExecutionWrapper-XGrSAAPD.mjs +36 -0
  95. package/dist/FunctionExecutionWrapper-XGrSAAPD.mjs.map +1 -0
  96. package/dist/HonoEndpointAdaptor-B0IO1zj2.d.mts +41 -0
  97. package/dist/HonoEndpointAdaptor-B4snrp7v.cjs +154 -0
  98. package/dist/HonoEndpointAdaptor-B4snrp7v.cjs.map +1 -0
  99. package/dist/HonoEndpointAdaptor-B6lW9Q1k.d.cts +41 -0
  100. package/dist/HonoEndpointAdaptor-D-M4-6Tf.mjs +148 -0
  101. package/dist/HonoEndpointAdaptor-D-M4-6Tf.mjs.map +1 -0
  102. package/dist/Subscriber-BoFm12i_.d.cts +33 -0
  103. package/dist/Subscriber-BwuCaC9G.mjs +28 -0
  104. package/dist/Subscriber-BwuCaC9G.mjs.map +1 -0
  105. package/dist/Subscriber-THGsj7Iy.d.mts +33 -0
  106. package/dist/Subscriber-iMRFG7ba.cjs +34 -0
  107. package/dist/Subscriber-iMRFG7ba.cjs.map +1 -0
  108. package/dist/SubscriberBuilder-CiPxgnKT.d.mts +26 -0
  109. package/dist/SubscriberBuilder-Dhz0C_t-.mjs +54 -0
  110. package/dist/SubscriberBuilder-Dhz0C_t-.mjs.map +1 -0
  111. package/dist/SubscriberBuilder-DuIgxuzc.d.cts +26 -0
  112. package/dist/SubscriberBuilder-wthr-FL9.cjs +60 -0
  113. package/dist/SubscriberBuilder-wthr-FL9.cjs.map +1 -0
  114. package/dist/adaptors/aws.cjs +19 -0
  115. package/dist/adaptors/aws.d.cts +15 -0
  116. package/dist/adaptors/aws.d.mts +15 -0
  117. package/dist/adaptors/aws.mjs +16 -0
  118. package/dist/adaptors/hono.cjs +12 -0
  119. package/dist/adaptors/hono.d.cts +9 -0
  120. package/dist/adaptors/hono.d.mts +9 -0
  121. package/dist/adaptors/hono.mjs +12 -0
  122. package/dist/chunk-CUT6urMc.cjs +30 -0
  123. package/dist/crons/Cron.cjs +8 -0
  124. package/dist/crons/Cron.d.cts +7 -0
  125. package/dist/crons/Cron.d.mts +7 -0
  126. package/dist/crons/Cron.mjs +8 -0
  127. package/dist/crons/CronBuilder.cjs +9 -0
  128. package/dist/crons/CronBuilder.d.cts +8 -0
  129. package/dist/crons/CronBuilder.d.mts +8 -0
  130. package/dist/crons/CronBuilder.mjs +9 -0
  131. package/dist/crons/index.cjs +16 -0
  132. package/dist/crons/index.cjs.map +1 -0
  133. package/dist/crons/index.d.cts +16 -0
  134. package/dist/crons/index.d.mts +16 -0
  135. package/dist/crons/index.mjs +14 -0
  136. package/dist/crons/index.mjs.map +1 -0
  137. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +10 -0
  138. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +9 -0
  139. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +9 -0
  140. package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +10 -0
  141. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +12 -0
  142. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +10 -0
  143. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +10 -0
  144. package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +12 -0
  145. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +12 -0
  146. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +10 -0
  147. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +10 -0
  148. package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +12 -0
  149. package/dist/endpoints/Endpoint.cjs +9 -0
  150. package/dist/endpoints/Endpoint.d.cts +8 -0
  151. package/dist/endpoints/Endpoint.d.mts +8 -0
  152. package/dist/endpoints/Endpoint.mjs +8 -0
  153. package/dist/endpoints/EndpointBuilder.cjs +9 -0
  154. package/dist/endpoints/EndpointBuilder.d.cts +9 -0
  155. package/dist/endpoints/EndpointBuilder.d.mts +9 -0
  156. package/dist/endpoints/EndpointBuilder.mjs +9 -0
  157. package/dist/endpoints/EndpointFactory.cjs +11 -0
  158. package/dist/endpoints/EndpointFactory.d.cts +10 -0
  159. package/dist/endpoints/EndpointFactory.d.mts +10 -0
  160. package/dist/endpoints/EndpointFactory.mjs +10 -0
  161. package/dist/endpoints/HonoEndpointAdaptor.cjs +12 -0
  162. package/dist/endpoints/HonoEndpointAdaptor.d.cts +9 -0
  163. package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -0
  164. package/dist/endpoints/HonoEndpointAdaptor.mjs +12 -0
  165. package/dist/endpoints/TestEndpointAdaptor.cjs +54 -0
  166. package/dist/endpoints/TestEndpointAdaptor.cjs.map +1 -0
  167. package/dist/endpoints/TestEndpointAdaptor.d.cts +29 -0
  168. package/dist/endpoints/TestEndpointAdaptor.d.mts +29 -0
  169. package/dist/endpoints/TestEndpointAdaptor.mjs +53 -0
  170. package/dist/endpoints/TestEndpointAdaptor.mjs.map +1 -0
  171. package/dist/endpoints/helpers.cjs +10 -0
  172. package/dist/endpoints/helpers.d.cts +58 -0
  173. package/dist/endpoints/helpers.d.mts +58 -0
  174. package/dist/endpoints/helpers.mjs +9 -0
  175. package/dist/endpoints/index.cjs +16 -0
  176. package/dist/endpoints/index.cjs.map +1 -0
  177. package/dist/endpoints/index.d.cts +16 -0
  178. package/dist/endpoints/index.d.mts +16 -0
  179. package/dist/endpoints/index.mjs +15 -0
  180. package/dist/endpoints/index.mjs.map +1 -0
  181. package/dist/endpoints/parseHonoQuery.cjs +3 -0
  182. package/dist/endpoints/parseHonoQuery.d.cts +12 -0
  183. package/dist/endpoints/parseHonoQuery.d.mts +12 -0
  184. package/dist/endpoints/parseHonoQuery.mjs +3 -0
  185. package/dist/endpoints/parseQueryParams.cjs +3 -0
  186. package/dist/endpoints/parseQueryParams.d.cts +13 -0
  187. package/dist/endpoints/parseQueryParams.d.mts +13 -0
  188. package/dist/endpoints/parseQueryParams.mjs +3 -0
  189. package/dist/functions/AWSLambdaFunction.cjs +9 -0
  190. package/dist/functions/AWSLambdaFunction.d.cts +5 -0
  191. package/dist/functions/AWSLambdaFunction.d.mts +5 -0
  192. package/dist/functions/AWSLambdaFunction.mjs +9 -0
  193. package/dist/functions/BaseFunctionBuilder.cjs +4 -0
  194. package/dist/functions/BaseFunctionBuilder.d.cts +3 -0
  195. package/dist/functions/BaseFunctionBuilder.d.mts +3 -0
  196. package/dist/functions/BaseFunctionBuilder.mjs +4 -0
  197. package/dist/functions/Function.cjs +5 -0
  198. package/dist/functions/Function.d.cts +3 -0
  199. package/dist/functions/Function.d.mts +3 -0
  200. package/dist/functions/Function.mjs +4 -0
  201. package/dist/functions/FunctionBuilder.cjs +6 -0
  202. package/dist/functions/FunctionBuilder.d.cts +5 -0
  203. package/dist/functions/FunctionBuilder.d.mts +5 -0
  204. package/dist/functions/FunctionBuilder.mjs +6 -0
  205. package/dist/functions/FunctionExecutionWrapper.cjs +8 -0
  206. package/dist/functions/FunctionExecutionWrapper.d.cts +4 -0
  207. package/dist/functions/FunctionExecutionWrapper.d.mts +4 -0
  208. package/dist/functions/FunctionExecutionWrapper.mjs +8 -0
  209. package/dist/functions/TestFunctionAdaptor.cjs +38 -0
  210. package/dist/functions/TestFunctionAdaptor.cjs.map +1 -0
  211. package/dist/functions/TestFunctionAdaptor.d.cts +26 -0
  212. package/dist/functions/TestFunctionAdaptor.d.mts +26 -0
  213. package/dist/functions/TestFunctionAdaptor.mjs +37 -0
  214. package/dist/functions/TestFunctionAdaptor.mjs.map +1 -0
  215. package/dist/functions/index.cjs +10 -0
  216. package/dist/functions/index.d.cts +6 -0
  217. package/dist/functions/index.d.mts +6 -0
  218. package/dist/functions/index.mjs +7 -0
  219. package/dist/functions-DVDb5wEA.cjs +13 -0
  220. package/dist/functions-DVDb5wEA.cjs.map +1 -0
  221. package/dist/functions-mM-jcphA.mjs +8 -0
  222. package/dist/functions-mM-jcphA.mjs.map +1 -0
  223. package/dist/helpers-BeGM4pP_.cjs +95 -0
  224. package/dist/helpers-BeGM4pP_.cjs.map +1 -0
  225. package/dist/helpers-DbpO95aE.mjs +83 -0
  226. package/dist/helpers-DbpO95aE.mjs.map +1 -0
  227. package/dist/index-CuGR4L7O.d.mts +9 -0
  228. package/dist/index-Fg3N3EKD.d.cts +9 -0
  229. package/dist/index.cjs +4 -0
  230. package/dist/index.d.cts +4 -0
  231. package/dist/index.d.mts +4 -0
  232. package/dist/index.mjs +3 -0
  233. package/dist/parseHonoQuery-DopC24vB.cjs +37 -0
  234. package/dist/parseHonoQuery-DopC24vB.cjs.map +1 -0
  235. package/dist/parseHonoQuery-znDKBhdE.mjs +31 -0
  236. package/dist/parseHonoQuery-znDKBhdE.mjs.map +1 -0
  237. package/dist/parseQueryParams-BJaRh3OB.mjs +32 -0
  238. package/dist/parseQueryParams-BJaRh3OB.mjs.map +1 -0
  239. package/dist/parseQueryParams-BzPop4I1.cjs +38 -0
  240. package/dist/parseQueryParams-BzPop4I1.cjs.map +1 -0
  241. package/dist/publisher-Bw4770Hi.mjs +41 -0
  242. package/dist/publisher-Bw4770Hi.mjs.map +1 -0
  243. package/dist/publisher-lFQleddL.cjs +53 -0
  244. package/dist/publisher-lFQleddL.cjs.map +1 -0
  245. package/dist/publisher.cjs +4 -0
  246. package/dist/publisher.d.cts +13 -0
  247. package/dist/publisher.d.mts +13 -0
  248. package/dist/publisher.mjs +3 -0
  249. package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +3 -0
  250. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +4 -0
  251. package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +4 -0
  252. package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +3 -0
  253. package/dist/subscribers/Subscriber.cjs +4 -0
  254. package/dist/subscribers/Subscriber.d.cts +3 -0
  255. package/dist/subscribers/Subscriber.d.mts +3 -0
  256. package/dist/subscribers/Subscriber.mjs +4 -0
  257. package/dist/subscribers/SubscriberBuilder.cjs +5 -0
  258. package/dist/subscribers/SubscriberBuilder.d.cts +4 -0
  259. package/dist/subscribers/SubscriberBuilder.d.mts +4 -0
  260. package/dist/subscribers/SubscriberBuilder.mjs +5 -0
  261. package/dist/subscribers/index.cjs +12 -0
  262. package/dist/subscribers/index.cjs.map +1 -0
  263. package/dist/subscribers/index.d.cts +10 -0
  264. package/dist/subscribers/index.d.mts +10 -0
  265. package/dist/subscribers/index.mjs +10 -0
  266. package/dist/subscribers/index.mjs.map +1 -0
  267. package/dist/types-Bp9ysFXd.d.cts +7 -0
  268. package/dist/types-DBKNYvsW.d.mts +7 -0
  269. package/dist/types.cjs +0 -0
  270. package/dist/types.d.cts +2 -0
  271. package/dist/types.d.mts +2 -0
  272. package/dist/types.mjs +0 -0
  273. package/package.json +91 -0
  274. package/src/Construct.ts +98 -0
  275. package/src/__tests__/Construct.environment.spec.ts +360 -0
  276. package/src/__tests__/publisher.setting.spec.ts +511 -0
  277. package/src/__tests__/publisher.spec.ts +454 -0
  278. package/src/adaptors/aws.ts +4 -0
  279. package/src/adaptors/hono.ts +1 -0
  280. package/src/crons/Cron.ts +137 -0
  281. package/src/crons/CronBuilder.ts +192 -0
  282. package/src/crons/__tests__/Cron.spec.ts +464 -0
  283. package/src/crons/index.ts +11 -0
  284. package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +315 -0
  285. package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +101 -0
  286. package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +95 -0
  287. package/src/endpoints/Endpoint.ts +771 -0
  288. package/src/endpoints/EndpointBuilder.ts +308 -0
  289. package/src/endpoints/EndpointFactory.ts +329 -0
  290. package/src/endpoints/HonoEndpointAdaptor.ts +365 -0
  291. package/src/endpoints/TestEndpointAdaptor.ts +130 -0
  292. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +553 -0
  293. package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +927 -0
  294. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +721 -0
  295. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.factory-publisher.spec.ts +296 -0
  296. package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.spec.ts +441 -0
  297. package/src/endpoints/__tests__/Endpoint.spec.ts +800 -0
  298. package/src/endpoints/__tests__/EndpointBuilder.spec.ts +488 -0
  299. package/src/endpoints/__tests__/EndpointFactory.spec.ts +479 -0
  300. package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +569 -0
  301. package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +313 -0
  302. package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +1078 -0
  303. package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +236 -0
  304. package/src/endpoints/__tests__/__snapshots__/HonoEndpointAdaptor.spec.ts.snap +54 -0
  305. package/src/endpoints/__tests__/endpoint-types.test.ts +88 -0
  306. package/src/endpoints/helpers.ts +99 -0
  307. package/src/endpoints/index.ts +5 -0
  308. package/src/endpoints/parseHonoQuery.ts +51 -0
  309. package/src/endpoints/parseQueryParams.ts +51 -0
  310. package/src/functions/AWSLambdaFunction.ts +222 -0
  311. package/src/functions/BaseFunctionBuilder.ts +110 -0
  312. package/src/functions/Function.ts +160 -0
  313. package/src/functions/FunctionBuilder.ts +182 -0
  314. package/src/functions/FunctionExecutionWrapper.ts +86 -0
  315. package/src/functions/TestFunctionAdaptor.ts +125 -0
  316. package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +376 -0
  317. package/src/functions/__tests__/Function.spec.ts +402 -0
  318. package/src/functions/__tests__/TestFunctionAdaptor.spec.ts +398 -0
  319. package/src/functions/index.ts +10 -0
  320. package/src/index.ts +14 -0
  321. package/src/publisher.ts +83 -0
  322. package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +269 -0
  323. package/src/subscribers/Subscriber.ts +112 -0
  324. package/src/subscribers/SubscriberBuilder.ts +150 -0
  325. package/src/subscribers/__tests__/AWSLambdaSubscriberAdaptor.spec.ts +623 -0
  326. package/src/subscribers/__tests__/Subscriber.spec.ts +432 -0
  327. package/src/subscribers/index.ts +5 -0
  328. package/src/types.ts +13 -0
  329. package/tsdown.config.ts +3 -0
@@ -0,0 +1,29 @@
1
+ import "../Construct-Bm-PSO2V.cjs";
2
+ import { HttpMethod } from "../types-Bp9ysFXd.cjs";
3
+ import "../Function-BP58p9Mp.cjs";
4
+ import "../BaseFunctionBuilder-5QCHkchp.cjs";
5
+ import "../FunctionBuilder-BS1KgxA_.cjs";
6
+ import "../index-Fg3N3EKD.cjs";
7
+ import { Endpoint, EndpointSchemas } from "../Endpoint-C7z9YJHK.cjs";
8
+ import { EventPublisher } from "@geekmidas/events";
9
+ import { Logger } from "@geekmidas/logger";
10
+ import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
11
+ import { StandardSchemaV1 } from "@standard-schema/spec";
12
+ import { InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
13
+
14
+ //#region src/endpoints/TestEndpointAdaptor.d.ts
15
+ declare class TestEndpointAdaptor<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> {
16
+ private readonly endpoint;
17
+ private serviceDiscovery;
18
+ static getDefaultServiceDiscover<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string>(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName>): ServiceDiscovery<any, Logger>;
19
+ constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName>, serviceDiscovery?: ServiceDiscovery<any, any>);
20
+ request(ctx: TestRequestAdaptor<TInput, TServices, TEventPublisher, TEventPublisherServiceName>): Promise<InferStandardSchema<TOutSchema>>;
21
+ }
22
+ type TestRequestAdaptor<TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> = {
23
+ services: ServiceRecord<TServices>;
24
+ headers: Record<string, string>;
25
+ publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
26
+ } & InferComposableStandardSchema<TInput>;
27
+ //#endregion
28
+ export { TestEndpointAdaptor, TestRequestAdaptor };
29
+ //# sourceMappingURL=TestEndpointAdaptor.d.cts.map
@@ -0,0 +1,29 @@
1
+ import "../Construct-DIguIyw4.mjs";
2
+ import { HttpMethod } from "../types-DBKNYvsW.mjs";
3
+ import "../Function-BsBxc2wA.mjs";
4
+ import "../BaseFunctionBuilder-BFPVGnKi.mjs";
5
+ import "../FunctionBuilder-C-PfPN3r.mjs";
6
+ import "../index-CuGR4L7O.mjs";
7
+ import { Endpoint, EndpointSchemas } from "../Endpoint-DCn53Vd8.mjs";
8
+ import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
9
+ import { EventPublisher } from "@geekmidas/events";
10
+ import { Logger } from "@geekmidas/logger";
11
+ import { StandardSchemaV1 } from "@standard-schema/spec";
12
+ import { InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
13
+
14
+ //#region src/endpoints/TestEndpointAdaptor.d.ts
15
+ declare class TestEndpointAdaptor<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> {
16
+ private readonly endpoint;
17
+ private serviceDiscovery;
18
+ static getDefaultServiceDiscover<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string>(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName>): ServiceDiscovery<any, Logger>;
19
+ constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName>, serviceDiscovery?: ServiceDiscovery<any, any>);
20
+ request(ctx: TestRequestAdaptor<TInput, TServices, TEventPublisher, TEventPublisherServiceName>): Promise<InferStandardSchema<TOutSchema>>;
21
+ }
22
+ type TestRequestAdaptor<TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> = {
23
+ services: ServiceRecord<TServices>;
24
+ headers: Record<string, string>;
25
+ publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
26
+ } & InferComposableStandardSchema<TInput>;
27
+ //#endregion
28
+ export { TestEndpointAdaptor, TestRequestAdaptor };
29
+ //# sourceMappingURL=TestEndpointAdaptor.d.mts.map
@@ -0,0 +1,53 @@
1
+ import "../Construct-BbKCIPQm.mjs";
2
+ import { publishConstructEvents } from "../publisher-Bw4770Hi.mjs";
3
+ import "../Function-C5mW-38v.mjs";
4
+ import "../BaseFunctionBuilder-BPE9JBbT.mjs";
5
+ import "../FunctionBuilder-CosgPmMl.mjs";
6
+ import "../functions-mM-jcphA.mjs";
7
+ import { Endpoint } from "../Endpoint-ierdM62O.mjs";
8
+ import { EnvironmentParser } from "@geekmidas/envkit";
9
+ import { ServiceDiscovery } from "@geekmidas/services";
10
+
11
+ //#region src/endpoints/TestEndpointAdaptor.ts
12
+ var TestEndpointAdaptor = class TestEndpointAdaptor {
13
+ static getDefaultServiceDiscover(endpoint) {
14
+ return ServiceDiscovery.getInstance(endpoint.logger, new EnvironmentParser({}));
15
+ }
16
+ constructor(endpoint, serviceDiscovery = TestEndpointAdaptor.getDefaultServiceDiscover(endpoint)) {
17
+ this.endpoint = endpoint;
18
+ this.serviceDiscovery = serviceDiscovery;
19
+ }
20
+ async request(ctx) {
21
+ const body = await this.endpoint.parseInput(ctx.body, "body");
22
+ const query = await this.endpoint.parseInput(ctx.query, "query");
23
+ const params = await this.endpoint.parseInput(ctx.params, "params");
24
+ const header = Endpoint.createHeaders(ctx.headers);
25
+ const logger = this.endpoint.logger.child({
26
+ route: this.endpoint.route,
27
+ host: ctx.headers.host,
28
+ method: this.endpoint.method
29
+ });
30
+ const session = await this.endpoint.getSession({
31
+ logger,
32
+ services: ctx.services,
33
+ header
34
+ });
35
+ const response = await this.endpoint.handler({
36
+ body,
37
+ query,
38
+ params,
39
+ session,
40
+ services: ctx.services,
41
+ logger,
42
+ header
43
+ });
44
+ const output = await this.endpoint.parseOutput(response);
45
+ ctx.publisher && await this.serviceDiscovery.register([ctx.publisher]);
46
+ await publishConstructEvents(this.endpoint, output, this.serviceDiscovery);
47
+ return output;
48
+ }
49
+ };
50
+
51
+ //#endregion
52
+ export { TestEndpointAdaptor };
53
+ //# sourceMappingURL=TestEndpointAdaptor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestEndpointAdaptor.mjs","names":["endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName\n >","serviceDiscovery: ServiceDiscovery<\n any,\n any\n >","ctx: TestRequestAdaptor<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName\n >"],"sources":["../../src/endpoints/TestEndpointAdaptor.ts"],"sourcesContent":["import { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type {\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { publishConstructEvents } from '../publisher';\nimport type { HttpMethod } from '../types';\nimport { Endpoint, type EndpointSchemas } from './Endpoint';\n\nexport class TestEndpointAdaptor<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> {\n static getDefaultServiceDiscover<\n TRoute extends string,\n TMethod extends HttpMethod,\n TInput extends EndpointSchemas = {},\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TSession = unknown,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n >(\n endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {\n return ServiceDiscovery.getInstance(\n endpoint.logger,\n new EnvironmentParser({}),\n );\n }\n constructor(\n private readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n private serviceDiscovery: ServiceDiscovery<\n any,\n any\n > = TestEndpointAdaptor.getDefaultServiceDiscover(endpoint),\n ) {}\n\n async request(\n ctx: TestRequestAdaptor<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ): Promise<InferStandardSchema<TOutSchema>> {\n const body = await this.endpoint.parseInput((ctx as any).body, 'body');\n const query = await this.endpoint.parseInput((ctx as any).query, 'query');\n const params = await this.endpoint.parseInput(\n (ctx as any).params,\n 'params',\n );\n\n const header = Endpoint.createHeaders(ctx.headers);\n const logger = this.endpoint.logger.child({\n route: this.endpoint.route,\n host: ctx.headers.host,\n method: this.endpoint.method,\n }) as TLogger;\n const session = await this.endpoint.getSession({\n logger,\n services: ctx.services,\n header,\n });\n\n const response = await this.endpoint.handler({\n body,\n query,\n params,\n session,\n services: ctx.services,\n logger,\n header,\n } as any);\n\n const output = await this.endpoint.parseOutput(response);\n ctx.publisher && (await this.serviceDiscovery.register([ctx.publisher]));\n\n await publishConstructEvents(this.endpoint, output, this.serviceDiscovery);\n\n return output;\n }\n}\n\nexport type TestRequestAdaptor<\n TInput extends EndpointSchemas = {},\n TServices extends Service[] = [],\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> = {\n services: ServiceRecord<TServices>;\n headers: Record<string, string>;\n publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n} & InferComposableStandardSchema<TInput>;\n"],"mappings":";;;;;;;;;;;AAiBA,IAAa,sBAAb,MAAa,oBAUX;CACA,OAAO,0BAWLA,UAWA;AACA,SAAO,iBAAiB,YACtB,SAAS,QACT,IAAI,kBAAkB,CAAE,GACzB;CACF;CACD,YACmBA,UAWTC,mBAGJ,oBAAoB,0BAA0B,SAAS,EAC3D;EAfiB;EAWT;CAIN;CAEJ,MAAM,QACJC,KAM0C;EAC1C,MAAM,OAAO,MAAM,KAAK,SAAS,WAAY,IAAY,MAAM,OAAO;EACtE,MAAM,QAAQ,MAAM,KAAK,SAAS,WAAY,IAAY,OAAO,QAAQ;EACzE,MAAM,SAAS,MAAM,KAAK,SAAS,WAChC,IAAY,QACb,SACD;EAED,MAAM,SAAS,SAAS,cAAc,IAAI,QAAQ;EAClD,MAAM,SAAS,KAAK,SAAS,OAAO,MAAM;GACxC,OAAO,KAAK,SAAS;GACrB,MAAM,IAAI,QAAQ;GAClB,QAAQ,KAAK,SAAS;EACvB,EAAC;EACF,MAAM,UAAU,MAAM,KAAK,SAAS,WAAW;GAC7C;GACA,UAAU,IAAI;GACd;EACD,EAAC;EAEF,MAAM,WAAW,MAAM,KAAK,SAAS,QAAQ;GAC3C;GACA;GACA;GACA;GACA,UAAU,IAAI;GACd;GACA;EACD,EAAQ;EAET,MAAM,SAAS,MAAM,KAAK,SAAS,YAAY,SAAS;AACxD,MAAI,aAAc,MAAM,KAAK,iBAAiB,SAAS,CAAC,IAAI,SAAU,EAAC;AAEvE,QAAM,uBAAuB,KAAK,UAAU,QAAQ,KAAK,iBAAiB;AAE1E,SAAO;CACR;AACF"}
@@ -0,0 +1,10 @@
1
+ require('../Construct-BSEs6uwW.cjs');
2
+ require('../Function-CbO2NZx-.cjs');
3
+ require('../BaseFunctionBuilder-DtO4Nwxm.cjs');
4
+ require('../FunctionBuilder-DuOeWCAl.cjs');
5
+ require('../functions-DVDb5wEA.cjs');
6
+ require('../Endpoint-BaHC9y4Z.cjs');
7
+ const require_helpers = require('../helpers-BeGM4pP_.cjs');
8
+
9
+ exports.getEndpointsFromRoutes = require_helpers.getEndpointsFromRoutes;
10
+ exports.getProjectRoot = require_helpers.getProjectRoot;
@@ -0,0 +1,58 @@
1
+ import "../Construct-Bm-PSO2V.cjs";
2
+ import { HttpMethod } from "../types-Bp9ysFXd.cjs";
3
+ import "../Function-BP58p9Mp.cjs";
4
+ import "../BaseFunctionBuilder-5QCHkchp.cjs";
5
+ import "../FunctionBuilder-BS1KgxA_.cjs";
6
+ import "../index-Fg3N3EKD.cjs";
7
+ import { Endpoint } from "../Endpoint-C7z9YJHK.cjs";
8
+ import { Service } from "@geekmidas/services";
9
+
10
+ //#region src/endpoints/helpers.d.ts
11
+
12
+ /**
13
+ * Recursively finds the project root directory by looking for lock files.
14
+ * Traverses up the directory tree until it finds a package manager lock file.
15
+ *
16
+ * @param cwd - The current working directory to start searching from
17
+ * @returns Promise resolving to the absolute path of the project root
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const projectRoot = await getProjectRoot(process.cwd());
22
+ * console.log(`Project root: ${projectRoot}`);
23
+ * // Output: Project root: /Users/user/my-project
24
+ * ```
25
+ */
26
+ declare function getProjectRoot(cwd: string): Promise<string>;
27
+ /**
28
+ * Discovers and imports all Endpoint instances from the specified route patterns.
29
+ * Uses fast-glob to find files matching the patterns and extracts exported Endpoints.
30
+ *
31
+ * @template TServices - Array of service types used by the endpoints
32
+ * @param routes - Array of glob patterns to match route files (e.g., ['src/routes/*.ts'])
33
+ * @param cwd - The current working directory to resolve paths from
34
+ * @returns Promise resolving to an array of Endpoint instances found in the matched files
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Find all endpoints in the routes directory
39
+ * const endpoints = await getEndpointsFromRoutes(
40
+ * ['src/routes/**\/*.ts'],
41
+ * process.cwd()
42
+ * );
43
+ *
44
+ * // Register endpoints with your server
45
+ * for (const endpoint of endpoints) {
46
+ * server.register(endpoint);
47
+ * }
48
+ * ```
49
+ *
50
+ * @remarks
51
+ * - Only exports that are valid Endpoint instances are included
52
+ * - Files are imported dynamically, so they must be valid ES modules
53
+ * - The function filters out non-Endpoint exports automatically
54
+ */
55
+ declare function getEndpointsFromRoutes<TServices extends Service[]>(routes: string[], cwd: string): Promise<Endpoint<string, HttpMethod, any, any, TServices>[]>;
56
+ //#endregion
57
+ export { getEndpointsFromRoutes, getProjectRoot };
58
+ //# sourceMappingURL=helpers.d.cts.map
@@ -0,0 +1,58 @@
1
+ import "../Construct-DIguIyw4.mjs";
2
+ import { HttpMethod } from "../types-DBKNYvsW.mjs";
3
+ import "../Function-BsBxc2wA.mjs";
4
+ import "../BaseFunctionBuilder-BFPVGnKi.mjs";
5
+ import "../FunctionBuilder-C-PfPN3r.mjs";
6
+ import "../index-CuGR4L7O.mjs";
7
+ import { Endpoint } from "../Endpoint-DCn53Vd8.mjs";
8
+ import { Service } from "@geekmidas/services";
9
+
10
+ //#region src/endpoints/helpers.d.ts
11
+
12
+ /**
13
+ * Recursively finds the project root directory by looking for lock files.
14
+ * Traverses up the directory tree until it finds a package manager lock file.
15
+ *
16
+ * @param cwd - The current working directory to start searching from
17
+ * @returns Promise resolving to the absolute path of the project root
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const projectRoot = await getProjectRoot(process.cwd());
22
+ * console.log(`Project root: ${projectRoot}`);
23
+ * // Output: Project root: /Users/user/my-project
24
+ * ```
25
+ */
26
+ declare function getProjectRoot(cwd: string): Promise<string>;
27
+ /**
28
+ * Discovers and imports all Endpoint instances from the specified route patterns.
29
+ * Uses fast-glob to find files matching the patterns and extracts exported Endpoints.
30
+ *
31
+ * @template TServices - Array of service types used by the endpoints
32
+ * @param routes - Array of glob patterns to match route files (e.g., ['src/routes/*.ts'])
33
+ * @param cwd - The current working directory to resolve paths from
34
+ * @returns Promise resolving to an array of Endpoint instances found in the matched files
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Find all endpoints in the routes directory
39
+ * const endpoints = await getEndpointsFromRoutes(
40
+ * ['src/routes/**\/*.ts'],
41
+ * process.cwd()
42
+ * );
43
+ *
44
+ * // Register endpoints with your server
45
+ * for (const endpoint of endpoints) {
46
+ * server.register(endpoint);
47
+ * }
48
+ * ```
49
+ *
50
+ * @remarks
51
+ * - Only exports that are valid Endpoint instances are included
52
+ * - Files are imported dynamically, so they must be valid ES modules
53
+ * - The function filters out non-Endpoint exports automatically
54
+ */
55
+ declare function getEndpointsFromRoutes<TServices extends Service[]>(routes: string[], cwd: string): Promise<Endpoint<string, HttpMethod, any, any, TServices>[]>;
56
+ //#endregion
57
+ export { getEndpointsFromRoutes, getProjectRoot };
58
+ //# sourceMappingURL=helpers.d.mts.map
@@ -0,0 +1,9 @@
1
+ import "../Construct-BbKCIPQm.mjs";
2
+ import "../Function-C5mW-38v.mjs";
3
+ import "../BaseFunctionBuilder-BPE9JBbT.mjs";
4
+ import "../FunctionBuilder-CosgPmMl.mjs";
5
+ import "../functions-mM-jcphA.mjs";
6
+ import "../Endpoint-ierdM62O.mjs";
7
+ import { getEndpointsFromRoutes, getProjectRoot } from "../helpers-DbpO95aE.mjs";
8
+
9
+ export { getEndpointsFromRoutes, getProjectRoot };
@@ -0,0 +1,16 @@
1
+ require('../Construct-BSEs6uwW.cjs');
2
+ require('../Function-CbO2NZx-.cjs');
3
+ require('../BaseFunctionBuilder-DtO4Nwxm.cjs');
4
+ require('../FunctionBuilder-DuOeWCAl.cjs');
5
+ require('../functions-DVDb5wEA.cjs');
6
+ const require_Endpoint = require('../Endpoint-BaHC9y4Z.cjs');
7
+ require('../EndpointBuilder-BHFSpbPR.cjs');
8
+ const require_EndpointFactory = require('../EndpointFactory-CXX4E6Gx.cjs');
9
+
10
+ //#region src/endpoints/index.ts
11
+ const e = new require_EndpointFactory.EndpointFactory();
12
+
13
+ //#endregion
14
+ exports.Endpoint = require_Endpoint.Endpoint;
15
+ exports.e = e;
16
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["EndpointFactory"],"sources":["../../src/endpoints/index.ts"],"sourcesContent":["import { EndpointFactory } from './EndpointFactory';\n\nexport { Endpoint, type EndpointOutput } from './Endpoint';\n\nexport const e = new EndpointFactory();\n"],"mappings":";;;;;;;;;;AAIA,MAAa,IAAI,IAAIA"}
@@ -0,0 +1,16 @@
1
+ import "../Construct-Bm-PSO2V.cjs";
2
+ import "../types-Bp9ysFXd.cjs";
3
+ import "../Function-BP58p9Mp.cjs";
4
+ import "../BaseFunctionBuilder-5QCHkchp.cjs";
5
+ import "../FunctionBuilder-BS1KgxA_.cjs";
6
+ import "../index-Fg3N3EKD.cjs";
7
+ import { Endpoint, EndpointOutput } from "../Endpoint-C7z9YJHK.cjs";
8
+ import "../EndpointBuilder-CP9RGwZH.cjs";
9
+ import { EndpointFactory } from "../EndpointFactory-D2zgWbXZ.cjs";
10
+ import * as _geekmidas_logger5 from "@geekmidas/logger";
11
+
12
+ //#region src/endpoints/index.d.ts
13
+ declare const e: EndpointFactory<[], "", _geekmidas_logger5.Logger, unknown, undefined, string>;
14
+ //#endregion
15
+ export { Endpoint, EndpointOutput, e };
16
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1,16 @@
1
+ import "../Construct-DIguIyw4.mjs";
2
+ import "../types-DBKNYvsW.mjs";
3
+ import "../Function-BsBxc2wA.mjs";
4
+ import "../BaseFunctionBuilder-BFPVGnKi.mjs";
5
+ import "../FunctionBuilder-C-PfPN3r.mjs";
6
+ import "../index-CuGR4L7O.mjs";
7
+ import { Endpoint, EndpointOutput } from "../Endpoint-DCn53Vd8.mjs";
8
+ import "../EndpointBuilder-Bfnb2oJr.mjs";
9
+ import { EndpointFactory } from "../EndpointFactory-CNtMXgIh.mjs";
10
+ import * as _geekmidas_logger0 from "@geekmidas/logger";
11
+
12
+ //#region src/endpoints/index.d.ts
13
+ declare const e: EndpointFactory<[], "", _geekmidas_logger0.Logger, unknown, undefined, string>;
14
+ //#endregion
15
+ export { Endpoint, EndpointOutput, e };
16
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1,15 @@
1
+ import "../Construct-BbKCIPQm.mjs";
2
+ import "../Function-C5mW-38v.mjs";
3
+ import "../BaseFunctionBuilder-BPE9JBbT.mjs";
4
+ import "../FunctionBuilder-CosgPmMl.mjs";
5
+ import "../functions-mM-jcphA.mjs";
6
+ import { Endpoint } from "../Endpoint-ierdM62O.mjs";
7
+ import "../EndpointBuilder-BLUsoK3l.mjs";
8
+ import { EndpointFactory } from "../EndpointFactory-BYdDVCNj.mjs";
9
+
10
+ //#region src/endpoints/index.ts
11
+ const e = new EndpointFactory();
12
+
13
+ //#endregion
14
+ export { Endpoint, e };
15
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/endpoints/index.ts"],"sourcesContent":["import { EndpointFactory } from './EndpointFactory';\n\nexport { Endpoint, type EndpointOutput } from './Endpoint';\n\nexport const e = new EndpointFactory();\n"],"mappings":";;;;;;;;;;AAIA,MAAa,IAAI,IAAI"}
@@ -0,0 +1,3 @@
1
+ const require_parseHonoQuery = require('../parseHonoQuery-DopC24vB.cjs');
2
+
3
+ exports.parseHonoQuery = require_parseHonoQuery.parseHonoQuery;
@@ -0,0 +1,12 @@
1
+ import { Context } from "hono";
2
+
3
+ //#region src/endpoints/parseHonoQuery.d.ts
4
+
5
+ /**
6
+ * Parse Hono query parameters to handle arrays and nested objects
7
+ * Hono provides c.req.queries() for arrays, but we need to handle dot notation for objects
8
+ */
9
+ declare function parseHonoQuery(c: Context): Record<string, any>;
10
+ //#endregion
11
+ export { parseHonoQuery };
12
+ //# sourceMappingURL=parseHonoQuery.d.cts.map
@@ -0,0 +1,12 @@
1
+ import { Context } from "hono";
2
+
3
+ //#region src/endpoints/parseHonoQuery.d.ts
4
+
5
+ /**
6
+ * Parse Hono query parameters to handle arrays and nested objects
7
+ * Hono provides c.req.queries() for arrays, but we need to handle dot notation for objects
8
+ */
9
+ declare function parseHonoQuery(c: Context): Record<string, any>;
10
+ //#endregion
11
+ export { parseHonoQuery };
12
+ //# sourceMappingURL=parseHonoQuery.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { parseHonoQuery } from "../parseHonoQuery-znDKBhdE.mjs";
2
+
3
+ export { parseHonoQuery };
@@ -0,0 +1,3 @@
1
+ const require_parseQueryParams = require('../parseQueryParams-BzPop4I1.cjs');
2
+
3
+ exports.parseQueryParams = require_parseQueryParams.parseQueryParams;
@@ -0,0 +1,13 @@
1
+ //#region src/endpoints/parseQueryParams.d.ts
2
+ /**
3
+ * Parse query parameters from a flat object into a nested structure
4
+ * Handles arrays (multiple values with same key) and objects (dot notation)
5
+ *
6
+ * @example
7
+ * parseQueryParams({ 'tags': ['a', 'b'], 'filter.name': 'john' })
8
+ * // Returns: { tags: ['a', 'b'], filter: { name: 'john' } }
9
+ */
10
+ declare function parseQueryParams(queryParams: Record<string, string | string[] | undefined> | null): Record<string, any>;
11
+ //#endregion
12
+ export { parseQueryParams };
13
+ //# sourceMappingURL=parseQueryParams.d.cts.map
@@ -0,0 +1,13 @@
1
+ //#region src/endpoints/parseQueryParams.d.ts
2
+ /**
3
+ * Parse query parameters from a flat object into a nested structure
4
+ * Handles arrays (multiple values with same key) and objects (dot notation)
5
+ *
6
+ * @example
7
+ * parseQueryParams({ 'tags': ['a', 'b'], 'filter.name': 'john' })
8
+ * // Returns: { tags: ['a', 'b'], filter: { name: 'john' } }
9
+ */
10
+ declare function parseQueryParams(queryParams: Record<string, string | string[] | undefined> | null): Record<string, any>;
11
+ //#endregion
12
+ export { parseQueryParams };
13
+ //# sourceMappingURL=parseQueryParams.d.mts.map
@@ -0,0 +1,3 @@
1
+ import { parseQueryParams } from "../parseQueryParams-BJaRh3OB.mjs";
2
+
3
+ export { parseQueryParams };
@@ -0,0 +1,9 @@
1
+ require('../Construct-BSEs6uwW.cjs');
2
+ require('../publisher-lFQleddL.cjs');
3
+ require('../Function-CbO2NZx-.cjs');
4
+ require('../BaseFunctionBuilder-DtO4Nwxm.cjs');
5
+ require('../FunctionBuilder-DuOeWCAl.cjs');
6
+ require('../FunctionExecutionWrapper-CElXEjPe.cjs');
7
+ const require_AWSLambdaFunction = require('../AWSLambdaFunction-qA5LqPsv.cjs');
8
+
9
+ exports.AWSLambdaFunction = require_AWSLambdaFunction.AWSLambdaFunction;
@@ -0,0 +1,5 @@
1
+ import "../Construct-Bm-PSO2V.cjs";
2
+ import "../Function-BP58p9Mp.cjs";
3
+ import "../FunctionExecutionWrapper-Bx-Dl-2a.cjs";
4
+ import { AWSLambdaFunction, AWSLambdaHandler } from "../AWSLambdaFunction-CwagvPG3.cjs";
5
+ export { AWSLambdaFunction, AWSLambdaHandler };
@@ -0,0 +1,5 @@
1
+ import "../Construct-DIguIyw4.mjs";
2
+ import "../Function-BsBxc2wA.mjs";
3
+ import "../FunctionExecutionWrapper-DvglBBjE.mjs";
4
+ import { AWSLambdaFunction, AWSLambdaHandler } from "../AWSLambdaFunction-CpHFE2m6.mjs";
5
+ export { AWSLambdaFunction, AWSLambdaHandler };
@@ -0,0 +1,9 @@
1
+ import "../Construct-BbKCIPQm.mjs";
2
+ import "../publisher-Bw4770Hi.mjs";
3
+ import "../Function-C5mW-38v.mjs";
4
+ import "../BaseFunctionBuilder-BPE9JBbT.mjs";
5
+ import "../FunctionBuilder-CosgPmMl.mjs";
6
+ import "../FunctionExecutionWrapper-XGrSAAPD.mjs";
7
+ import { AWSLambdaFunction } from "../AWSLambdaFunction-DWIZYsCy.mjs";
8
+
9
+ export { AWSLambdaFunction };
@@ -0,0 +1,4 @@
1
+ require('../Construct-BSEs6uwW.cjs');
2
+ const require_BaseFunctionBuilder = require('../BaseFunctionBuilder-DtO4Nwxm.cjs');
3
+
4
+ exports.BaseFunctionBuilder = require_BaseFunctionBuilder.BaseFunctionBuilder;
@@ -0,0 +1,3 @@
1
+ import "../Construct-Bm-PSO2V.cjs";
2
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-5QCHkchp.cjs";
3
+ export { BaseFunctionBuilder };
@@ -0,0 +1,3 @@
1
+ import "../Construct-DIguIyw4.mjs";
2
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-BFPVGnKi.mjs";
3
+ export { BaseFunctionBuilder };
@@ -0,0 +1,4 @@
1
+ import "../Construct-BbKCIPQm.mjs";
2
+ import { BaseFunctionBuilder } from "../BaseFunctionBuilder-BPE9JBbT.mjs";
3
+
4
+ export { BaseFunctionBuilder };
@@ -0,0 +1,5 @@
1
+ require('../Construct-BSEs6uwW.cjs');
2
+ const require_Function = require('../Function-CbO2NZx-.cjs');
3
+
4
+ exports.Function = require_Function.Function;
5
+ exports.FunctionFactory = require_Function.FunctionFactory;
@@ -0,0 +1,3 @@
1
+ import "../Construct-Bm-PSO2V.cjs";
2
+ import { Function, FunctionContext, FunctionFactory, FunctionHandler } from "../Function-BP58p9Mp.cjs";
3
+ export { Function, FunctionContext, FunctionFactory, FunctionHandler };
@@ -0,0 +1,3 @@
1
+ import "../Construct-DIguIyw4.mjs";
2
+ import { Function, FunctionContext, FunctionFactory, FunctionHandler } from "../Function-BsBxc2wA.mjs";
3
+ export { Function, FunctionContext, FunctionFactory, FunctionHandler };
@@ -0,0 +1,4 @@
1
+ import "../Construct-BbKCIPQm.mjs";
2
+ import { Function, FunctionFactory } from "../Function-C5mW-38v.mjs";
3
+
4
+ export { Function, FunctionFactory };
@@ -0,0 +1,6 @@
1
+ require('../Construct-BSEs6uwW.cjs');
2
+ require('../Function-CbO2NZx-.cjs');
3
+ require('../BaseFunctionBuilder-DtO4Nwxm.cjs');
4
+ const require_FunctionBuilder = require('../FunctionBuilder-DuOeWCAl.cjs');
5
+
6
+ exports.FunctionBuilder = require_FunctionBuilder.FunctionBuilder;
@@ -0,0 +1,5 @@
1
+ import "../Construct-Bm-PSO2V.cjs";
2
+ import "../Function-BP58p9Mp.cjs";
3
+ import "../BaseFunctionBuilder-5QCHkchp.cjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-BS1KgxA_.cjs";
5
+ export { FunctionBuilder };
@@ -0,0 +1,5 @@
1
+ import "../Construct-DIguIyw4.mjs";
2
+ import "../Function-BsBxc2wA.mjs";
3
+ import "../BaseFunctionBuilder-BFPVGnKi.mjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-C-PfPN3r.mjs";
5
+ export { FunctionBuilder };
@@ -0,0 +1,6 @@
1
+ import "../Construct-BbKCIPQm.mjs";
2
+ import "../Function-C5mW-38v.mjs";
3
+ import "../BaseFunctionBuilder-BPE9JBbT.mjs";
4
+ import { FunctionBuilder } from "../FunctionBuilder-CosgPmMl.mjs";
5
+
6
+ export { FunctionBuilder };
@@ -0,0 +1,8 @@
1
+ require('../Construct-BSEs6uwW.cjs');
2
+ require('../publisher-lFQleddL.cjs');
3
+ require('../Function-CbO2NZx-.cjs');
4
+ require('../BaseFunctionBuilder-DtO4Nwxm.cjs');
5
+ require('../FunctionBuilder-DuOeWCAl.cjs');
6
+ const require_FunctionExecutionWrapper = require('../FunctionExecutionWrapper-CElXEjPe.cjs');
7
+
8
+ exports.FunctionExecutionWrapper = require_FunctionExecutionWrapper.FunctionExecutionWrapper;
@@ -0,0 +1,4 @@
1
+ import "../Construct-Bm-PSO2V.cjs";
2
+ import "../Function-BP58p9Mp.cjs";
3
+ import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-Bx-Dl-2a.cjs";
4
+ export { FunctionExecutionWrapper };
@@ -0,0 +1,4 @@
1
+ import "../Construct-DIguIyw4.mjs";
2
+ import "../Function-BsBxc2wA.mjs";
3
+ import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-DvglBBjE.mjs";
4
+ export { FunctionExecutionWrapper };
@@ -0,0 +1,8 @@
1
+ import "../Construct-BbKCIPQm.mjs";
2
+ import "../publisher-Bw4770Hi.mjs";
3
+ import "../Function-C5mW-38v.mjs";
4
+ import "../BaseFunctionBuilder-BPE9JBbT.mjs";
5
+ import "../FunctionBuilder-CosgPmMl.mjs";
6
+ import { FunctionExecutionWrapper } from "../FunctionExecutionWrapper-XGrSAAPD.mjs";
7
+
8
+ export { FunctionExecutionWrapper };
@@ -0,0 +1,38 @@
1
+ const require_chunk = require('../chunk-CUT6urMc.cjs');
2
+ require('../Construct-BSEs6uwW.cjs');
3
+ const require_publisher = require('../publisher-lFQleddL.cjs');
4
+ require('../Function-CbO2NZx-.cjs');
5
+ require('../BaseFunctionBuilder-DtO4Nwxm.cjs');
6
+ const require_FunctionBuilder = require('../FunctionBuilder-DuOeWCAl.cjs');
7
+ const __geekmidas_envkit = require_chunk.__toESM(require("@geekmidas/envkit"));
8
+ const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
9
+
10
+ //#region src/functions/TestFunctionAdaptor.ts
11
+ var TestFunctionAdaptor = class TestFunctionAdaptor {
12
+ static getDefaultServiceDiscovery(fn) {
13
+ return __geekmidas_services.ServiceDiscovery.getInstance(fn.logger, new __geekmidas_envkit.EnvironmentParser({}));
14
+ }
15
+ constructor(fn, serviceDiscovery = TestFunctionAdaptor.getDefaultServiceDiscovery(fn)) {
16
+ this.fn = fn;
17
+ this.serviceDiscovery = serviceDiscovery;
18
+ }
19
+ async invoke(ctx) {
20
+ const parsedInput = await require_FunctionBuilder.FunctionBuilder.parseComposableStandardSchema(ctx.input, this.fn.input);
21
+ const logger = this.fn.logger.child({ test: true });
22
+ let services;
23
+ if (ctx.services) services = ctx.services;
24
+ else services = await this.serviceDiscovery.register(this.fn.services);
25
+ const response = await this.fn["fn"]({
26
+ input: parsedInput,
27
+ services,
28
+ logger
29
+ });
30
+ const output = await this.fn.parseOutput(response);
31
+ await require_publisher.publishEvents(logger, this.serviceDiscovery, this.fn.events, output, this.fn.publisherService);
32
+ return output;
33
+ }
34
+ };
35
+
36
+ //#endregion
37
+ exports.TestFunctionAdaptor = TestFunctionAdaptor;
38
+ //# sourceMappingURL=TestFunctionAdaptor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestFunctionAdaptor.cjs","names":["fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >","EnvironmentParser","serviceDiscovery: ServiceDiscovery<\n any,\n any\n >","ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName\n >","services: ServiceRecord<TServices>"],"sources":["../../src/functions/TestFunctionAdaptor.ts"],"sourcesContent":["import { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type {\n ComposableStandardSchema,\n InferComposableStandardSchema,\n InferStandardSchema,\n} from '@geekmidas/schema';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { publishEvents } from '../publisher';\nimport type { Function } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport class TestFunctionAdaptor<\n TInput extends StandardSchemaV1 | undefined = undefined,\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> {\n static getDefaultServiceDiscovery<\n TInput extends ComposableStandardSchema | undefined = undefined,\n TOutSchema extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n >(\n fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {\n return ServiceDiscovery.getInstance(fn.logger, new EnvironmentParser({}));\n }\n\n constructor(\n private readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n any,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n private serviceDiscovery: ServiceDiscovery<\n any,\n any\n > = TestFunctionAdaptor.getDefaultServiceDiscovery(fn),\n ) {}\n\n async invoke(\n ctx: TestFunctionRequest<\n TInput,\n TServices,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ): Promise<InferStandardSchema<TOutSchema>> {\n // Parse input if schema is provided\n\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n ctx.input,\n this.fn.input,\n );\n\n // Create logger with context\n const logger = this.fn.logger.child({\n test: true,\n }) as TLogger;\n\n // Register services (use provided services or register from function)\n let services: ServiceRecord<TServices>;\n if (ctx.services) {\n services = ctx.services;\n } else {\n services = await this.serviceDiscovery.register(this.fn.services);\n }\n\n // Execute the function\n const response = await this.fn['fn']({\n input: parsedInput,\n services,\n logger,\n });\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(response);\n\n // Register publisher service if provided in context\n\n await publishEvents(\n logger,\n this.serviceDiscovery,\n this.fn.events,\n output,\n this.fn.publisherService,\n );\n\n return output;\n }\n}\n\nexport type TestFunctionRequest<\n TInput extends StandardSchemaV1 | undefined = undefined,\n TServices extends Service[] = [],\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n> = {\n input: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n publisher?: Service<TEventPublisherServiceName, TEventPublisher>;\n} & InferComposableStandardSchema<{ input: TInput }>;\n"],"mappings":";;;;;;;;;;AAkBA,IAAa,sBAAb,MAAa,oBAOX;CACA,OAAO,2BAQLA,IASA;AACA,SAAO,sCAAiB,YAAY,GAAG,QAAQ,IAAIC,qCAAkB,CAAE,GAAE;CAC1E;CAED,YACmBD,IASTE,mBAGJ,oBAAoB,2BAA2B,GAAG,EACtD;EAbiB;EAST;CAIN;CAEJ,MAAM,OACJC,KAM0C;EAG1C,MAAM,cAAc,MAAM,wCAAgB,8BACxC,IAAI,OACJ,KAAK,GAAG,MACT;EAGD,MAAM,SAAS,KAAK,GAAG,OAAO,MAAM,EAClC,MAAM,KACP,EAAC;EAGF,IAAIC;AACJ,MAAI,IAAI,SACN,YAAW,IAAI;MAEf,YAAW,MAAM,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;EAInE,MAAM,WAAW,MAAM,KAAK,GAAG,MAAM;GACnC,OAAO;GACP;GACA;EACD,EAAC;EAGF,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,SAAS;AAIlD,QAAM,gCACJ,QACA,KAAK,kBACL,KAAK,GAAG,QACR,QACA,KAAK,GAAG,iBACT;AAED,SAAO;CACR;AACF"}