@geekmidas/constructs 0.0.7 → 0.0.9
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.
- package/dist/{AWSLambdaFunction-qA5LqPsv.cjs → AWSLambdaFunction-CMLZ3GaC.cjs} +3 -3
- package/dist/{AWSLambdaFunction-qA5LqPsv.cjs.map → AWSLambdaFunction-CMLZ3GaC.cjs.map} +1 -1
- package/dist/{AWSLambdaFunction-CANc3Qo2.d.mts → AWSLambdaFunction-D5V3YVqv.d.cts} +5 -5
- package/dist/{AWSLambdaFunction-CwagvPG3.d.cts → AWSLambdaFunction-_J0MjixY.d.mts} +5 -5
- package/dist/{AWSLambdaFunction-DWIZYsCy.mjs → AWSLambdaFunction-egVcP17n.mjs} +3 -3
- package/dist/{AWSLambdaFunction-DWIZYsCy.mjs.map → AWSLambdaFunction-egVcP17n.mjs.map} +1 -1
- package/dist/{AWSLambdaSubscriberAdaptor-QKVxR6qh.d.cts → AWSLambdaSubscriberAdaptor-DjG1ME3P.d.mts} +4 -4
- package/dist/{AWSLambdaSubscriberAdaptor-C6JYIZxn.d.mts → AWSLambdaSubscriberAdaptor-J_pSz6pu.d.cts} +4 -4
- package/dist/{AmazonApiGatewayEndpointAdaptor-BFhJ2Rpz.d.cts → AmazonApiGatewayEndpointAdaptor-BnNd8tCz.d.cts} +2 -2
- package/dist/{AmazonApiGatewayEndpointAdaptor-BrB3RfbI.d.mts → AmazonApiGatewayEndpointAdaptor-C-17dUai.d.mts} +2 -2
- package/dist/{AmazonApiGatewayEndpointAdaptor-Bmz6Cy1e.mjs → AmazonApiGatewayEndpointAdaptor-CQLjGSJe.mjs} +2 -2
- package/dist/{AmazonApiGatewayEndpointAdaptor-Bmz6Cy1e.mjs.map → AmazonApiGatewayEndpointAdaptor-CQLjGSJe.mjs.map} +1 -1
- package/dist/{AmazonApiGatewayEndpointAdaptor-B8mozTcG.cjs → AmazonApiGatewayEndpointAdaptor-DPaV_5wG.cjs} +2 -2
- package/dist/{AmazonApiGatewayEndpointAdaptor-B8mozTcG.cjs.map → AmazonApiGatewayEndpointAdaptor-DPaV_5wG.cjs.map} +1 -1
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-Bd-o8ese.d.cts → AmazonApiGatewayV1EndpointAdaptor-BC-a2tt3.d.cts} +3 -3
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-BtNXt0-4.d.mts → AmazonApiGatewayV1EndpointAdaptor-Cjud-a6p.d.mts} +3 -3
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-24g3dLn5.mjs → AmazonApiGatewayV1EndpointAdaptor-DEBcyZe0.mjs} +2 -2
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-24g3dLn5.mjs.map → AmazonApiGatewayV1EndpointAdaptor-DEBcyZe0.mjs.map} +1 -1
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-D4eZ-fx5.cjs → AmazonApiGatewayV1EndpointAdaptor-DkFcSRwT.cjs} +2 -2
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-D4eZ-fx5.cjs.map → AmazonApiGatewayV1EndpointAdaptor-DkFcSRwT.cjs.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-Cc40RThv.mjs → AmazonApiGatewayV2EndpointAdaptor-BB7t7LE2.mjs} +2 -2
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-Cc40RThv.mjs.map → AmazonApiGatewayV2EndpointAdaptor-BB7t7LE2.mjs.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-J6tACl-N.cjs → AmazonApiGatewayV2EndpointAdaptor-BQ21ry6s.cjs} +2 -2
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-J6tACl-N.cjs.map → AmazonApiGatewayV2EndpointAdaptor-BQ21ry6s.cjs.map} +1 -1
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-DAJdtgek.d.mts → AmazonApiGatewayV2EndpointAdaptor-C31Xcwmc.d.mts} +3 -3
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-DX-Uci5w.d.cts → AmazonApiGatewayV2EndpointAdaptor-zNFUPxSY.d.cts} +3 -3
- package/dist/Authorizer-Bbk9ziuG.d.mts +29 -0
- package/dist/Authorizer-iXsSB600.d.cts +29 -0
- package/dist/{BaseFunctionBuilder-DtO4Nwxm.cjs → BaseFunctionBuilder-B-kdtkzI.cjs} +2 -2
- package/dist/{BaseFunctionBuilder-DtO4Nwxm.cjs.map → BaseFunctionBuilder-B-kdtkzI.cjs.map} +1 -1
- package/dist/{BaseFunctionBuilder-5QCHkchp.d.cts → BaseFunctionBuilder-C4ZJPkIZ.d.cts} +2 -2
- package/dist/{BaseFunctionBuilder-Dda7AiID.d.mts → BaseFunctionBuilder-CxBX0arJ.d.mts} +2 -2
- package/dist/{BaseFunctionBuilder-BPE9JBbT.mjs → BaseFunctionBuilder-DOhEn5Ce.mjs} +2 -2
- package/dist/{BaseFunctionBuilder-BPE9JBbT.mjs.map → BaseFunctionBuilder-DOhEn5Ce.mjs.map} +1 -1
- package/dist/{Construct-BbKCIPQm.mjs → Construct-B-O9OBS1.mjs} +4 -2
- package/dist/Construct-B-O9OBS1.mjs.map +1 -0
- package/dist/{Construct-BSEs6uwW.cjs → Construct-BtfN2fcm.cjs} +4 -2
- package/dist/Construct-BtfN2fcm.cjs.map +1 -0
- package/dist/{Construct-Bm-PSO2V.d.cts → Construct-ci5u8Xnu.d.cts} +4 -2
- package/dist/{Construct-DdyYENBD.d.mts → Construct-zhmcmIdY.d.mts} +4 -2
- package/dist/Construct.cjs +1 -1
- package/dist/Construct.d.cts +1 -1
- package/dist/Construct.d.mts +1 -1
- package/dist/Construct.mjs +1 -1
- package/dist/{Cron-BxMXmn4t.d.cts → Cron-ByNYsQDH.d.mts} +4 -4
- package/dist/{Cron-D6hnZLk7.mjs → Cron-D8DPUXBd.mjs} +5 -5
- package/dist/Cron-D8DPUXBd.mjs.map +1 -0
- package/dist/{Cron-NDBlJhb3.d.mts → Cron-DkPL-Fms.d.cts} +4 -4
- package/dist/{Cron-CmZ6esMM.cjs → Cron-sOrsPuQj.cjs} +5 -5
- package/dist/Cron-sOrsPuQj.cjs.map +1 -0
- package/dist/{CronBuilder-C6K5AbIO.d.cts → CronBuilder-BknVTWLE.d.mts} +6 -5
- package/dist/{CronBuilder-s5x8V8hH.d.mts → CronBuilder-BqTTozUi.d.cts} +6 -5
- package/dist/{CronBuilder-Dfv5JguE.mjs → CronBuilder-ChyrDobL.mjs} +10 -5
- package/dist/CronBuilder-ChyrDobL.mjs.map +1 -0
- package/dist/{CronBuilder-Di7QK8Rt.cjs → CronBuilder-Kvz1GiUp.cjs} +10 -5
- package/dist/CronBuilder-Kvz1GiUp.cjs.map +1 -0
- package/dist/{Endpoint-COGAflGh.cjs → Endpoint-Bghj0fiL.cjs} +21 -12
- package/dist/Endpoint-Bghj0fiL.cjs.map +1 -0
- package/dist/{Endpoint-C7jPJzAH.d.mts → Endpoint-C16whGI-.d.mts} +45 -13
- package/dist/{Endpoint-DLLZvqoh.mjs → Endpoint-DCJz2VQ_.mjs} +21 -12
- package/dist/Endpoint-DCJz2VQ_.mjs.map +1 -0
- package/dist/{Endpoint-XUMNAXYy.d.cts → Endpoint-zHPjZ35J.d.cts} +45 -13
- package/dist/{EndpointBuilder-t6fVEKBH.d.cts → EndpointBuilder-B5l7zQU1.d.cts} +18 -12
- package/dist/{EndpointBuilder-oXO_ka1-.mjs → EndpointBuilder-B6xIAruu.mjs} +28 -5
- package/dist/EndpointBuilder-B6xIAruu.mjs.map +1 -0
- package/dist/{EndpointBuilder-CFtWQhcv.d.mts → EndpointBuilder-BzqR0xvt.d.mts} +18 -12
- package/dist/{EndpointBuilder-FJktpPOu.cjs → EndpointBuilder-i7-4ieP_.cjs} +28 -5
- package/dist/EndpointBuilder-i7-4ieP_.cjs.map +1 -0
- package/dist/{EndpointFactory-Kk1tpifs.cjs → EndpointFactory-CYTBPu_G.cjs} +41 -10
- package/dist/EndpointFactory-CYTBPu_G.cjs.map +1 -0
- package/dist/{EndpointFactory-eG8bDhOh.mjs → EndpointFactory-CYuT-nt-.mjs} +41 -10
- package/dist/EndpointFactory-CYuT-nt-.mjs.map +1 -0
- package/dist/{EndpointFactory-DBRGrXAy.d.mts → EndpointFactory-KkyIOE62.d.cts} +29 -21
- package/dist/{EndpointFactory-DInjHvFR.d.cts → EndpointFactory-VnSAdwdv.d.mts} +29 -21
- package/dist/{Function-CbO2NZx-.cjs → Function-BCEAZFyL.cjs} +4 -5
- package/dist/Function-BCEAZFyL.cjs.map +1 -0
- package/dist/{Function-BP58p9Mp.d.cts → Function-BbLYIKLL.d.cts} +3 -4
- package/dist/{Function-C5mW-38v.mjs → Function-CmfMIDoS.mjs} +4 -5
- package/dist/Function-CmfMIDoS.mjs.map +1 -0
- package/dist/{Function-C98H68DW.d.mts → Function-DFRZZCC-.d.mts} +3 -4
- package/dist/{FunctionBuilder-DuOeWCAl.cjs → FunctionBuilder-BqivB_cc.cjs} +11 -5
- package/dist/FunctionBuilder-BqivB_cc.cjs.map +1 -0
- package/dist/{FunctionBuilder-BS1KgxA_.d.cts → FunctionBuilder-DdGjpiFT.d.cts} +6 -4
- package/dist/{FunctionBuilder-DBwR7jg7.d.mts → FunctionBuilder-DuktGyZc.d.mts} +6 -4
- package/dist/{FunctionBuilder-CosgPmMl.mjs → FunctionBuilder-QvqvEyFa.mjs} +11 -5
- package/dist/FunctionBuilder-QvqvEyFa.mjs.map +1 -0
- package/dist/{FunctionExecutionWrapper-B0V7V8YS.d.mts → FunctionExecutionWrapper-CAHR74yI.d.mts} +2 -2
- package/dist/{FunctionExecutionWrapper-Bx-Dl-2a.d.cts → FunctionExecutionWrapper-CRYi047B.d.cts} +2 -2
- package/dist/{FunctionExecutionWrapper-XGrSAAPD.mjs → FunctionExecutionWrapper-JsZIHhcl.mjs} +2 -2
- package/dist/{FunctionExecutionWrapper-XGrSAAPD.mjs.map → FunctionExecutionWrapper-JsZIHhcl.mjs.map} +1 -1
- package/dist/{FunctionExecutionWrapper-CElXEjPe.cjs → FunctionExecutionWrapper-TJxf9p4v.cjs} +2 -2
- package/dist/{FunctionExecutionWrapper-CElXEjPe.cjs.map → FunctionExecutionWrapper-TJxf9p4v.cjs.map} +1 -1
- package/dist/{HonoEndpointAdaptor-BlT1rWHV.mjs → HonoEndpointAdaptor-8eYrSFRn.mjs} +33 -16
- package/dist/HonoEndpointAdaptor-8eYrSFRn.mjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-BrbM9vxd.d.cts → HonoEndpointAdaptor-DAsZoX2a.d.mts} +9 -8
- package/dist/{HonoEndpointAdaptor-CxcYKdzT.d.mts → HonoEndpointAdaptor-lYw6EN1Q.d.cts} +7 -6
- package/dist/{HonoEndpointAdaptor-Ds433Q8w.cjs → HonoEndpointAdaptor-vWSpXdNp.cjs} +20 -3
- package/dist/HonoEndpointAdaptor-vWSpXdNp.cjs.map +1 -0
- package/dist/{Subscriber-CSt7EOlT.cjs → Subscriber-BdiqU7da.cjs} +2 -2
- package/dist/{Subscriber-CSt7EOlT.cjs.map → Subscriber-BdiqU7da.cjs.map} +1 -1
- package/dist/{Subscriber-BoFm12i_.d.cts → Subscriber-Cy28j8MS.d.cts} +2 -2
- package/dist/{Subscriber-DkCDcTUL.mjs → Subscriber-bJSqvjdK.mjs} +2 -2
- package/dist/{Subscriber-DkCDcTUL.mjs.map → Subscriber-bJSqvjdK.mjs.map} +1 -1
- package/dist/{Subscriber-BxH6n8zQ.d.mts → Subscriber-g3IWM1_d.d.mts} +2 -2
- package/dist/{SubscriberBuilder-BpSDPzBz.d.mts → SubscriberBuilder-BzK8kc2a.d.cts} +3 -3
- package/dist/{SubscriberBuilder-Bn9Hyi28.mjs → SubscriberBuilder-CyCyjT6L.mjs} +2 -2
- package/dist/{SubscriberBuilder-Bn9Hyi28.mjs.map → SubscriberBuilder-CyCyjT6L.mjs.map} +1 -1
- package/dist/{SubscriberBuilder-RsiOmnwq.cjs → SubscriberBuilder-JTJcIZYy.cjs} +2 -2
- package/dist/{SubscriberBuilder-RsiOmnwq.cjs.map → SubscriberBuilder-JTJcIZYy.cjs.map} +1 -1
- package/dist/{SubscriberBuilder-DgljKtYu.d.cts → SubscriberBuilder-YjQ7qIpQ.d.mts} +3 -3
- package/dist/{TestEndpointAdaptor-Ct4I-gDo.mjs → TestEndpointAdaptor-BevV2LLd.mjs} +2 -2
- package/dist/{TestEndpointAdaptor-Ct4I-gDo.mjs.map → TestEndpointAdaptor-BevV2LLd.mjs.map} +1 -1
- package/dist/{TestEndpointAdaptor-vboVyJ0w.d.mts → TestEndpointAdaptor-DGWuai69.d.mts} +2 -2
- package/dist/{TestEndpointAdaptor-FJUob2W_.cjs → TestEndpointAdaptor-DupnzEnS.cjs} +2 -2
- package/dist/{TestEndpointAdaptor-FJUob2W_.cjs.map → TestEndpointAdaptor-DupnzEnS.cjs.map} +1 -1
- package/dist/{TestEndpointAdaptor-wwEaVHAt.d.cts → TestEndpointAdaptor-uXliWYjS.d.cts} +2 -2
- package/dist/adaptors/aws.cjs +11 -11
- package/dist/adaptors/aws.d.cts +14 -13
- package/dist/adaptors/aws.d.mts +14 -13
- package/dist/adaptors/aws.mjs +11 -11
- package/dist/adaptors/hono.cjs +8 -8
- package/dist/adaptors/hono.d.cts +8 -7
- package/dist/adaptors/hono.d.mts +8 -7
- package/dist/adaptors/hono.mjs +8 -8
- package/dist/adaptors/testing.cjs +7 -7
- package/dist/adaptors/testing.d.cts +8 -7
- package/dist/adaptors/testing.d.mts +8 -7
- package/dist/adaptors/testing.mjs +7 -7
- package/dist/crons/Cron.cjs +6 -6
- package/dist/crons/Cron.d.cts +6 -6
- package/dist/crons/Cron.d.mts +6 -6
- package/dist/crons/Cron.mjs +6 -6
- package/dist/crons/CronBuilder.cjs +7 -7
- package/dist/crons/CronBuilder.d.cts +7 -7
- package/dist/crons/CronBuilder.d.mts +7 -7
- package/dist/crons/CronBuilder.mjs +7 -7
- package/dist/crons/index.cjs +7 -7
- package/dist/crons/index.d.cts +11 -11
- package/dist/crons/index.d.mts +11 -11
- package/dist/crons/index.mjs +7 -7
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +7 -7
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +8 -7
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +8 -7
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +7 -7
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +8 -8
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +9 -8
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +9 -8
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +8 -8
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +8 -8
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +9 -8
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +9 -8
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +8 -8
- package/dist/endpoints/Authorizer.cjs +15 -0
- package/dist/endpoints/Authorizer.cjs.map +1 -0
- package/dist/endpoints/Authorizer.d.cts +2 -0
- package/dist/endpoints/Authorizer.d.mts +2 -0
- package/dist/endpoints/Authorizer.mjs +14 -0
- package/dist/endpoints/Authorizer.mjs.map +1 -0
- package/dist/endpoints/Endpoint.cjs +6 -6
- package/dist/endpoints/Endpoint.d.cts +7 -6
- package/dist/endpoints/Endpoint.d.mts +7 -6
- package/dist/endpoints/Endpoint.mjs +6 -6
- package/dist/endpoints/EndpointBuilder.cjs +7 -7
- package/dist/endpoints/EndpointBuilder.d.cts +8 -7
- package/dist/endpoints/EndpointBuilder.d.mts +8 -7
- package/dist/endpoints/EndpointBuilder.mjs +7 -7
- package/dist/endpoints/EndpointFactory.cjs +8 -8
- package/dist/endpoints/EndpointFactory.d.cts +9 -8
- package/dist/endpoints/EndpointFactory.d.mts +9 -8
- package/dist/endpoints/EndpointFactory.mjs +8 -8
- package/dist/endpoints/HonoEndpointAdaptor.cjs +8 -8
- package/dist/endpoints/HonoEndpointAdaptor.d.cts +8 -7
- package/dist/endpoints/HonoEndpointAdaptor.d.mts +8 -7
- package/dist/endpoints/HonoEndpointAdaptor.mjs +8 -8
- package/dist/endpoints/TestEndpointAdaptor.cjs +7 -7
- package/dist/endpoints/TestEndpointAdaptor.d.cts +8 -7
- package/dist/endpoints/TestEndpointAdaptor.d.mts +8 -7
- package/dist/endpoints/TestEndpointAdaptor.mjs +7 -7
- package/dist/endpoints/helpers.cjs +7 -7
- package/dist/endpoints/helpers.d.cts +7 -6
- package/dist/endpoints/helpers.d.mts +7 -6
- package/dist/endpoints/helpers.mjs +7 -7
- package/dist/endpoints/index.cjs +8 -8
- package/dist/endpoints/index.d.cts +11 -10
- package/dist/endpoints/index.d.mts +11 -10
- package/dist/endpoints/index.mjs +8 -8
- package/dist/functions/AWSLambdaFunction.cjs +6 -6
- package/dist/functions/AWSLambdaFunction.d.cts +4 -4
- package/dist/functions/AWSLambdaFunction.d.mts +4 -4
- package/dist/functions/AWSLambdaFunction.mjs +6 -6
- package/dist/functions/BaseFunctionBuilder.cjs +2 -2
- package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
- package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
- package/dist/functions/BaseFunctionBuilder.mjs +2 -2
- package/dist/functions/Function.cjs +2 -2
- package/dist/functions/Function.d.cts +2 -2
- package/dist/functions/Function.d.mts +2 -2
- package/dist/functions/Function.mjs +2 -2
- package/dist/functions/FunctionBuilder.cjs +4 -4
- package/dist/functions/FunctionBuilder.d.cts +4 -4
- package/dist/functions/FunctionBuilder.d.mts +4 -4
- package/dist/functions/FunctionBuilder.mjs +4 -4
- package/dist/functions/FunctionExecutionWrapper.cjs +5 -5
- package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
- package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
- package/dist/functions/FunctionExecutionWrapper.mjs +5 -5
- package/dist/functions/TestFunctionAdaptor.cjs +4 -4
- package/dist/functions/TestFunctionAdaptor.d.cts +2 -2
- package/dist/functions/TestFunctionAdaptor.d.mts +2 -2
- package/dist/functions/TestFunctionAdaptor.mjs +4 -4
- package/dist/functions/index.cjs +5 -5
- package/dist/functions/index.d.cts +5 -5
- package/dist/functions/index.d.mts +5 -5
- package/dist/functions/index.mjs +5 -5
- package/dist/{functions-DVDb5wEA.cjs → functions-B9mEg9D9.cjs} +2 -2
- package/dist/{functions-DVDb5wEA.cjs.map → functions-B9mEg9D9.cjs.map} +1 -1
- package/dist/functions-DcQZSOHg.mjs +8 -0
- package/dist/{functions-mM-jcphA.mjs.map → functions-DcQZSOHg.mjs.map} +1 -1
- package/dist/{helpers-go4jiRvV.cjs → helpers-BJrzAmhb.cjs} +2 -2
- package/dist/{helpers-go4jiRvV.cjs.map → helpers-BJrzAmhb.cjs.map} +1 -1
- package/dist/{helpers-CM0U-4Vk.mjs → helpers-D_UKinz8.mjs} +2 -2
- package/dist/{helpers-CM0U-4Vk.mjs.map → helpers-D_UKinz8.mjs.map} +1 -1
- package/dist/index-DQt3pQtF.d.mts +9 -0
- package/dist/index-Dq-LQIwK.d.cts +9 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/publisher.d.cts +1 -1
- package/dist/publisher.d.mts +1 -1
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
- package/dist/subscribers/Subscriber.cjs +2 -2
- package/dist/subscribers/Subscriber.d.cts +2 -2
- package/dist/subscribers/Subscriber.d.mts +2 -2
- package/dist/subscribers/Subscriber.mjs +2 -2
- package/dist/subscribers/SubscriberBuilder.cjs +3 -3
- package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
- package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
- package/dist/subscribers/SubscriberBuilder.mjs +3 -3
- package/dist/subscribers/index.cjs +3 -3
- package/dist/subscribers/index.d.cts +3 -3
- package/dist/subscribers/index.d.mts +5 -5
- package/dist/subscribers/index.mjs +3 -3
- package/package.json +5 -5
- package/src/Construct.ts +2 -0
- package/src/crons/Cron.ts +2 -0
- package/src/crons/CronBuilder.ts +8 -0
- package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +227 -0
- package/src/endpoints/Authorizer.ts +34 -0
- package/src/endpoints/Endpoint.ts +67 -14
- package/src/endpoints/EndpointBuilder.ts +79 -12
- package/src/endpoints/EndpointFactory.ts +106 -27
- package/src/endpoints/HonoEndpointAdaptor.ts +29 -0
- package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +85 -0
- package/src/endpoints/__tests__/Endpoint.headers.spec.ts +187 -0
- package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +176 -0
- package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +259 -0
- package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +190 -0
- package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +155 -0
- package/src/functions/Function.ts +12 -2
- package/src/functions/FunctionBuilder.ts +9 -0
- package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +160 -0
- package/dist/Construct-BSEs6uwW.cjs.map +0 -1
- package/dist/Construct-BbKCIPQm.mjs.map +0 -1
- package/dist/Cron-CmZ6esMM.cjs.map +0 -1
- package/dist/Cron-D6hnZLk7.mjs.map +0 -1
- package/dist/CronBuilder-Dfv5JguE.mjs.map +0 -1
- package/dist/CronBuilder-Di7QK8Rt.cjs.map +0 -1
- package/dist/Endpoint-COGAflGh.cjs.map +0 -1
- package/dist/Endpoint-DLLZvqoh.mjs.map +0 -1
- package/dist/EndpointBuilder-FJktpPOu.cjs.map +0 -1
- package/dist/EndpointBuilder-oXO_ka1-.mjs.map +0 -1
- package/dist/EndpointFactory-Kk1tpifs.cjs.map +0 -1
- package/dist/EndpointFactory-eG8bDhOh.mjs.map +0 -1
- package/dist/Function-C5mW-38v.mjs.map +0 -1
- package/dist/Function-CbO2NZx-.cjs.map +0 -1
- package/dist/FunctionBuilder-CosgPmMl.mjs.map +0 -1
- package/dist/FunctionBuilder-DuOeWCAl.cjs.map +0 -1
- package/dist/HonoEndpointAdaptor-BlT1rWHV.mjs.map +0 -1
- package/dist/HonoEndpointAdaptor-Ds433Q8w.cjs.map +0 -1
- package/dist/functions-mM-jcphA.mjs +0 -8
- package/dist/index-BGr5gFrX.d.cts +0 -9
- package/dist/index-YM4W9XUq.d.mts +0 -9
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
-
const require_Construct = require('./Construct-
|
|
3
|
-
const require_Function = require('./Function-
|
|
4
|
-
const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-
|
|
2
|
+
const require_Construct = require('./Construct-BtfN2fcm.cjs');
|
|
3
|
+
const require_Function = require('./Function-BCEAZFyL.cjs');
|
|
4
|
+
const require_BaseFunctionBuilder = require('./BaseFunctionBuilder-B-kdtkzI.cjs');
|
|
5
5
|
const lodash_uniqby = require_chunk.__toESM(require("lodash.uniqby"));
|
|
6
6
|
const __geekmidas_logger_console = require_chunk.__toESM(require("@geekmidas/logger/console"));
|
|
7
7
|
|
|
8
8
|
//#region src/functions/FunctionBuilder.ts
|
|
9
9
|
const DEFAULT_LOGGER = new __geekmidas_logger_console.ConsoleLogger();
|
|
10
10
|
var FunctionBuilder = class extends require_BaseFunctionBuilder.BaseFunctionBuilder {
|
|
11
|
+
_memorySize;
|
|
11
12
|
constructor(type = require_Construct.ConstructType.Function) {
|
|
12
13
|
super(type);
|
|
13
14
|
this.type = type;
|
|
@@ -16,6 +17,10 @@ var FunctionBuilder = class extends require_BaseFunctionBuilder.BaseFunctionBuil
|
|
|
16
17
|
this._timeout = timeout;
|
|
17
18
|
return this;
|
|
18
19
|
}
|
|
20
|
+
memorySize(memorySize) {
|
|
21
|
+
this._memorySize = memorySize;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
19
24
|
output(schema) {
|
|
20
25
|
this.outputSchema = schema;
|
|
21
26
|
return this;
|
|
@@ -37,7 +42,7 @@ var FunctionBuilder = class extends require_BaseFunctionBuilder.BaseFunctionBuil
|
|
|
37
42
|
return this;
|
|
38
43
|
}
|
|
39
44
|
handle(fn) {
|
|
40
|
-
const func = new require_Function.Function(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events);
|
|
45
|
+
const func = new require_Function.Function(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize);
|
|
41
46
|
this._services = [];
|
|
42
47
|
this._logger = DEFAULT_LOGGER;
|
|
43
48
|
this._events = [];
|
|
@@ -45,6 +50,7 @@ var FunctionBuilder = class extends require_BaseFunctionBuilder.BaseFunctionBuil
|
|
|
45
50
|
this.inputSchema = void 0;
|
|
46
51
|
this.outputSchema = void 0;
|
|
47
52
|
this._timeout = void 0;
|
|
53
|
+
this._memorySize = void 0;
|
|
48
54
|
return func;
|
|
49
55
|
}
|
|
50
56
|
};
|
|
@@ -56,4 +62,4 @@ Object.defineProperty(exports, 'FunctionBuilder', {
|
|
|
56
62
|
return FunctionBuilder;
|
|
57
63
|
}
|
|
58
64
|
});
|
|
59
|
-
//# sourceMappingURL=FunctionBuilder-
|
|
65
|
+
//# sourceMappingURL=FunctionBuilder-BqivB_cc.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionBuilder-BqivB_cc.cjs","names":["ConsoleLogger","BaseFunctionBuilder","ConstructType","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>","Function"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n TInput extends ComposableStandardSchema,\n OutSchema 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> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n> {\n protected _memorySize?: number;\n\n constructor(public type = ConstructType.Function) {\n super(type);\n }\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n >;\n }\n\n input<T extends ComposableStandardSchema>(\n schema: T,\n ): FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n this.inputSchema = schema as unknown as TInput;\n\n return this as unknown as FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n >;\n }\n\n services<T extends Service[]>(\n services: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName\n >;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): FunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName> {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName\n >;\n }\n\n handle(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n ): Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n const func = new Function(\n fn,\n this._timeout,\n this.type,\n this.inputSchema,\n this.outputSchema,\n this._services,\n this._logger,\n this._publisher,\n this._events,\n this._memorySize,\n );\n\n // Reset builder state after creating the function to prevent pollution\n this._services = [] as Service[] as TServices;\n this._logger = DEFAULT_LOGGER;\n this._events = [];\n this._publisher = undefined;\n this.inputSchema = undefined;\n this.outputSchema = undefined;\n this._timeout = undefined;\n this._memorySize = undefined;\n\n return func;\n }\n}\n"],"mappings":";;;;;;;;AAYA,MAAM,iBAAiB,IAAIA;AAE3B,IAAa,kBAAb,cAOUC,gDAOR;CACA,AAAU;CAEV,YAAmB,OAAOC,gCAAc,UAAU;AAChD,QAAM,KAAK;EADM;CAElB;CAED,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,OACEC,QAQA;AACA,OAAK,eAAe;AAEpB,SAAO;CAQR;CAED,MACEA,QAQA;AACA,OAAK,cAAc;AAEnB,SAAO;CAQR;CAED,SACEC,UAQA;AACA,OAAK,YAAY,2BACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAQR;CAED,OACEC,QAQA;AACA,OAAK,UAAU;AAEf,SAAO;CAQR;CAED,UACEC,WACkE;AAClE,OAAK,aAAa;AAKlB,SAAO;CAQR;CAED,OACEC,IASA;EACA,MAAM,OAAO,IAAIC,0BACf,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK;AAIP,OAAK,YAAY,CAAE;AACnB,OAAK,UAAU;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACR;AACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ConstructType } from "./Construct-
|
|
2
|
-
import { Function, FunctionHandler } from "./Function-
|
|
3
|
-
import { BaseFunctionBuilder } from "./BaseFunctionBuilder-
|
|
1
|
+
import { ConstructType } from "./Construct-ci5u8Xnu.cjs";
|
|
2
|
+
import { Function, FunctionHandler } from "./Function-BbLYIKLL.cjs";
|
|
3
|
+
import { BaseFunctionBuilder } from "./BaseFunctionBuilder-C4ZJPkIZ.cjs";
|
|
4
4
|
import { EventPublisher } from "@geekmidas/events";
|
|
5
5
|
import { Logger } from "@geekmidas/logger";
|
|
6
6
|
import { Service } from "@geekmidas/services";
|
|
@@ -10,8 +10,10 @@ import { ComposableStandardSchema } from "@geekmidas/schema";
|
|
|
10
10
|
//#region src/functions/FunctionBuilder.d.ts
|
|
11
11
|
declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName> {
|
|
12
12
|
type: ConstructType;
|
|
13
|
+
protected _memorySize?: number;
|
|
13
14
|
constructor(type?: ConstructType);
|
|
14
15
|
timeout(timeout: number): this;
|
|
16
|
+
memorySize(memorySize: number): this;
|
|
15
17
|
output<T extends StandardSchemaV1>(schema: T): FunctionBuilder<TInput, T, TServices, TLogger, TEventPublisher, TEventPublisherServiceName>;
|
|
16
18
|
input<T extends ComposableStandardSchema>(schema: T): FunctionBuilder<T, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName>;
|
|
17
19
|
services<T extends Service[]>(services: T): FunctionBuilder<TInput, OutSchema, [...TServices, ...T], TLogger, TEventPublisher, TEventPublisherServiceName>;
|
|
@@ -21,4 +23,4 @@ declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema
|
|
|
21
23
|
}
|
|
22
24
|
//#endregion
|
|
23
25
|
export { FunctionBuilder };
|
|
24
|
-
//# sourceMappingURL=FunctionBuilder-
|
|
26
|
+
//# sourceMappingURL=FunctionBuilder-DdGjpiFT.d.cts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ConstructType } from "./Construct-
|
|
2
|
-
import { Function, FunctionHandler } from "./Function-
|
|
3
|
-
import { BaseFunctionBuilder } from "./BaseFunctionBuilder-
|
|
1
|
+
import { ConstructType } from "./Construct-zhmcmIdY.mjs";
|
|
2
|
+
import { Function, FunctionHandler } from "./Function-DFRZZCC-.mjs";
|
|
3
|
+
import { BaseFunctionBuilder } from "./BaseFunctionBuilder-CxBX0arJ.mjs";
|
|
4
4
|
import { Service } from "@geekmidas/services";
|
|
5
5
|
import { EventPublisher } from "@geekmidas/events";
|
|
6
6
|
import { Logger } from "@geekmidas/logger";
|
|
@@ -10,8 +10,10 @@ import { ComposableStandardSchema } from "@geekmidas/schema";
|
|
|
10
10
|
//#region src/functions/FunctionBuilder.d.ts
|
|
11
11
|
declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName> {
|
|
12
12
|
type: ConstructType;
|
|
13
|
+
protected _memorySize?: number;
|
|
13
14
|
constructor(type?: ConstructType);
|
|
14
15
|
timeout(timeout: number): this;
|
|
16
|
+
memorySize(memorySize: number): this;
|
|
15
17
|
output<T extends StandardSchemaV1>(schema: T): FunctionBuilder<TInput, T, TServices, TLogger, TEventPublisher, TEventPublisherServiceName>;
|
|
16
18
|
input<T extends ComposableStandardSchema>(schema: T): FunctionBuilder<T, OutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName>;
|
|
17
19
|
services<T extends Service[]>(services: T): FunctionBuilder<TInput, OutSchema, [...TServices, ...T], TLogger, TEventPublisher, TEventPublisherServiceName>;
|
|
@@ -21,4 +23,4 @@ declare class FunctionBuilder<TInput extends ComposableStandardSchema, OutSchema
|
|
|
21
23
|
}
|
|
22
24
|
//#endregion
|
|
23
25
|
export { FunctionBuilder };
|
|
24
|
-
//# sourceMappingURL=FunctionBuilder-
|
|
26
|
+
//# sourceMappingURL=FunctionBuilder-DuktGyZc.d.mts.map
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { ConstructType } from "./Construct-
|
|
2
|
-
import { Function } from "./Function-
|
|
3
|
-
import { BaseFunctionBuilder } from "./BaseFunctionBuilder-
|
|
1
|
+
import { ConstructType } from "./Construct-B-O9OBS1.mjs";
|
|
2
|
+
import { Function } from "./Function-CmfMIDoS.mjs";
|
|
3
|
+
import { BaseFunctionBuilder } from "./BaseFunctionBuilder-DOhEn5Ce.mjs";
|
|
4
4
|
import uniqBy from "lodash.uniqby";
|
|
5
5
|
import { ConsoleLogger } from "@geekmidas/logger/console";
|
|
6
6
|
|
|
7
7
|
//#region src/functions/FunctionBuilder.ts
|
|
8
8
|
const DEFAULT_LOGGER$1 = new ConsoleLogger();
|
|
9
9
|
var FunctionBuilder = class extends BaseFunctionBuilder {
|
|
10
|
+
_memorySize;
|
|
10
11
|
constructor(type = ConstructType.Function) {
|
|
11
12
|
super(type);
|
|
12
13
|
this.type = type;
|
|
@@ -15,6 +16,10 @@ var FunctionBuilder = class extends BaseFunctionBuilder {
|
|
|
15
16
|
this._timeout = timeout;
|
|
16
17
|
return this;
|
|
17
18
|
}
|
|
19
|
+
memorySize(memorySize) {
|
|
20
|
+
this._memorySize = memorySize;
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
18
23
|
output(schema) {
|
|
19
24
|
this.outputSchema = schema;
|
|
20
25
|
return this;
|
|
@@ -36,7 +41,7 @@ var FunctionBuilder = class extends BaseFunctionBuilder {
|
|
|
36
41
|
return this;
|
|
37
42
|
}
|
|
38
43
|
handle(fn) {
|
|
39
|
-
const func = new Function(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events);
|
|
44
|
+
const func = new Function(fn, this._timeout, this.type, this.inputSchema, this.outputSchema, this._services, this._logger, this._publisher, this._events, this._memorySize);
|
|
40
45
|
this._services = [];
|
|
41
46
|
this._logger = DEFAULT_LOGGER$1;
|
|
42
47
|
this._events = [];
|
|
@@ -44,10 +49,11 @@ var FunctionBuilder = class extends BaseFunctionBuilder {
|
|
|
44
49
|
this.inputSchema = void 0;
|
|
45
50
|
this.outputSchema = void 0;
|
|
46
51
|
this._timeout = void 0;
|
|
52
|
+
this._memorySize = void 0;
|
|
47
53
|
return func;
|
|
48
54
|
}
|
|
49
55
|
};
|
|
50
56
|
|
|
51
57
|
//#endregion
|
|
52
58
|
export { FunctionBuilder };
|
|
53
|
-
//# sourceMappingURL=FunctionBuilder-
|
|
59
|
+
//# sourceMappingURL=FunctionBuilder-QvqvEyFa.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FunctionBuilder-QvqvEyFa.mjs","names":["DEFAULT_LOGGER","timeout: number","memorySize: number","schema: T","services: T","logger: T","publisher: Service<TName, T>","fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>"],"sources":["../src/functions/FunctionBuilder.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport { ConsoleLogger } from '@geekmidas/logger/console';\nimport type { Service } from '@geekmidas/services';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport uniqBy from 'lodash.uniqby';\nimport { ConstructType } from '../Construct';\nimport { BaseFunctionBuilder } from './BaseFunctionBuilder';\nimport { Function, type FunctionHandler } from './Function';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { ComposableStandardSchema } from '@geekmidas/schema';\n\nconst DEFAULT_LOGGER = new ConsoleLogger() as any;\n\nexport class FunctionBuilder<\n TInput extends ComposableStandardSchema,\n OutSchema 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> extends BaseFunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n> {\n protected _memorySize?: number;\n\n constructor(public type = ConstructType.Function) {\n super(type);\n }\n\n timeout(timeout: number): this {\n this._timeout = timeout;\n return this;\n }\n\n memorySize(memorySize: number): this {\n this._memorySize = memorySize;\n return this;\n }\n\n output<T extends StandardSchemaV1>(\n schema: T,\n ): FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n this.outputSchema = schema as unknown as OutSchema;\n\n return this as unknown as FunctionBuilder<\n TInput,\n T,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n >;\n }\n\n input<T extends ComposableStandardSchema>(\n schema: T,\n ): FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n this.inputSchema = schema as unknown as TInput;\n\n return this as unknown as FunctionBuilder<\n T,\n OutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n >;\n }\n\n services<T extends Service[]>(\n services: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n this._services = uniqBy(\n [...this._services, ...services],\n (s) => s.serviceName,\n ) as TServices;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n [...TServices, ...T],\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName\n >;\n }\n\n logger<T extends Logger>(\n logger: T,\n ): FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n this._logger = logger as unknown as TLogger;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n T,\n TEventPublisher,\n TEventPublisherServiceName\n >;\n }\n\n publisher<T extends EventPublisher<any>, TName extends string>(\n publisher: Service<TName, T>,\n ): FunctionBuilder<TInput, OutSchema, TServices, TLogger, T, TName> {\n this._publisher = publisher as unknown as Service<\n TEventPublisherServiceName,\n TEventPublisher\n >;\n\n return this as unknown as FunctionBuilder<\n TInput,\n OutSchema,\n TServices,\n TLogger,\n T,\n TName\n >;\n }\n\n handle(\n fn: FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n ): Function<\n TInput,\n TServices,\n TLogger,\n OutSchema,\n FunctionHandler<TInput, TServices, TLogger, OutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n > {\n const func = new Function(\n fn,\n this._timeout,\n this.type,\n this.inputSchema,\n this.outputSchema,\n this._services,\n this._logger,\n this._publisher,\n this._events,\n this._memorySize,\n );\n\n // Reset builder state after creating the function to prevent pollution\n this._services = [] as Service[] as TServices;\n this._logger = DEFAULT_LOGGER;\n this._events = [];\n this._publisher = undefined;\n this.inputSchema = undefined;\n this.outputSchema = undefined;\n this._timeout = undefined;\n this._memorySize = undefined;\n\n return func;\n }\n}\n"],"mappings":";;;;;;;AAYA,MAAMA,mBAAiB,IAAI;AAE3B,IAAa,kBAAb,cAOU,oBAOR;CACA,AAAU;CAEV,YAAmB,OAAO,cAAc,UAAU;AAChD,QAAM,KAAK;EADM;CAElB;CAED,QAAQC,SAAuB;AAC7B,OAAK,WAAW;AAChB,SAAO;CACR;CAED,WAAWC,YAA0B;AACnC,OAAK,cAAc;AACnB,SAAO;CACR;CAED,OACEC,QAQA;AACA,OAAK,eAAe;AAEpB,SAAO;CAQR;CAED,MACEA,QAQA;AACA,OAAK,cAAc;AAEnB,SAAO;CAQR;CAED,SACEC,UAQA;AACA,OAAK,YAAY,OACf,CAAC,GAAG,KAAK,WAAW,GAAG,QAAS,GAChC,CAAC,MAAM,EAAE,YACV;AAED,SAAO;CAQR;CAED,OACEC,QAQA;AACA,OAAK,UAAU;AAEf,SAAO;CAQR;CAED,UACEC,WACkE;AAClE,OAAK,aAAa;AAKlB,SAAO;CAQR;CAED,OACEC,IASA;EACA,MAAM,OAAO,IAAI,SACf,IACA,KAAK,UACL,KAAK,MACL,KAAK,aACL,KAAK,cACL,KAAK,WACL,KAAK,SACL,KAAK,YACL,KAAK,SACL,KAAK;AAIP,OAAK,YAAY,CAAE;AACnB,OAAK,UAAUP;AACf,OAAK,UAAU,CAAE;AACjB,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AACL,OAAK;AAEL,SAAO;CACR;AACF"}
|
package/dist/{FunctionExecutionWrapper-B0V7V8YS.d.mts → FunctionExecutionWrapper-CAHR74yI.d.mts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Function, FunctionHandler } from "./Function-
|
|
1
|
+
import { Function, FunctionHandler } from "./Function-DFRZZCC-.mjs";
|
|
2
2
|
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
3
3
|
import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
|
|
4
4
|
import { EventPublisher } from "@geekmidas/events";
|
|
@@ -21,4 +21,4 @@ declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandar
|
|
|
21
21
|
}
|
|
22
22
|
//#endregion
|
|
23
23
|
export { FunctionExecutionWrapper };
|
|
24
|
-
//# sourceMappingURL=FunctionExecutionWrapper-
|
|
24
|
+
//# sourceMappingURL=FunctionExecutionWrapper-CAHR74yI.d.mts.map
|
package/dist/{FunctionExecutionWrapper-Bx-Dl-2a.d.cts → FunctionExecutionWrapper-CRYi047B.d.cts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Function, FunctionHandler } from "./Function-
|
|
1
|
+
import { Function, FunctionHandler } from "./Function-BbLYIKLL.cjs";
|
|
2
2
|
import { EventPublisher } from "@geekmidas/events";
|
|
3
3
|
import { Logger } from "@geekmidas/logger";
|
|
4
4
|
import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
|
|
@@ -21,4 +21,4 @@ declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandar
|
|
|
21
21
|
}
|
|
22
22
|
//#endregion
|
|
23
23
|
export { FunctionExecutionWrapper };
|
|
24
|
-
//# sourceMappingURL=FunctionExecutionWrapper-
|
|
24
|
+
//# sourceMappingURL=FunctionExecutionWrapper-CRYi047B.d.cts.map
|
package/dist/{FunctionExecutionWrapper-XGrSAAPD.mjs → FunctionExecutionWrapper-JsZIHhcl.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { publishEvents } from "./publisher-Bw4770Hi.mjs";
|
|
2
|
-
import { FunctionBuilder } from "./FunctionBuilder-
|
|
2
|
+
import { FunctionBuilder } from "./FunctionBuilder-QvqvEyFa.mjs";
|
|
3
3
|
import { ServiceDiscovery } from "@geekmidas/services";
|
|
4
4
|
|
|
5
5
|
//#region src/functions/FunctionExecutionWrapper.ts
|
|
@@ -33,4 +33,4 @@ var FunctionExecutionWrapper = class {
|
|
|
33
33
|
|
|
34
34
|
//#endregion
|
|
35
35
|
export { FunctionExecutionWrapper };
|
|
36
|
-
//# sourceMappingURL=FunctionExecutionWrapper-
|
|
36
|
+
//# sourceMappingURL=FunctionExecutionWrapper-JsZIHhcl.mjs.map
|
package/dist/{FunctionExecutionWrapper-XGrSAAPD.mjs.map → FunctionExecutionWrapper-JsZIHhcl.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionExecutionWrapper-
|
|
1
|
+
{"version":3,"file":"FunctionExecutionWrapper-JsZIHhcl.mjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >","event: TEvent","response: InferStandardSchema<TOutSchema>","data: unknown","schema: T"],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":["import type { 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, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport abstract class FunctionExecutionWrapper<\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 constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {}\n\n protected _logger?: TLogger;\n\n get logger(): TLogger {\n return this._logger || this.fn.logger;\n }\n\n get serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>, Logger> {\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(this.logger, this.envParser);\n\n return serviceDiscovery;\n }\n\n getServices(): Promise<ServiceRecord<TServices>> {\n return this.serviceDiscovery.register(this.fn.services);\n }\n\n async getFunctionInput<TEvent>(\n event: TEvent,\n ): Promise<InferComposableStandardSchema<TInput>> {\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n event,\n this.fn.input,\n );\n\n return parsedInput as InferComposableStandardSchema<TInput>;\n }\n\n async publishEvents(response: InferStandardSchema<TOutSchema>) {\n await publishEvents(\n this.logger,\n this.serviceDiscovery,\n this.fn.events,\n response,\n this.fn.publisherService,\n );\n }\n\n async parseComposableStandardSchema<T extends ComposableStandardSchema>(\n data: unknown,\n schema: T,\n ): Promise<InferComposableStandardSchema<T>> {\n return FunctionBuilder.parseComposableStandardSchema(data, schema);\n }\n}\n"],"mappings":";;;;;AAkBA,IAAsB,2BAAtB,MAOE;CACA,YACYA,WACSC,IASnB;EAVU;EACS;CASjB;CAEJ,AAAU;CAEV,IAAI,SAAkB;AACpB,SAAO,KAAK,WAAW,KAAK,GAAG;CAChC;CAED,IAAI,mBAAuE;EACzE,MAAM,mBAAmB,iBAAiB,YAGxC,KAAK,QAAQ,KAAK,UAAU;AAE9B,SAAO;CACR;CAED,cAAiD;AAC/C,SAAO,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;CACxD;CAED,MAAM,iBACJC,OACgD;EAChD,MAAM,cAAc,MAAM,gBAAgB,8BACxC,OACA,KAAK,GAAG,MACT;AAED,SAAO;CACR;CAED,MAAM,cAAcC,UAA2C;AAC7D,QAAM,cACJ,KAAK,QACL,KAAK,kBACL,KAAK,GAAG,QACR,UACA,KAAK,GAAG,iBACT;CACF;CAED,MAAM,8BACJC,MACAC,QAC2C;AAC3C,SAAO,gBAAgB,8BAA8B,MAAM,OAAO;CACnE;AACF"}
|
package/dist/{FunctionExecutionWrapper-CElXEjPe.cjs → FunctionExecutionWrapper-TJxf9p4v.cjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
2
|
const require_publisher = require('./publisher-lFQleddL.cjs');
|
|
3
|
-
const require_FunctionBuilder = require('./FunctionBuilder-
|
|
3
|
+
const require_FunctionBuilder = require('./FunctionBuilder-BqivB_cc.cjs');
|
|
4
4
|
const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
|
|
5
5
|
|
|
6
6
|
//#region src/functions/FunctionExecutionWrapper.ts
|
|
@@ -39,4 +39,4 @@ Object.defineProperty(exports, 'FunctionExecutionWrapper', {
|
|
|
39
39
|
return FunctionExecutionWrapper;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
//# sourceMappingURL=FunctionExecutionWrapper-
|
|
42
|
+
//# sourceMappingURL=FunctionExecutionWrapper-TJxf9p4v.cjs.map
|
package/dist/{FunctionExecutionWrapper-CElXEjPe.cjs.map → FunctionExecutionWrapper-TJxf9p4v.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionExecutionWrapper-
|
|
1
|
+
{"version":3,"file":"FunctionExecutionWrapper-TJxf9p4v.cjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >","event: TEvent","response: InferStandardSchema<TOutSchema>","data: unknown","schema: T"],"sources":["../src/functions/FunctionExecutionWrapper.ts"],"sourcesContent":["import type { 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, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nexport abstract class FunctionExecutionWrapper<\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 constructor(\n protected envParser: EnvironmentParser<{}>,\n protected readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n FunctionHandler<TInput, TServices, TLogger, TOutSchema>,\n TEventPublisher,\n TEventPublisherServiceName\n >,\n ) {}\n\n protected _logger?: TLogger;\n\n get logger(): TLogger {\n return this._logger || this.fn.logger;\n }\n\n get serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>, Logger> {\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(this.logger, this.envParser);\n\n return serviceDiscovery;\n }\n\n getServices(): Promise<ServiceRecord<TServices>> {\n return this.serviceDiscovery.register(this.fn.services);\n }\n\n async getFunctionInput<TEvent>(\n event: TEvent,\n ): Promise<InferComposableStandardSchema<TInput>> {\n const parsedInput = await FunctionBuilder.parseComposableStandardSchema(\n event,\n this.fn.input,\n );\n\n return parsedInput as InferComposableStandardSchema<TInput>;\n }\n\n async publishEvents(response: InferStandardSchema<TOutSchema>) {\n await publishEvents(\n this.logger,\n this.serviceDiscovery,\n this.fn.events,\n response,\n this.fn.publisherService,\n );\n }\n\n async parseComposableStandardSchema<T extends ComposableStandardSchema>(\n data: unknown,\n schema: T,\n ): Promise<InferComposableStandardSchema<T>> {\n return FunctionBuilder.parseComposableStandardSchema(data, schema);\n }\n}\n"],"mappings":";;;;;;AAkBA,IAAsB,2BAAtB,MAOE;CACA,YACYA,WACSC,IASnB;EAVU;EACS;CASjB;CAEJ,AAAU;CAEV,IAAI,SAAkB;AACpB,SAAO,KAAK,WAAW,KAAK,GAAG;CAChC;CAED,IAAI,mBAAuE;EACzE,MAAM,mBAAmB,sCAAiB,YAGxC,KAAK,QAAQ,KAAK,UAAU;AAE9B,SAAO;CACR;CAED,cAAiD;AAC/C,SAAO,KAAK,iBAAiB,SAAS,KAAK,GAAG,SAAS;CACxD;CAED,MAAM,iBACJC,OACgD;EAChD,MAAM,cAAc,MAAM,wCAAgB,8BACxC,OACA,KAAK,GAAG,MACT;AAED,SAAO;CACR;CAED,MAAM,cAAcC,UAA2C;AAC7D,QAAM,gCACJ,KAAK,QACL,KAAK,kBACL,KAAK,GAAG,QACR,UACA,KAAK,GAAG,iBACT;CACF;CAED,MAAM,8BACJC,MACAC,QAC2C;AAC3C,SAAO,wCAAgB,8BAA8B,MAAM,OAAO;CACnE;AACF"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { publishConstructEvents } from "./publisher-Bw4770Hi.mjs";
|
|
2
|
-
import { Endpoint, ResponseBuilder } from "./Endpoint-
|
|
3
|
-
import { getEndpointsFromRoutes } from "./helpers-
|
|
2
|
+
import { Endpoint, ResponseBuilder } from "./Endpoint-DCJz2VQ_.mjs";
|
|
3
|
+
import { getEndpointsFromRoutes } from "./helpers-D_UKinz8.mjs";
|
|
4
4
|
import { parseHonoQuery } from "./parseHonoQuery-znDKBhdE.mjs";
|
|
5
5
|
import { wrapError } from "@geekmidas/errors";
|
|
6
6
|
import { ServiceDiscovery } from "@geekmidas/services";
|
|
7
7
|
import { checkRateLimit, getRateLimitHeaders } from "@geekmidas/rate-limit";
|
|
8
8
|
import { Hono } from "hono";
|
|
9
9
|
import { setCookie } from "hono/cookie";
|
|
10
|
+
import { logger } from "hono/logger";
|
|
11
|
+
import { timing } from "hono/timing";
|
|
10
12
|
import { validator } from "hono/validator";
|
|
11
13
|
|
|
12
14
|
//#region src/endpoints/HonoEndpointAdaptor.ts
|
|
@@ -14,6 +16,7 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
14
16
|
constructor(endpoint) {
|
|
15
17
|
this.endpoint = endpoint;
|
|
16
18
|
}
|
|
19
|
+
static isDev = process.env.NODE_ENV === "development";
|
|
17
20
|
static async validate(c, data, schema) {
|
|
18
21
|
if (!schema) return void 0;
|
|
19
22
|
const parsed = await Endpoint.validate(schema, data);
|
|
@@ -28,17 +31,19 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
28
31
|
await next();
|
|
29
32
|
const endpoint = c.get("__endpoint");
|
|
30
33
|
const response = c.get("__response");
|
|
31
|
-
const logger = c.get("__logger");
|
|
32
|
-
if (Endpoint.isSuccessStatus(c.res.status) && endpoint) await publishConstructEvents(endpoint, response, serviceDiscovery, logger);
|
|
34
|
+
const logger$1 = c.get("__logger");
|
|
35
|
+
if (Endpoint.isSuccessStatus(c.res.status) && endpoint) await publishConstructEvents(endpoint, response, serviceDiscovery, logger$1);
|
|
33
36
|
});
|
|
34
37
|
}
|
|
35
|
-
static async fromRoutes(routes, envParser, app = new Hono(), logger, cwd = process.cwd(), options) {
|
|
38
|
+
static async fromRoutes(routes, envParser, app = new Hono(), logger$1, cwd = process.cwd(), options) {
|
|
36
39
|
const endpoints = await getEndpointsFromRoutes(routes, cwd);
|
|
37
|
-
const serviceDiscovery = ServiceDiscovery.getInstance(logger, envParser);
|
|
40
|
+
const serviceDiscovery = ServiceDiscovery.getInstance(logger$1, envParser);
|
|
38
41
|
HonoEndpoint.addRoutes(endpoints, serviceDiscovery, app, options);
|
|
39
42
|
return app;
|
|
40
43
|
}
|
|
41
44
|
static addRoutes(endpoints, serviceDiscovery, app, options) {
|
|
45
|
+
app.use("*", timing());
|
|
46
|
+
if (HonoEndpoint.isDev) app.use("*", logger());
|
|
42
47
|
const docsPath = options?.docsPath !== false ? options?.docsPath || "/docs" : null;
|
|
43
48
|
if (docsPath) HonoEndpoint.addDocsRoute(endpoints, app, docsPath, options?.openApiOptions);
|
|
44
49
|
const sortedEndpoints = endpoints.sort((a, b) => {
|
|
@@ -65,7 +70,7 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
65
70
|
const parsedQuery = parseHonoQuery(c);
|
|
66
71
|
return HonoEndpoint.validate(c, parsedQuery, endpoint.input?.query);
|
|
67
72
|
}), validator("param", (params, c) => HonoEndpoint.validate(c, params, endpoint.input?.params)), async (c) => {
|
|
68
|
-
const logger = endpoint.logger.child({
|
|
73
|
+
const logger$1 = endpoint.logger.child({
|
|
69
74
|
endpoint: endpoint.fullPath,
|
|
70
75
|
route: endpoint.route,
|
|
71
76
|
host: c.header("host"),
|
|
@@ -79,7 +84,7 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
79
84
|
const services = await serviceDiscovery.register(endpoint.services);
|
|
80
85
|
const session = await endpoint.getSession({
|
|
81
86
|
services,
|
|
82
|
-
logger,
|
|
87
|
+
logger: logger$1,
|
|
83
88
|
header,
|
|
84
89
|
cookie
|
|
85
90
|
});
|
|
@@ -87,18 +92,18 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
87
92
|
header,
|
|
88
93
|
cookie,
|
|
89
94
|
services,
|
|
90
|
-
logger,
|
|
95
|
+
logger: logger$1,
|
|
91
96
|
session
|
|
92
97
|
});
|
|
93
98
|
if (!isAuthorized) {
|
|
94
|
-
logger.warn("Unauthorized access attempt");
|
|
99
|
+
logger$1.warn("Unauthorized access attempt");
|
|
95
100
|
return c.json({ error: "Unauthorized" }, 401);
|
|
96
101
|
}
|
|
97
102
|
if (endpoint.rateLimit) {
|
|
98
103
|
const rateLimitInfo = await checkRateLimit(endpoint.rateLimit, {
|
|
99
104
|
header,
|
|
100
105
|
services,
|
|
101
|
-
logger,
|
|
106
|
+
logger: logger$1,
|
|
102
107
|
session,
|
|
103
108
|
path: c.req.path,
|
|
104
109
|
method: endpoint.method
|
|
@@ -109,7 +114,7 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
109
114
|
const responseBuilder = new ResponseBuilder();
|
|
110
115
|
const response = await endpoint.handler({
|
|
111
116
|
services,
|
|
112
|
-
logger,
|
|
117
|
+
logger: logger$1,
|
|
113
118
|
body: c.req.valid("json"),
|
|
114
119
|
query: c.req.valid("query"),
|
|
115
120
|
params: c.req.valid("param"),
|
|
@@ -131,16 +136,28 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
131
136
|
const output = endpoint.outputSchema ? await endpoint.parseOutput(data) : {};
|
|
132
137
|
c.set("__response", output);
|
|
133
138
|
c.set("__endpoint", endpoint);
|
|
134
|
-
c.set("__logger", logger);
|
|
139
|
+
c.set("__logger", logger$1);
|
|
140
|
+
if (HonoEndpoint.isDev) logger$1.info({
|
|
141
|
+
status,
|
|
142
|
+
body: output
|
|
143
|
+
}, "Outgoing response");
|
|
135
144
|
return c.json(output, status);
|
|
136
145
|
} catch (validationError) {
|
|
137
|
-
logger.error(validationError, "Output validation failed");
|
|
146
|
+
logger$1.error(validationError, "Output validation failed");
|
|
138
147
|
const error = wrapError(validationError, 422, "Response validation failed");
|
|
148
|
+
if (HonoEndpoint.isDev) logger$1.info({
|
|
149
|
+
status: error.statusCode,
|
|
150
|
+
body: error
|
|
151
|
+
}, "Outgoing response");
|
|
139
152
|
return c.json(error, error.statusCode);
|
|
140
153
|
}
|
|
141
154
|
} catch (e) {
|
|
142
|
-
logger.error(e, "Error processing endpoint request");
|
|
155
|
+
logger$1.error(e, "Error processing endpoint request");
|
|
143
156
|
const error = wrapError(e, 500, "Internal Server Error");
|
|
157
|
+
if (HonoEndpoint.isDev) logger$1.info({
|
|
158
|
+
status: error.statusCode,
|
|
159
|
+
body: error
|
|
160
|
+
}, "Outgoing response");
|
|
144
161
|
return c.json(error, error.statusCode);
|
|
145
162
|
}
|
|
146
163
|
});
|
|
@@ -160,4 +177,4 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
160
177
|
|
|
161
178
|
//#endregion
|
|
162
179
|
export { HonoEndpoint };
|
|
163
|
-
//# sourceMappingURL=HonoEndpointAdaptor-
|
|
180
|
+
//# sourceMappingURL=HonoEndpointAdaptor-8eYrSFRn.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HonoEndpointAdaptor-8eYrSFRn.mjs","names":["endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >","c: Context<any, string, {}>","data: unknown","schema?: T","serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>","app: Hono","serviceDiscovery: ServiceDiscovery<any, any>","logger","routes: string[]","envParser: EnvironmentParser<{}>","logger: TLogger","options?: HonoEndpointOptions","endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[]","validationError: any","e: any","docsPath: string","openApiOptions?: HonoEndpointOptions['openApiOptions']"],"sources":["../src/endpoints/HonoEndpointAdaptor.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport { checkRateLimit, getRateLimitHeaders } from '@geekmidas/rate-limit';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport { type Context, Hono } from 'hono';\nimport { setCookie } from 'hono/cookie';\nimport { logger as honoLogger } from 'hono/logger';\nimport { timing } from 'hono/timing';\nimport { validator } from 'hono/validator';\nimport type { HttpMethod, LowerHttpMethod } from '../types';\nimport {\n Endpoint,\n type EndpointContext,\n type EndpointSchemas,\n ResponseBuilder,\n} from './Endpoint';\nimport { getEndpointsFromRoutes } from './helpers';\nimport { parseHonoQuery } from './parseHonoQuery';\n\nimport { wrapError } from '@geekmidas/errors';\nimport {\n type Service,\n ServiceDiscovery,\n type ServiceRecord,\n} from '@geekmidas/services';\nimport type { ContentfulStatusCode } from 'hono/utils/http-status';\nimport { publishConstructEvents } from '../publisher';\n\nexport interface HonoEndpointOptions {\n /**\n * Path where OpenAPI documentation will be served.\n * Set to false to disable docs route.\n * @default '/docs'\n */\n docsPath?: string | false;\n /**\n * OpenAPI schema options\n */\n openApiOptions?: {\n title?: string;\n version?: string;\n description?: string;\n };\n}\n\nexport class HonoEndpoint<\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> {\n constructor(\n private readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {}\n\n static isDev = process.env.NODE_ENV === 'development';\n\n static async validate<T extends StandardSchemaV1>(\n c: Context<any, string, {}>,\n data: unknown,\n schema?: T,\n ) {\n if (!schema) {\n return undefined;\n }\n\n const parsed = await Endpoint.validate(schema, data);\n\n if (parsed.issues) {\n return c.json(parsed.issues, 422);\n }\n\n return parsed.value;\n }\n addRoute(\n serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>,\n app: Hono,\n ): void {\n HonoEndpoint.addRoute(this.endpoint, serviceDiscovery, app);\n }\n\n static applyEventMiddleware(\n app: Hono,\n serviceDiscovery: ServiceDiscovery<any, any>,\n ) {\n app.use(async (c, next) => {\n await next();\n // @ts-ignore\n const endpoint = c.get('__endpoint') as Endpoint<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n >;\n // @ts-ignore\n const response = c.get('__response') as InferStandardSchema<TOutSchema>;\n // @ts-ignore\n const logger = c.get('__logger') as Logger;\n\n if (Endpoint.isSuccessStatus(c.res.status) && endpoint) {\n await publishConstructEvents<any, any>(\n endpoint,\n response,\n serviceDiscovery,\n logger,\n );\n }\n });\n }\n\n static async fromRoutes<TLogger extends Logger, TServices extends Service[]>(\n routes: string[],\n envParser: EnvironmentParser<{}>,\n app = new Hono(),\n logger: TLogger,\n cwd = process.cwd(),\n options?: HonoEndpointOptions,\n ): Promise<Hono> {\n const endpoints = await getEndpointsFromRoutes<TServices>(routes, cwd);\n const serviceDiscovery = ServiceDiscovery.getInstance<\n ServiceRecord<TServices>,\n TLogger\n >(logger, envParser);\n\n HonoEndpoint.addRoutes(endpoints, serviceDiscovery, app, options);\n\n return app;\n }\n\n static addRoutes<\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n >(\n endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[],\n serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>,\n app: Hono,\n options?: HonoEndpointOptions,\n ): void {\n // Add timing middleware (always enabled)\n app.use('*', timing());\n\n // Add logger middleware in development mode\n\n if (HonoEndpoint.isDev) {\n app.use('*', honoLogger());\n }\n\n // Add docs route if not disabled\n const docsPath =\n options?.docsPath !== false ? options?.docsPath || '/docs' : null;\n if (docsPath) {\n HonoEndpoint.addDocsRoute(\n endpoints,\n app,\n docsPath,\n options?.openApiOptions,\n );\n }\n\n // Sort endpoints to ensure static routes come before dynamic ones\n const sortedEndpoints = endpoints.sort((a, b) => {\n const aSegments = a.route.split('/');\n const bSegments = b.route.split('/');\n\n // Compare each segment\n for (let i = 0; i < Math.max(aSegments.length, bSegments.length); i++) {\n const aSegment = aSegments[i] || '';\n const bSegment = bSegments[i] || '';\n\n // If one is dynamic and the other is not, static comes first\n const aIsDynamic = aSegment.startsWith(':');\n const bIsDynamic = bSegment.startsWith(':');\n\n if (!aIsDynamic && bIsDynamic) return -1;\n if (aIsDynamic && !bIsDynamic) return 1;\n\n // If both are the same type, compare alphabetically\n if (aSegment !== bSegment) {\n return aSegment.localeCompare(bSegment);\n }\n }\n\n return 0;\n });\n HonoEndpoint.applyEventMiddleware(app, serviceDiscovery);\n for (const endpoint of sortedEndpoints) {\n HonoEndpoint.addRoute(endpoint, serviceDiscovery, app);\n }\n }\n\n static addRoute<\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 >(\n endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>,\n app: Hono,\n ): void {\n const { route } = endpoint;\n const method = endpoint.method.toLowerCase() as LowerHttpMethod<TMethod>;\n\n app[method](\n route,\n validator('json', (value, c) =>\n HonoEndpoint.validate(c, value, endpoint.input?.body),\n ),\n validator('query', (_, c) => {\n const parsedQuery = parseHonoQuery(c);\n return HonoEndpoint.validate(c, parsedQuery, endpoint.input?.query);\n }),\n validator('param', (params, c) =>\n HonoEndpoint.validate(c, params, endpoint.input?.params),\n ),\n async (c) => {\n const logger = endpoint.logger.child({\n endpoint: endpoint.fullPath,\n route: endpoint.route,\n host: c.header('host'),\n method: endpoint.method,\n path: c.req.path,\n }) as TLogger;\n\n try {\n const headerValues = c.req.header();\n\n const header = Endpoint.createHeaders(headerValues);\n const cookie = Endpoint.createCookies(headerValues.cookie);\n\n const services = await serviceDiscovery.register(endpoint.services);\n\n const session = await endpoint.getSession({\n services,\n logger,\n header,\n cookie,\n });\n\n const isAuthorized = await endpoint.authorize({\n header,\n cookie,\n services,\n logger,\n session,\n });\n\n if (!isAuthorized) {\n logger.warn('Unauthorized access attempt');\n return c.json({ error: 'Unauthorized' }, 401);\n }\n\n // Check rate limit if configured\n if (endpoint.rateLimit) {\n const rateLimitInfo = await checkRateLimit(endpoint.rateLimit, {\n header,\n services,\n logger,\n session,\n path: c.req.path,\n method: endpoint.method,\n });\n\n // Set rate limit headers\n const rateLimitHeaders = getRateLimitHeaders(\n rateLimitInfo,\n endpoint.rateLimit,\n );\n for (const [key, value] of Object.entries(rateLimitHeaders)) {\n if (value) {\n c.header(key, value);\n }\n }\n }\n\n const responseBuilder = new ResponseBuilder();\n const response = await endpoint.handler(\n {\n services,\n logger,\n body: c.req.valid('json'),\n query: c.req.valid('query'),\n params: c.req.valid('param'),\n session,\n header: Endpoint.createHeaders(headerValues),\n cookie: Endpoint.createCookies(headerValues.cookie),\n } as unknown as EndpointContext<\n TInput,\n TServices,\n TLogger,\n TSession\n >,\n responseBuilder,\n );\n\n // Publish events if configured\n\n // Validate output if schema is defined\n\n try {\n // Check if response has metadata\n let data = response;\n let metadata = responseBuilder.getMetadata();\n let status = endpoint.status as ContentfulStatusCode;\n\n if (Endpoint.hasMetadata(response)) {\n data = response.data;\n metadata = response.metadata;\n }\n\n // Apply response metadata\n if (metadata.status) {\n status = metadata.status as ContentfulStatusCode;\n }\n\n if (metadata.headers) {\n for (const [key, value] of Object.entries(metadata.headers)) {\n c.header(key, value);\n }\n }\n\n if (metadata.cookies) {\n for (const [name, { value, options }] of metadata.cookies) {\n setCookie(c, name, value, options);\n }\n }\n\n const output = endpoint.outputSchema\n ? await endpoint.parseOutput(data)\n : ({} as any);\n // @ts-ignore\n c.set('__response', output);\n // @ts-ignore\n c.set('__endpoint', endpoint);\n // @ts-ignore\n c.set('__logger', logger);\n\n if (HonoEndpoint.isDev) {\n logger.info({ status, body: output }, 'Outgoing response');\n }\n\n return c.json(output, status);\n } catch (validationError: any) {\n logger.error(validationError, 'Output validation failed');\n const error = wrapError(\n validationError,\n 422,\n 'Response validation failed',\n );\n if (HonoEndpoint.isDev) {\n logger.info(\n { status: error.statusCode, body: error },\n 'Outgoing response',\n );\n }\n return c.json(error, error.statusCode as ContentfulStatusCode);\n }\n } catch (e: any) {\n logger.error(e, 'Error processing endpoint request');\n const error = wrapError(e, 500, 'Internal Server Error');\n if (HonoEndpoint.isDev) {\n logger.info(\n { status: error.statusCode, body: error },\n 'Outgoing response',\n );\n }\n return c.json(error, error.statusCode as ContentfulStatusCode);\n }\n },\n );\n }\n\n static addDocsRoute<\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n >(\n endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[],\n app: Hono,\n docsPath: string,\n openApiOptions?: HonoEndpointOptions['openApiOptions'],\n ): void {\n app.get(docsPath, async (c) => {\n try {\n const openApiSchema = await Endpoint.buildOpenApiSchema(\n endpoints,\n openApiOptions,\n );\n\n return c.json(openApiSchema);\n } catch (error) {\n console.error('Error generating OpenAPI schema:', error);\n return c.json(\n { error: 'Failed to generate OpenAPI documentation' },\n 500,\n );\n }\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { HttpMethod } from "./types-
|
|
2
|
-
import { Endpoint, EndpointSchemas } from "./Endpoint-
|
|
1
|
+
import { HttpMethod } from "./types-CVq20-fE.mjs";
|
|
2
|
+
import { Endpoint, EndpointSchemas } from "./Endpoint-C16whGI-.mjs";
|
|
3
|
+
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
4
|
+
import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
|
|
5
|
+
import { Context, Hono } from "hono";
|
|
3
6
|
import { EventPublisher } from "@geekmidas/events";
|
|
4
7
|
import { Logger } from "@geekmidas/logger";
|
|
5
|
-
import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
|
|
6
8
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
7
|
-
import
|
|
8
|
-
import * as hono_types2 from "hono/types";
|
|
9
|
-
import { Context, Hono } from "hono";
|
|
9
|
+
import * as hono_types5 from "hono/types";
|
|
10
10
|
|
|
11
11
|
//#region src/endpoints/HonoEndpointAdaptor.d.ts
|
|
12
12
|
interface HonoEndpointOptions {
|
|
@@ -28,14 +28,15 @@ interface HonoEndpointOptions {
|
|
|
28
28
|
declare class HonoEndpoint<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> {
|
|
29
29
|
private readonly endpoint;
|
|
30
30
|
constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>);
|
|
31
|
+
static isDev: boolean;
|
|
31
32
|
static validate<T extends StandardSchemaV1>(c: Context<any, string, {}>, data: unknown, schema?: T): Promise<unknown>;
|
|
32
33
|
addRoute(serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>, app: Hono): void;
|
|
33
34
|
static applyEventMiddleware(app: Hono, serviceDiscovery: ServiceDiscovery<any, any>): void;
|
|
34
|
-
static fromRoutes<TLogger extends Logger, TServices extends Service[]>(routes: string[], envParser: EnvironmentParser<{}>, app: Hono<
|
|
35
|
+
static fromRoutes<TLogger extends Logger, TServices extends Service[]>(routes: string[], envParser: EnvironmentParser<{}>, app: Hono<hono_types5.BlankEnv, hono_types5.BlankSchema, "/"> | undefined, logger: TLogger, cwd?: string, options?: HonoEndpointOptions): Promise<Hono>;
|
|
35
36
|
static addRoutes<TServices extends Service[] = [], TLogger extends Logger = Logger>(endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[], serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>, app: Hono, options?: HonoEndpointOptions): void;
|
|
36
37
|
static addRoute<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>(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>, serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>, app: Hono): void;
|
|
37
38
|
static addDocsRoute<TServices extends Service[] = [], TLogger extends Logger = Logger>(endpoints: Endpoint<string, HttpMethod, any, any, TServices, TLogger>[], app: Hono, docsPath: string, openApiOptions?: HonoEndpointOptions['openApiOptions']): void;
|
|
38
39
|
}
|
|
39
40
|
//#endregion
|
|
40
41
|
export { HonoEndpoint, HonoEndpointOptions };
|
|
41
|
-
//# sourceMappingURL=HonoEndpointAdaptor-
|
|
42
|
+
//# sourceMappingURL=HonoEndpointAdaptor-DAsZoX2a.d.mts.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { HttpMethod } from "./types-
|
|
2
|
-
import { Endpoint, EndpointSchemas } from "./Endpoint-
|
|
3
|
-
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
4
|
-
import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
|
|
5
|
-
import { Context, Hono } from "hono";
|
|
1
|
+
import { HttpMethod } from "./types-Bp9ysFXd.cjs";
|
|
2
|
+
import { Endpoint, EndpointSchemas } from "./Endpoint-zHPjZ35J.cjs";
|
|
6
3
|
import { EventPublisher } from "@geekmidas/events";
|
|
7
4
|
import { Logger } from "@geekmidas/logger";
|
|
5
|
+
import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
|
|
8
6
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
7
|
+
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
9
8
|
import * as hono_types0 from "hono/types";
|
|
9
|
+
import { Context, Hono } from "hono";
|
|
10
10
|
|
|
11
11
|
//#region src/endpoints/HonoEndpointAdaptor.d.ts
|
|
12
12
|
interface HonoEndpointOptions {
|
|
@@ -28,6 +28,7 @@ interface HonoEndpointOptions {
|
|
|
28
28
|
declare class HonoEndpoint<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> {
|
|
29
29
|
private readonly endpoint;
|
|
30
30
|
constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>);
|
|
31
|
+
static isDev: boolean;
|
|
31
32
|
static validate<T extends StandardSchemaV1>(c: Context<any, string, {}>, data: unknown, schema?: T): Promise<unknown>;
|
|
32
33
|
addRoute(serviceDiscovery: ServiceDiscovery<ServiceRecord<TServices>, TLogger>, app: Hono): void;
|
|
33
34
|
static applyEventMiddleware(app: Hono, serviceDiscovery: ServiceDiscovery<any, any>): void;
|
|
@@ -38,4 +39,4 @@ declare class HonoEndpoint<TRoute extends string, TMethod extends HttpMethod, TI
|
|
|
38
39
|
}
|
|
39
40
|
//#endregion
|
|
40
41
|
export { HonoEndpoint, HonoEndpointOptions };
|
|
41
|
-
//# sourceMappingURL=HonoEndpointAdaptor-
|
|
42
|
+
//# sourceMappingURL=HonoEndpointAdaptor-lYw6EN1Q.d.cts.map
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
2
|
const require_publisher = require('./publisher-lFQleddL.cjs');
|
|
3
|
-
const require_Endpoint = require('./Endpoint-
|
|
4
|
-
const require_helpers = require('./helpers-
|
|
3
|
+
const require_Endpoint = require('./Endpoint-Bghj0fiL.cjs');
|
|
4
|
+
const require_helpers = require('./helpers-BJrzAmhb.cjs');
|
|
5
5
|
const require_parseHonoQuery = require('./parseHonoQuery-DopC24vB.cjs');
|
|
6
6
|
const __geekmidas_errors = require_chunk.__toESM(require("@geekmidas/errors"));
|
|
7
7
|
const __geekmidas_services = require_chunk.__toESM(require("@geekmidas/services"));
|
|
8
8
|
const __geekmidas_rate_limit = require_chunk.__toESM(require("@geekmidas/rate-limit"));
|
|
9
9
|
const hono = require_chunk.__toESM(require("hono"));
|
|
10
10
|
const hono_cookie = require_chunk.__toESM(require("hono/cookie"));
|
|
11
|
+
const hono_logger = require_chunk.__toESM(require("hono/logger"));
|
|
12
|
+
const hono_timing = require_chunk.__toESM(require("hono/timing"));
|
|
11
13
|
const hono_validator = require_chunk.__toESM(require("hono/validator"));
|
|
12
14
|
|
|
13
15
|
//#region src/endpoints/HonoEndpointAdaptor.ts
|
|
@@ -15,6 +17,7 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
15
17
|
constructor(endpoint) {
|
|
16
18
|
this.endpoint = endpoint;
|
|
17
19
|
}
|
|
20
|
+
static isDev = process.env.NODE_ENV === "development";
|
|
18
21
|
static async validate(c, data, schema) {
|
|
19
22
|
if (!schema) return void 0;
|
|
20
23
|
const parsed = await require_Endpoint.Endpoint.validate(schema, data);
|
|
@@ -40,6 +43,8 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
40
43
|
return app;
|
|
41
44
|
}
|
|
42
45
|
static addRoutes(endpoints, serviceDiscovery, app, options) {
|
|
46
|
+
app.use("*", (0, hono_timing.timing)());
|
|
47
|
+
if (HonoEndpoint.isDev) app.use("*", (0, hono_logger.logger)());
|
|
43
48
|
const docsPath = options?.docsPath !== false ? options?.docsPath || "/docs" : null;
|
|
44
49
|
if (docsPath) HonoEndpoint.addDocsRoute(endpoints, app, docsPath, options?.openApiOptions);
|
|
45
50
|
const sortedEndpoints = endpoints.sort((a, b) => {
|
|
@@ -133,15 +138,27 @@ var HonoEndpoint = class HonoEndpoint {
|
|
|
133
138
|
c.set("__response", output);
|
|
134
139
|
c.set("__endpoint", endpoint);
|
|
135
140
|
c.set("__logger", logger);
|
|
141
|
+
if (HonoEndpoint.isDev) logger.info({
|
|
142
|
+
status,
|
|
143
|
+
body: output
|
|
144
|
+
}, "Outgoing response");
|
|
136
145
|
return c.json(output, status);
|
|
137
146
|
} catch (validationError) {
|
|
138
147
|
logger.error(validationError, "Output validation failed");
|
|
139
148
|
const error = (0, __geekmidas_errors.wrapError)(validationError, 422, "Response validation failed");
|
|
149
|
+
if (HonoEndpoint.isDev) logger.info({
|
|
150
|
+
status: error.statusCode,
|
|
151
|
+
body: error
|
|
152
|
+
}, "Outgoing response");
|
|
140
153
|
return c.json(error, error.statusCode);
|
|
141
154
|
}
|
|
142
155
|
} catch (e) {
|
|
143
156
|
logger.error(e, "Error processing endpoint request");
|
|
144
157
|
const error = (0, __geekmidas_errors.wrapError)(e, 500, "Internal Server Error");
|
|
158
|
+
if (HonoEndpoint.isDev) logger.info({
|
|
159
|
+
status: error.statusCode,
|
|
160
|
+
body: error
|
|
161
|
+
}, "Outgoing response");
|
|
145
162
|
return c.json(error, error.statusCode);
|
|
146
163
|
}
|
|
147
164
|
});
|
|
@@ -166,4 +183,4 @@ Object.defineProperty(exports, 'HonoEndpoint', {
|
|
|
166
183
|
return HonoEndpoint;
|
|
167
184
|
}
|
|
168
185
|
});
|
|
169
|
-
//# sourceMappingURL=HonoEndpointAdaptor-
|
|
186
|
+
//# sourceMappingURL=HonoEndpointAdaptor-vWSpXdNp.cjs.map
|