@geekmidas/constructs 0.3.0 → 0.3.2
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-D9RZhm0N.d.mts → AWSLambdaFunction-BdebRMUh.d.mts} +5 -3
- package/dist/AWSLambdaFunction-BdebRMUh.d.mts.map +1 -0
- package/dist/AWSLambdaFunction-C54a1doJ.mjs.map +1 -1
- package/dist/{AWSLambdaFunction-gpqm7UBb.d.cts → AWSLambdaFunction-D0tEOTXQ.d.cts} +5 -3
- package/dist/AWSLambdaFunction-D0tEOTXQ.d.cts.map +1 -0
- package/dist/AWSLambdaFunction-EPGY4s7i.cjs.map +1 -1
- package/dist/{AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs → AWSLambdaSubscriberAdaptor-BLfO612H.mjs} +5 -3
- package/dist/{AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs.map → AWSLambdaSubscriberAdaptor-BLfO612H.mjs.map} +1 -1
- package/dist/{AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs → AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs} +5 -3
- package/dist/{AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs.map → AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs.map} +1 -1
- package/dist/{AWSLambdaSubscriberAdaptor-C0aZBU64.d.mts → AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts} +4 -2
- package/dist/AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts.map +1 -0
- package/dist/{AWSLambdaSubscriberAdaptor-DT8icDRf.d.cts → AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts} +4 -2
- package/dist/AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts.map +1 -0
- package/dist/{AmazonApiGatewayEndpointAdaptor-CbJqLU6I.d.cts → AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts} +5 -3
- package/dist/AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts.map +1 -0
- package/dist/{AmazonApiGatewayEndpointAdaptor-DC3N7zY_.d.mts → AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts} +5 -3
- package/dist/AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts.map +1 -0
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-BbkfC1dk.mjs → AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs} +2 -2
- package/dist/AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs.map +1 -0
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-BiNzaAxD.cjs → AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs} +2 -2
- package/dist/AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs.map +1 -0
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-BVxgQ-7J.d.mts → AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts} +8 -6
- package/dist/AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts.map +1 -0
- package/dist/{AmazonApiGatewayV1EndpointAdaptor-CVwJ5k16.d.cts → AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts} +8 -6
- package/dist/AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts.map +1 -0
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-DZclCykB.cjs → AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs} +2 -2
- package/dist/AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs.map +1 -0
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-1oBZdQH3.d.cts → AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts} +6 -4
- package/dist/AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts.map +1 -0
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-C3H8Hpv7.d.mts → AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts} +6 -4
- package/dist/AmazonApiGatewayV2EndpointAdaptor-fuLM6M9k.d.mts.map +1 -0
- package/dist/{AmazonApiGatewayV2EndpointAdaptor-jRrQrIdm.mjs → AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs} +2 -2
- package/dist/AmazonApiGatewayV2EndpointAdaptor-lCRzGE4q.mjs.map +1 -0
- package/dist/{Authorizer-CpSUMTIs.d.cts → Authorizer-B-btowNd.d.cts} +2 -1
- package/dist/Authorizer-B-btowNd.d.cts.map +1 -0
- package/dist/{Authorizer-Cpx59w_q.d.mts → Authorizer-gWxYsGEp.d.mts} +2 -1
- package/dist/Authorizer-gWxYsGEp.d.mts.map +1 -0
- package/dist/{BaseFunctionBuilder-CoV7J45W.d.mts → BaseFunctionBuilder-BAtutR6q.d.cts} +5 -3
- package/dist/BaseFunctionBuilder-BAtutR6q.d.cts.map +1 -0
- package/dist/{BaseFunctionBuilder-DaQA0uKE.d.cts → BaseFunctionBuilder-DRY419e7.d.mts} +5 -3
- package/dist/BaseFunctionBuilder-DRY419e7.d.mts.map +1 -0
- package/dist/{Construct-Dkd8Kvc9.d.cts → Construct-C4rPE67v.d.cts} +8 -7
- package/dist/Construct-C4rPE67v.d.cts.map +1 -0
- package/dist/{Construct-jBKqb-Zi.d.mts → Construct-XrijZFFh.d.mts} +8 -7
- package/dist/Construct-XrijZFFh.d.mts.map +1 -0
- package/dist/Construct.d.cts +1 -1
- package/dist/Construct.d.mts +1 -1
- package/dist/{Cron-7VPR2cNR.d.cts → Cron-bDLcTvV5.d.cts} +4 -4
- package/dist/Cron-bDLcTvV5.d.cts.map +1 -0
- package/dist/{Cron-JZkp_fHy.d.mts → Cron-cdjlSKNp.d.mts} +4 -4
- package/dist/Cron-cdjlSKNp.d.mts.map +1 -0
- package/dist/{CronBuilder-290th4zF.d.cts → CronBuilder-BC4m5-p1.d.mts} +7 -5
- package/dist/CronBuilder-BC4m5-p1.d.mts.map +1 -0
- package/dist/CronBuilder-CcxKRtVP.cjs.map +1 -1
- package/dist/{CronBuilder-BmFDO0Dm.d.mts → CronBuilder-DKVXyE0Q.d.cts} +7 -5
- package/dist/CronBuilder-DKVXyE0Q.d.cts.map +1 -0
- package/dist/CronBuilder-d2jh-IB2.mjs.map +1 -1
- package/dist/{Endpoint-C5djXyae.d.mts → Endpoint-BPv9_-m_.d.cts} +9 -7
- package/dist/Endpoint-BPv9_-m_.d.cts.map +1 -0
- package/dist/{Endpoint-CC2RGjkl.d.cts → Endpoint-BdwG75G_.d.mts} +9 -7
- package/dist/Endpoint-BdwG75G_.d.mts.map +1 -0
- package/dist/{EndpointBuilder-CD8LkBda.d.mts → EndpointBuilder-B3az942t.d.mts} +7 -5
- package/dist/EndpointBuilder-B3az942t.d.mts.map +1 -0
- package/dist/EndpointBuilder-Cgj1P_ra.cjs.map +1 -1
- package/dist/{EndpointBuilder-vXk6eIJk.d.cts → EndpointBuilder-DIy_m1bu.d.cts} +7 -5
- package/dist/EndpointBuilder-DIy_m1bu.d.cts.map +1 -0
- package/dist/EndpointBuilder-DnCB1h1j.mjs.map +1 -1
- package/dist/{EndpointFactory-jAkQxWRj.d.mts → EndpointFactory-C-0nE6Jg.d.mts} +6 -4
- package/dist/EndpointFactory-C-0nE6Jg.d.mts.map +1 -0
- package/dist/{EndpointFactory-D8I4NNCo.d.cts → EndpointFactory-CyPbm3AD.d.cts} +6 -4
- package/dist/EndpointFactory-CyPbm3AD.d.cts.map +1 -0
- package/dist/{Function-DHD1V9QW.d.cts → Function-Cf7f_kCz.d.cts} +5 -5
- package/dist/Function-Cf7f_kCz.d.cts.map +1 -0
- package/dist/{Function-Vh1t-Qjj.d.mts → Function-DN2G6OT5.d.mts} +5 -5
- package/dist/Function-DN2G6OT5.d.mts.map +1 -0
- package/dist/{FunctionBuilder-3jsoFffg.d.mts → FunctionBuilder-CJBzzXL3.d.cts} +7 -5
- package/dist/FunctionBuilder-CJBzzXL3.d.cts.map +1 -0
- package/dist/FunctionBuilder-CrDYgfiI.mjs.map +1 -1
- package/dist/{FunctionBuilder-FV6r3I7X.d.cts → FunctionBuilder-Cxx8D2na.d.mts} +7 -5
- package/dist/FunctionBuilder-Cxx8D2na.d.mts.map +1 -0
- package/dist/FunctionBuilder-DswJ-9sD.cjs.map +1 -1
- package/dist/{FunctionExecutionWrapper-CI3CaoCo.d.mts → FunctionExecutionWrapper-DF260Aaj.d.mts} +4 -2
- package/dist/FunctionExecutionWrapper-DF260Aaj.d.mts.map +1 -0
- package/dist/{FunctionExecutionWrapper-DYt3C8b9.d.cts → FunctionExecutionWrapper-Qy8bmgFR.d.cts} +4 -2
- package/dist/FunctionExecutionWrapper-Qy8bmgFR.d.cts.map +1 -0
- package/dist/{HonoEndpointAdaptor-Bx9Y1bCZ.d.cts → HonoEndpointAdaptor-BaPlUhz0.d.mts} +11 -9
- package/dist/HonoEndpointAdaptor-BaPlUhz0.d.mts.map +1 -0
- package/dist/{HonoEndpointAdaptor-e6l9eVDU.cjs → HonoEndpointAdaptor-CQe2FqMR.cjs} +2 -2
- package/dist/{HonoEndpointAdaptor-e6l9eVDU.cjs.map → HonoEndpointAdaptor-CQe2FqMR.cjs.map} +1 -1
- package/dist/{HonoEndpointAdaptor-NLlQk5iU.mjs → HonoEndpointAdaptor-Ce-2HBxn.mjs} +2 -2
- package/dist/{HonoEndpointAdaptor-NLlQk5iU.mjs.map → HonoEndpointAdaptor-Ce-2HBxn.mjs.map} +1 -1
- package/dist/{HonoEndpointAdaptor-kb1ByjUL.d.mts → HonoEndpointAdaptor-YcRHYALH.d.cts} +11 -9
- package/dist/HonoEndpointAdaptor-YcRHYALH.d.cts.map +1 -0
- package/dist/Subscriber-BiHjVXtM.cjs.map +1 -1
- package/dist/Subscriber-BmPf9GFb.mjs.map +1 -1
- package/dist/{Subscriber-DMSzvO_J.d.cts → Subscriber-COYMSevD.d.cts} +6 -6
- package/dist/Subscriber-COYMSevD.d.cts.map +1 -0
- package/dist/{Subscriber-aNr1qkxR.d.mts → Subscriber-ikctpU3I.d.mts} +6 -6
- package/dist/Subscriber-ikctpU3I.d.mts.map +1 -0
- package/dist/{SubscriberBuilder-BxJM3Hz_.d.cts → SubscriberBuilder-D_9zzllj.d.mts} +5 -3
- package/dist/SubscriberBuilder-D_9zzllj.d.mts.map +1 -0
- package/dist/{SubscriberBuilder-CWS4tdbp.d.mts → SubscriberBuilder-ivHAGIVi.d.cts} +5 -3
- package/dist/SubscriberBuilder-ivHAGIVi.d.cts.map +1 -0
- package/dist/{TestEndpointAdaptor-5-unBV8O.d.mts → TestEndpointAdaptor-C10xBI--.d.cts} +4 -4
- package/dist/TestEndpointAdaptor-C10xBI--.d.cts.map +1 -0
- package/dist/{TestEndpointAdaptor-Bm0UjDtV.d.cts → TestEndpointAdaptor-DB7bREhS.d.mts} +4 -4
- package/dist/TestEndpointAdaptor-DB7bREhS.d.mts.map +1 -0
- package/dist/{TestEndpointAdaptor-oq5mfglM.mjs → TestEndpointAdaptor-DJgik2Wj.mjs} +13 -1
- package/dist/TestEndpointAdaptor-DJgik2Wj.mjs.map +1 -0
- package/dist/{TestEndpointAdaptor-opEisC30.cjs → TestEndpointAdaptor-ZbtQiuHE.cjs} +13 -1
- package/dist/TestEndpointAdaptor-ZbtQiuHE.cjs.map +1 -0
- package/dist/adaptors/aws.cjs +4 -4
- package/dist/adaptors/aws.d.cts +15 -15
- package/dist/adaptors/aws.d.mts +15 -15
- package/dist/adaptors/aws.mjs +4 -4
- package/dist/adaptors/hono.cjs +2 -2
- package/dist/adaptors/hono.d.cts +9 -9
- package/dist/adaptors/hono.d.mts +9 -9
- package/dist/adaptors/hono.mjs +2 -2
- package/dist/adaptors/testing.cjs +1 -1
- package/dist/adaptors/testing.d.cts +9 -9
- package/dist/adaptors/testing.d.mts +9 -9
- package/dist/adaptors/testing.mjs +1 -1
- package/dist/crons/Cron.d.cts +6 -6
- package/dist/crons/Cron.d.mts +6 -6
- package/dist/crons/CronBuilder.d.cts +7 -7
- package/dist/crons/CronBuilder.d.mts +7 -7
- package/dist/crons/index.d.cts +13 -11
- package/dist/crons/index.d.cts.map +1 -0
- package/dist/crons/index.d.mts +9 -7
- package/dist/crons/index.d.mts.map +1 -0
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +9 -9
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +9 -9
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +2 -2
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +10 -10
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +10 -10
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +2 -2
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +2 -2
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +10 -10
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +10 -10
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +2 -2
- package/dist/endpoints/Authorizer.d.cts +1 -1
- package/dist/endpoints/Authorizer.d.mts +1 -1
- package/dist/endpoints/Endpoint.d.cts +8 -8
- package/dist/endpoints/Endpoint.d.mts +8 -8
- package/dist/endpoints/EndpointBuilder.d.cts +9 -9
- package/dist/endpoints/EndpointBuilder.d.mts +9 -9
- package/dist/endpoints/EndpointFactory.d.cts +10 -10
- package/dist/endpoints/EndpointFactory.d.mts +10 -10
- package/dist/endpoints/HonoEndpointAdaptor.cjs +2 -2
- package/dist/endpoints/HonoEndpointAdaptor.d.cts +9 -9
- package/dist/endpoints/HonoEndpointAdaptor.d.mts +9 -9
- package/dist/endpoints/HonoEndpointAdaptor.mjs +2 -2
- package/dist/endpoints/TestEndpointAdaptor.cjs +1 -1
- package/dist/endpoints/TestEndpointAdaptor.d.cts +9 -9
- package/dist/endpoints/TestEndpointAdaptor.d.mts +9 -9
- package/dist/endpoints/TestEndpointAdaptor.mjs +1 -1
- package/dist/endpoints/audit.d.cts +8 -8
- package/dist/endpoints/audit.d.mts +8 -8
- package/dist/endpoints/helpers.d.cts +9 -8
- package/dist/endpoints/helpers.d.cts.map +1 -0
- package/dist/endpoints/helpers.d.mts +9 -8
- package/dist/endpoints/helpers.d.mts.map +1 -0
- package/dist/endpoints/index.d.cts +14 -12
- package/dist/endpoints/index.d.cts.map +1 -0
- package/dist/endpoints/index.d.mts +14 -12
- package/dist/endpoints/index.d.mts.map +1 -0
- package/dist/endpoints/parseHonoQuery.cjs +1 -1
- package/dist/endpoints/parseHonoQuery.d.cts +2 -0
- package/dist/endpoints/parseHonoQuery.d.cts.map +1 -0
- package/dist/endpoints/parseHonoQuery.d.mts +2 -0
- package/dist/endpoints/parseHonoQuery.d.mts.map +1 -0
- package/dist/endpoints/parseHonoQuery.mjs +1 -1
- package/dist/endpoints/parseQueryParams.cjs +1 -1
- package/dist/endpoints/parseQueryParams.d.cts +1 -0
- package/dist/endpoints/parseQueryParams.d.cts.map +1 -0
- package/dist/endpoints/parseQueryParams.d.mts +1 -0
- package/dist/endpoints/parseQueryParams.d.mts.map +1 -0
- package/dist/endpoints/parseQueryParams.mjs +1 -1
- package/dist/endpoints/processAudits.d.cts +10 -8
- package/dist/endpoints/processAudits.d.cts.map +1 -0
- package/dist/endpoints/processAudits.d.mts +10 -8
- package/dist/endpoints/processAudits.d.mts.map +1 -0
- package/dist/endpoints/rls.d.cts +8 -8
- package/dist/endpoints/rls.d.mts +8 -8
- package/dist/functions/AWSLambdaFunction.d.cts +4 -4
- package/dist/functions/AWSLambdaFunction.d.mts +4 -4
- package/dist/functions/BaseFunctionBuilder.d.cts +2 -2
- package/dist/functions/BaseFunctionBuilder.d.mts +2 -2
- package/dist/functions/Function.d.cts +2 -2
- package/dist/functions/Function.d.mts +2 -2
- package/dist/functions/FunctionBuilder.d.cts +4 -4
- package/dist/functions/FunctionBuilder.d.mts +4 -4
- package/dist/functions/FunctionExecutionWrapper.d.cts +3 -3
- package/dist/functions/FunctionExecutionWrapper.d.mts +3 -3
- package/dist/functions/TestFunctionAdaptor.d.cts +4 -2
- package/dist/functions/TestFunctionAdaptor.d.cts.map +1 -0
- package/dist/functions/TestFunctionAdaptor.d.mts +4 -2
- package/dist/functions/TestFunctionAdaptor.d.mts.map +1 -0
- package/dist/functions/index.d.cts +5 -5
- package/dist/functions/index.d.mts +5 -5
- package/dist/{index-CFyaRrck.d.mts → index-BWzGIj06.d.mts} +4 -2
- package/dist/index-BWzGIj06.d.mts.map +1 -0
- package/dist/index-DmFozqLd.d.cts +12 -0
- package/dist/index-DmFozqLd.d.cts.map +1 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/{parseHonoQuery-CT8Cvin-.cjs → parseHonoQuery-CZC5_97v.cjs} +3 -1
- package/dist/parseHonoQuery-CZC5_97v.cjs.map +1 -0
- package/dist/{parseHonoQuery-CwFKw2ua.mjs → parseHonoQuery-DDgIkTO4.mjs} +3 -1
- package/dist/parseHonoQuery-DDgIkTO4.mjs.map +1 -0
- package/dist/{parseQueryParams-CwvXXwkW.cjs → parseQueryParams-BSNkjmZ9.cjs} +3 -1
- package/dist/parseQueryParams-BSNkjmZ9.cjs.map +1 -0
- package/dist/{parseQueryParams-CHINupbZ.mjs → parseQueryParams-UMTRnRrW.mjs} +3 -1
- package/dist/parseQueryParams-UMTRnRrW.mjs.map +1 -0
- package/dist/publisher.d.cts +4 -2
- package/dist/publisher.d.cts.map +1 -0
- package/dist/publisher.d.mts +4 -2
- package/dist/publisher.d.mts.map +1 -0
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +1 -1
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +3 -3
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +3 -3
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +1 -1
- package/dist/subscribers/Subscriber.d.cts +2 -2
- package/dist/subscribers/Subscriber.d.mts +2 -2
- package/dist/subscribers/SubscriberBuilder.d.cts +3 -3
- package/dist/subscribers/SubscriberBuilder.d.mts +3 -3
- package/dist/subscribers/index.d.cts +7 -5
- package/dist/subscribers/index.d.cts.map +1 -0
- package/dist/subscribers/index.d.mts +5 -3
- package/dist/subscribers/index.d.mts.map +1 -0
- package/dist/{types-Bp9ysFXd.d.cts → types-B5H3piDg.d.cts} +3 -1
- package/dist/types-B5H3piDg.d.cts.map +1 -0
- package/dist/{types-CScirkHt.d.mts → types-DdIlpxAd.d.mts} +3 -1
- package/dist/types-DdIlpxAd.d.mts.map +1 -0
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +8 -8
- package/src/crons/CronBuilder.ts +8 -8
- package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +4 -4
- package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +4 -4
- package/src/endpoints/EndpointBuilder.ts +4 -4
- package/src/endpoints/TestEndpointAdaptor.ts +18 -0
- package/src/endpoints/parseHonoQuery.ts +2 -0
- package/src/endpoints/parseQueryParams.ts +2 -0
- package/src/functions/AWSLambdaFunction.ts +1 -1
- package/src/functions/FunctionBuilder.ts +5 -5
- package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +8 -4
- package/src/subscribers/Subscriber.ts +5 -5
- package/tsconfig.json +9 -0
- package/dist/AmazonApiGatewayV1EndpointAdaptor-BbkfC1dk.mjs.map +0 -1
- package/dist/AmazonApiGatewayV1EndpointAdaptor-BiNzaAxD.cjs.map +0 -1
- package/dist/AmazonApiGatewayV2EndpointAdaptor-DZclCykB.cjs.map +0 -1
- package/dist/AmazonApiGatewayV2EndpointAdaptor-jRrQrIdm.mjs.map +0 -1
- package/dist/TestEndpointAdaptor-opEisC30.cjs.map +0 -1
- package/dist/TestEndpointAdaptor-oq5mfglM.mjs.map +0 -1
- package/dist/index-CqH4_Ieb.d.cts +0 -10
- package/dist/parseHonoQuery-CT8Cvin-.cjs.map +0 -1
- package/dist/parseHonoQuery-CwFKw2ua.mjs.map +0 -1
- package/dist/parseQueryParams-CHINupbZ.mjs.map +0 -1
- package/dist/parseQueryParams-CwvXXwkW.cjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Function, FunctionHandler } from "./Function-
|
|
2
|
-
import { FunctionExecutionWrapper } from "./FunctionExecutionWrapper-
|
|
1
|
+
import { Function, FunctionHandler } from "./Function-DN2G6OT5.mjs";
|
|
2
|
+
import { FunctionExecutionWrapper } from "./FunctionExecutionWrapper-DF260Aaj.mjs";
|
|
3
3
|
import { Service } from "@geekmidas/services";
|
|
4
4
|
import { AuditStorage, AuditableAction } from "@geekmidas/audit";
|
|
5
5
|
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
@@ -25,6 +25,8 @@ declare class AWSLambdaFunction<TInput extends ComposableStandardSchema | undefi
|
|
|
25
25
|
private _handler;
|
|
26
26
|
get handler(): AWSLambdaHandler;
|
|
27
27
|
}
|
|
28
|
+
//# sourceMappingURL=AWSLambdaFunction.d.ts.map
|
|
29
|
+
|
|
28
30
|
//#endregion
|
|
29
31
|
export { AWSLambdaFunction, AWSLambdaHandler };
|
|
30
|
-
//# sourceMappingURL=AWSLambdaFunction-
|
|
32
|
+
//# sourceMappingURL=AWSLambdaFunction-BdebRMUh.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSLambdaFunction-BdebRMUh.d.mts","names":[],"sources":["../src/functions/AWSLambdaFunction.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;KAmBY,gDAAgD,QAC1D,QACA;cAuCW,iCACI,qEACI,4DACD,gCACF,SAAS,gCACD,uHAEF,kLAID,mCAAmC,0CAIhD,yBACR,QACA,YACA,WACA,SACA,iBACA,4BACA,eACA,0BACA,WACA,sBACA;EAnEU,SAAA,EAAA,EAuEc,QAvEE,CAwEtB,MAxEsB,EAyEtB,SAzEsB,EA0EtB,OA1EsB,EA2EtB,UA3EsB,EA4EtB,eA5EsB,EA6EtB,0BA7EsB,EA8EtB,aA9EsB,EA+EtB,wBA/EsB,EAgFtB,SAhFsB,EAiFtB,oBAjFsB,EAkFtB,YAlFsB,EAmFtB,eAnFsB,CAoFpB,MApFoB,EAqFpB,SArFoB,EAsFpB,OAtFoB,EAuFpB,UAvFoB,EAwFpB,SAxFoB,EAyFpB,aAzFoB,EA0FpB,YA1FoB,CAAA,CAAA;EAAA,WAAA,CAAA,SAAA,EAsEb,iBAtEa,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAuEF,QAvEE,CAwEtB,MAxEsB,EAyEtB,SAzEsB,EA0EtB,OA1EsB,EA2EtB,UA3EsB,EA4EtB,eA5EsB,EA6EtB,0BA7EsB,EA8EtB,aA9EsB,EA+EtB,wBA/EsB,EAgFtB,SAhFsB,EAiFtB,oBAjFsB,EAkFtB,YAlFsB,EAmFtB,eAnFsB,CAoFpB,MApFoB,EAqFpB,SArFoB,EAsFpB,OAtFoB,EAuFpB,UAvFoB,EAwFpB,SAxFoB,EAyFpB,aAzFoB,EA0FpB,YA1FoB,CAAA,CAAA;EAAA,QAC1B,KAAA;EAAM,QACN,SAAA;EAAO,QAFmD,KAAA;EAAO,QAAA,gBAAA;EAyCtD,QAAA,QAAA;EAAiB,QAAA,QAAA;EAAA,QACb,OAAA;EAAwB,QACpB,MAAA;EAAgB,QACjB,QAAA;EAAO,IACT,OAAA,CAAA,CAAA,EAgQD,gBAhQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLambdaFunction-C54a1doJ.mjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n >","event: FunctionEvent<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TDatabase,\n TAuditAction\n >"],"sources":["../src/functions/AWSLambdaFunction.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction, Auditor } from '@geekmidas/audit';\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { Context, Handler } from 'aws-lambda';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nimport { wrapError } from '@geekmidas/errors';\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 type { Service, ServiceRecord } from '@geekmidas/services';\nimport { FunctionExecutionWrapper } from './FunctionExecutionWrapper';\n\nexport type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<\n TEvent,\n TResult\n>;\n\ntype FunctionEvent<\n TEvent,\n TInput extends ComposableStandardSchema | undefined,\n TServices extends Service[],\n TLogger extends Logger,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = TEvent & {\n parsedInput: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n logger: TLogger;\n db: TDatabase | undefined;\n auditor: Auditor<TAuditAction> | undefined;\n};\n\ntype Middleware<\n TEvent,\n TInput extends ComposableStandardSchema | undefined,\n TServices extends Service[],\n TLogger extends Logger,\n TOutSchema extends StandardSchemaV1 | undefined,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = MiddlewareObj<\n FunctionEvent<TEvent, TInput, TServices, TLogger, TDatabase, TAuditAction>,\n InferComposableStandardSchema<TOutSchema>,\n Error,\n Context\n>;\n\nexport class AWSLambdaFunction<\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 TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> extends FunctionExecutionWrapper<\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n> {\n constructor(\n envParser: EnvironmentParser<{}>,\n readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n >,\n ) {\n super(envParser, fn);\n }\n\n private error<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n onError: (req) => {\n const logger = req.event?.logger || this.fn.logger;\n logger.error(req.error || {}, 'Error processing function');\n\n // Re-throw the wrapped error to let Lambda handle it\n throw wrapError(req.error);\n },\n };\n }\n\n private baseInput<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: (req) => {},\n };\n }\n\n private input<\n TEvent extends { input: InferComposableStandardSchema<TInput> },\n >(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n try {\n // Parse input if schema is provided\n if (this.fn.input) {\n const parsedInput =\n await FunctionBuilder.parseComposableStandardSchema(\n req.event,\n this.fn.input,\n );\n\n req.event.parsedInput =\n parsedInput as InferComposableStandardSchema<TInput>;\n } else {\n // If no schema, pass the event as-is\n req.event.parsedInput = req.event as any;\n }\n } catch (error) {\n this.logger.error(\n { error, event: req.event },\n 'Failed to parse input',\n );\n throw error;\n }\n },\n };\n }\n\n private loggerMiddleware<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: (req) => {\n this._logger = this.fn.logger.child({\n fn: {\n name: req.context.functionName,\n version: req.context.functionVersion,\n memory: req.context.memoryLimitInMB,\n },\n req: {\n id: req.context.awsRequestId,\n },\n }) as TLogger;\n\n req.event.logger = this._logger;\n },\n };\n }\n\n private services<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.services = await this.getServices();\n },\n };\n }\n\n private database<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.db = await this.getDatabase();\n },\n };\n }\n\n private auditor<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.auditor = await this.createAuditor();\n },\n after: async (req) => {\n // Flush any pending audits after successful execution\n if (req.event.auditor) {\n const records = req.event.auditor.getRecords();\n if (records.length > 0) {\n this.logger.debug(\n { auditCount: records.length },\n 'Flushing function audits',\n );\n await req.event.auditor.flush();\n }\n }\n },\n };\n }\n\n private events<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n after: async (req) => {\n const response = (req.response ||\n undefined) as InferStandardSchema<TOutSchema>;\n await this.publishEvents(response);\n },\n };\n }\n\n private async _handler<TEvent>(\n event: FunctionEvent<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TDatabase,\n TAuditAction\n >,\n ) {\n // Execute the function with the parsed context\n const result = await this.fn['fn']({\n input: event.parsedInput,\n services: event.services,\n logger: event.logger,\n db: event.db,\n auditor: event.auditor,\n } as any);\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(result);\n\n return output;\n }\n\n get handler(): AWSLambdaHandler {\n const handler = this._handler.bind(this);\n\n // Apply middleware in order\n return middy(handler)\n .use(this.loggerMiddleware())\n .use(this.baseInput())\n .use(this.error())\n .use(this.services())\n .use(this.database())\n .use(this.auditor())\n .use(this.input())\n .use(this.events()) as unknown as AWSLambdaHandler;\n }\n}\n"],"mappings":";;;;;;AA4DA,IAAa,oBAAb,cAeU,yBAYR;CACA,YACEA,WACSC,IAsBT;AACA,QAAM,WAAW,GAAG;EAvBX;CAwBV;CAED,AAAQ,QAQN;AACA,SAAO,EACL,SAAS,CAAC,QAAQ;GAChB,MAAM,SAAS,IAAI,OAAO,UAAU,KAAK,GAAG;AAC5C,UAAO,MAAM,IAAI,SAAS,CAAE,GAAE,4BAA4B;AAG1D,SAAM,UAAU,IAAI,MAAM;EAC3B,EACF;CACF;CAED,AAAQ,YAQN;AACA,SAAO,EACL,QAAQ,CAAC,QAAQ,CAAE,EACpB;CACF;CAED,AAAQ,QAUN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI;AAEF,QAAI,KAAK,GAAG,OAAO;KACjB,MAAM,cACJ,MAAM,gBAAgB,8BACpB,IAAI,OACJ,KAAK,GAAG,MACT;AAEH,SAAI,MAAM,cACR;IACH,MAEC,KAAI,MAAM,cAAc,IAAI;GAE/B,SAAQ,OAAO;AACd,SAAK,OAAO,MACV;KAAE;KAAO,OAAO,IAAI;IAAO,GAC3B,wBACD;AACD,UAAM;GACP;EACF,EACF;CACF;CAED,AAAQ,mBAQN;AACA,SAAO,EACL,QAAQ,CAAC,QAAQ;AACf,QAAK,UAAU,KAAK,GAAG,OAAO,MAAM;IAClC,IAAI;KACF,MAAM,IAAI,QAAQ;KAClB,SAAS,IAAI,QAAQ;KACrB,QAAQ,IAAI,QAAQ;IACrB;IACD,KAAK,EACH,IAAI,IAAI,QAAQ,aACjB;GACF,EAAC;AAEF,OAAI,MAAM,SAAS,KAAK;EACzB,EACF;CACF;CAED,AAAQ,WAQN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI,MAAM,WAAW,MAAM,KAAK,aAAa;EAC9C,EACF;CACF;CAED,AAAQ,WAQN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI,MAAM,KAAK,MAAM,KAAK,aAAa;EACxC,EACF;CACF;CAED,AAAQ,UAQN;AACA,SAAO;GACL,QAAQ,OAAO,QAAQ;AACrB,QAAI,MAAM,UAAU,MAAM,KAAK,eAAe;GAC/C;GACD,OAAO,OAAO,QAAQ;AAEpB,QAAI,IAAI,MAAM,SAAS;KACrB,MAAM,UAAU,IAAI,MAAM,QAAQ,YAAY;AAC9C,SAAI,QAAQ,SAAS,GAAG;AACtB,WAAK,OAAO,MACV,EAAE,YAAY,QAAQ,OAAQ,GAC9B,2BACD;AACD,YAAM,IAAI,MAAM,QAAQ,OAAO;KAChC;IACF;GACF;EACF;CACF;CAED,AAAQ,SAQN;AACA,SAAO,EACL,OAAO,OAAO,QAAQ;GACpB,MAAM,WAAY,IAAI;AAEtB,SAAM,KAAK,cAAc,SAAS;EACnC,EACF;CACF;CAED,MAAc,SACZC,OAQA;EAEA,MAAM,SAAS,MAAM,KAAK,GAAG,MAAM;GACjC,OAAO,MAAM;GACb,UAAU,MAAM;GAChB,QAAQ,MAAM;GACd,IAAI,MAAM;GACV,SAAS,MAAM;EAChB,EAAQ;EAGT,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,OAAO;AAEhD,SAAO;CACR;CAED,IAAI,UAA4B;EAC9B,MAAM,UAAU,KAAK,SAAS,KAAK,KAAK;AAGxC,SAAO,MAAM,QAAQ,CAClB,IAAI,KAAK,kBAAkB,CAAC,CAC5B,IAAI,KAAK,WAAW,CAAC,CACrB,IAAI,KAAK,OAAO,CAAC,CACjB,IAAI,KAAK,UAAU,CAAC,CACpB,IAAI,KAAK,UAAU,CAAC,CACpB,IAAI,KAAK,SAAS,CAAC,CACnB,IAAI,KAAK,OAAO,CAAC,CACjB,IAAI,KAAK,QAAQ,CAAC;CACtB;AACF"}
|
|
1
|
+
{"version":3,"file":"AWSLambdaFunction-C54a1doJ.mjs","names":["envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n >","event: FunctionEvent<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TDatabase,\n TAuditAction\n >"],"sources":["../src/functions/AWSLambdaFunction.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction, Auditor } from '@geekmidas/audit';\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { Context, Handler } from 'aws-lambda';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nimport { wrapError } from '@geekmidas/errors';\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 type { Service, ServiceRecord } from '@geekmidas/services';\nimport { FunctionExecutionWrapper } from './FunctionExecutionWrapper';\n\nexport type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<\n TEvent,\n TResult\n>;\n\ntype FunctionEvent<\n TEvent,\n TInput extends ComposableStandardSchema | undefined,\n TServices extends Service[],\n TLogger extends Logger,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = TEvent & {\n parsedInput: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n logger: TLogger;\n db: TDatabase | undefined;\n auditor: Auditor<TAuditAction> | undefined;\n};\n\ntype Middleware<\n TEvent,\n TInput extends ComposableStandardSchema | undefined,\n TServices extends Service[],\n TLogger extends Logger,\n TOutSchema extends StandardSchemaV1 | undefined,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = MiddlewareObj<\n FunctionEvent<TEvent, TInput, TServices, TLogger, TDatabase, TAuditAction>,\n InferComposableStandardSchema<TOutSchema>,\n Error,\n Context\n>;\n\nexport class AWSLambdaFunction<\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 TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> extends FunctionExecutionWrapper<\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n> {\n constructor(\n envParser: EnvironmentParser<{}>,\n override readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n >,\n ) {\n super(envParser, fn);\n }\n\n private error<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n onError: (req) => {\n const logger = req.event?.logger || this.fn.logger;\n logger.error(req.error || {}, 'Error processing function');\n\n // Re-throw the wrapped error to let Lambda handle it\n throw wrapError(req.error);\n },\n };\n }\n\n private baseInput<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: (req) => {},\n };\n }\n\n private input<\n TEvent extends { input: InferComposableStandardSchema<TInput> },\n >(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n try {\n // Parse input if schema is provided\n if (this.fn.input) {\n const parsedInput =\n await FunctionBuilder.parseComposableStandardSchema(\n req.event,\n this.fn.input,\n );\n\n req.event.parsedInput =\n parsedInput as InferComposableStandardSchema<TInput>;\n } else {\n // If no schema, pass the event as-is\n req.event.parsedInput = req.event as any;\n }\n } catch (error) {\n this.logger.error(\n { error, event: req.event },\n 'Failed to parse input',\n );\n throw error;\n }\n },\n };\n }\n\n private loggerMiddleware<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: (req) => {\n this._logger = this.fn.logger.child({\n fn: {\n name: req.context.functionName,\n version: req.context.functionVersion,\n memory: req.context.memoryLimitInMB,\n },\n req: {\n id: req.context.awsRequestId,\n },\n }) as TLogger;\n\n req.event.logger = this._logger;\n },\n };\n }\n\n private services<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.services = await this.getServices();\n },\n };\n }\n\n private database<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.db = await this.getDatabase();\n },\n };\n }\n\n private auditor<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.auditor = await this.createAuditor();\n },\n after: async (req) => {\n // Flush any pending audits after successful execution\n if (req.event.auditor) {\n const records = req.event.auditor.getRecords();\n if (records.length > 0) {\n this.logger.debug(\n { auditCount: records.length },\n 'Flushing function audits',\n );\n await req.event.auditor.flush();\n }\n }\n },\n };\n }\n\n private events<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n after: async (req) => {\n const response = (req.response ||\n undefined) as InferStandardSchema<TOutSchema>;\n await this.publishEvents(response);\n },\n };\n }\n\n private async _handler<TEvent>(\n event: FunctionEvent<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TDatabase,\n TAuditAction\n >,\n ) {\n // Execute the function with the parsed context\n const result = await this.fn['fn']({\n input: event.parsedInput,\n services: event.services,\n logger: event.logger,\n db: event.db,\n auditor: event.auditor,\n } as any);\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(result);\n\n return output;\n }\n\n get handler(): AWSLambdaHandler {\n const handler = this._handler.bind(this);\n\n // Apply middleware in order\n return middy(handler)\n .use(this.loggerMiddleware())\n .use(this.baseInput())\n .use(this.error())\n .use(this.services())\n .use(this.database())\n .use(this.auditor())\n .use(this.input())\n .use(this.events()) as unknown as AWSLambdaHandler;\n }\n}\n"],"mappings":";;;;;;AA4DA,IAAa,oBAAb,cAeU,yBAYR;CACA,YACEA,WACkBC,IAsBlB;AACA,QAAM,WAAW,GAAG;EAvBF;CAwBnB;CAED,AAAQ,QAQN;AACA,SAAO,EACL,SAAS,CAAC,QAAQ;GAChB,MAAM,SAAS,IAAI,OAAO,UAAU,KAAK,GAAG;AAC5C,UAAO,MAAM,IAAI,SAAS,CAAE,GAAE,4BAA4B;AAG1D,SAAM,UAAU,IAAI,MAAM;EAC3B,EACF;CACF;CAED,AAAQ,YAQN;AACA,SAAO,EACL,QAAQ,CAAC,QAAQ,CAAE,EACpB;CACF;CAED,AAAQ,QAUN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI;AAEF,QAAI,KAAK,GAAG,OAAO;KACjB,MAAM,cACJ,MAAM,gBAAgB,8BACpB,IAAI,OACJ,KAAK,GAAG,MACT;AAEH,SAAI,MAAM,cACR;IACH,MAEC,KAAI,MAAM,cAAc,IAAI;GAE/B,SAAQ,OAAO;AACd,SAAK,OAAO,MACV;KAAE;KAAO,OAAO,IAAI;IAAO,GAC3B,wBACD;AACD,UAAM;GACP;EACF,EACF;CACF;CAED,AAAQ,mBAQN;AACA,SAAO,EACL,QAAQ,CAAC,QAAQ;AACf,QAAK,UAAU,KAAK,GAAG,OAAO,MAAM;IAClC,IAAI;KACF,MAAM,IAAI,QAAQ;KAClB,SAAS,IAAI,QAAQ;KACrB,QAAQ,IAAI,QAAQ;IACrB;IACD,KAAK,EACH,IAAI,IAAI,QAAQ,aACjB;GACF,EAAC;AAEF,OAAI,MAAM,SAAS,KAAK;EACzB,EACF;CACF;CAED,AAAQ,WAQN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI,MAAM,WAAW,MAAM,KAAK,aAAa;EAC9C,EACF;CACF;CAED,AAAQ,WAQN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI,MAAM,KAAK,MAAM,KAAK,aAAa;EACxC,EACF;CACF;CAED,AAAQ,UAQN;AACA,SAAO;GACL,QAAQ,OAAO,QAAQ;AACrB,QAAI,MAAM,UAAU,MAAM,KAAK,eAAe;GAC/C;GACD,OAAO,OAAO,QAAQ;AAEpB,QAAI,IAAI,MAAM,SAAS;KACrB,MAAM,UAAU,IAAI,MAAM,QAAQ,YAAY;AAC9C,SAAI,QAAQ,SAAS,GAAG;AACtB,WAAK,OAAO,MACV,EAAE,YAAY,QAAQ,OAAQ,GAC9B,2BACD;AACD,YAAM,IAAI,MAAM,QAAQ,OAAO;KAChC;IACF;GACF;EACF;CACF;CAED,AAAQ,SAQN;AACA,SAAO,EACL,OAAO,OAAO,QAAQ;GACpB,MAAM,WAAY,IAAI;AAEtB,SAAM,KAAK,cAAc,SAAS;EACnC,EACF;CACF;CAED,MAAc,SACZC,OAQA;EAEA,MAAM,SAAS,MAAM,KAAK,GAAG,MAAM;GACjC,OAAO,MAAM;GACb,UAAU,MAAM;GAChB,QAAQ,MAAM;GACd,IAAI,MAAM;GACV,SAAS,MAAM;EAChB,EAAQ;EAGT,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,OAAO;AAEhD,SAAO;CACR;CAED,IAAI,UAA4B;EAC9B,MAAM,UAAU,KAAK,SAAS,KAAK,KAAK;AAGxC,SAAO,MAAM,QAAQ,CAClB,IAAI,KAAK,kBAAkB,CAAC,CAC5B,IAAI,KAAK,WAAW,CAAC,CACrB,IAAI,KAAK,OAAO,CAAC,CACjB,IAAI,KAAK,UAAU,CAAC,CACpB,IAAI,KAAK,UAAU,CAAC,CACpB,IAAI,KAAK,SAAS,CAAC,CACnB,IAAI,KAAK,OAAO,CAAC,CACjB,IAAI,KAAK,QAAQ,CAAC;CACtB;AACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Function, FunctionHandler } from "./Function-
|
|
2
|
-
import { FunctionExecutionWrapper } from "./FunctionExecutionWrapper-
|
|
1
|
+
import { Function, FunctionHandler } from "./Function-Cf7f_kCz.cjs";
|
|
2
|
+
import { FunctionExecutionWrapper } from "./FunctionExecutionWrapper-Qy8bmgFR.cjs";
|
|
3
3
|
import { AuditStorage, AuditableAction } from "@geekmidas/audit";
|
|
4
4
|
import { EventPublisher } from "@geekmidas/events";
|
|
5
5
|
import { Logger } from "@geekmidas/logger";
|
|
@@ -25,6 +25,8 @@ declare class AWSLambdaFunction<TInput extends ComposableStandardSchema | undefi
|
|
|
25
25
|
private _handler;
|
|
26
26
|
get handler(): AWSLambdaHandler;
|
|
27
27
|
}
|
|
28
|
+
//# sourceMappingURL=AWSLambdaFunction.d.ts.map
|
|
29
|
+
|
|
28
30
|
//#endregion
|
|
29
31
|
export { AWSLambdaFunction, AWSLambdaHandler };
|
|
30
|
-
//# sourceMappingURL=AWSLambdaFunction-
|
|
32
|
+
//# sourceMappingURL=AWSLambdaFunction-D0tEOTXQ.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSLambdaFunction-D0tEOTXQ.d.cts","names":[],"sources":["../src/functions/AWSLambdaFunction.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;KAmBY,gDAAgD,QAC1D,QACA;cAuCW,iCACI,qEACI,4DACD,gCACF,SAAS,gCACD,uHAEF,kLAID,mCAAmC,0CAIhD,yBACR,QACA,YACA,WACA,SACA,iBACA,4BACA,eACA,0BACA,WACA,sBACA;EAnEU,SAAA,EAAA,EAuEc,QAvEE,CAwEtB,MAxEsB,EAyEtB,SAzEsB,EA0EtB,OA1EsB,EA2EtB,UA3EsB,EA4EtB,eA5EsB,EA6EtB,0BA7EsB,EA8EtB,aA9EsB,EA+EtB,wBA/EsB,EAgFtB,SAhFsB,EAiFtB,oBAjFsB,EAkFtB,YAlFsB,EAmFtB,eAnFsB,CAoFpB,MApFoB,EAqFpB,SArFoB,EAsFpB,OAtFoB,EAuFpB,UAvFoB,EAwFpB,SAxFoB,EAyFpB,aAzFoB,EA0FpB,YA1FoB,CAAA,CAAA;EAAA,WAAA,CAAA,SAAA,EAsEb,iBAtEa,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAuEF,QAvEE,CAwEtB,MAxEsB,EAyEtB,SAzEsB,EA0EtB,OA1EsB,EA2EtB,UA3EsB,EA4EtB,eA5EsB,EA6EtB,0BA7EsB,EA8EtB,aA9EsB,EA+EtB,wBA/EsB,EAgFtB,SAhFsB,EAiFtB,oBAjFsB,EAkFtB,YAlFsB,EAmFtB,eAnFsB,CAoFpB,MApFoB,EAqFpB,SArFoB,EAsFpB,OAtFoB,EAuFpB,UAvFoB,EAwFpB,SAxFoB,EAyFpB,aAzFoB,EA0FpB,YA1FoB,CAAA,CAAA;EAAA,QAC1B,KAAA;EAAM,QACN,SAAA;EAAO,QAFmD,KAAA;EAAO,QAAA,gBAAA;EAyCtD,QAAA,QAAA;EAAiB,QAAA,QAAA;EAAA,QACb,OAAA;EAAwB,QACpB,MAAA;EAAgB,QACjB,QAAA;EAAO,IACT,OAAA,CAAA,CAAA,EAgQD,gBAhQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLambdaFunction-EPGY4s7i.cjs","names":["FunctionExecutionWrapper","envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n >","event: FunctionEvent<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TDatabase,\n TAuditAction\n >"],"sources":["../src/functions/AWSLambdaFunction.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction, Auditor } from '@geekmidas/audit';\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { Context, Handler } from 'aws-lambda';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nimport { wrapError } from '@geekmidas/errors';\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 type { Service, ServiceRecord } from '@geekmidas/services';\nimport { FunctionExecutionWrapper } from './FunctionExecutionWrapper';\n\nexport type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<\n TEvent,\n TResult\n>;\n\ntype FunctionEvent<\n TEvent,\n TInput extends ComposableStandardSchema | undefined,\n TServices extends Service[],\n TLogger extends Logger,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = TEvent & {\n parsedInput: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n logger: TLogger;\n db: TDatabase | undefined;\n auditor: Auditor<TAuditAction> | undefined;\n};\n\ntype Middleware<\n TEvent,\n TInput extends ComposableStandardSchema | undefined,\n TServices extends Service[],\n TLogger extends Logger,\n TOutSchema extends StandardSchemaV1 | undefined,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = MiddlewareObj<\n FunctionEvent<TEvent, TInput, TServices, TLogger, TDatabase, TAuditAction>,\n InferComposableStandardSchema<TOutSchema>,\n Error,\n Context\n>;\n\nexport class AWSLambdaFunction<\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 TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> extends FunctionExecutionWrapper<\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n> {\n constructor(\n envParser: EnvironmentParser<{}>,\n readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n >,\n ) {\n super(envParser, fn);\n }\n\n private error<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n onError: (req) => {\n const logger = req.event?.logger || this.fn.logger;\n logger.error(req.error || {}, 'Error processing function');\n\n // Re-throw the wrapped error to let Lambda handle it\n throw wrapError(req.error);\n },\n };\n }\n\n private baseInput<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: (req) => {},\n };\n }\n\n private input<\n TEvent extends { input: InferComposableStandardSchema<TInput> },\n >(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n try {\n // Parse input if schema is provided\n if (this.fn.input) {\n const parsedInput =\n await FunctionBuilder.parseComposableStandardSchema(\n req.event,\n this.fn.input,\n );\n\n req.event.parsedInput =\n parsedInput as InferComposableStandardSchema<TInput>;\n } else {\n // If no schema, pass the event as-is\n req.event.parsedInput = req.event as any;\n }\n } catch (error) {\n this.logger.error(\n { error, event: req.event },\n 'Failed to parse input',\n );\n throw error;\n }\n },\n };\n }\n\n private loggerMiddleware<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: (req) => {\n this._logger = this.fn.logger.child({\n fn: {\n name: req.context.functionName,\n version: req.context.functionVersion,\n memory: req.context.memoryLimitInMB,\n },\n req: {\n id: req.context.awsRequestId,\n },\n }) as TLogger;\n\n req.event.logger = this._logger;\n },\n };\n }\n\n private services<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.services = await this.getServices();\n },\n };\n }\n\n private database<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.db = await this.getDatabase();\n },\n };\n }\n\n private auditor<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.auditor = await this.createAuditor();\n },\n after: async (req) => {\n // Flush any pending audits after successful execution\n if (req.event.auditor) {\n const records = req.event.auditor.getRecords();\n if (records.length > 0) {\n this.logger.debug(\n { auditCount: records.length },\n 'Flushing function audits',\n );\n await req.event.auditor.flush();\n }\n }\n },\n };\n }\n\n private events<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n after: async (req) => {\n const response = (req.response ||\n undefined) as InferStandardSchema<TOutSchema>;\n await this.publishEvents(response);\n },\n };\n }\n\n private async _handler<TEvent>(\n event: FunctionEvent<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TDatabase,\n TAuditAction\n >,\n ) {\n // Execute the function with the parsed context\n const result = await this.fn['fn']({\n input: event.parsedInput,\n services: event.services,\n logger: event.logger,\n db: event.db,\n auditor: event.auditor,\n } as any);\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(result);\n\n return output;\n }\n\n get handler(): AWSLambdaHandler {\n const handler = this._handler.bind(this);\n\n // Apply middleware in order\n return middy(handler)\n .use(this.loggerMiddleware())\n .use(this.baseInput())\n .use(this.error())\n .use(this.services())\n .use(this.database())\n .use(this.auditor())\n .use(this.input())\n .use(this.events()) as unknown as AWSLambdaHandler;\n }\n}\n"],"mappings":";;;;;;;AA4DA,IAAa,oBAAb,cAeUA,0DAYR;CACA,YACEC,WACSC,IAsBT;AACA,QAAM,WAAW,GAAG;EAvBX;CAwBV;CAED,AAAQ,QAQN;AACA,SAAO,EACL,SAAS,CAAC,QAAQ;GAChB,MAAM,SAAS,IAAI,OAAO,UAAU,KAAK,GAAG;AAC5C,UAAO,MAAM,IAAI,SAAS,CAAE,GAAE,4BAA4B;AAG1D,SAAM,kCAAU,IAAI,MAAM;EAC3B,EACF;CACF;CAED,AAAQ,YAQN;AACA,SAAO,EACL,QAAQ,CAAC,QAAQ,CAAE,EACpB;CACF;CAED,AAAQ,QAUN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI;AAEF,QAAI,KAAK,GAAG,OAAO;KACjB,MAAM,cACJ,MAAM,wCAAgB,8BACpB,IAAI,OACJ,KAAK,GAAG,MACT;AAEH,SAAI,MAAM,cACR;IACH,MAEC,KAAI,MAAM,cAAc,IAAI;GAE/B,SAAQ,OAAO;AACd,SAAK,OAAO,MACV;KAAE;KAAO,OAAO,IAAI;IAAO,GAC3B,wBACD;AACD,UAAM;GACP;EACF,EACF;CACF;CAED,AAAQ,mBAQN;AACA,SAAO,EACL,QAAQ,CAAC,QAAQ;AACf,QAAK,UAAU,KAAK,GAAG,OAAO,MAAM;IAClC,IAAI;KACF,MAAM,IAAI,QAAQ;KAClB,SAAS,IAAI,QAAQ;KACrB,QAAQ,IAAI,QAAQ;IACrB;IACD,KAAK,EACH,IAAI,IAAI,QAAQ,aACjB;GACF,EAAC;AAEF,OAAI,MAAM,SAAS,KAAK;EACzB,EACF;CACF;CAED,AAAQ,WAQN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI,MAAM,WAAW,MAAM,KAAK,aAAa;EAC9C,EACF;CACF;CAED,AAAQ,WAQN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI,MAAM,KAAK,MAAM,KAAK,aAAa;EACxC,EACF;CACF;CAED,AAAQ,UAQN;AACA,SAAO;GACL,QAAQ,OAAO,QAAQ;AACrB,QAAI,MAAM,UAAU,MAAM,KAAK,eAAe;GAC/C;GACD,OAAO,OAAO,QAAQ;AAEpB,QAAI,IAAI,MAAM,SAAS;KACrB,MAAM,UAAU,IAAI,MAAM,QAAQ,YAAY;AAC9C,SAAI,QAAQ,SAAS,GAAG;AACtB,WAAK,OAAO,MACV,EAAE,YAAY,QAAQ,OAAQ,GAC9B,2BACD;AACD,YAAM,IAAI,MAAM,QAAQ,OAAO;KAChC;IACF;GACF;EACF;CACF;CAED,AAAQ,SAQN;AACA,SAAO,EACL,OAAO,OAAO,QAAQ;GACpB,MAAM,WAAY,IAAI;AAEtB,SAAM,KAAK,cAAc,SAAS;EACnC,EACF;CACF;CAED,MAAc,SACZC,OAQA;EAEA,MAAM,SAAS,MAAM,KAAK,GAAG,MAAM;GACjC,OAAO,MAAM;GACb,UAAU,MAAM;GAChB,QAAQ,MAAM;GACd,IAAI,MAAM;GACV,SAAS,MAAM;EAChB,EAAQ;EAGT,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,OAAO;AAEhD,SAAO;CACR;CAED,IAAI,UAA4B;EAC9B,MAAM,UAAU,KAAK,SAAS,KAAK,KAAK;AAGxC,SAAO,0BAAM,QAAQ,CAClB,IAAI,KAAK,kBAAkB,CAAC,CAC5B,IAAI,KAAK,WAAW,CAAC,CACrB,IAAI,KAAK,OAAO,CAAC,CACjB,IAAI,KAAK,UAAU,CAAC,CACpB,IAAI,KAAK,UAAU,CAAC,CACpB,IAAI,KAAK,SAAS,CAAC,CACnB,IAAI,KAAK,OAAO,CAAC,CACjB,IAAI,KAAK,QAAQ,CAAC;CACtB;AACF"}
|
|
1
|
+
{"version":3,"file":"AWSLambdaFunction-EPGY4s7i.cjs","names":["FunctionExecutionWrapper","envParser: EnvironmentParser<{}>","fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n >","event: FunctionEvent<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TDatabase,\n TAuditAction\n >"],"sources":["../src/functions/AWSLambdaFunction.ts"],"sourcesContent":["import type { AuditStorage, AuditableAction, Auditor } from '@geekmidas/audit';\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { Context, Handler } from 'aws-lambda';\nimport type { Function, FunctionHandler } from './Function';\nimport { FunctionBuilder } from './FunctionBuilder';\n\nimport { wrapError } from '@geekmidas/errors';\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 type { Service, ServiceRecord } from '@geekmidas/services';\nimport { FunctionExecutionWrapper } from './FunctionExecutionWrapper';\n\nexport type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<\n TEvent,\n TResult\n>;\n\ntype FunctionEvent<\n TEvent,\n TInput extends ComposableStandardSchema | undefined,\n TServices extends Service[],\n TLogger extends Logger,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = TEvent & {\n parsedInput: InferComposableStandardSchema<TInput>;\n services: ServiceRecord<TServices>;\n logger: TLogger;\n db: TDatabase | undefined;\n auditor: Auditor<TAuditAction> | undefined;\n};\n\ntype Middleware<\n TEvent,\n TInput extends ComposableStandardSchema | undefined,\n TServices extends Service[],\n TLogger extends Logger,\n TOutSchema extends StandardSchemaV1 | undefined,\n TDatabase = undefined,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> = MiddlewareObj<\n FunctionEvent<TEvent, TInput, TServices, TLogger, TDatabase, TAuditAction>,\n InferComposableStandardSchema<TOutSchema>,\n Error,\n Context\n>;\n\nexport class AWSLambdaFunction<\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 TAuditStorage extends AuditStorage | undefined = undefined,\n TAuditStorageServiceName extends string = string,\n TDatabase = undefined,\n TDatabaseServiceName extends string = string,\n TAuditAction extends AuditableAction<string, unknown> = AuditableAction<\n string,\n unknown\n >,\n> extends FunctionExecutionWrapper<\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction\n> {\n constructor(\n envParser: EnvironmentParser<{}>,\n override readonly fn: Function<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TAuditStorage,\n TAuditStorageServiceName,\n TDatabase,\n TDatabaseServiceName,\n TAuditAction,\n FunctionHandler<\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditStorage,\n TAuditAction\n >\n >,\n ) {\n super(envParser, fn);\n }\n\n private error<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n onError: (req) => {\n const logger = req.event?.logger || this.fn.logger;\n logger.error(req.error || {}, 'Error processing function');\n\n // Re-throw the wrapped error to let Lambda handle it\n throw wrapError(req.error);\n },\n };\n }\n\n private baseInput<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: (req) => {},\n };\n }\n\n private input<\n TEvent extends { input: InferComposableStandardSchema<TInput> },\n >(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n try {\n // Parse input if schema is provided\n if (this.fn.input) {\n const parsedInput =\n await FunctionBuilder.parseComposableStandardSchema(\n req.event,\n this.fn.input,\n );\n\n req.event.parsedInput =\n parsedInput as InferComposableStandardSchema<TInput>;\n } else {\n // If no schema, pass the event as-is\n req.event.parsedInput = req.event as any;\n }\n } catch (error) {\n this.logger.error(\n { error, event: req.event },\n 'Failed to parse input',\n );\n throw error;\n }\n },\n };\n }\n\n private loggerMiddleware<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: (req) => {\n this._logger = this.fn.logger.child({\n fn: {\n name: req.context.functionName,\n version: req.context.functionVersion,\n memory: req.context.memoryLimitInMB,\n },\n req: {\n id: req.context.awsRequestId,\n },\n }) as TLogger;\n\n req.event.logger = this._logger;\n },\n };\n }\n\n private services<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.services = await this.getServices();\n },\n };\n }\n\n private database<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.db = await this.getDatabase();\n },\n };\n }\n\n private auditor<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n before: async (req) => {\n req.event.auditor = await this.createAuditor();\n },\n after: async (req) => {\n // Flush any pending audits after successful execution\n if (req.event.auditor) {\n const records = req.event.auditor.getRecords();\n if (records.length > 0) {\n this.logger.debug(\n { auditCount: records.length },\n 'Flushing function audits',\n );\n await req.event.auditor.flush();\n }\n }\n },\n };\n }\n\n private events<TEvent>(): Middleware<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TOutSchema,\n TDatabase,\n TAuditAction\n > {\n return {\n after: async (req) => {\n const response = (req.response ||\n undefined) as InferStandardSchema<TOutSchema>;\n await this.publishEvents(response);\n },\n };\n }\n\n private async _handler<TEvent>(\n event: FunctionEvent<\n TEvent,\n TInput,\n TServices,\n TLogger,\n TDatabase,\n TAuditAction\n >,\n ) {\n // Execute the function with the parsed context\n const result = await this.fn['fn']({\n input: event.parsedInput,\n services: event.services,\n logger: event.logger,\n db: event.db,\n auditor: event.auditor,\n } as any);\n\n // Parse output if schema is provided\n const output = await this.fn.parseOutput(result);\n\n return output;\n }\n\n get handler(): AWSLambdaHandler {\n const handler = this._handler.bind(this);\n\n // Apply middleware in order\n return middy(handler)\n .use(this.loggerMiddleware())\n .use(this.baseInput())\n .use(this.error())\n .use(this.services())\n .use(this.database())\n .use(this.auditor())\n .use(this.input())\n .use(this.events()) as unknown as AWSLambdaHandler;\n }\n}\n"],"mappings":";;;;;;;AA4DA,IAAa,oBAAb,cAeUA,0DAYR;CACA,YACEC,WACkBC,IAsBlB;AACA,QAAM,WAAW,GAAG;EAvBF;CAwBnB;CAED,AAAQ,QAQN;AACA,SAAO,EACL,SAAS,CAAC,QAAQ;GAChB,MAAM,SAAS,IAAI,OAAO,UAAU,KAAK,GAAG;AAC5C,UAAO,MAAM,IAAI,SAAS,CAAE,GAAE,4BAA4B;AAG1D,SAAM,kCAAU,IAAI,MAAM;EAC3B,EACF;CACF;CAED,AAAQ,YAQN;AACA,SAAO,EACL,QAAQ,CAAC,QAAQ,CAAE,EACpB;CACF;CAED,AAAQ,QAUN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI;AAEF,QAAI,KAAK,GAAG,OAAO;KACjB,MAAM,cACJ,MAAM,wCAAgB,8BACpB,IAAI,OACJ,KAAK,GAAG,MACT;AAEH,SAAI,MAAM,cACR;IACH,MAEC,KAAI,MAAM,cAAc,IAAI;GAE/B,SAAQ,OAAO;AACd,SAAK,OAAO,MACV;KAAE;KAAO,OAAO,IAAI;IAAO,GAC3B,wBACD;AACD,UAAM;GACP;EACF,EACF;CACF;CAED,AAAQ,mBAQN;AACA,SAAO,EACL,QAAQ,CAAC,QAAQ;AACf,QAAK,UAAU,KAAK,GAAG,OAAO,MAAM;IAClC,IAAI;KACF,MAAM,IAAI,QAAQ;KAClB,SAAS,IAAI,QAAQ;KACrB,QAAQ,IAAI,QAAQ;IACrB;IACD,KAAK,EACH,IAAI,IAAI,QAAQ,aACjB;GACF,EAAC;AAEF,OAAI,MAAM,SAAS,KAAK;EACzB,EACF;CACF;CAED,AAAQ,WAQN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI,MAAM,WAAW,MAAM,KAAK,aAAa;EAC9C,EACF;CACF;CAED,AAAQ,WAQN;AACA,SAAO,EACL,QAAQ,OAAO,QAAQ;AACrB,OAAI,MAAM,KAAK,MAAM,KAAK,aAAa;EACxC,EACF;CACF;CAED,AAAQ,UAQN;AACA,SAAO;GACL,QAAQ,OAAO,QAAQ;AACrB,QAAI,MAAM,UAAU,MAAM,KAAK,eAAe;GAC/C;GACD,OAAO,OAAO,QAAQ;AAEpB,QAAI,IAAI,MAAM,SAAS;KACrB,MAAM,UAAU,IAAI,MAAM,QAAQ,YAAY;AAC9C,SAAI,QAAQ,SAAS,GAAG;AACtB,WAAK,OAAO,MACV,EAAE,YAAY,QAAQ,OAAQ,GAC9B,2BACD;AACD,YAAM,IAAI,MAAM,QAAQ,OAAO;KAChC;IACF;GACF;EACF;CACF;CAED,AAAQ,SAQN;AACA,SAAO,EACL,OAAO,OAAO,QAAQ;GACpB,MAAM,WAAY,IAAI;AAEtB,SAAM,KAAK,cAAc,SAAS;EACnC,EACF;CACF;CAED,MAAc,SACZC,OAQA;EAEA,MAAM,SAAS,MAAM,KAAK,GAAG,MAAM;GACjC,OAAO,MAAM;GACb,UAAU,MAAM;GAChB,QAAQ,MAAM;GACd,IAAI,MAAM;GACV,SAAS,MAAM;EAChB,EAAQ;EAGT,MAAM,SAAS,MAAM,KAAK,GAAG,YAAY,OAAO;AAEhD,SAAO;CACR;CAED,IAAI,UAA4B;EAC9B,MAAM,UAAU,KAAK,SAAS,KAAK,KAAK;AAGxC,SAAO,0BAAM,QAAQ,CAClB,IAAI,KAAK,kBAAkB,CAAC,CAC5B,IAAI,KAAK,WAAW,CAAC,CACrB,IAAI,KAAK,OAAO,CAAC,CACjB,IAAI,KAAK,UAAU,CAAC,CACpB,IAAI,KAAK,UAAU,CAAC,CACpB,IAAI,KAAK,SAAS,CAAC,CACnB,IAAI,KAAK,OAAO,CAAC,CACjB,IAAI,KAAK,QAAQ,CAAC;CACtB;AACF"}
|
package/dist/{AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs → AWSLambdaSubscriberAdaptor-BLfO612H.mjs}
RENAMED
|
@@ -76,10 +76,12 @@ var AWSLambdaSubscriber = class {
|
|
|
76
76
|
} };
|
|
77
77
|
}
|
|
78
78
|
isSQSEvent(event) {
|
|
79
|
-
|
|
79
|
+
const firstRecord = event.Records[0];
|
|
80
|
+
return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "eventSource" in firstRecord && firstRecord.eventSource === "aws:sqs";
|
|
80
81
|
}
|
|
81
82
|
isSNSEvent(event) {
|
|
82
|
-
|
|
83
|
+
const firstRecord = event.Records[0];
|
|
84
|
+
return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "EventSource" in firstRecord && firstRecord.EventSource === "aws:sns";
|
|
83
85
|
}
|
|
84
86
|
parseSQSRecord(record) {
|
|
85
87
|
try {
|
|
@@ -129,4 +131,4 @@ var AWSLambdaSubscriber = class {
|
|
|
129
131
|
|
|
130
132
|
//#endregion
|
|
131
133
|
export { AWSLambdaSubscriber };
|
|
132
|
-
//# sourceMappingURL=AWSLambdaSubscriberAdaptor-
|
|
134
|
+
//# sourceMappingURL=AWSLambdaSubscriberAdaptor-BLfO612H.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLambdaSubscriberAdaptor-CyFh7MN8.mjs","names":["envParser: EnvironmentParser<{}>","subscriber: Subscriber<\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TSubscribedEvents\n >","events: any[]","event: SQSEvent | SNSEvent","record: SQSRecord","eventType: string","event: SubscriberEvent<TServices, TLogger>"],"sources":["../src/subscribers/AWSLambdaSubscriberAdaptor.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport { wrapError } from '@geekmidas/errors';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport { ServiceDiscovery } from '@geekmidas/services';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type {\n Context,\n Handler,\n SNSEvent,\n SQSEvent,\n SQSRecord,\n} from 'aws-lambda';\n\nimport type { InferStandardSchema } from '@geekmidas/schema';\nimport type { Subscriber } from './Subscriber';\n\nexport type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<\n TEvent,\n TResult\n>;\n\ntype SubscriberEvent<TServices extends Service[], TLogger extends Logger> = {\n events: any[];\n services: ServiceRecord<TServices>;\n logger: TLogger;\n};\n\ntype Middleware<\n TServices extends Service[],\n TLogger extends Logger,\n TOutSchema extends StandardSchemaV1 | undefined,\n> = MiddlewareObj<\n SubscriberEvent<TServices, TLogger>,\n InferStandardSchema<TOutSchema>,\n Error,\n Context\n>;\n\nexport class AWSLambdaSubscriber<\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TSubscribedEvents extends any[] = [],\n> {\n private _logger!: TLogger;\n private _services!: ServiceRecord<TServices>;\n\n constructor(\n private envParser: EnvironmentParser<{}>,\n readonly subscriber: Subscriber<\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TSubscribedEvents\n >,\n ) {\n this._logger = subscriber.logger;\n }\n\n get logger(): TLogger {\n return this._logger;\n }\n\n private async getServices(): Promise<ServiceRecord<TServices>> {\n if (this._services) {\n return this._services;\n }\n\n const serviceDiscovery = ServiceDiscovery.getInstance(\n this.logger,\n this.envParser,\n );\n\n if (this.subscriber.services.length > 0) {\n const registered = await serviceDiscovery.register(\n this.subscriber.services,\n );\n this._services = registered as ServiceRecord<TServices>;\n } else {\n this._services = {} as ServiceRecord<TServices>;\n }\n\n return this._services;\n }\n\n private error(): Middleware<TServices, TLogger, OutSchema> {\n return {\n onError: (req) => {\n const logger = req.event?.logger || this.subscriber.logger;\n logger.error(req.error || {}, 'Error processing subscriber');\n\n // Re-throw the wrapped error to let Lambda handle it\n throw wrapError(req.error);\n },\n };\n }\n\n private loggerMiddleware(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: (req) => {\n this._logger = this.subscriber.logger.child({\n subscriber: {\n name: req.context.functionName,\n version: req.context.functionVersion,\n memory: req.context.memoryLimitInMB,\n },\n req: {\n id: req.context.awsRequestId,\n },\n }) as TLogger;\n\n req.event.logger = this._logger;\n },\n };\n }\n\n private services(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: async (req) => {\n req.event.services = await this.getServices();\n },\n };\n }\n\n private parseEvents(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: async (req) => {\n const rawEvent = (req as any).event as SQSEvent | SNSEvent;\n\n // Parse events based on the event type\n const events: any[] = [];\n\n if ('Records' in rawEvent) {\n if (this.isSQSEvent(rawEvent)) {\n // SQS Event\n for (const record of rawEvent.Records) {\n try {\n const event = this.parseSQSRecord(record);\n if (event && this.isSubscribedEvent(event.type)) {\n events.push(event);\n }\n } catch (error) {\n this.logger.error(\n { error, record },\n 'Failed to parse SQS record',\n );\n }\n }\n } else if (this.isSNSEvent(rawEvent)) {\n // SNS Event\n for (const record of rawEvent.Records) {\n try {\n const event = JSON.parse(record.Sns.Message);\n if (event && this.isSubscribedEvent(event.type)) {\n events.push(event);\n }\n } catch (error) {\n this.logger.error(\n { error, record },\n 'Failed to parse SNS record',\n );\n }\n }\n }\n }\n\n (req.event as any).events = events;\n },\n };\n }\n\n private isSQSEvent(event: SQSEvent | SNSEvent): event is SQSEvent {\n return (\n 'Records' in event &&\n event.Records.length > 0 &&\n 'eventSource' in event.Records[0] &&\n event.Records[0].eventSource === 'aws:sqs'\n );\n }\n\n private isSNSEvent(event: SQSEvent | SNSEvent): event is SNSEvent {\n return (\n 'Records' in event &&\n event.Records.length > 0 &&\n 'EventSource' in event.Records[0] &&\n event.Records[0].EventSource === 'aws:sns'\n );\n }\n\n private parseSQSRecord(record: SQSRecord): any | null {\n try {\n const body = JSON.parse(record.body);\n\n // Check if this is an SNS message wrapped in SQS\n if (body.Type === 'Notification' && body.Message) {\n // Parse the SNS message\n const snsMessage = JSON.parse(body.Message);\n return snsMessage;\n }\n\n // Direct SQS message\n return body;\n } catch (error) {\n this.logger.error({ error, record }, 'Failed to parse SQS record body');\n return null;\n }\n }\n\n private isSubscribedEvent(eventType: string): boolean {\n if (!this.subscriber.subscribedEvents) {\n return true; // If no events specified, accept all\n }\n\n return this.subscriber.subscribedEvents.includes(eventType as any);\n }\n\n private async _handler(event: SubscriberEvent<TServices, TLogger>) {\n // If no events after filtering, return early\n if (event.events.length === 0) {\n this.logger.info('No subscribed events to process');\n return {\n batchItemFailures: [],\n };\n }\n\n // Execute the subscriber with the parsed context\n const result = await this.subscriber.handler({\n events: event.events,\n services: event.services,\n logger: event.logger,\n });\n\n // Parse output if schema is provided\n if (this.subscriber.outputSchema && result) {\n const validationResult =\n await this.subscriber.outputSchema['~standard'].validate(result);\n\n if (validationResult.issues) {\n this.logger.error(\n { issues: validationResult.issues },\n 'Subscriber output validation failed',\n );\n throw new Error('Subscriber output validation failed');\n }\n\n return validationResult.value;\n }\n\n return result;\n }\n\n get handler(): AWSLambdaHandler {\n const handler = this._handler.bind(this);\n\n // Apply middleware in order\n return middy(handler)\n .use(this.loggerMiddleware())\n .use(this.error())\n .use(this.services())\n .use(this.parseEvents()) as unknown as AWSLambdaHandler;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AWSLambdaSubscriberAdaptor-BLfO612H.mjs","names":["envParser: EnvironmentParser<{}>","subscriber: Subscriber<\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TSubscribedEvents\n >","events: any[]","event: SQSEvent | SNSEvent","record: SQSRecord","eventType: string","event: SubscriberEvent<TServices, TLogger>"],"sources":["../src/subscribers/AWSLambdaSubscriberAdaptor.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport { wrapError } from '@geekmidas/errors';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport { ServiceDiscovery } from '@geekmidas/services';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type {\n Context,\n Handler,\n SNSEvent,\n SQSEvent,\n SQSRecord,\n} from 'aws-lambda';\n\nimport type { InferStandardSchema } from '@geekmidas/schema';\nimport type { Subscriber } from './Subscriber';\n\nexport type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<\n TEvent,\n TResult\n>;\n\ntype SubscriberEvent<TServices extends Service[], TLogger extends Logger> = {\n events: any[];\n services: ServiceRecord<TServices>;\n logger: TLogger;\n};\n\ntype Middleware<\n TServices extends Service[],\n TLogger extends Logger,\n TOutSchema extends StandardSchemaV1 | undefined,\n> = MiddlewareObj<\n SubscriberEvent<TServices, TLogger>,\n InferStandardSchema<TOutSchema>,\n Error,\n Context\n>;\n\nexport class AWSLambdaSubscriber<\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TSubscribedEvents extends any[] = [],\n> {\n private _logger!: TLogger;\n private _services!: ServiceRecord<TServices>;\n\n constructor(\n private envParser: EnvironmentParser<{}>,\n readonly subscriber: Subscriber<\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TSubscribedEvents\n >,\n ) {\n this._logger = subscriber.logger;\n }\n\n get logger(): TLogger {\n return this._logger;\n }\n\n private async getServices(): Promise<ServiceRecord<TServices>> {\n if (this._services) {\n return this._services;\n }\n\n const serviceDiscovery = ServiceDiscovery.getInstance(\n this.logger,\n this.envParser,\n );\n\n if (this.subscriber.services.length > 0) {\n const registered = await serviceDiscovery.register(\n this.subscriber.services,\n );\n this._services = registered as ServiceRecord<TServices>;\n } else {\n this._services = {} as ServiceRecord<TServices>;\n }\n\n return this._services;\n }\n\n private error(): Middleware<TServices, TLogger, OutSchema> {\n return {\n onError: (req) => {\n const logger = req.event?.logger || this.subscriber.logger;\n logger.error(req.error || {}, 'Error processing subscriber');\n\n // Re-throw the wrapped error to let Lambda handle it\n throw wrapError(req.error);\n },\n };\n }\n\n private loggerMiddleware(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: (req) => {\n this._logger = this.subscriber.logger.child({\n subscriber: {\n name: req.context.functionName,\n version: req.context.functionVersion,\n memory: req.context.memoryLimitInMB,\n },\n req: {\n id: req.context.awsRequestId,\n },\n }) as TLogger;\n\n req.event.logger = this._logger;\n },\n };\n }\n\n private services(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: async (req) => {\n req.event.services = await this.getServices();\n },\n };\n }\n\n private parseEvents(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: async (req) => {\n const rawEvent = (req as any).event as SQSEvent | SNSEvent;\n\n // Parse events based on the event type\n const events: any[] = [];\n\n if ('Records' in rawEvent) {\n if (this.isSQSEvent(rawEvent)) {\n // SQS Event\n for (const record of rawEvent.Records) {\n try {\n const event = this.parseSQSRecord(record);\n if (event && this.isSubscribedEvent(event.type)) {\n events.push(event);\n }\n } catch (error) {\n this.logger.error(\n { error, record },\n 'Failed to parse SQS record',\n );\n }\n }\n } else if (this.isSNSEvent(rawEvent)) {\n // SNS Event\n for (const record of rawEvent.Records) {\n try {\n const event = JSON.parse(record.Sns.Message);\n if (event && this.isSubscribedEvent(event.type)) {\n events.push(event);\n }\n } catch (error) {\n this.logger.error(\n { error, record },\n 'Failed to parse SNS record',\n );\n }\n }\n }\n }\n\n (req.event as any).events = events;\n },\n };\n }\n\n private isSQSEvent(event: SQSEvent | SNSEvent): event is SQSEvent {\n const firstRecord = event.Records[0];\n return (\n 'Records' in event &&\n event.Records.length > 0 &&\n firstRecord !== undefined &&\n 'eventSource' in firstRecord &&\n firstRecord.eventSource === 'aws:sqs'\n );\n }\n\n private isSNSEvent(event: SQSEvent | SNSEvent): event is SNSEvent {\n const firstRecord = event.Records[0];\n return (\n 'Records' in event &&\n event.Records.length > 0 &&\n firstRecord !== undefined &&\n 'EventSource' in firstRecord &&\n firstRecord.EventSource === 'aws:sns'\n );\n }\n\n private parseSQSRecord(record: SQSRecord): any | null {\n try {\n const body = JSON.parse(record.body);\n\n // Check if this is an SNS message wrapped in SQS\n if (body.Type === 'Notification' && body.Message) {\n // Parse the SNS message\n const snsMessage = JSON.parse(body.Message);\n return snsMessage;\n }\n\n // Direct SQS message\n return body;\n } catch (error) {\n this.logger.error({ error, record }, 'Failed to parse SQS record body');\n return null;\n }\n }\n\n private isSubscribedEvent(eventType: string): boolean {\n if (!this.subscriber.subscribedEvents) {\n return true; // If no events specified, accept all\n }\n\n return this.subscriber.subscribedEvents.includes(eventType as any);\n }\n\n private async _handler(event: SubscriberEvent<TServices, TLogger>) {\n // If no events after filtering, return early\n if (event.events.length === 0) {\n this.logger.info('No subscribed events to process');\n return {\n batchItemFailures: [],\n };\n }\n\n // Execute the subscriber with the parsed context\n const result = await this.subscriber.handler({\n events: event.events,\n services: event.services,\n logger: event.logger,\n });\n\n // Parse output if schema is provided\n if (this.subscriber.outputSchema && result) {\n const validationResult =\n await this.subscriber.outputSchema['~standard'].validate(result);\n\n if (validationResult.issues) {\n this.logger.error(\n { issues: validationResult.issues },\n 'Subscriber output validation failed',\n );\n throw new Error('Subscriber output validation failed');\n }\n\n return validationResult.value;\n }\n\n return result;\n }\n\n get handler(): AWSLambdaHandler {\n const handler = this._handler.bind(this);\n\n // Apply middleware in order\n return middy(handler)\n .use(this.loggerMiddleware())\n .use(this.error())\n .use(this.services())\n .use(this.parseEvents()) as unknown as AWSLambdaHandler;\n }\n}\n"],"mappings":"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"}
|
package/dist/{AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs → AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs}
RENAMED
|
@@ -77,10 +77,12 @@ var AWSLambdaSubscriber = class {
|
|
|
77
77
|
} };
|
|
78
78
|
}
|
|
79
79
|
isSQSEvent(event) {
|
|
80
|
-
|
|
80
|
+
const firstRecord = event.Records[0];
|
|
81
|
+
return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "eventSource" in firstRecord && firstRecord.eventSource === "aws:sqs";
|
|
81
82
|
}
|
|
82
83
|
isSNSEvent(event) {
|
|
83
|
-
|
|
84
|
+
const firstRecord = event.Records[0];
|
|
85
|
+
return "Records" in event && event.Records.length > 0 && firstRecord !== void 0 && "EventSource" in firstRecord && firstRecord.EventSource === "aws:sns";
|
|
84
86
|
}
|
|
85
87
|
parseSQSRecord(record) {
|
|
86
88
|
try {
|
|
@@ -135,4 +137,4 @@ Object.defineProperty(exports, 'AWSLambdaSubscriber', {
|
|
|
135
137
|
return AWSLambdaSubscriber;
|
|
136
138
|
}
|
|
137
139
|
});
|
|
138
|
-
//# sourceMappingURL=AWSLambdaSubscriberAdaptor-
|
|
140
|
+
//# sourceMappingURL=AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLambdaSubscriberAdaptor-Dum5bkw3.cjs","names":["envParser: EnvironmentParser<{}>","subscriber: Subscriber<\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TSubscribedEvents\n >","events: any[]","event: SQSEvent | SNSEvent","record: SQSRecord","eventType: string","event: SubscriberEvent<TServices, TLogger>"],"sources":["../src/subscribers/AWSLambdaSubscriberAdaptor.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport { wrapError } from '@geekmidas/errors';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport { ServiceDiscovery } from '@geekmidas/services';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type {\n Context,\n Handler,\n SNSEvent,\n SQSEvent,\n SQSRecord,\n} from 'aws-lambda';\n\nimport type { InferStandardSchema } from '@geekmidas/schema';\nimport type { Subscriber } from './Subscriber';\n\nexport type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<\n TEvent,\n TResult\n>;\n\ntype SubscriberEvent<TServices extends Service[], TLogger extends Logger> = {\n events: any[];\n services: ServiceRecord<TServices>;\n logger: TLogger;\n};\n\ntype Middleware<\n TServices extends Service[],\n TLogger extends Logger,\n TOutSchema extends StandardSchemaV1 | undefined,\n> = MiddlewareObj<\n SubscriberEvent<TServices, TLogger>,\n InferStandardSchema<TOutSchema>,\n Error,\n Context\n>;\n\nexport class AWSLambdaSubscriber<\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TSubscribedEvents extends any[] = [],\n> {\n private _logger!: TLogger;\n private _services!: ServiceRecord<TServices>;\n\n constructor(\n private envParser: EnvironmentParser<{}>,\n readonly subscriber: Subscriber<\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TSubscribedEvents\n >,\n ) {\n this._logger = subscriber.logger;\n }\n\n get logger(): TLogger {\n return this._logger;\n }\n\n private async getServices(): Promise<ServiceRecord<TServices>> {\n if (this._services) {\n return this._services;\n }\n\n const serviceDiscovery = ServiceDiscovery.getInstance(\n this.logger,\n this.envParser,\n );\n\n if (this.subscriber.services.length > 0) {\n const registered = await serviceDiscovery.register(\n this.subscriber.services,\n );\n this._services = registered as ServiceRecord<TServices>;\n } else {\n this._services = {} as ServiceRecord<TServices>;\n }\n\n return this._services;\n }\n\n private error(): Middleware<TServices, TLogger, OutSchema> {\n return {\n onError: (req) => {\n const logger = req.event?.logger || this.subscriber.logger;\n logger.error(req.error || {}, 'Error processing subscriber');\n\n // Re-throw the wrapped error to let Lambda handle it\n throw wrapError(req.error);\n },\n };\n }\n\n private loggerMiddleware(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: (req) => {\n this._logger = this.subscriber.logger.child({\n subscriber: {\n name: req.context.functionName,\n version: req.context.functionVersion,\n memory: req.context.memoryLimitInMB,\n },\n req: {\n id: req.context.awsRequestId,\n },\n }) as TLogger;\n\n req.event.logger = this._logger;\n },\n };\n }\n\n private services(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: async (req) => {\n req.event.services = await this.getServices();\n },\n };\n }\n\n private parseEvents(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: async (req) => {\n const rawEvent = (req as any).event as SQSEvent | SNSEvent;\n\n // Parse events based on the event type\n const events: any[] = [];\n\n if ('Records' in rawEvent) {\n if (this.isSQSEvent(rawEvent)) {\n // SQS Event\n for (const record of rawEvent.Records) {\n try {\n const event = this.parseSQSRecord(record);\n if (event && this.isSubscribedEvent(event.type)) {\n events.push(event);\n }\n } catch (error) {\n this.logger.error(\n { error, record },\n 'Failed to parse SQS record',\n );\n }\n }\n } else if (this.isSNSEvent(rawEvent)) {\n // SNS Event\n for (const record of rawEvent.Records) {\n try {\n const event = JSON.parse(record.Sns.Message);\n if (event && this.isSubscribedEvent(event.type)) {\n events.push(event);\n }\n } catch (error) {\n this.logger.error(\n { error, record },\n 'Failed to parse SNS record',\n );\n }\n }\n }\n }\n\n (req.event as any).events = events;\n },\n };\n }\n\n private isSQSEvent(event: SQSEvent | SNSEvent): event is SQSEvent {\n return (\n 'Records' in event &&\n event.Records.length > 0 &&\n 'eventSource' in event.Records[0] &&\n event.Records[0].eventSource === 'aws:sqs'\n );\n }\n\n private isSNSEvent(event: SQSEvent | SNSEvent): event is SNSEvent {\n return (\n 'Records' in event &&\n event.Records.length > 0 &&\n 'EventSource' in event.Records[0] &&\n event.Records[0].EventSource === 'aws:sns'\n );\n }\n\n private parseSQSRecord(record: SQSRecord): any | null {\n try {\n const body = JSON.parse(record.body);\n\n // Check if this is an SNS message wrapped in SQS\n if (body.Type === 'Notification' && body.Message) {\n // Parse the SNS message\n const snsMessage = JSON.parse(body.Message);\n return snsMessage;\n }\n\n // Direct SQS message\n return body;\n } catch (error) {\n this.logger.error({ error, record }, 'Failed to parse SQS record body');\n return null;\n }\n }\n\n private isSubscribedEvent(eventType: string): boolean {\n if (!this.subscriber.subscribedEvents) {\n return true; // If no events specified, accept all\n }\n\n return this.subscriber.subscribedEvents.includes(eventType as any);\n }\n\n private async _handler(event: SubscriberEvent<TServices, TLogger>) {\n // If no events after filtering, return early\n if (event.events.length === 0) {\n this.logger.info('No subscribed events to process');\n return {\n batchItemFailures: [],\n };\n }\n\n // Execute the subscriber with the parsed context\n const result = await this.subscriber.handler({\n events: event.events,\n services: event.services,\n logger: event.logger,\n });\n\n // Parse output if schema is provided\n if (this.subscriber.outputSchema && result) {\n const validationResult =\n await this.subscriber.outputSchema['~standard'].validate(result);\n\n if (validationResult.issues) {\n this.logger.error(\n { issues: validationResult.issues },\n 'Subscriber output validation failed',\n );\n throw new Error('Subscriber output validation failed');\n }\n\n return validationResult.value;\n }\n\n return result;\n }\n\n get handler(): AWSLambdaHandler {\n const handler = this._handler.bind(this);\n\n // Apply middleware in order\n return middy(handler)\n .use(this.loggerMiddleware())\n .use(this.error())\n .use(this.services())\n .use(this.parseEvents()) as unknown as AWSLambdaHandler;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AWSLambdaSubscriberAdaptor-BNcYYZ-P.cjs","names":["envParser: EnvironmentParser<{}>","subscriber: Subscriber<\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TSubscribedEvents\n >","events: any[]","event: SQSEvent | SNSEvent","record: SQSRecord","eventType: string","event: SubscriberEvent<TServices, TLogger>"],"sources":["../src/subscribers/AWSLambdaSubscriberAdaptor.ts"],"sourcesContent":["import type { EnvironmentParser } from '@geekmidas/envkit';\nimport { wrapError } from '@geekmidas/errors';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Logger } from '@geekmidas/logger';\nimport type { Service, ServiceRecord } from '@geekmidas/services';\nimport { ServiceDiscovery } from '@geekmidas/services';\nimport middy, { type MiddlewareObj } from '@middy/core';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type {\n Context,\n Handler,\n SNSEvent,\n SQSEvent,\n SQSRecord,\n} from 'aws-lambda';\n\nimport type { InferStandardSchema } from '@geekmidas/schema';\nimport type { Subscriber } from './Subscriber';\n\nexport type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<\n TEvent,\n TResult\n>;\n\ntype SubscriberEvent<TServices extends Service[], TLogger extends Logger> = {\n events: any[];\n services: ServiceRecord<TServices>;\n logger: TLogger;\n};\n\ntype Middleware<\n TServices extends Service[],\n TLogger extends Logger,\n TOutSchema extends StandardSchemaV1 | undefined,\n> = MiddlewareObj<\n SubscriberEvent<TServices, TLogger>,\n InferStandardSchema<TOutSchema>,\n Error,\n Context\n>;\n\nexport class AWSLambdaSubscriber<\n TServices extends Service[] = [],\n TLogger extends Logger = Logger,\n OutSchema extends StandardSchemaV1 | undefined = undefined,\n TEventPublisher extends EventPublisher<any> | undefined = undefined,\n TEventPublisherServiceName extends string = string,\n TSubscribedEvents extends any[] = [],\n> {\n private _logger!: TLogger;\n private _services!: ServiceRecord<TServices>;\n\n constructor(\n private envParser: EnvironmentParser<{}>,\n readonly subscriber: Subscriber<\n TServices,\n TLogger,\n OutSchema,\n TEventPublisher,\n TEventPublisherServiceName,\n TSubscribedEvents\n >,\n ) {\n this._logger = subscriber.logger;\n }\n\n get logger(): TLogger {\n return this._logger;\n }\n\n private async getServices(): Promise<ServiceRecord<TServices>> {\n if (this._services) {\n return this._services;\n }\n\n const serviceDiscovery = ServiceDiscovery.getInstance(\n this.logger,\n this.envParser,\n );\n\n if (this.subscriber.services.length > 0) {\n const registered = await serviceDiscovery.register(\n this.subscriber.services,\n );\n this._services = registered as ServiceRecord<TServices>;\n } else {\n this._services = {} as ServiceRecord<TServices>;\n }\n\n return this._services;\n }\n\n private error(): Middleware<TServices, TLogger, OutSchema> {\n return {\n onError: (req) => {\n const logger = req.event?.logger || this.subscriber.logger;\n logger.error(req.error || {}, 'Error processing subscriber');\n\n // Re-throw the wrapped error to let Lambda handle it\n throw wrapError(req.error);\n },\n };\n }\n\n private loggerMiddleware(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: (req) => {\n this._logger = this.subscriber.logger.child({\n subscriber: {\n name: req.context.functionName,\n version: req.context.functionVersion,\n memory: req.context.memoryLimitInMB,\n },\n req: {\n id: req.context.awsRequestId,\n },\n }) as TLogger;\n\n req.event.logger = this._logger;\n },\n };\n }\n\n private services(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: async (req) => {\n req.event.services = await this.getServices();\n },\n };\n }\n\n private parseEvents(): Middleware<TServices, TLogger, OutSchema> {\n return {\n before: async (req) => {\n const rawEvent = (req as any).event as SQSEvent | SNSEvent;\n\n // Parse events based on the event type\n const events: any[] = [];\n\n if ('Records' in rawEvent) {\n if (this.isSQSEvent(rawEvent)) {\n // SQS Event\n for (const record of rawEvent.Records) {\n try {\n const event = this.parseSQSRecord(record);\n if (event && this.isSubscribedEvent(event.type)) {\n events.push(event);\n }\n } catch (error) {\n this.logger.error(\n { error, record },\n 'Failed to parse SQS record',\n );\n }\n }\n } else if (this.isSNSEvent(rawEvent)) {\n // SNS Event\n for (const record of rawEvent.Records) {\n try {\n const event = JSON.parse(record.Sns.Message);\n if (event && this.isSubscribedEvent(event.type)) {\n events.push(event);\n }\n } catch (error) {\n this.logger.error(\n { error, record },\n 'Failed to parse SNS record',\n );\n }\n }\n }\n }\n\n (req.event as any).events = events;\n },\n };\n }\n\n private isSQSEvent(event: SQSEvent | SNSEvent): event is SQSEvent {\n const firstRecord = event.Records[0];\n return (\n 'Records' in event &&\n event.Records.length > 0 &&\n firstRecord !== undefined &&\n 'eventSource' in firstRecord &&\n firstRecord.eventSource === 'aws:sqs'\n );\n }\n\n private isSNSEvent(event: SQSEvent | SNSEvent): event is SNSEvent {\n const firstRecord = event.Records[0];\n return (\n 'Records' in event &&\n event.Records.length > 0 &&\n firstRecord !== undefined &&\n 'EventSource' in firstRecord &&\n firstRecord.EventSource === 'aws:sns'\n );\n }\n\n private parseSQSRecord(record: SQSRecord): any | null {\n try {\n const body = JSON.parse(record.body);\n\n // Check if this is an SNS message wrapped in SQS\n if (body.Type === 'Notification' && body.Message) {\n // Parse the SNS message\n const snsMessage = JSON.parse(body.Message);\n return snsMessage;\n }\n\n // Direct SQS message\n return body;\n } catch (error) {\n this.logger.error({ error, record }, 'Failed to parse SQS record body');\n return null;\n }\n }\n\n private isSubscribedEvent(eventType: string): boolean {\n if (!this.subscriber.subscribedEvents) {\n return true; // If no events specified, accept all\n }\n\n return this.subscriber.subscribedEvents.includes(eventType as any);\n }\n\n private async _handler(event: SubscriberEvent<TServices, TLogger>) {\n // If no events after filtering, return early\n if (event.events.length === 0) {\n this.logger.info('No subscribed events to process');\n return {\n batchItemFailures: [],\n };\n }\n\n // Execute the subscriber with the parsed context\n const result = await this.subscriber.handler({\n events: event.events,\n services: event.services,\n logger: event.logger,\n });\n\n // Parse output if schema is provided\n if (this.subscriber.outputSchema && result) {\n const validationResult =\n await this.subscriber.outputSchema['~standard'].validate(result);\n\n if (validationResult.issues) {\n this.logger.error(\n { issues: validationResult.issues },\n 'Subscriber output validation failed',\n );\n throw new Error('Subscriber output validation failed');\n }\n\n return validationResult.value;\n }\n\n return result;\n }\n\n get handler(): AWSLambdaHandler {\n const handler = this._handler.bind(this);\n\n // Apply middleware in order\n return middy(handler)\n .use(this.loggerMiddleware())\n .use(this.error())\n .use(this.services())\n .use(this.parseEvents()) as unknown as AWSLambdaHandler;\n }\n}\n"],"mappings":"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"}
|
package/dist/{AWSLambdaSubscriberAdaptor-C0aZBU64.d.mts → AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Subscriber } from "./Subscriber-
|
|
1
|
+
import { Subscriber } from "./Subscriber-ikctpU3I.mjs";
|
|
2
2
|
import { Service } from "@geekmidas/services";
|
|
3
3
|
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
4
4
|
import { EventPublisher } from "@geekmidas/events";
|
|
@@ -27,6 +27,8 @@ declare class AWSLambdaSubscriber<TServices extends Service[] = [], TLogger exte
|
|
|
27
27
|
private _handler;
|
|
28
28
|
get handler(): AWSLambdaHandler;
|
|
29
29
|
}
|
|
30
|
+
//# sourceMappingURL=AWSLambdaSubscriberAdaptor.d.ts.map
|
|
31
|
+
|
|
30
32
|
//#endregion
|
|
31
33
|
export { AWSLambdaHandler, AWSLambdaSubscriber };
|
|
32
|
-
//# sourceMappingURL=AWSLambdaSubscriberAdaptor-
|
|
34
|
+
//# sourceMappingURL=AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSLambdaSubscriberAdaptor-DrFAvHOp.d.mts","names":[],"sources":["../src/subscribers/AWSLambdaSubscriberAdaptor.ts"],"sourcesContent":[],"mappings":";;;;;;;;;KAmBY,gDAAgD,QAC1D,QACA;cAoBW,sCACO,gCACF,SAAS,0BACP,kEACM;EA1Bd,QAAA,SAAA;EAAgB,SAAA,UAAA,EAmCH,UAnCG,CAoCtB,SApCsB,EAqCtB,OArCsB,EAsCtB,SAtCsB,EAuCtB,eAvCsB,EAwCtB,0BAxCsB,EAyCtB,iBAzCsB,CAAA;EAAA,QAC1B,OAAA;EAAM,QACN,SAAA;EAAO,WAFmD,CAAA,SAAA,EAkCrC,iBAlCqC,CAAA,CAAA,CAAA,CAAA,EAAA,UAAA,EAmCnC,UAnCmC,CAoCtD,SApCsD,EAqCtD,OArCsD,EAsCtD,SAtCsD,EAuCtD,eAvCsD,EAwCtD,0BAxCsD,EAyCtD,iBAzCsD,CAAA;EAAO,IAAA,MAAA,CAAA,CAAA,EA+CnD,OA/CmD;EAsBtD,QAAA,WAAA;EAAmB,QAAA,KAAA;EAAA,QACZ,gBAAA;EAAO,QACT,QAAA;EAAM,QAAG,WAAA;EAAM,QACb,UAAA;EAAgB,QACV,UAAA;EAAc,QAUlC,cAAA;EAAS,QACT,iBAAA;EAAO,QACP,QAAA;EAAS,IACT,OAAA,CAAA,CAAA,EA4MW,gBA5MX"}
|
package/dist/{AWSLambdaSubscriberAdaptor-DT8icDRf.d.cts → AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Subscriber } from "./Subscriber-
|
|
1
|
+
import { Subscriber } from "./Subscriber-COYMSevD.cjs";
|
|
2
2
|
import { EventPublisher } from "@geekmidas/events";
|
|
3
3
|
import { Logger } from "@geekmidas/logger";
|
|
4
4
|
import { Service } from "@geekmidas/services";
|
|
@@ -27,6 +27,8 @@ declare class AWSLambdaSubscriber<TServices extends Service[] = [], TLogger exte
|
|
|
27
27
|
private _handler;
|
|
28
28
|
get handler(): AWSLambdaHandler;
|
|
29
29
|
}
|
|
30
|
+
//# sourceMappingURL=AWSLambdaSubscriberAdaptor.d.ts.map
|
|
31
|
+
|
|
30
32
|
//#endregion
|
|
31
33
|
export { AWSLambdaHandler, AWSLambdaSubscriber };
|
|
32
|
-
//# sourceMappingURL=AWSLambdaSubscriberAdaptor-
|
|
34
|
+
//# sourceMappingURL=AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSLambdaSubscriberAdaptor-Dx-Ks1Jp.d.cts","names":[],"sources":["../src/subscribers/AWSLambdaSubscriberAdaptor.ts"],"sourcesContent":[],"mappings":";;;;;;;;;KAmBY,gDAAgD,QAC1D,QACA;cAoBW,sCACO,gCACF,SAAS,0BACP,kEACM;EA1Bd,QAAA,SAAA;EAAgB,SAAA,UAAA,EAmCH,UAnCG,CAoCtB,SApCsB,EAqCtB,OArCsB,EAsCtB,SAtCsB,EAuCtB,eAvCsB,EAwCtB,0BAxCsB,EAyCtB,iBAzCsB,CAAA;EAAA,QAC1B,OAAA;EAAM,QACN,SAAA;EAAO,WAFmD,CAAA,SAAA,EAkCrC,iBAlCqC,CAAA,CAAA,CAAA,CAAA,EAAA,UAAA,EAmCnC,UAnCmC,CAoCtD,SApCsD,EAqCtD,OArCsD,EAsCtD,SAtCsD,EAuCtD,eAvCsD,EAwCtD,0BAxCsD,EAyCtD,iBAzCsD,CAAA;EAAO,IAAA,MAAA,CAAA,CAAA,EA+CnD,OA/CmD;EAsBtD,QAAA,WAAA;EAAmB,QAAA,KAAA;EAAA,QACZ,gBAAA;EAAO,QACT,QAAA;EAAM,QAAG,WAAA;EAAM,QACb,UAAA;EAAgB,QACV,UAAA;EAAc,QAUlC,cAAA;EAAS,QACT,iBAAA;EAAO,QACP,QAAA;EAAS,IACT,OAAA,CAAA,CAAA,EA4MW,gBA5MX"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { HttpMethod } from "./types-
|
|
2
|
-
import { CookieFn, Endpoint, EndpointSchemas, HeaderFn } from "./Endpoint-
|
|
1
|
+
import { HttpMethod } from "./types-B5H3piDg.cjs";
|
|
2
|
+
import { CookieFn, Endpoint, EndpointSchemas, HeaderFn } from "./Endpoint-BPv9_-m_.cjs";
|
|
3
3
|
import { AuditStorage, AuditableAction } from "@geekmidas/audit";
|
|
4
4
|
import { EventPublisher } from "@geekmidas/events";
|
|
5
5
|
import { Logger } from "@geekmidas/logger";
|
|
@@ -61,6 +61,8 @@ type GetInputResponse = {
|
|
|
61
61
|
type AmazonApiGatewayV1EndpointHandler = (event: APIGatewayProxyEvent, context: Context) => Promise<AmazonApiGatewayEndpointHandlerResponse>;
|
|
62
62
|
type AmazonApiGatewayV2EndpointHandler = (event: APIGatewayProxyEventV2, context: Context) => Promise<AmazonApiGatewayEndpointHandlerResponse>;
|
|
63
63
|
type HandlerEvent<T extends Function> = T extends ((event: infer E, context: Context) => any) ? E : never;
|
|
64
|
+
//# sourceMappingURL=AmazonApiGatewayEndpointAdaptor.d.ts.map
|
|
65
|
+
|
|
64
66
|
//#endregion
|
|
65
67
|
export { AmazonApiGatewayEndpoint, AmazonApiGatewayEndpointHandlerResponse, AmazonApiGatewayV1EndpointHandler, AmazonApiGatewayV2EndpointHandler, Event, GetInputResponse, HandlerEvent, LoggerContext };
|
|
66
|
-
//# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-
|
|
68
|
+
//# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.d.cts","names":[],"sources":["../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { HttpMethod } from "./types-
|
|
2
|
-
import { CookieFn, Endpoint, EndpointSchemas, HeaderFn } from "./Endpoint-
|
|
1
|
+
import { HttpMethod } from "./types-DdIlpxAd.mjs";
|
|
2
|
+
import { CookieFn, Endpoint, EndpointSchemas, HeaderFn } from "./Endpoint-BdwG75G_.mjs";
|
|
3
3
|
import { Service, ServiceRecord } from "@geekmidas/services";
|
|
4
4
|
import { AuditStorage, AuditableAction } from "@geekmidas/audit";
|
|
5
5
|
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
@@ -61,6 +61,8 @@ type GetInputResponse = {
|
|
|
61
61
|
type AmazonApiGatewayV1EndpointHandler = (event: APIGatewayProxyEvent, context: Context) => Promise<AmazonApiGatewayEndpointHandlerResponse>;
|
|
62
62
|
type AmazonApiGatewayV2EndpointHandler = (event: APIGatewayProxyEventV2, context: Context) => Promise<AmazonApiGatewayEndpointHandlerResponse>;
|
|
63
63
|
type HandlerEvent<T extends Function> = T extends ((event: infer E, context: Context) => any) ? E : never;
|
|
64
|
+
//# sourceMappingURL=AmazonApiGatewayEndpointAdaptor.d.ts.map
|
|
65
|
+
|
|
64
66
|
//#endregion
|
|
65
67
|
export { AmazonApiGatewayEndpoint, AmazonApiGatewayEndpointHandlerResponse, AmazonApiGatewayV1EndpointHandler, AmazonApiGatewayV2EndpointHandler, Event, GetInputResponse, HandlerEvent, LoggerContext };
|
|
66
|
-
//# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-
|
|
68
|
+
//# sourceMappingURL=AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmazonApiGatewayEndpointAdaptor-qlKXuZxy.d.mts","names":[],"sources":["../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AmazonApiGatewayEndpoint } from "./AmazonApiGatewayEndpointAdaptor-BT9JXihC.mjs";
|
|
2
|
-
import { parseQueryParams } from "./parseQueryParams-
|
|
2
|
+
import { parseQueryParams } from "./parseQueryParams-UMTRnRrW.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
|
|
5
5
|
var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
|
|
@@ -39,4 +39,4 @@ var AmazonApiGatewayV1Endpoint = class extends AmazonApiGatewayEndpoint {
|
|
|
39
39
|
|
|
40
40
|
//#endregion
|
|
41
41
|
export { AmazonApiGatewayV1Endpoint };
|
|
42
|
-
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-
|
|
42
|
+
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmazonApiGatewayV1EndpointAdaptor-CShQI8Gk.mjs","names":["e: APIGatewayProxyEvent","mergedParams: Record<string, string | string[]>","data: APIGatewayProxyEvent","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { APIGatewayProxyEvent, Context } from 'aws-lambda';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV1EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV1Endpoint<\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> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV1EndpointHandler,\n APIGatewayProxyEvent,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n override getInput(e: APIGatewayProxyEvent): GetInputResponse {\n // For arrays, AWS API Gateway V1 provides multiValueQueryStringParameters\n const multiValueParams = e.multiValueQueryStringParameters || {};\n const singleValueParams = e.queryStringParameters || {};\n\n // Merge single and multi-value parameters\n const mergedParams: Record<string, string | string[]> = {};\n\n // Add single value parameters\n for (const [key, value] of Object.entries(singleValueParams)) {\n if (value !== undefined) {\n mergedParams[key] = value;\n }\n }\n\n // Override with multi-value parameters where applicable\n for (const [key, values] of Object.entries(multiValueParams)) {\n if (values && values.length > 1) {\n mergedParams[key] = values;\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(mergedParams),\n params: e.pathParameters || {},\n };\n }\n override getLoggerContext(\n data: APIGatewayProxyEvent,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: data.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: data.requestContext.identity.sourceIp,\n userAgent: data.requestContext.identity.userAgent || undefined,\n path: data.requestContext.path,\n },\n };\n }\n constructor(\n protected override envParser: EnvironmentParser<{}>,\n protected override readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAkBA,IAAa,6BAAb,cASU,yBAWR;CACA,AAAS,SAASA,GAA2C;EAE3D,MAAM,mBAAmB,EAAE,mCAAmC,CAAE;EAChE,MAAM,oBAAoB,EAAE,yBAAyB,CAAE;EAGvD,MAAMC,eAAkD,CAAE;AAG1D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,kBAAkB,CAC1D,KAAI,iBACF,cAAa,OAAO;AAKxB,OAAK,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,QAAQ,iBAAiB,CAC1D,KAAI,UAAU,OAAO,SAAS,EAC5B,cAAa,OAAO;AAIxB,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,iBAAiB,aAAa;GACrC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,AAAS,iBACPC,MACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,KAAK,eAAe;IACxB,cAAc,QAAQ;IACtB,IAAI,KAAK,eAAe,SAAS;IACjC,WAAW,KAAK,eAAe,SAAS;IACxC,MAAM,KAAK,eAAe;GAC3B;EACF;CACF;CACD,YACqBC,WACSC,UAU5B;AACA,QAAM,WAAW,SAAS;EAZP;EACS;CAY7B;AACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_AmazonApiGatewayEndpointAdaptor = require('./AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs');
|
|
2
|
-
const require_parseQueryParams = require('./parseQueryParams-
|
|
2
|
+
const require_parseQueryParams = require('./parseQueryParams-BSNkjmZ9.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts
|
|
5
5
|
var AmazonApiGatewayV1Endpoint = class extends require_AmazonApiGatewayEndpointAdaptor.AmazonApiGatewayEndpoint {
|
|
@@ -44,4 +44,4 @@ Object.defineProperty(exports, 'AmazonApiGatewayV1Endpoint', {
|
|
|
44
44
|
return AmazonApiGatewayV1Endpoint;
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
|
-
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-
|
|
47
|
+
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmazonApiGatewayV1EndpointAdaptor-Ccl8B8kG.cjs","names":["AmazonApiGatewayEndpoint","e: APIGatewayProxyEvent","mergedParams: Record<string, string | string[]>","data: APIGatewayProxyEvent","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { APIGatewayProxyEvent, Context } from 'aws-lambda';\n\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV1EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV1Endpoint<\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> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV1EndpointHandler,\n APIGatewayProxyEvent,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n override getInput(e: APIGatewayProxyEvent): GetInputResponse {\n // For arrays, AWS API Gateway V1 provides multiValueQueryStringParameters\n const multiValueParams = e.multiValueQueryStringParameters || {};\n const singleValueParams = e.queryStringParameters || {};\n\n // Merge single and multi-value parameters\n const mergedParams: Record<string, string | string[]> = {};\n\n // Add single value parameters\n for (const [key, value] of Object.entries(singleValueParams)) {\n if (value !== undefined) {\n mergedParams[key] = value;\n }\n }\n\n // Override with multi-value parameters where applicable\n for (const [key, values] of Object.entries(multiValueParams)) {\n if (values && values.length > 1) {\n mergedParams[key] = values;\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(mergedParams),\n params: e.pathParameters || {},\n };\n }\n override getLoggerContext(\n data: APIGatewayProxyEvent,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: data.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: data.requestContext.identity.sourceIp,\n userAgent: data.requestContext.identity.userAgent || undefined,\n path: data.requestContext.path,\n },\n };\n }\n constructor(\n protected override envParser: EnvironmentParser<{}>,\n protected override readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAkBA,IAAa,6BAAb,cASUA,iEAWR;CACA,AAAS,SAASC,GAA2C;EAE3D,MAAM,mBAAmB,EAAE,mCAAmC,CAAE;EAChE,MAAM,oBAAoB,EAAE,yBAAyB,CAAE;EAGvD,MAAMC,eAAkD,CAAE;AAG1D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,kBAAkB,CAC1D,KAAI,iBACF,cAAa,OAAO;AAKxB,OAAK,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,QAAQ,iBAAiB,CAC1D,KAAI,UAAU,OAAO,SAAS,EAC5B,cAAa,OAAO;AAIxB,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,0CAAiB,aAAa;GACrC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,AAAS,iBACPC,MACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,KAAK,eAAe;IACxB,cAAc,QAAQ;IACtB,IAAI,KAAK,eAAe,SAAS;IACjC,WAAW,KAAK,eAAe,SAAS;IACxC,MAAM,KAAK,eAAe;GAC3B;EACF;CACF;CACD,YACqBC,WACSC,UAU5B;AACA,QAAM,WAAW,SAAS;EAZP;EACS;CAY7B;AACF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { HttpMethod } from "./types-
|
|
2
|
-
import { Endpoint, EndpointSchemas } from "./Endpoint-
|
|
3
|
-
import { AmazonApiGatewayEndpoint, AmazonApiGatewayV1EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-
|
|
4
|
-
import { Service } from "@geekmidas/services";
|
|
5
|
-
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
1
|
+
import { HttpMethod } from "./types-B5H3piDg.cjs";
|
|
2
|
+
import { Endpoint, EndpointSchemas } from "./Endpoint-BPv9_-m_.cjs";
|
|
3
|
+
import { AmazonApiGatewayEndpoint, AmazonApiGatewayV1EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.cjs";
|
|
6
4
|
import { EventPublisher } from "@geekmidas/events";
|
|
7
5
|
import { Logger } from "@geekmidas/logger";
|
|
6
|
+
import { Service } from "@geekmidas/services";
|
|
8
7
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
8
|
+
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
9
9
|
import { APIGatewayProxyEvent, Context } from "aws-lambda";
|
|
10
10
|
|
|
11
11
|
//#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.ts
|
|
@@ -16,6 +16,8 @@ declare class AmazonApiGatewayV1Endpoint<TRoute extends string, TMethod extends
|
|
|
16
16
|
getLoggerContext(data: APIGatewayProxyEvent, context: Context): LoggerContext;
|
|
17
17
|
constructor(envParser: EnvironmentParser<{}>, endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>);
|
|
18
18
|
}
|
|
19
|
+
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor.d.ts.map
|
|
20
|
+
|
|
19
21
|
//#endregion
|
|
20
22
|
export { AmazonApiGatewayV1Endpoint };
|
|
21
|
-
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-
|
|
23
|
+
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmazonApiGatewayV1EndpointAdaptor-DyUaJIhB.d.cts","names":[],"sources":["../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAkBa,kEAEK,2BACD,yCACI,4DACD,gCACF,SAAS,oDAED,qDAChB,yBACR,mCACA,sBACA,QACA,SACA,QACA,YACA,WACA,SACA,UACA;uBAiDgC;EApErB,mBAAA,QAAA,EAqE6B,QArEH,CAsEjC,MAtEiC,EAuEjC,OAvEiC,EAwEjC,MAxEiC,EAyEjC,UAzEiC,EA0EjC,SA1EiC,EA2EjC,OA3EiC,EA4EjC,QA5EiC,EA6EjC,eA7EiC,CAAA;EAAA,QAAA,CAAA,CAAA,EAqBhB,oBArBgB,CAAA,EAqBO,gBArBP;EAAA,gBAErB,CAAA,IAAA,EAgDR,oBAhDQ,EAAA,OAAA,EAiDL,OAjDK,CAAA,EAkDb,aAlDa;EAAU,WACX,CAAA,SAAA,EAiEiB,iBAjEjB,CAAA,CAAA,CAAA,CAAA,EAAA,QAAA,EAkEyB,QAlEzB,CAmEX,MAnEW,EAoEX,OApEW,EAqEX,MArEW,EAsEX,UAtEW,EAuEX,SAvEW,EAwEX,OAxEW,EAyEX,QAzEW,EA0EX,eA1EW,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { HttpMethod } from "./types-
|
|
2
|
-
import { Endpoint, EndpointSchemas } from "./Endpoint-
|
|
3
|
-
import { AmazonApiGatewayEndpoint, AmazonApiGatewayV1EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-
|
|
1
|
+
import { HttpMethod } from "./types-DdIlpxAd.mjs";
|
|
2
|
+
import { Endpoint, EndpointSchemas } from "./Endpoint-BdwG75G_.mjs";
|
|
3
|
+
import { AmazonApiGatewayEndpoint, AmazonApiGatewayV1EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-qlKXuZxy.mjs";
|
|
4
|
+
import { Service } from "@geekmidas/services";
|
|
5
|
+
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
4
6
|
import { EventPublisher } from "@geekmidas/events";
|
|
5
7
|
import { Logger } from "@geekmidas/logger";
|
|
6
|
-
import { Service } from "@geekmidas/services";
|
|
7
8
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
8
|
-
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
9
9
|
import { APIGatewayProxyEvent, Context } from "aws-lambda";
|
|
10
10
|
|
|
11
11
|
//#region src/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.ts
|
|
@@ -16,6 +16,8 @@ declare class AmazonApiGatewayV1Endpoint<TRoute extends string, TMethod extends
|
|
|
16
16
|
getLoggerContext(data: APIGatewayProxyEvent, context: Context): LoggerContext;
|
|
17
17
|
constructor(envParser: EnvironmentParser<{}>, endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>);
|
|
18
18
|
}
|
|
19
|
+
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor.d.ts.map
|
|
20
|
+
|
|
19
21
|
//#endregion
|
|
20
22
|
export { AmazonApiGatewayV1Endpoint };
|
|
21
|
-
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-
|
|
23
|
+
//# sourceMappingURL=AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmazonApiGatewayV1EndpointAdaptor-MRUxs3Xi.d.mts","names":[],"sources":["../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAkBa,kEAEK,2BACD,yCACI,4DACD,gCACF,SAAS,oDAED,qDAChB,yBACR,mCACA,sBACA,QACA,SACA,QACA,YACA,WACA,SACA,UACA;uBAiDgC;EApErB,mBAAA,QAAA,EAqE6B,QArEH,CAsEjC,MAtEiC,EAuEjC,OAvEiC,EAwEjC,MAxEiC,EAyEjC,UAzEiC,EA0EjC,SA1EiC,EA2EjC,OA3EiC,EA4EjC,QA5EiC,EA6EjC,eA7EiC,CAAA;EAAA,QAAA,CAAA,CAAA,EAqBhB,oBArBgB,CAAA,EAqBO,gBArBP;EAAA,gBAErB,CAAA,IAAA,EAgDR,oBAhDQ,EAAA,OAAA,EAiDL,OAjDK,CAAA,EAkDb,aAlDa;EAAU,WACX,CAAA,SAAA,EAiEiB,iBAjEjB,CAAA,CAAA,CAAA,CAAA,EAAA,QAAA,EAkEyB,QAlEzB,CAmEX,MAnEW,EAoEX,OApEW,EAqEX,MArEW,EAsEX,UAtEW,EAuEX,SAvEW,EAwEX,OAxEW,EAyEX,QAzEW,EA0EX,eA1EW,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_AmazonApiGatewayEndpointAdaptor = require('./AmazonApiGatewayEndpointAdaptor-DNFvvdmW.cjs');
|
|
2
|
-
const require_parseQueryParams = require('./parseQueryParams-
|
|
2
|
+
const require_parseQueryParams = require('./parseQueryParams-BSNkjmZ9.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts
|
|
5
5
|
var AmazonApiGatewayV2Endpoint = class extends require_AmazonApiGatewayEndpointAdaptor.AmazonApiGatewayEndpoint {
|
|
@@ -43,4 +43,4 @@ Object.defineProperty(exports, 'AmazonApiGatewayV2Endpoint', {
|
|
|
43
43
|
return AmazonApiGatewayV2Endpoint;
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
-
//# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-
|
|
46
|
+
//# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AmazonApiGatewayV2EndpointAdaptor-D8-0Aab4.cjs","names":["AmazonApiGatewayEndpoint","e: APIGatewayProxyEventV2","processedParams: Record<string, string | string[]>","event: APIGatewayProxyEventV2","context: Context","envParser: EnvironmentParser<{}>","endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >"],"sources":["../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts"],"sourcesContent":["import type { Logger } from '@geekmidas/logger';\nimport type { StandardSchemaV1 } from '@standard-schema/spec';\nimport type { HttpMethod } from '../types';\nimport type { Endpoint, EndpointSchemas } from './Endpoint';\n\nimport type { EnvironmentParser } from '@geekmidas/envkit';\nimport type { EventPublisher } from '@geekmidas/events';\nimport type { Service } from '@geekmidas/services';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport {\n AmazonApiGatewayEndpoint,\n type AmazonApiGatewayV2EndpointHandler,\n type GetInputResponse,\n type LoggerContext,\n} from './AmazonApiGatewayEndpointAdaptor';\nimport { parseQueryParams } from './parseQueryParams';\n\nexport class AmazonApiGatewayV2Endpoint<\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> extends AmazonApiGatewayEndpoint<\n AmazonApiGatewayV2EndpointHandler,\n APIGatewayProxyEventV2,\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n> {\n override getInput(e: APIGatewayProxyEventV2): GetInputResponse {\n // API Gateway V2 handles arrays as comma-separated values\n const queryParams = e.queryStringParameters || {};\n const processedParams: Record<string, string | string[]> = {};\n\n for (const [key, value] of Object.entries(queryParams)) {\n if (value !== undefined) {\n // Check if value contains comma and could be an array\n // Be careful not to split values that legitimately contain commas\n if (value.includes(',') && !value.includes('\"')) {\n processedParams[key] = value.split(',').map((v) => v.trim());\n } else {\n processedParams[key] = value;\n }\n }\n }\n\n return {\n body: e.body ? JSON.parse(e.body) : undefined,\n query: parseQueryParams(processedParams),\n params: e.pathParameters || {},\n };\n }\n override getLoggerContext(\n event: APIGatewayProxyEventV2,\n context: Context,\n ): LoggerContext {\n return {\n fn: {\n name: context.functionName,\n version: context.functionVersion,\n },\n req: {\n id: event.requestContext.requestId,\n awsRequestId: context.awsRequestId,\n ip: event.requestContext.http.sourceIp,\n userAgent: event.requestContext.http.userAgent || undefined,\n path: event.requestContext.http.path,\n },\n };\n }\n constructor(\n protected override envParser: EnvironmentParser<{}>,\n protected override readonly endpoint: Endpoint<\n TRoute,\n TMethod,\n TInput,\n TOutSchema,\n TServices,\n TLogger,\n TSession,\n TEventPublisher\n >,\n ) {\n super(envParser, endpoint);\n }\n}\n"],"mappings":";;;;AAiBA,IAAa,6BAAb,cASUA,iEAWR;CACA,AAAS,SAASC,GAA6C;EAE7D,MAAM,cAAc,EAAE,yBAAyB,CAAE;EACjD,MAAMC,kBAAqD,CAAE;AAE7D,OAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,YAAY,CACpD,KAAI,iBAGF,KAAI,MAAM,SAAS,IAAI,KAAK,MAAM,SAAS,KAAI,CAC7C,iBAAgB,OAAO,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;MAE5D,iBAAgB,OAAO;AAK7B,SAAO;GACL,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK;GACjC,OAAO,0CAAiB,gBAAgB;GACxC,QAAQ,EAAE,kBAAkB,CAAE;EAC/B;CACF;CACD,AAAS,iBACPC,OACAC,SACe;AACf,SAAO;GACL,IAAI;IACF,MAAM,QAAQ;IACd,SAAS,QAAQ;GAClB;GACD,KAAK;IACH,IAAI,MAAM,eAAe;IACzB,cAAc,QAAQ;IACtB,IAAI,MAAM,eAAe,KAAK;IAC9B,WAAW,MAAM,eAAe,KAAK;IACrC,MAAM,MAAM,eAAe,KAAK;GACjC;EACF;CACF;CACD,YACqBC,WACSC,UAU5B;AACA,QAAM,WAAW,SAAS;EAZP;EACS;CAY7B;AACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { HttpMethod } from "./types-
|
|
2
|
-
import { Endpoint, EndpointSchemas } from "./Endpoint-
|
|
3
|
-
import { AmazonApiGatewayEndpoint, AmazonApiGatewayV2EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-
|
|
1
|
+
import { HttpMethod } from "./types-B5H3piDg.cjs";
|
|
2
|
+
import { Endpoint, EndpointSchemas } from "./Endpoint-BPv9_-m_.cjs";
|
|
3
|
+
import { AmazonApiGatewayEndpoint, AmazonApiGatewayV2EndpointHandler, GetInputResponse, LoggerContext } from "./AmazonApiGatewayEndpointAdaptor-DLqnYQ4E.cjs";
|
|
4
4
|
import { EventPublisher } from "@geekmidas/events";
|
|
5
5
|
import { Logger } from "@geekmidas/logger";
|
|
6
6
|
import { Service } from "@geekmidas/services";
|
|
@@ -16,6 +16,8 @@ declare class AmazonApiGatewayV2Endpoint<TRoute extends string, TMethod extends
|
|
|
16
16
|
getLoggerContext(event: APIGatewayProxyEventV2, context: Context): LoggerContext;
|
|
17
17
|
constructor(envParser: EnvironmentParser<{}>, endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>);
|
|
18
18
|
}
|
|
19
|
+
//# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor.d.ts.map
|
|
20
|
+
|
|
19
21
|
//#endregion
|
|
20
22
|
export { AmazonApiGatewayV2Endpoint };
|
|
21
|
-
//# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-
|
|
23
|
+
//# sourceMappingURL=AmazonApiGatewayV2EndpointAdaptor-M1-w0U5R.d.cts.map
|