@geekmidas/constructs 3.0.7 → 3.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/{Construct-BXG8cFSm.cjs → Construct-B14miJ6P.cjs} +95 -10
- package/dist/Construct-B14miJ6P.cjs.map +1 -0
- package/dist/{Construct-BjpXFNxy.d.mts → Construct-CXqvzglu.d.cts} +11 -6
- package/dist/{Construct-BjpXFNxy.d.mts.map → Construct-CXqvzglu.d.cts.map} +1 -1
- package/dist/{Construct-CQ9zV58W.mjs → Construct-CdJY2DJS.mjs} +83 -9
- package/dist/Construct-CdJY2DJS.mjs.map +1 -0
- package/dist/{Construct-CX7HyFfT.d.cts → Construct-D0n7QTaI.d.mts} +13 -8
- package/dist/Construct-D0n7QTaI.d.mts.map +1 -0
- package/dist/{Endpoint-CGdCGJkC.d.cts → Endpoint-CE7qHX5S.d.cts} +143 -28
- package/dist/Endpoint-CE7qHX5S.d.cts.map +1 -0
- package/dist/{Endpoint-BET0JSZK.d.mts → Endpoint-NvjIednd.d.mts} +143 -28
- package/dist/Endpoint-NvjIednd.d.mts.map +1 -0
- package/dist/{HonoEndpointAdaptor-B5fKdLi7.cjs → HonoEndpointAdaptor-Dl8BW_9u.cjs} +91 -25
- package/dist/HonoEndpointAdaptor-Dl8BW_9u.cjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-DOUODM7n.mjs → HonoEndpointAdaptor-nHYMdbBi.mjs} +74 -8
- package/dist/HonoEndpointAdaptor-nHYMdbBi.mjs.map +1 -0
- package/dist/{Subscriber-1rDE7HuM.d.cts → Subscriber-D8WkA8np.d.cts} +3 -3
- package/dist/{Subscriber-1rDE7HuM.d.cts.map → Subscriber-D8WkA8np.d.cts.map} +1 -1
- package/dist/{Subscriber-9ObcUdcC.d.mts → Subscriber-Tft61-YG.d.mts} +5 -5
- package/dist/Subscriber-Tft61-YG.d.mts.map +1 -0
- package/dist/adaptors/aws.cjs +742 -21
- package/dist/adaptors/aws.cjs.map +1 -0
- package/dist/adaptors/aws.d.cts +221 -17
- package/dist/adaptors/aws.d.cts.map +1 -0
- package/dist/adaptors/aws.d.mts +221 -17
- package/dist/adaptors/aws.d.mts.map +1 -0
- package/dist/adaptors/aws.mjs +739 -18
- package/dist/adaptors/aws.mjs.map +1 -0
- package/dist/adaptors/hono.cjs +5 -12
- package/dist/adaptors/hono.d.cts +52 -10
- package/dist/adaptors/hono.d.cts.map +1 -0
- package/dist/adaptors/hono.d.mts +52 -10
- package/dist/adaptors/hono.d.mts.map +1 -0
- package/dist/adaptors/hono.mjs +5 -12
- package/dist/adaptors/testing.cjs +392 -21
- package/dist/adaptors/testing.cjs.map +1 -0
- package/dist/adaptors/testing.d.cts +177 -14
- package/dist/adaptors/testing.d.cts.map +1 -0
- package/dist/adaptors/testing.d.mts +177 -14
- package/dist/adaptors/testing.d.mts.map +1 -0
- package/dist/adaptors/testing.mjs +388 -17
- package/dist/adaptors/testing.mjs.map +1 -0
- package/dist/crons/index.cjs +82 -10
- package/dist/crons/index.cjs.map +1 -1
- package/dist/crons/index.d.cts +44 -7
- package/dist/crons/index.d.cts.map +1 -1
- package/dist/crons/index.d.mts +45 -11
- package/dist/crons/index.d.mts.map +1 -1
- package/dist/crons/index.mjs +79 -7
- package/dist/crons/index.mjs.map +1 -1
- package/dist/endpoints/index.cjs +741 -23
- package/dist/endpoints/index.cjs.map +1 -1
- package/dist/endpoints/index.d.cts +336 -14
- package/dist/endpoints/index.d.cts.map +1 -1
- package/dist/endpoints/index.d.mts +335 -14
- package/dist/endpoints/index.d.mts.map +1 -1
- package/dist/endpoints/index.mjs +730 -12
- package/dist/endpoints/index.mjs.map +1 -1
- package/dist/functions/index.cjs +5 -8
- package/dist/functions/index.d.cts +2 -5
- package/dist/functions/index.d.mts +2 -5
- package/dist/functions/index.mjs +2 -5
- package/dist/functions-DiaRAdfp.cjs +2893 -0
- package/dist/functions-DiaRAdfp.cjs.map +1 -0
- package/dist/functions-GmSHFbpr.mjs +2864 -0
- package/dist/functions-GmSHFbpr.mjs.map +1 -0
- package/dist/index-Cq4fz8uM.d.mts +132 -0
- package/dist/index-Cq4fz8uM.d.mts.map +1 -0
- package/dist/index-CzIMpK-e.d.cts +135 -0
- package/dist/index-CzIMpK-e.d.cts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +1 -1
- package/dist/lazyAccessors-5h-aWohM.mjs +1894 -0
- package/dist/lazyAccessors-5h-aWohM.mjs.map +1 -0
- package/dist/lazyAccessors-Bc1u42WC.cjs +1971 -0
- package/dist/lazyAccessors-Bc1u42WC.cjs.map +1 -0
- package/dist/processAudits-B0PbJf1Z.mjs +80 -0
- package/dist/processAudits-B0PbJf1Z.mjs.map +1 -0
- package/dist/processAudits-CUko08pi.cjs +92 -0
- package/dist/processAudits-CUko08pi.cjs.map +1 -0
- package/dist/subscribers/index.cjs +77 -6
- package/dist/subscribers/index.cjs.map +1 -1
- package/dist/subscribers/index.d.cts +27 -5
- package/dist/subscribers/index.d.cts.map +1 -1
- package/dist/subscribers/index.d.mts +26 -5
- package/dist/subscribers/index.d.mts.map +1 -1
- package/dist/subscribers/index.mjs +74 -3
- package/dist/subscribers/index.mjs.map +1 -1
- package/dist/{telemetry-BTaiRqPo.d.cts → telemetry-Bt0vK4ma.d.cts} +1 -1
- package/dist/{telemetry-BJo1gcV1.d.mts.map → telemetry-Bt0vK4ma.d.cts.map} +1 -1
- package/dist/{telemetry-BJo1gcV1.d.mts → telemetry-COvVBKBM.d.mts} +1 -1
- package/dist/{telemetry-BTaiRqPo.d.cts.map → telemetry-COvVBKBM.d.mts.map} +1 -1
- package/dist/{types-B5H3piDg.d.cts → types-B8YlI4cx.d.cts} +1 -1
- package/dist/{types-B5H3piDg.d.cts.map → types-B8YlI4cx.d.cts.map} +1 -1
- package/dist/{types-BqPOdHEm.d.mts → types-BA3eK4xj.d.mts} +1 -1
- package/dist/{types-BqPOdHEm.d.mts.map → types-BA3eK4xj.d.mts.map} +1 -1
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +12 -12
- package/src/Construct.ts +26 -8
- package/src/__tests__/Construct.environment.spec.ts +123 -0
- package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +23 -4
- package/src/endpoints/Endpoint.ts +14 -1
- package/src/endpoints/EndpointBuilder.ts +25 -0
- package/src/endpoints/HonoEndpointAdaptor.ts +24 -1
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.responseType.spec.ts +111 -0
- package/src/endpoints/__tests__/Endpoint.spec.ts +29 -0
- package/src/endpoints/__tests__/EndpointBuilder.responseType.spec.ts +47 -0
- package/src/endpoints/__tests__/HonoEndpointAdaptor.responseType.spec.ts +128 -0
- package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +1 -9
- package/tsdown.config.ts +30 -1
- package/dist/AWSLambdaFunction-CC8gMZhz.d.mts +0 -32
- package/dist/AWSLambdaFunction-CC8gMZhz.d.mts.map +0 -1
- package/dist/AWSLambdaFunction-CPEAl5nZ.cjs +0 -120
- package/dist/AWSLambdaFunction-CPEAl5nZ.cjs.map +0 -1
- package/dist/AWSLambdaFunction-DJiCAPAf.mjs +0 -114
- package/dist/AWSLambdaFunction-DJiCAPAf.mjs.map +0 -1
- package/dist/AWSLambdaFunction-tzqv5XU6.d.cts +0 -32
- package/dist/AWSLambdaFunction-tzqv5XU6.d.cts.map +0 -1
- package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts +0 -36
- package/dist/AWSLambdaSubscriberAdaptor-Cj1wjkUP.d.cts.map +0 -1
- package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts +0 -36
- package/dist/AWSLambdaSubscriberAdaptor-Cmx9OQGG.d.mts.map +0 -1
- package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs +0 -172
- package/dist/AWSLambdaSubscriberAdaptor-RKwKYLl1.mjs.map +0 -1
- package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs +0 -178
- package/dist/AWSLambdaSubscriberAdaptor-eZ3qoKvK.cjs.map +0 -1
- package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs +0 -277
- package/dist/AmazonApiGatewayEndpointAdaptor-BIltcbAc.cjs.map +0 -1
- package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs +0 -271
- package/dist/AmazonApiGatewayEndpointAdaptor-BpYtYCeW.mjs.map +0 -1
- package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts +0 -124
- package/dist/AmazonApiGatewayEndpointAdaptor-DA0rS_1Y.d.mts.map +0 -1
- package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts +0 -124
- package/dist/AmazonApiGatewayEndpointAdaptor-DqNcQGMf.d.cts.map +0 -1
- package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts +0 -23
- package/dist/AmazonApiGatewayV1EndpointAdaptor-C7rJzNvG.d.mts.map +0 -1
- package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs +0 -42
- package/dist/AmazonApiGatewayV1EndpointAdaptor-CRwyWT6t.mjs.map +0 -1
- package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs +0 -47
- package/dist/AmazonApiGatewayV1EndpointAdaptor-DEETT6Wj.cjs.map +0 -1
- package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts +0 -23
- package/dist/AmazonApiGatewayV1EndpointAdaptor-DcN2fYsv.d.cts.map +0 -1
- package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs +0 -48
- package/dist/AmazonApiGatewayV2EndpointAdaptor-C2qO8FN6.cjs.map +0 -1
- package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts +0 -22
- package/dist/AmazonApiGatewayV2EndpointAdaptor-Cn9UoRgB.d.cts.map +0 -1
- package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts +0 -22
- package/dist/AmazonApiGatewayV2EndpointAdaptor-d7NP-bZX.d.mts.map +0 -1
- package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs +0 -42
- package/dist/AmazonApiGatewayV2EndpointAdaptor-m9YKI294.mjs.map +0 -1
- package/dist/Authorizer-BZ1LcZFt.cjs +0 -92
- package/dist/Authorizer-BZ1LcZFt.cjs.map +0 -1
- package/dist/Authorizer-C5_FC_Rq.d.mts +0 -126
- package/dist/Authorizer-C5_FC_Rq.d.mts.map +0 -1
- package/dist/Authorizer-CZpg1Jqk.mjs +0 -68
- package/dist/Authorizer-CZpg1Jqk.mjs.map +0 -1
- package/dist/Authorizer-DWtwC8we.d.cts +0 -126
- package/dist/Authorizer-DWtwC8we.d.cts.map +0 -1
- package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts +0 -42
- package/dist/BaseFunctionBuilder-C-4hYTfj.d.cts.map +0 -1
- package/dist/BaseFunctionBuilder-C3rQMoWb.mjs +0 -70
- package/dist/BaseFunctionBuilder-C3rQMoWb.mjs.map +0 -1
- package/dist/BaseFunctionBuilder-DXf6HK-N.cjs +0 -76
- package/dist/BaseFunctionBuilder-DXf6HK-N.cjs.map +0 -1
- package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts +0 -42
- package/dist/BaseFunctionBuilder-Q5qIlF-F.d.mts.map +0 -1
- package/dist/Construct-BXG8cFSm.cjs.map +0 -1
- package/dist/Construct-CQ9zV58W.mjs.map +0 -1
- package/dist/Construct-CX7HyFfT.d.cts.map +0 -1
- package/dist/Construct.cjs +0 -6
- package/dist/Construct.d.cts +0 -2
- package/dist/Construct.d.mts +0 -2
- package/dist/Construct.mjs +0 -3
- package/dist/Cron-BljK1gsV.d.mts +0 -26
- package/dist/Cron-BljK1gsV.d.mts.map +0 -1
- package/dist/Cron-C1vyfJ8B.cjs +0 -25
- package/dist/Cron-C1vyfJ8B.cjs.map +0 -1
- package/dist/Cron-CjWQEad0.mjs +0 -20
- package/dist/Cron-CjWQEad0.mjs.map +0 -1
- package/dist/Cron-CllHkk3z.d.cts +0 -26
- package/dist/Cron-CllHkk3z.d.cts.map +0 -1
- package/dist/CronBuilder-CAJFtnmZ.mjs +0 -68
- package/dist/CronBuilder-CAJFtnmZ.mjs.map +0 -1
- package/dist/CronBuilder-CG54f9LM.d.mts +0 -32
- package/dist/CronBuilder-CG54f9LM.d.mts.map +0 -1
- package/dist/CronBuilder-CSMd02lu.cjs +0 -74
- package/dist/CronBuilder-CSMd02lu.cjs.map +0 -1
- package/dist/CronBuilder-i23l40xs.d.cts +0 -32
- package/dist/CronBuilder-i23l40xs.d.cts.map +0 -1
- package/dist/Endpoint-BET0JSZK.d.mts.map +0 -1
- package/dist/Endpoint-BcxvF4F3.cjs +0 -440
- package/dist/Endpoint-BcxvF4F3.cjs.map +0 -1
- package/dist/Endpoint-CGdCGJkC.d.cts.map +0 -1
- package/dist/Endpoint-DvY3aqAy.mjs +0 -422
- package/dist/Endpoint-DvY3aqAy.mjs.map +0 -1
- package/dist/EndpointBuilder-6kdrQyIh.d.mts +0 -146
- package/dist/EndpointBuilder-6kdrQyIh.d.mts.map +0 -1
- package/dist/EndpointBuilder-CSwIguiR.d.cts +0 -146
- package/dist/EndpointBuilder-CSwIguiR.d.cts.map +0 -1
- package/dist/EndpointBuilder-EptJojG9.cjs +0 -268
- package/dist/EndpointBuilder-EptJojG9.cjs.map +0 -1
- package/dist/EndpointBuilder-iDpnACRb.mjs +0 -262
- package/dist/EndpointBuilder-iDpnACRb.mjs.map +0 -1
- package/dist/EndpointFactory-CBagQW5j.d.mts +0 -142
- package/dist/EndpointFactory-CBagQW5j.d.mts.map +0 -1
- package/dist/EndpointFactory-D2QxeaAh.cjs +0 -393
- package/dist/EndpointFactory-D2QxeaAh.cjs.map +0 -1
- package/dist/EndpointFactory-DQYSH8XK.d.cts +0 -142
- package/dist/EndpointFactory-DQYSH8XK.d.cts.map +0 -1
- package/dist/EndpointFactory-wgcqWod-.mjs +0 -381
- package/dist/EndpointFactory-wgcqWod-.mjs.map +0 -1
- package/dist/Function-CwlB89lS.d.cts +0 -76
- package/dist/Function-CwlB89lS.d.cts.map +0 -1
- package/dist/Function-D74HrBnX.d.mts +0 -76
- package/dist/Function-D74HrBnX.d.mts.map +0 -1
- package/dist/Function-DgQ_no6B.cjs +0 -84
- package/dist/Function-DgQ_no6B.cjs.map +0 -1
- package/dist/Function-xfQbftdE.mjs +0 -72
- package/dist/Function-xfQbftdE.mjs.map +0 -1
- package/dist/FunctionBuilder-CBeqX18X.mjs +0 -80
- package/dist/FunctionBuilder-CBeqX18X.mjs.map +0 -1
- package/dist/FunctionBuilder-C_qPxC8g.d.mts +0 -40
- package/dist/FunctionBuilder-C_qPxC8g.d.mts.map +0 -1
- package/dist/FunctionBuilder-C_xG9As7.cjs +0 -86
- package/dist/FunctionBuilder-C_xG9As7.cjs.map +0 -1
- package/dist/FunctionBuilder-D_7f5MfS.d.cts +0 -40
- package/dist/FunctionBuilder-D_7f5MfS.d.cts.map +0 -1
- package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs +0 -101
- package/dist/FunctionExecutionWrapper-B0ZAssiy.mjs.map +0 -1
- package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts +0 -50
- package/dist/FunctionExecutionWrapper-Cg8HjuHL.d.cts.map +0 -1
- package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs +0 -107
- package/dist/FunctionExecutionWrapper-KKHP6fDY.cjs.map +0 -1
- package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts +0 -50
- package/dist/FunctionExecutionWrapper-xbTmBARx.d.mts.map +0 -1
- package/dist/HonoEndpointAdaptor-B5fKdLi7.cjs.map +0 -1
- package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts +0 -50
- package/dist/HonoEndpointAdaptor-C2deTEwW.d.mts.map +0 -1
- package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts +0 -50
- package/dist/HonoEndpointAdaptor-D3IgM-0B.d.cts.map +0 -1
- package/dist/HonoEndpointAdaptor-DOUODM7n.mjs.map +0 -1
- package/dist/MswEndpointAdaptor-B41INCc7.mjs +0 -108
- package/dist/MswEndpointAdaptor-B41INCc7.mjs.map +0 -1
- package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs +0 -120
- package/dist/MswEndpointAdaptor-CA_fu6Wx.cjs.map +0 -1
- package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts +0 -101
- package/dist/MswEndpointAdaptor-CXgYbOxw.d.mts.map +0 -1
- package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts +0 -101
- package/dist/MswEndpointAdaptor-CsYvrQeB.d.cts.map +0 -1
- package/dist/Subscriber-9ObcUdcC.d.mts.map +0 -1
- package/dist/Subscriber-BH76wgkL.mjs +0 -28
- package/dist/Subscriber-BH76wgkL.mjs.map +0 -1
- package/dist/Subscriber-BgspJeS4.cjs +0 -34
- package/dist/Subscriber-BgspJeS4.cjs.map +0 -1
- package/dist/SubscriberBuilder-B4md5wzs.mjs +0 -54
- package/dist/SubscriberBuilder-B4md5wzs.mjs.map +0 -1
- package/dist/SubscriberBuilder-Be7WBbCL.d.cts +0 -28
- package/dist/SubscriberBuilder-Be7WBbCL.d.cts.map +0 -1
- package/dist/SubscriberBuilder-BtL22ZJ9.cjs +0 -60
- package/dist/SubscriberBuilder-BtL22ZJ9.cjs.map +0 -1
- package/dist/SubscriberBuilder-DsfIkgTF.d.mts +0 -28
- package/dist/SubscriberBuilder-DsfIkgTF.d.mts.map +0 -1
- package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs +0 -174
- package/dist/TestEndpointAdaptor-BFmgf7Fn.mjs.map +0 -1
- package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts +0 -45
- package/dist/TestEndpointAdaptor-C79Z-QS4.d.mts.map +0 -1
- package/dist/TestEndpointAdaptor-DYLDyAAC.cjs +0 -180
- package/dist/TestEndpointAdaptor-DYLDyAAC.cjs.map +0 -1
- package/dist/TestEndpointAdaptor-pM8yskbb.d.cts +0 -45
- package/dist/TestEndpointAdaptor-pM8yskbb.d.cts.map +0 -1
- package/dist/TestFunctionAdaptor-B859kIeb.cjs +0 -81
- package/dist/TestFunctionAdaptor-B859kIeb.cjs.map +0 -1
- package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts +0 -30
- package/dist/TestFunctionAdaptor-C0A-VqnM.d.mts.map +0 -1
- package/dist/TestFunctionAdaptor-CqdSlhx1.mjs +0 -75
- package/dist/TestFunctionAdaptor-CqdSlhx1.mjs.map +0 -1
- package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts +0 -30
- package/dist/TestFunctionAdaptor-Dbq55dKP.d.cts.map +0 -1
- package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts +0 -26
- package/dist/TestSubscriberAdaptor-BEyCFP9G.d.mts.map +0 -1
- package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts +0 -26
- package/dist/TestSubscriberAdaptor-BknOLRQw.d.cts.map +0 -1
- package/dist/TestSubscriberAdaptor-CCcviuKa.mjs +0 -51
- package/dist/TestSubscriberAdaptor-CCcviuKa.mjs.map +0 -1
- package/dist/TestSubscriberAdaptor-_69o1d0f.cjs +0 -57
- package/dist/TestSubscriberAdaptor-_69o1d0f.cjs.map +0 -1
- package/dist/chunk-CUT6urMc.cjs +0 -30
- package/dist/crons/Cron.cjs +0 -8
- package/dist/crons/Cron.d.cts +0 -7
- package/dist/crons/Cron.d.mts +0 -7
- package/dist/crons/Cron.mjs +0 -8
- package/dist/crons/CronBuilder.cjs +0 -9
- package/dist/crons/CronBuilder.d.cts +0 -8
- package/dist/crons/CronBuilder.d.mts +0 -8
- package/dist/crons/CronBuilder.mjs +0 -9
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.cjs +0 -11
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.cts +0 -11
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.d.mts +0 -11
- package/dist/endpoints/AmazonApiGatewayEndpointAdaptor.mjs +0 -11
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.cjs +0 -13
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.cts +0 -12
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.d.mts +0 -12
- package/dist/endpoints/AmazonApiGatewayV1EndpointAdaptor.mjs +0 -13
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.cjs +0 -13
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.cts +0 -12
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.d.mts +0 -12
- package/dist/endpoints/AmazonApiGatewayV2EndpointAdaptor.mjs +0 -13
- package/dist/endpoints/Authorizer.cjs +0 -6
- package/dist/endpoints/Authorizer.d.cts +0 -2
- package/dist/endpoints/Authorizer.d.mts +0 -2
- package/dist/endpoints/Authorizer.mjs +0 -3
- package/dist/endpoints/Endpoint.cjs +0 -10
- package/dist/endpoints/Endpoint.d.cts +0 -9
- package/dist/endpoints/Endpoint.d.mts +0 -9
- package/dist/endpoints/Endpoint.mjs +0 -8
- package/dist/endpoints/EndpointBuilder.cjs +0 -11
- package/dist/endpoints/EndpointBuilder.d.cts +0 -10
- package/dist/endpoints/EndpointBuilder.d.mts +0 -10
- package/dist/endpoints/EndpointBuilder.mjs +0 -11
- package/dist/endpoints/EndpointFactory.cjs +0 -13
- package/dist/endpoints/EndpointFactory.d.cts +0 -11
- package/dist/endpoints/EndpointFactory.d.mts +0 -11
- package/dist/endpoints/EndpointFactory.mjs +0 -12
- package/dist/endpoints/HonoEndpointAdaptor.cjs +0 -14
- package/dist/endpoints/HonoEndpointAdaptor.d.cts +0 -10
- package/dist/endpoints/HonoEndpointAdaptor.d.mts +0 -10
- package/dist/endpoints/HonoEndpointAdaptor.mjs +0 -14
- package/dist/endpoints/MswEndpointAdaptor.cjs +0 -16
- package/dist/endpoints/MswEndpointAdaptor.d.cts +0 -10
- package/dist/endpoints/MswEndpointAdaptor.d.mts +0 -10
- package/dist/endpoints/MswEndpointAdaptor.mjs +0 -15
- package/dist/endpoints/TestEndpointAdaptor.cjs +0 -12
- package/dist/endpoints/TestEndpointAdaptor.d.cts +0 -10
- package/dist/endpoints/TestEndpointAdaptor.d.mts +0 -10
- package/dist/endpoints/TestEndpointAdaptor.mjs +0 -12
- package/dist/endpoints/audit.cjs +0 -0
- package/dist/endpoints/audit.d.cts +0 -9
- package/dist/endpoints/audit.d.mts +0 -9
- package/dist/endpoints/audit.mjs +0 -0
- package/dist/endpoints/helpers.cjs +0 -10
- package/dist/endpoints/helpers.d.cts +0 -60
- package/dist/endpoints/helpers.d.cts.map +0 -1
- package/dist/endpoints/helpers.d.mts +0 -60
- package/dist/endpoints/helpers.d.mts.map +0 -1
- package/dist/endpoints/helpers.mjs +0 -9
- package/dist/endpoints/lazyAccessors.cjs +0 -10
- package/dist/endpoints/lazyAccessors.d.cts +0 -10
- package/dist/endpoints/lazyAccessors.d.mts +0 -10
- package/dist/endpoints/lazyAccessors.mjs +0 -3
- package/dist/endpoints/parseHonoQuery.cjs +0 -3
- package/dist/endpoints/parseHonoQuery.d.cts +0 -14
- package/dist/endpoints/parseHonoQuery.d.cts.map +0 -1
- package/dist/endpoints/parseHonoQuery.d.mts +0 -14
- package/dist/endpoints/parseHonoQuery.d.mts.map +0 -1
- package/dist/endpoints/parseHonoQuery.mjs +0 -3
- package/dist/endpoints/parseQueryParams.cjs +0 -3
- package/dist/endpoints/parseQueryParams.d.cts +0 -14
- package/dist/endpoints/parseQueryParams.d.cts.map +0 -1
- package/dist/endpoints/parseQueryParams.d.mts +0 -14
- package/dist/endpoints/parseQueryParams.d.mts.map +0 -1
- package/dist/endpoints/parseQueryParams.mjs +0 -3
- package/dist/endpoints/processAudits.cjs +0 -5
- package/dist/endpoints/processAudits.d.cts +0 -95
- package/dist/endpoints/processAudits.d.cts.map +0 -1
- package/dist/endpoints/processAudits.d.mts +0 -95
- package/dist/endpoints/processAudits.d.mts.map +0 -1
- package/dist/endpoints/processAudits.mjs +0 -3
- package/dist/endpoints/rls.cjs +0 -3
- package/dist/endpoints/rls.d.cts +0 -9
- package/dist/endpoints/rls.d.mts +0 -9
- package/dist/endpoints/rls.mjs +0 -3
- package/dist/functions/AWSLambdaFunction.cjs +0 -9
- package/dist/functions/AWSLambdaFunction.d.cts +0 -5
- package/dist/functions/AWSLambdaFunction.d.mts +0 -5
- package/dist/functions/AWSLambdaFunction.mjs +0 -9
- package/dist/functions/BaseFunctionBuilder.cjs +0 -4
- package/dist/functions/BaseFunctionBuilder.d.cts +0 -3
- package/dist/functions/BaseFunctionBuilder.d.mts +0 -3
- package/dist/functions/BaseFunctionBuilder.mjs +0 -4
- package/dist/functions/Function.cjs +0 -5
- package/dist/functions/Function.d.cts +0 -3
- package/dist/functions/Function.d.mts +0 -3
- package/dist/functions/Function.mjs +0 -4
- package/dist/functions/FunctionBuilder.cjs +0 -6
- package/dist/functions/FunctionBuilder.d.cts +0 -5
- package/dist/functions/FunctionBuilder.d.mts +0 -5
- package/dist/functions/FunctionBuilder.mjs +0 -6
- package/dist/functions/FunctionExecutionWrapper.cjs +0 -8
- package/dist/functions/FunctionExecutionWrapper.d.cts +0 -4
- package/dist/functions/FunctionExecutionWrapper.d.mts +0 -4
- package/dist/functions/FunctionExecutionWrapper.mjs +0 -8
- package/dist/functions/TestFunctionAdaptor.cjs +0 -8
- package/dist/functions/TestFunctionAdaptor.d.cts +0 -4
- package/dist/functions/TestFunctionAdaptor.d.mts +0 -4
- package/dist/functions/TestFunctionAdaptor.mjs +0 -8
- package/dist/functions-B1mrMoUH.mjs +0 -8
- package/dist/functions-B1mrMoUH.mjs.map +0 -1
- package/dist/functions-rOD3pXQd.cjs +0 -13
- package/dist/functions-rOD3pXQd.cjs.map +0 -1
- package/dist/helpers-BYyX0qTA.cjs +0 -95
- package/dist/helpers-BYyX0qTA.cjs.map +0 -1
- package/dist/helpers-BtwC2IW8.mjs +0 -83
- package/dist/helpers-BtwC2IW8.mjs.map +0 -1
- package/dist/index-BfeupgMl.d.cts +0 -12
- package/dist/index-BfeupgMl.d.cts.map +0 -1
- package/dist/index-Cg2UDz1r.d.mts +0 -12
- package/dist/index-Cg2UDz1r.d.mts.map +0 -1
- package/dist/lazyAccessors-BVEtB9lU.cjs +0 -223
- package/dist/lazyAccessors-BVEtB9lU.cjs.map +0 -1
- package/dist/lazyAccessors-Bxy5DBp4.d.cts +0 -49
- package/dist/lazyAccessors-Bxy5DBp4.d.cts.map +0 -1
- package/dist/lazyAccessors-CWFdtzSR.d.mts +0 -49
- package/dist/lazyAccessors-CWFdtzSR.d.mts.map +0 -1
- package/dist/lazyAccessors-DM6HcXQk.mjs +0 -175
- package/dist/lazyAccessors-DM6HcXQk.mjs.map +0 -1
- package/dist/parseHonoQuery-BBs8CX-H.cjs +0 -24
- package/dist/parseHonoQuery-BBs8CX-H.cjs.map +0 -1
- package/dist/parseHonoQuery-Cp8CII0P.mjs +0 -18
- package/dist/parseHonoQuery-Cp8CII0P.mjs.map +0 -1
- package/dist/parseQueryParams-B4RK1za3.cjs +0 -31
- package/dist/parseQueryParams-B4RK1za3.cjs.map +0 -1
- package/dist/parseQueryParams-DS3Qmrbd.mjs +0 -25
- package/dist/parseQueryParams-DS3Qmrbd.mjs.map +0 -1
- package/dist/processAudits-CzHkPokQ.cjs +0 -180
- package/dist/processAudits-CzHkPokQ.cjs.map +0 -1
- package/dist/processAudits-Dj8UGqcW.mjs +0 -162
- package/dist/processAudits-Dj8UGqcW.mjs.map +0 -1
- package/dist/publisher-BUDHcaz3.d.cts +0 -16
- package/dist/publisher-BUDHcaz3.d.cts.map +0 -1
- package/dist/publisher-Bw4770Hi.mjs +0 -41
- package/dist/publisher-Bw4770Hi.mjs.map +0 -1
- package/dist/publisher-DXglijK_.d.mts +0 -16
- package/dist/publisher-DXglijK_.d.mts.map +0 -1
- package/dist/publisher-lFQleddL.cjs +0 -53
- package/dist/publisher-lFQleddL.cjs.map +0 -1
- package/dist/publisher.cjs +0 -4
- package/dist/publisher.d.cts +0 -3
- package/dist/publisher.d.mts +0 -3
- package/dist/publisher.mjs +0 -3
- package/dist/rls-C0r4UKVm.mjs +0 -9
- package/dist/rls-C0r4UKVm.mjs.map +0 -1
- package/dist/rls-Cfb6w-tQ.cjs +0 -15
- package/dist/rls-Cfb6w-tQ.cjs.map +0 -1
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.cjs +0 -3
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.cts +0 -4
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.d.mts +0 -4
- package/dist/subscribers/AWSLambdaSubscriberAdaptor.mjs +0 -3
- package/dist/subscribers/Subscriber.cjs +0 -4
- package/dist/subscribers/Subscriber.d.cts +0 -3
- package/dist/subscribers/Subscriber.d.mts +0 -3
- package/dist/subscribers/Subscriber.mjs +0 -4
- package/dist/subscribers/SubscriberBuilder.cjs +0 -5
- package/dist/subscribers/SubscriberBuilder.d.cts +0 -4
- package/dist/subscribers/SubscriberBuilder.d.mts +0 -4
- package/dist/subscribers/SubscriberBuilder.mjs +0 -5
- package/dist/subscribers/TestSubscriberAdaptor.cjs +0 -4
- package/dist/subscribers/TestSubscriberAdaptor.d.cts +0 -4
- package/dist/subscribers/TestSubscriberAdaptor.d.mts +0 -4
- package/dist/subscribers/TestSubscriberAdaptor.mjs +0 -4
- package/dist/telemetry.cjs +0 -0
- package/dist/telemetry.d.cts +0 -2
- package/dist/telemetry.d.mts +0 -2
- package/dist/telemetry.mjs +0 -0
|
@@ -1,14 +1,177 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
8
|
-
import "
|
|
9
|
-
import "
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { HttpMethod } from "../types-B8YlI4cx.cjs";
|
|
2
|
+
import "../Construct-CXqvzglu.cjs";
|
|
3
|
+
import { Function } from "../index-CzIMpK-e.cjs";
|
|
4
|
+
import { Endpoint, EndpointSchemas } from "../Endpoint-CE7qHX5S.cjs";
|
|
5
|
+
import { Subscriber } from "../Subscriber-D8WkA8np.cjs";
|
|
6
|
+
import { EventPublisher, ExtractPublisherMessage } from "@geekmidas/events";
|
|
7
|
+
import { Logger } from "@geekmidas/logger";
|
|
8
|
+
import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
|
|
9
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
10
|
+
import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
|
|
11
|
+
import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
|
|
12
|
+
import { HttpHandler } from "msw";
|
|
13
|
+
|
|
14
|
+
//#region src/endpoints/MswEndpointAdaptor.d.ts
|
|
15
|
+
/**
|
|
16
|
+
* Header used to identify which test context a request belongs to.
|
|
17
|
+
* Each concurrent test registers its own context (services, db transaction, etc.)
|
|
18
|
+
* and the MSW handler looks it up by this header value.
|
|
19
|
+
*/
|
|
20
|
+
declare const TEST_CONTEXT_HEADER = "x-test-context-id";
|
|
21
|
+
/**
|
|
22
|
+
* Per-test context containing an isolated ServiceDiscovery instance.
|
|
23
|
+
* Registered in the context map and looked up per-request via the context ID header.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Options for creating MSW handlers from endpoint constructs.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import { createMswHandlers, registerTestContext } from '@geekmidas/constructs/testing';
|
|
32
|
+
* import { setupServer } from 'msw/node';
|
|
33
|
+
*
|
|
34
|
+
* // Create handlers once (global)
|
|
35
|
+
* const { handlers, registerContext, removeContext } = createMswHandlers(
|
|
36
|
+
* [getUsers, createUser],
|
|
37
|
+
* { baseURL: 'http://localhost:3000' },
|
|
38
|
+
* );
|
|
39
|
+
* const server = setupServer(...handlers);
|
|
40
|
+
*
|
|
41
|
+
* // Per test: register an isolated context with its own services/transaction
|
|
42
|
+
* it('should list users', async ({ db }) => {
|
|
43
|
+
* const contextId = crypto.randomUUID();
|
|
44
|
+
* registerContext(contextId, {
|
|
45
|
+
* services: { database: db, auth: mockAuth },
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* const api = createApi({
|
|
49
|
+
* baseURL: 'http://localhost:3000',
|
|
50
|
+
* headers: { [TEST_CONTEXT_HEADER]: contextId },
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* const result = await api('GET /users');
|
|
54
|
+
* expect(result).toBeDefined();
|
|
55
|
+
*
|
|
56
|
+
* removeContext(contextId);
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
interface CreateMswHandlersOptions {
|
|
61
|
+
/** Base URL the client fetches from (e.g., 'http://localhost:3000') */
|
|
62
|
+
baseURL: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Options for registering a per-test context.
|
|
66
|
+
* Follows the same pattern as TestRequestAdaptor — services, database,
|
|
67
|
+
* publisher, and auditorStorage are provided explicitly.
|
|
68
|
+
*/
|
|
69
|
+
interface RegisterContextOptions {
|
|
70
|
+
/** Service instances keyed by serviceName */
|
|
71
|
+
services?: Record<string, unknown>;
|
|
72
|
+
/** Database instance — required when endpoints use .database() */
|
|
73
|
+
database?: unknown;
|
|
74
|
+
/** Event publisher service definition */
|
|
75
|
+
publisher?: Service;
|
|
76
|
+
/** Audit storage instance — required when endpoints use .auditor() */
|
|
77
|
+
auditorStorage?: unknown;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Result of creating MSW handlers from endpoint constructs.
|
|
81
|
+
*/
|
|
82
|
+
interface CreateMswHandlersResult {
|
|
83
|
+
/** MSW handlers to pass to setupServer() */
|
|
84
|
+
handlers: HttpHandler[];
|
|
85
|
+
/** Register an isolated context for a test */
|
|
86
|
+
registerContext: (id: string, options: RegisterContextOptions) => void;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Creates MSW HTTP handlers from endpoint constructs.
|
|
90
|
+
*
|
|
91
|
+
* Mounts endpoints on a Hono app and creates MSW handlers that intercept
|
|
92
|
+
* fetch requests and route them through `app.request()` — giving frontend
|
|
93
|
+
* tests full endpoint behavior (validation, auth, sessions) without HTTP.
|
|
94
|
+
*
|
|
95
|
+
* Each test registers its own isolated context via `registerContext()`,
|
|
96
|
+
* which is resolved per-request using the `x-test-context-id` header.
|
|
97
|
+
* This allows concurrent tests with their own transactions and services.
|
|
98
|
+
*
|
|
99
|
+
* @param endpoints - Array of endpoint constructs to create handlers for
|
|
100
|
+
* @param options - Configuration including baseURL
|
|
101
|
+
* @returns MSW handlers, the Hono app, and context management functions
|
|
102
|
+
*/
|
|
103
|
+
declare function createMswHandlers(endpoints: Endpoint<any, any, any, any, any, any>[], options: CreateMswHandlersOptions): CreateMswHandlersResult;
|
|
104
|
+
//# sourceMappingURL=MswEndpointAdaptor.d.ts.map
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/endpoints/TestEndpointAdaptor.d.ts
|
|
107
|
+
type TestHttpResponse<TBody = any> = {
|
|
108
|
+
body: TBody;
|
|
109
|
+
status: number;
|
|
110
|
+
headers: Record<string, string | string[]>;
|
|
111
|
+
};
|
|
112
|
+
declare class TestEndpointAdaptor<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> {
|
|
113
|
+
private readonly endpoint;
|
|
114
|
+
private serviceDiscovery;
|
|
115
|
+
static getDefaultServiceDiscover<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string>(_endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>): ServiceDiscovery<any>;
|
|
116
|
+
constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>, serviceDiscovery?: ServiceDiscovery<any>);
|
|
117
|
+
fullRequest(ctx: TestRequestAdaptor<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName>): Promise<TestHttpResponse<InferStandardSchema<TOutSchema>>>;
|
|
118
|
+
request(ctx: TestRequestAdaptor<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName>): Promise<InferStandardSchema<TOutSchema>>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Conditional audit storage requirement - required when TAuditStorage is configured
|
|
122
|
+
*/
|
|
123
|
+
type AuditStorageRequirement<TAuditStorage extends AuditStorage | undefined = undefined> = TAuditStorage extends undefined ? {} : {
|
|
124
|
+
/** Audit storage instance - required when endpoint uses .auditor() */
|
|
125
|
+
auditorStorage: TAuditStorage;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Conditional database requirement - required when TDatabase is configured
|
|
129
|
+
*/
|
|
130
|
+
type DatabaseRequirement<TDatabase = undefined> = TDatabase extends undefined ? {} : {
|
|
131
|
+
/** Database instance - required when endpoint uses .database() */
|
|
132
|
+
database: TDatabase;
|
|
133
|
+
};
|
|
134
|
+
type TestRequestAdaptor<TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, _TAuditStorageServiceName extends string = string, TDatabase = undefined, _TDatabaseServiceName extends string = string> = {
|
|
135
|
+
services: ServiceRecord<TServices>;
|
|
136
|
+
headers: Record<string, string>;
|
|
137
|
+
publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
|
|
138
|
+
} & InferComposableStandardSchema<TInput> & AuditStorageRequirement<TAuditStorage> & DatabaseRequirement<TDatabase>;
|
|
139
|
+
//#endregion
|
|
140
|
+
//#region src/functions/TestFunctionAdaptor.d.ts
|
|
141
|
+
declare class TestFunctionAdaptor<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
|
|
142
|
+
private readonly fn;
|
|
143
|
+
private serviceDiscovery;
|
|
144
|
+
static getDefaultServiceDiscovery<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>>(_fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>): ServiceDiscovery<any>;
|
|
145
|
+
constructor(fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>, serviceDiscovery?: ServiceDiscovery<any>);
|
|
146
|
+
invoke(ctx: TestFunctionRequest<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TDatabase, TAuditAction>): Promise<InferStandardSchema<TOutSchema>>;
|
|
147
|
+
}
|
|
148
|
+
type TestFunctionRequest<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = {
|
|
149
|
+
input: InferComposableStandardSchema<TInput>;
|
|
150
|
+
services: ServiceRecord<TServices>;
|
|
151
|
+
publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
|
|
152
|
+
db?: TDatabase;
|
|
153
|
+
auditor?: Auditor<TAuditAction>;
|
|
154
|
+
} & InferComposableStandardSchema<{
|
|
155
|
+
input: TInput;
|
|
156
|
+
}>;
|
|
157
|
+
//# sourceMappingURL=TestFunctionAdaptor.d.ts.map
|
|
158
|
+
//#endregion
|
|
159
|
+
//#region src/subscribers/TestSubscriberAdaptor.d.ts
|
|
160
|
+
type ExtractEventPayloads<TPublisher extends EventPublisher<any> | undefined, TEventTypes extends any[]> = TPublisher extends EventPublisher<any> ? Extract<ExtractPublisherMessage<TPublisher>, {
|
|
161
|
+
type: TEventTypes[number];
|
|
162
|
+
}> : never;
|
|
163
|
+
declare class TestSubscriberAdaptor<TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TSubscribedEvents extends ExtractPublisherMessage<TEventPublisher>['type'][] = ExtractPublisherMessage<TEventPublisher>['type'][]> {
|
|
164
|
+
private readonly subscriber;
|
|
165
|
+
private serviceDiscovery;
|
|
166
|
+
static getDefaultServiceDiscovery(): ServiceDiscovery<any>;
|
|
167
|
+
constructor(subscriber: Subscriber<TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TSubscribedEvents>, serviceDiscovery?: ServiceDiscovery<any>);
|
|
168
|
+
invoke(request: TestSubscriberRequest<TEventPublisher, TSubscribedEvents, TServices>): Promise<InferStandardSchema<OutSchema>>;
|
|
169
|
+
private filterEvents;
|
|
170
|
+
}
|
|
171
|
+
type TestSubscriberRequest<TEventPublisher extends EventPublisher<any> | undefined = undefined, TSubscribedEvents extends any[] = [], TServices extends Service[] = []> = {
|
|
172
|
+
events: ExtractEventPayloads<TEventPublisher, TSubscribedEvents>[];
|
|
173
|
+
services?: ServiceRecord<TServices>;
|
|
174
|
+
};
|
|
175
|
+
//#endregion
|
|
176
|
+
export { CreateMswHandlersOptions, CreateMswHandlersResult, RegisterContextOptions, TEST_CONTEXT_HEADER, TestEndpointAdaptor, TestFunctionAdaptor, TestSubscriberAdaptor, createMswHandlers };
|
|
177
|
+
//# sourceMappingURL=testing.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.cts","names":[],"sources":["../../src/endpoints/MswEndpointAdaptor.ts","../../src/endpoints/TestEndpointAdaptor.ts","../../src/functions/TestFunctionAdaptor.ts","../../src/subscribers/TestSubscriberAdaptor.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;cAaa,mBAAA;;;;;;;;;AA4DO;AAmBpB;;;;AAI8D;AAkB9D;;;;;AAG0B;;;;AC9E1B;;;;AAGgB;AAwChB;;;;;;;;;;;AAYyD,UDrCxC,wBAAA,CCqCwC;EAAe;EAS5C,OACX,EAAA,MAAA;;;;;;;AASM,UD9CN,sBAAA,CC8CM;EAAe;EAAmC,QAQtE,CAAA,EDpDS,MCoDT,CAAA,MAAA,EAAA,OAAA,CAAA;EAAM;EACC,QACP,CAAA,EAAA,OAAA;EAAM;EACI,SACV,CAAA,EDpDU,OCoDV;EAAS;EACF,cACP,CAAA,EAAA,OAAA;;;;;AAKA,UDxCc,uBAAA,CCwCd;EAAY;EACH,QACT,EDxCQ,WCwCR,EAAA;EAAoB;EAdF,eAelB,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EDvCqC,sBCuCrC,EAAA,GAAA,IAAA;;;;;;;;;;;;;;;;;AA4BA,iBDjDa,iBAAA,CCiDb,SAAA,EDhDS,QCgDT,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,EAAA,OAAA,ED/CO,wBC+CP,CAAA,ED9CA,uBC8CA;;;;KA5HS;QACL;;WAEG;;cAwCG,2DAEI,2BACD,yCACI,4DACD,gCACF,SAAS,oDAED,uHAEF,6GAED,mCAAmC;EDjF5C,iBAAA,QAAmB;EA4Cf,QAAA,gBAAA;EAUA,OAAA,yBAAsB,CAAA,eAAA,MAAA,EAAA,gBCoCrB,UDpCqB,EAAA,eCqCtB,eDrCsB,GAAA,CAAA,CAAA,EAAA,mBCsClB,gBDtCkB,GAAA,SAAA,GAAA,SAAA,EAAA,kBCuCnB,ODvCmB,EAAA,GAAA,EAAA,EAAA,gBCwCrB,MDxCqB,GCwCZ,MDxCY,EAAA,WAAA,OAAA,EAAA,wBC0Cb,cD1Ca,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,mCAAA,MAAA,GAAA,MAAA,EAAA,sBC4Cf,YD5Ce,GAAA,SAAA,GAAA,SAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,qBC8ChB,eD9CgB,CAAA,MAAA,EAAA,OAAA,CAAA,GC8CmB,eD9CnB,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,YAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,CAAA,CAAA,SAAA,ECqD1B,QDrD0B,CCsDpC,MDtDoC,ECuDpC,ODvDoC,ECwDpC,MDxDoC,ECyDpC,UDzDoC,EC0DpC,SD1DoC,EC2DpC,OD3DoC,EC4DpC,QD5DoC,EC6DpC,eD7DoC,EC8DpC,0BD9DoC,EC+DpC,aD/DoC,ECgEpC,wBDhEoC,ECiEpC,YDjEoC,ECkEpC,SDlEoC,ECmEpC,oBDnEoC,CAAA,CAAA,ECoEpC,gBDpEoC,CAAA,GAAA,CAAA;EAAA,WAAA,CAAA,QAAA,ECyEV,QDzEU,CC0EpC,MD1EoC,EC2EpC,OD3EoC,EC4EpC,MD5EoC,EC6EpC,UD7EoC,EC8EpC,SD9EoC,EC+EpC,OD/EoC,ECgFpC,QDhFoC,ECiFpC,eDjFoC,ECkFpC,0BDlFoC,ECmFpC,aDnFoC,ECoFpC,wBDpFoC,ECqFpC,YDrFoC,ECsFpC,SDtFoC,ECuFpC,oBDvFoC,CAAA,EAAA,gBAAA,CAAA,ECyFX,gBDzFW,CAAA,GAAA,CAAA;EAAA,WAE3B,CAAA,GAAA,EC6FL,kBD7FK,CC8FT,MD9FS,EC+FT,SD/FS,ECgGT,eDhGS,ECiGT,0BDjGS,ECkGT,aDlGS,ECmGT,wBDnGS,ECoGT,SDpGS,ECqGT,oBDrGS,CAAA,CAAA,ECuGR,ODvGQ,CCuGA,gBDvGA,CCuGiB,mBDvGjB,CCuGqC,UDvGrC,CAAA,CAAA,CAAA;EAAM,OAIL,CAAA,GAAA,ECuSN,kBDvSM,CCwSV,MDxSU,ECySV,SDzSU,EC0SV,eD1SU,EC2SV,0BD3SU,EC4SV,aD5SU,EC6SV,wBD7SU,EC8SV,SD9SU,EC+SV,oBD/SU,CAAA,CAAA,ECiTT,ODjTS,CCiTD,mBDjTC,CCiTmB,UDjTnB,CAAA,CAAA;AAAO;AAmBpB;;;KCuSK,uBDnSmC,CAAA,sBCoSjB,YDpSiB,GAAA,SAAA,GAAA,SAAA,CAAA,GCqSpC,aDrSoC,SAAA,SAAA,GAAA,CAAA,CAAA,GAAA;EAAsB;EAkB9C,cAAA,ECuRG,aDvRc;CAAA;;;;AAGP,KC0RrB,mBD1RqB,CAAA,YAAA,SAAA,CAAA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"}
|
|
@@ -1,14 +1,177 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
8
|
-
import "
|
|
9
|
-
import "
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { HttpMethod } from "../types-BA3eK4xj.mjs";
|
|
2
|
+
import "../Construct-D0n7QTaI.mjs";
|
|
3
|
+
import { Function } from "../index-Cq4fz8uM.mjs";
|
|
4
|
+
import { Endpoint, EndpointSchemas } from "../Endpoint-NvjIednd.mjs";
|
|
5
|
+
import { Subscriber } from "../Subscriber-Tft61-YG.mjs";
|
|
6
|
+
import { Service, ServiceDiscovery, ServiceRecord } from "@geekmidas/services";
|
|
7
|
+
import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
|
|
8
|
+
import { HttpHandler } from "msw";
|
|
9
|
+
import { EventPublisher, ExtractPublisherMessage } from "@geekmidas/events";
|
|
10
|
+
import { Logger } from "@geekmidas/logger";
|
|
11
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
12
|
+
import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
|
|
13
|
+
|
|
14
|
+
//#region src/endpoints/MswEndpointAdaptor.d.ts
|
|
15
|
+
/**
|
|
16
|
+
* Header used to identify which test context a request belongs to.
|
|
17
|
+
* Each concurrent test registers its own context (services, db transaction, etc.)
|
|
18
|
+
* and the MSW handler looks it up by this header value.
|
|
19
|
+
*/
|
|
20
|
+
declare const TEST_CONTEXT_HEADER = "x-test-context-id";
|
|
21
|
+
/**
|
|
22
|
+
* Per-test context containing an isolated ServiceDiscovery instance.
|
|
23
|
+
* Registered in the context map and looked up per-request via the context ID header.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Options for creating MSW handlers from endpoint constructs.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import { createMswHandlers, registerTestContext } from '@geekmidas/constructs/testing';
|
|
32
|
+
* import { setupServer } from 'msw/node';
|
|
33
|
+
*
|
|
34
|
+
* // Create handlers once (global)
|
|
35
|
+
* const { handlers, registerContext, removeContext } = createMswHandlers(
|
|
36
|
+
* [getUsers, createUser],
|
|
37
|
+
* { baseURL: 'http://localhost:3000' },
|
|
38
|
+
* );
|
|
39
|
+
* const server = setupServer(...handlers);
|
|
40
|
+
*
|
|
41
|
+
* // Per test: register an isolated context with its own services/transaction
|
|
42
|
+
* it('should list users', async ({ db }) => {
|
|
43
|
+
* const contextId = crypto.randomUUID();
|
|
44
|
+
* registerContext(contextId, {
|
|
45
|
+
* services: { database: db, auth: mockAuth },
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* const api = createApi({
|
|
49
|
+
* baseURL: 'http://localhost:3000',
|
|
50
|
+
* headers: { [TEST_CONTEXT_HEADER]: contextId },
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* const result = await api('GET /users');
|
|
54
|
+
* expect(result).toBeDefined();
|
|
55
|
+
*
|
|
56
|
+
* removeContext(contextId);
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
interface CreateMswHandlersOptions {
|
|
61
|
+
/** Base URL the client fetches from (e.g., 'http://localhost:3000') */
|
|
62
|
+
baseURL: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Options for registering a per-test context.
|
|
66
|
+
* Follows the same pattern as TestRequestAdaptor — services, database,
|
|
67
|
+
* publisher, and auditorStorage are provided explicitly.
|
|
68
|
+
*/
|
|
69
|
+
interface RegisterContextOptions {
|
|
70
|
+
/** Service instances keyed by serviceName */
|
|
71
|
+
services?: Record<string, unknown>;
|
|
72
|
+
/** Database instance — required when endpoints use .database() */
|
|
73
|
+
database?: unknown;
|
|
74
|
+
/** Event publisher service definition */
|
|
75
|
+
publisher?: Service;
|
|
76
|
+
/** Audit storage instance — required when endpoints use .auditor() */
|
|
77
|
+
auditorStorage?: unknown;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Result of creating MSW handlers from endpoint constructs.
|
|
81
|
+
*/
|
|
82
|
+
interface CreateMswHandlersResult {
|
|
83
|
+
/** MSW handlers to pass to setupServer() */
|
|
84
|
+
handlers: HttpHandler[];
|
|
85
|
+
/** Register an isolated context for a test */
|
|
86
|
+
registerContext: (id: string, options: RegisterContextOptions) => void;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Creates MSW HTTP handlers from endpoint constructs.
|
|
90
|
+
*
|
|
91
|
+
* Mounts endpoints on a Hono app and creates MSW handlers that intercept
|
|
92
|
+
* fetch requests and route them through `app.request()` — giving frontend
|
|
93
|
+
* tests full endpoint behavior (validation, auth, sessions) without HTTP.
|
|
94
|
+
*
|
|
95
|
+
* Each test registers its own isolated context via `registerContext()`,
|
|
96
|
+
* which is resolved per-request using the `x-test-context-id` header.
|
|
97
|
+
* This allows concurrent tests with their own transactions and services.
|
|
98
|
+
*
|
|
99
|
+
* @param endpoints - Array of endpoint constructs to create handlers for
|
|
100
|
+
* @param options - Configuration including baseURL
|
|
101
|
+
* @returns MSW handlers, the Hono app, and context management functions
|
|
102
|
+
*/
|
|
103
|
+
declare function createMswHandlers(endpoints: Endpoint<any, any, any, any, any, any>[], options: CreateMswHandlersOptions): CreateMswHandlersResult;
|
|
104
|
+
//# sourceMappingURL=MswEndpointAdaptor.d.ts.map
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/endpoints/TestEndpointAdaptor.d.ts
|
|
107
|
+
type TestHttpResponse<TBody = any> = {
|
|
108
|
+
body: TBody;
|
|
109
|
+
status: number;
|
|
110
|
+
headers: Record<string, string | string[]>;
|
|
111
|
+
};
|
|
112
|
+
declare class TestEndpointAdaptor<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> {
|
|
113
|
+
private readonly endpoint;
|
|
114
|
+
private serviceDiscovery;
|
|
115
|
+
static getDefaultServiceDiscover<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TSession = unknown, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string>(_endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>): any;
|
|
116
|
+
constructor(endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>, serviceDiscovery?: ServiceDiscovery<any>);
|
|
117
|
+
fullRequest(ctx: TestRequestAdaptor<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName>): Promise<TestHttpResponse<InferStandardSchema<TOutSchema>>>;
|
|
118
|
+
request(ctx: TestRequestAdaptor<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName>): Promise<InferStandardSchema<TOutSchema>>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Conditional audit storage requirement - required when TAuditStorage is configured
|
|
122
|
+
*/
|
|
123
|
+
type AuditStorageRequirement<TAuditStorage extends AuditStorage | undefined = undefined> = TAuditStorage extends undefined ? {} : {
|
|
124
|
+
/** Audit storage instance - required when endpoint uses .auditor() */
|
|
125
|
+
auditorStorage: TAuditStorage;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Conditional database requirement - required when TDatabase is configured
|
|
129
|
+
*/
|
|
130
|
+
type DatabaseRequirement<TDatabase = undefined> = TDatabase extends undefined ? {} : {
|
|
131
|
+
/** Database instance - required when endpoint uses .database() */
|
|
132
|
+
database: TDatabase;
|
|
133
|
+
};
|
|
134
|
+
type TestRequestAdaptor<TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, _TAuditStorageServiceName extends string = string, TDatabase = undefined, _TDatabaseServiceName extends string = string> = {
|
|
135
|
+
services: ServiceRecord<TServices>;
|
|
136
|
+
headers: Record<string, string>;
|
|
137
|
+
publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
|
|
138
|
+
} & InferComposableStandardSchema<TInput> & AuditStorageRequirement<TAuditStorage> & DatabaseRequirement<TDatabase>;
|
|
139
|
+
//#endregion
|
|
140
|
+
//#region src/functions/TestFunctionAdaptor.d.ts
|
|
141
|
+
declare class TestFunctionAdaptor<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
|
|
142
|
+
private readonly fn;
|
|
143
|
+
private serviceDiscovery;
|
|
144
|
+
static getDefaultServiceDiscovery<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>>(_fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>): any;
|
|
145
|
+
constructor(fn: Function<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, any>, serviceDiscovery?: ServiceDiscovery<any>);
|
|
146
|
+
invoke(ctx: TestFunctionRequest<TInput, TServices, TEventPublisher, TEventPublisherServiceName, TDatabase, TAuditAction>): Promise<InferStandardSchema<TOutSchema>>;
|
|
147
|
+
}
|
|
148
|
+
type TestFunctionRequest<TInput extends ComposableStandardSchema | undefined = undefined, TServices extends Service[] = [], TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TDatabase = undefined, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> = {
|
|
149
|
+
input: InferComposableStandardSchema<TInput>;
|
|
150
|
+
services: ServiceRecord<TServices>;
|
|
151
|
+
publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
|
|
152
|
+
db?: TDatabase;
|
|
153
|
+
auditor?: Auditor<TAuditAction>;
|
|
154
|
+
} & InferComposableStandardSchema<{
|
|
155
|
+
input: TInput;
|
|
156
|
+
}>;
|
|
157
|
+
//# sourceMappingURL=TestFunctionAdaptor.d.ts.map
|
|
158
|
+
//#endregion
|
|
159
|
+
//#region src/subscribers/TestSubscriberAdaptor.d.ts
|
|
160
|
+
type ExtractEventPayloads<TPublisher extends EventPublisher<any> | undefined, TEventTypes extends any[]> = TPublisher extends EventPublisher<any> ? Extract<ExtractPublisherMessage<TPublisher>, {
|
|
161
|
+
type: TEventTypes[number];
|
|
162
|
+
}> : never;
|
|
163
|
+
declare class TestSubscriberAdaptor<TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TSubscribedEvents extends ExtractPublisherMessage<TEventPublisher>['type'][] = ExtractPublisherMessage<TEventPublisher>['type'][]> {
|
|
164
|
+
private readonly subscriber;
|
|
165
|
+
private serviceDiscovery;
|
|
166
|
+
static getDefaultServiceDiscovery(): any;
|
|
167
|
+
constructor(subscriber: Subscriber<TServices, TLogger, OutSchema, TEventPublisher, TEventPublisherServiceName, TSubscribedEvents>, serviceDiscovery?: ServiceDiscovery<any>);
|
|
168
|
+
invoke(request: TestSubscriberRequest<TEventPublisher, TSubscribedEvents, TServices>): Promise<InferStandardSchema<OutSchema>>;
|
|
169
|
+
private filterEvents;
|
|
170
|
+
}
|
|
171
|
+
type TestSubscriberRequest<TEventPublisher extends EventPublisher<any> | undefined = undefined, TSubscribedEvents extends any[] = [], TServices extends Service[] = []> = {
|
|
172
|
+
events: ExtractEventPayloads<TEventPublisher, TSubscribedEvents>[];
|
|
173
|
+
services?: ServiceRecord<TServices>;
|
|
174
|
+
};
|
|
175
|
+
//#endregion
|
|
176
|
+
export { CreateMswHandlersOptions, CreateMswHandlersResult, RegisterContextOptions, TEST_CONTEXT_HEADER, TestEndpointAdaptor, TestFunctionAdaptor, TestSubscriberAdaptor, createMswHandlers };
|
|
177
|
+
//# sourceMappingURL=testing.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.mts","names":[],"sources":["../../src/endpoints/MswEndpointAdaptor.ts","../../src/endpoints/TestEndpointAdaptor.ts","../../src/functions/TestFunctionAdaptor.ts","../../src/subscribers/TestSubscriberAdaptor.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;cAaa,mBAAA;;;;;;;;;AA4DO;AAmBpB;;;;AAI8D;AAkB9D;;;;;AAG0B;;;;AC9E1B;;;;AAGgB;AAwChB;;;;;;;;;;;AAYyD,UDrCxC,wBAAA,CCqCwC;EAAe;EAS5C,OACX,EAAA,MAAA;;;;;;;AASM,UD9CN,sBAAA,CC8CM;EAAe;EAAmC,QAQtE,CAAA,EDpDS,MCoDT,CAAA,MAAA,EAAA,OAAA,CAAA;EAAM;EACC,QACP,CAAA,EAAA,OAAA;EAAM;EACI,SACV,CAAA,EDpDU,OCoDV;EAAS;EACF,cACP,CAAA,EAAA,OAAA;;;;;AAKA,UDxCc,uBAAA,CCwCd;EAAY;EACH,QACT,EDxCQ,WCwCR,EAAA;EAAoB;EAdF,eAqBlB,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,OAAA,ED7CqC,sBC6CrC,EAAA,GAAA,IAAA;;;;;;;;;;;;;;;;;AAuBA,iBDlDa,iBAAA,CCkDb,SAAA,EDjDS,QCiDT,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAAA,EAAA,OAAA,EDhDO,wBCgDP,CAAA,ED/CA,uBC+CA;;;;KA7HS;QACL;;WAEG;;cAwCG,2DAEI,2BACD,yCACI,4DACD,gCACF,SAAS,oDAED,uHAEF,6GAED,mCAAmC;EDjF5C,iBAAA,QAAmB;EA4Cf,QAAA,gBAAA;EAUA,OAAA,yBAAsB,CAAA,eAAA,MAAA,EAAA,gBCoCrB,UDpCqB,EAAA,eCqCtB,eDrCsB,GAAA,CAAA,CAAA,EAAA,mBCsClB,gBDtCkB,GAAA,SAAA,GAAA,SAAA,EAAA,kBCuCnB,ODvCmB,EAAA,GAAA,EAAA,EAAA,gBCwCrB,MDxCqB,GCwCZ,MDxCY,EAAA,WAAA,OAAA,EAAA,wBC0Cb,cD1Ca,CAAA,GAAA,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,mCAAA,MAAA,GAAA,MAAA,EAAA,sBC4Cf,YD5Ce,GAAA,SAAA,GAAA,SAAA,EAAA,iCAAA,MAAA,GAAA,MAAA,EAAA,qBC8ChB,eD9CgB,CAAA,MAAA,EAAA,OAAA,CAAA,GC8CmB,eD9CnB,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,YAAA,SAAA,EAAA,6BAAA,MAAA,GAAA,MAAA,CAAA,CAAA,SAAA,ECqD1B,QDrD0B,CCsDpC,MDtDoC,ECuDpC,ODvDoC,ECwDpC,MDxDoC,ECyDpC,UDzDoC,EC0DpC,SD1DoC,EC2DpC,OD3DoC,EC4DpC,QD5DoC,EC6DpC,eD7DoC,EC8DpC,0BD9DoC,EC+DpC,aD/DoC,ECgEpC,wBDhEoC,ECiEpC,YDjEoC,ECkEpC,SDlEoC,ECmEpC,oBDnEoC,CAAA,CAAA,EAAA,GAAA;EAAA,WAAA,CAAA,QAAA,ECyEV,QDzEU,CC0EpC,MD1EoC,EC2EpC,OD3EoC,EC4EpC,MD5EoC,EC6EpC,UD7EoC,EC8EpC,SD9EoC,EC+EpC,OD/EoC,ECgFpC,QDhFoC,ECiFpC,eDjFoC,ECkFpC,0BDlFoC,ECmFpC,aDnFoC,ECoFpC,wBDpFoC,ECqFpC,YDrFoC,ECsFpC,SDtFoC,ECuFpC,oBDvFoC,CAAA,EAAA,gBAAA,CAAA,ECyFX,gBDzFW,CAAA,GAAA,CAAA;EAAA,WAE3B,CAAA,GAAA,EC6FL,kBD7FK,CC8FT,MD9FS,EC+FT,SD/FS,ECgGT,eDhGS,ECiGT,0BDjGS,ECkGT,aDlGS,ECmGT,wBDnGS,ECoGT,SDpGS,ECqGT,oBDrGS,CAAA,CAAA,ECuGR,ODvGQ,CCuGA,gBDvGA,CCuGiB,mBDvGjB,CCuGqC,UDvGrC,CAAA,CAAA,CAAA;EAAM,OAIL,CAAA,GAAA,ECuSN,kBDvSM,CCwSV,MDxSU,ECySV,SDzSU,EC0SV,eD1SU,EC2SV,0BD3SU,EC4SV,aD5SU,EC6SV,wBD7SU,EC8SV,SD9SU,EC+SV,oBD/SU,CAAA,CAAA,ECiTT,ODjTS,CCiTD,mBDjTC,CCiTmB,UDjTnB,CAAA,CAAA;AAAO;AAmBpB;;;KCuSK,uBDnSmC,CAAA,sBCoSjB,YDpSiB,GAAA,SAAA,GAAA,SAAA,CAAA,GCqSpC,aDrSoC,SAAA,SAAA,GAAA,CAAA,CAAA,GAAA;EAAsB;EAkB9C,cAAA,ECuRG,aDvRc;CAAA;;;;AAGP,KC0RrB,mBD1RqB,CAAA,YAAA,SAAA,CAAA,GC0RwB,SD1RxB,SAAA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"}
|