@geekmidas/constructs 9.0.2 → 10.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -44
- package/dist/{AWSScheduledFunction-Bn99MceY.d.cts → AWSScheduledFunction-9bJS4WdJ.d.cts} +8 -3
- package/dist/{AWSScheduledFunction-ysaCsdWx.d.mts.map → AWSScheduledFunction-9bJS4WdJ.d.cts.map} +1 -1
- package/dist/{AWSScheduledFunction-CufMMhGB.mjs → AWSScheduledFunction-BJjj8B5V.mjs} +3 -3
- package/dist/{AWSScheduledFunction-CufMMhGB.mjs.map → AWSScheduledFunction-BJjj8B5V.mjs.map} +1 -1
- package/dist/{AWSScheduledFunction-ysaCsdWx.d.mts → AWSScheduledFunction-BO5iEMSh.d.mts} +9 -4
- package/dist/{AWSScheduledFunction-Bn99MceY.d.cts.map → AWSScheduledFunction-BO5iEMSh.d.mts.map} +1 -1
- package/dist/{AWSScheduledFunction-DbkDr8CA.cjs → AWSScheduledFunction-qu4ieRZR.cjs} +9 -9
- package/dist/{AWSScheduledFunction-DbkDr8CA.cjs.map → AWSScheduledFunction-qu4ieRZR.cjs.map} +1 -1
- package/dist/{Construct-_1wX7p_Y.d.cts → Construct-B-xc0SE9.d.mts} +27 -5
- package/dist/Construct-B-xc0SE9.d.mts.map +1 -0
- package/dist/{Construct-r0U2zBwW.mjs → Construct-CdhThxDI.mjs} +3 -2
- package/dist/Construct-CdhThxDI.mjs.map +1 -0
- package/dist/{Construct-DCMuYOox.d.mts → Construct-WhCXIOPV.d.cts} +29 -7
- package/dist/Construct-WhCXIOPV.d.cts.map +1 -0
- package/dist/{Construct-vXMZJgRp.cjs → Construct-roId57cU.cjs} +7 -43
- package/dist/Construct-roId57cU.cjs.map +1 -0
- package/dist/{lazyAccessors-DmTG8sQH.cjs → Endpoint-BBkV6l0k.cjs} +869 -1079
- package/dist/Endpoint-BBkV6l0k.cjs.map +1 -0
- package/dist/{Endpoint-DgfRslct.d.cts → Endpoint-BKR5QH6O.d.mts} +57 -8
- package/dist/Endpoint-BKR5QH6O.d.mts.map +1 -0
- package/dist/{Endpoint-CLPSIl6S.d.mts → Endpoint-BQ9O0P1w.d.cts} +58 -9
- package/dist/Endpoint-BQ9O0P1w.d.cts.map +1 -0
- package/dist/{lazyAccessors-DfqZR6C4.mjs → Endpoint-BTj58Gob.mjs} +840 -1003
- package/dist/Endpoint-BTj58Gob.mjs.map +1 -0
- package/dist/EndpointFactory-BejSTzbB.mjs +808 -0
- package/dist/EndpointFactory-BejSTzbB.mjs.map +1 -0
- package/dist/EndpointFactory-DYoGLaIT.cjs +850 -0
- package/dist/EndpointFactory-DYoGLaIT.cjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-DJDT3PMx.mjs → HonoEndpointAdaptor-7aYNdqJq.mjs} +5 -4
- package/dist/HonoEndpointAdaptor-7aYNdqJq.mjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-CkJENANP.cjs → HonoEndpointAdaptor-wMsCyMgt.cjs} +24 -23
- package/dist/HonoEndpointAdaptor-wMsCyMgt.cjs.map +1 -0
- package/dist/{Queue-DaxjwmOQ.d.cts → Queue-D6WeziRD.d.cts} +43 -4
- package/dist/Queue-D6WeziRD.d.cts.map +1 -0
- package/dist/{Queue-HBDf0fqz.d.mts → Queue-DpUeqdC8.d.mts} +43 -4
- package/dist/Queue-DpUeqdC8.d.mts.map +1 -0
- package/dist/{Subscriber-B69ngPwl.d.cts → Subscriber-4rBJgDKI.d.mts} +9 -4
- package/dist/{Subscriber-B69ngPwl.d.cts.map → Subscriber-4rBJgDKI.d.mts.map} +1 -1
- package/dist/{Subscriber-D8Xm-86W.d.mts → Subscriber-DVQowdyj.d.cts} +11 -6
- package/dist/Subscriber-DVQowdyj.d.cts.map +1 -0
- package/dist/{Topic-C5ZMfveW.d.cts → Topic-Ohx9dvWr.d.cts} +33 -2
- package/dist/Topic-Ohx9dvWr.d.cts.map +1 -0
- package/dist/{Topic-DT10AqHk.d.mts → Topic-cmy2jOUy.d.mts} +33 -2
- package/dist/Topic-cmy2jOUy.d.mts.map +1 -0
- package/dist/adaptors/aws.cjs +39 -26
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +24 -16
- package/dist/adaptors/aws.d.cts.map +1 -1
- package/dist/adaptors/aws.d.mts +25 -17
- package/dist/adaptors/aws.d.mts.map +1 -1
- package/dist/adaptors/aws.mjs +26 -14
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/hono.cjs +9 -6
- package/dist/adaptors/hono.d.cts +7 -6
- package/dist/adaptors/hono.d.cts.map +1 -1
- package/dist/adaptors/hono.d.mts +8 -7
- package/dist/adaptors/hono.d.mts.map +1 -1
- package/dist/adaptors/hono.mjs +9 -6
- package/dist/adaptors/testing.cjs +18 -14
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +7 -6
- package/dist/adaptors/testing.d.cts.map +1 -1
- package/dist/adaptors/testing.d.mts +11 -10
- package/dist/adaptors/testing.d.mts.map +1 -1
- package/dist/adaptors/testing.mjs +10 -7
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/auth.cjs +165 -0
- package/dist/auth.cjs.map +1 -0
- package/dist/auth.d.cts +108 -0
- package/dist/auth.d.cts.map +1 -0
- package/dist/auth.d.mts +108 -0
- package/dist/auth.d.mts.map +1 -0
- package/dist/auth.mjs +164 -0
- package/dist/auth.mjs.map +1 -0
- package/dist/cache-0ANvRQnD.mjs +51 -0
- package/dist/cache-0ANvRQnD.mjs.map +1 -0
- package/dist/cache-3WSvAulx.cjs +57 -0
- package/dist/cache-3WSvAulx.cjs.map +1 -0
- package/dist/cache-CdQ7OLpR.d.cts +47 -0
- package/dist/cache-CdQ7OLpR.d.cts.map +1 -0
- package/dist/cache-DYoJFcfd.d.mts +47 -0
- package/dist/cache-DYoJFcfd.d.mts.map +1 -0
- package/dist/cache.cjs +3 -0
- package/dist/cache.d.cts +3 -0
- package/dist/cache.d.mts +3 -0
- package/dist/cache.mjs +3 -0
- package/dist/chunk-DWy1uDak.cjs +39 -0
- package/dist/clone-DblgEZZa.mjs +39 -0
- package/dist/clone-DblgEZZa.mjs.map +1 -0
- package/dist/clone-Dy0cR2SZ.cjs +45 -0
- package/dist/clone-Dy0cR2SZ.cjs.map +1 -0
- package/dist/construct-interface-BfjcOD_E.cjs +117 -0
- package/dist/construct-interface-BfjcOD_E.cjs.map +1 -0
- package/dist/construct-interface-BqwRNYA2.d.mts +131 -0
- package/dist/construct-interface-BqwRNYA2.d.mts.map +1 -0
- package/dist/construct-interface-D2nNkHUN.d.cts +131 -0
- package/dist/construct-interface-D2nNkHUN.d.cts.map +1 -0
- package/dist/construct-interface-Z4CpS8tK.mjs +81 -0
- package/dist/construct-interface-Z4CpS8tK.mjs.map +1 -0
- package/dist/construct-interface.cjs +8 -0
- package/dist/construct-interface.d.cts +2 -0
- package/dist/construct-interface.d.mts +2 -0
- package/dist/construct-interface.mjs +3 -0
- package/dist/credential.cjs +96 -0
- package/dist/credential.cjs.map +1 -0
- package/dist/credential.d.cts +61 -0
- package/dist/credential.d.cts.map +1 -0
- package/dist/credential.d.mts +61 -0
- package/dist/credential.d.mts.map +1 -0
- package/dist/credential.mjs +94 -0
- package/dist/credential.mjs.map +1 -0
- package/dist/crons/index.cjs +39 -37
- package/dist/crons/index.cjs.map +1 -1
- package/dist/crons/index.d.cts +21 -8
- package/dist/crons/index.d.cts.map +1 -1
- package/dist/crons/index.d.mts +29 -13
- package/dist/crons/index.d.mts.map +1 -1
- package/dist/crons/index.mjs +37 -36
- package/dist/crons/index.mjs.map +1 -1
- package/dist/database/kysely.cjs +181 -0
- package/dist/database/kysely.cjs.map +1 -0
- package/dist/database/kysely.d.cts +152 -0
- package/dist/database/kysely.d.cts.map +1 -0
- package/dist/database/kysely.d.mts +152 -0
- package/dist/database/kysely.d.mts.map +1 -0
- package/dist/database/kysely.mjs +180 -0
- package/dist/database/kysely.mjs.map +1 -0
- package/dist/email.cjs +59 -0
- package/dist/email.cjs.map +1 -0
- package/dist/email.d.cts +50 -0
- package/dist/email.d.cts.map +1 -0
- package/dist/email.d.mts +50 -0
- package/dist/email.d.mts.map +1 -0
- package/dist/email.mjs +58 -0
- package/dist/email.mjs.map +1 -0
- package/dist/endpoints/index.cjs +21 -747
- package/dist/endpoints/index.d.cts +7 -343
- package/dist/endpoints/index.d.mts +7 -342
- package/dist/endpoints/index.mjs +11 -738
- package/dist/file-server.cjs +154 -0
- package/dist/file-server.cjs.map +1 -0
- package/dist/file-server.d.cts +156 -0
- package/dist/file-server.d.cts.map +1 -0
- package/dist/file-server.d.mts +156 -0
- package/dist/file-server.d.mts.map +1 -0
- package/dist/file-server.mjs +152 -0
- package/dist/file-server.mjs.map +1 -0
- package/dist/functions/index.cjs +4 -2
- package/dist/functions/index.d.cts +3 -2
- package/dist/functions/index.d.mts +3 -2
- package/dist/functions/index.mjs +4 -2
- package/dist/{functions-B-qt91O7.mjs → functions-Cpff1uZH.mjs} +55 -51
- package/dist/functions-Cpff1uZH.mjs.map +1 -0
- package/dist/{functions-C8i1kCMM.cjs → functions-DukjG8ov.cjs} +62 -57
- package/dist/functions-DukjG8ov.cjs.map +1 -0
- package/dist/{index-BVs9DvIj.d.cts → index-BTvozlUD.d.cts} +36 -9
- package/dist/index-BTvozlUD.d.cts.map +1 -0
- package/dist/index-Cvz551AO.d.mts +419 -0
- package/dist/index-Cvz551AO.d.mts.map +1 -0
- package/dist/index-D5zqAJ2e.d.cts +419 -0
- package/dist/index-D5zqAJ2e.d.cts.map +1 -0
- package/dist/{index-DP6fqv0I.d.mts → index-L7pz0R0T.d.mts} +48 -19
- package/dist/index-L7pz0R0T.d.mts.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-DM6HcXQk.mjs +175 -0
- package/dist/lazyAccessors-DM6HcXQk.mjs.map +1 -0
- package/dist/lazyAccessors-DrJj8NpA.cjs +223 -0
- package/dist/lazyAccessors-DrJj8NpA.cjs.map +1 -0
- package/dist/object-storage.cjs +48 -0
- package/dist/object-storage.cjs.map +1 -0
- package/dist/object-storage.d.cts +36 -0
- package/dist/object-storage.d.cts.map +1 -0
- package/dist/object-storage.d.mts +36 -0
- package/dist/object-storage.d.mts.map +1 -0
- package/dist/object-storage.mjs +47 -0
- package/dist/object-storage.mjs.map +1 -0
- package/dist/{processAudits-CKjjivyz.cjs → processAudits-Bc8rz6Ev.cjs} +3 -3
- package/dist/{processAudits-CKjjivyz.cjs.map → processAudits-Bc8rz6Ev.cjs.map} +1 -1
- package/dist/{processAudits-ySnizdMG.mjs → processAudits-D89tICM4.mjs} +1 -1
- package/dist/{processAudits-ySnizdMG.mjs.map → processAudits-D89tICM4.mjs.map} +1 -1
- package/dist/{publisher-BrFOF847.mjs → publisher-CGEo8UKD.mjs} +1 -1
- package/dist/{publisher-BrFOF847.mjs.map → publisher-CGEo8UKD.mjs.map} +1 -1
- package/dist/{publisher-lFQleddL.cjs → publisher-CqGsXB2X.cjs} +1 -1
- package/dist/{publisher-lFQleddL.cjs.map → publisher-CqGsXB2X.cjs.map} +1 -1
- package/dist/queue/index.cjs +92 -30
- package/dist/queue/index.cjs.map +1 -1
- package/dist/queue/index.d.cts +19 -4
- package/dist/queue/index.d.cts.map +1 -1
- package/dist/queue/index.d.mts +22 -6
- package/dist/queue/index.d.mts.map +1 -1
- package/dist/queue/index.mjs +90 -29
- package/dist/queue/index.mjs.map +1 -1
- package/dist/rest-api.cjs +187 -0
- package/dist/rest-api.cjs.map +1 -0
- package/dist/rest-api.d.cts +221 -0
- package/dist/rest-api.d.cts.map +1 -0
- package/dist/rest-api.d.mts +221 -0
- package/dist/rest-api.d.mts.map +1 -0
- package/dist/rest-api.mjs +186 -0
- package/dist/rest-api.mjs.map +1 -0
- package/dist/site.cjs +48 -0
- package/dist/site.cjs.map +1 -0
- package/dist/site.d.cts +101 -0
- package/dist/site.d.cts.map +1 -0
- package/dist/site.d.mts +101 -0
- package/dist/site.d.mts.map +1 -0
- package/dist/site.mjs +47 -0
- package/dist/site.mjs.map +1 -0
- package/dist/subscribers/index.cjs +35 -27
- package/dist/subscribers/index.cjs.map +1 -1
- package/dist/subscribers/index.d.cts +20 -5
- package/dist/subscribers/index.d.cts.map +1 -1
- package/dist/subscribers/index.d.mts +23 -7
- package/dist/subscribers/index.d.mts.map +1 -1
- package/dist/subscribers/index.mjs +34 -27
- package/dist/subscribers/index.mjs.map +1 -1
- package/dist/surfaceEnv-BFXEms2f.cjs +39 -0
- package/dist/surfaceEnv-BFXEms2f.cjs.map +1 -0
- package/dist/surfaceEnv-C3Ktahea.mjs +27 -0
- package/dist/surfaceEnv-C3Ktahea.mjs.map +1 -0
- package/dist/{telemetry-3vdxGn4q.d.mts → telemetry-C3L0iS28.d.cts} +2 -2
- package/dist/{telemetry-3vdxGn4q.d.mts.map → telemetry-C3L0iS28.d.cts.map} +1 -1
- package/dist/{telemetry-Dqx-D3F7.d.cts → telemetry-D7bVFLGi.d.mts} +2 -2
- package/dist/{telemetry-Dqx-D3F7.d.cts.map → telemetry-D7bVFLGi.d.mts.map} +1 -1
- package/dist/topic/index.cjs +56 -13
- package/dist/topic/index.cjs.map +1 -1
- package/dist/topic/index.d.cts +2 -2
- package/dist/topic/index.d.cts.map +1 -1
- package/dist/topic/index.d.mts +2 -2
- package/dist/topic/index.d.mts.map +1 -1
- package/dist/topic/index.mjs +54 -12
- package/dist/topic/index.mjs.map +1 -1
- package/dist/{types-BDNGr7pv.d.mts → types-BlAkSuGI.d.cts} +1 -1
- package/dist/{types-BDNGr7pv.d.mts.map → types-BlAkSuGI.d.cts.map} +1 -1
- package/dist/{types-BdAaYDvd.d.cts → types-aKksMEWL.d.mts} +1 -1
- package/dist/{types-BdAaYDvd.d.cts.map → types-aKksMEWL.d.mts.map} +1 -1
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +155 -23
- package/CHANGELOG.md +0 -396
- package/dist/Construct-DCMuYOox.d.mts.map +0 -1
- package/dist/Construct-_1wX7p_Y.d.cts.map +0 -1
- package/dist/Construct-r0U2zBwW.mjs.map +0 -1
- package/dist/Construct-vXMZJgRp.cjs.map +0 -1
- package/dist/Endpoint-CLPSIl6S.d.mts.map +0 -1
- package/dist/Endpoint-DgfRslct.d.cts.map +0 -1
- package/dist/HonoEndpointAdaptor-CkJENANP.cjs.map +0 -1
- package/dist/HonoEndpointAdaptor-DJDT3PMx.mjs.map +0 -1
- package/dist/Queue-DaxjwmOQ.d.cts.map +0 -1
- package/dist/Queue-HBDf0fqz.d.mts.map +0 -1
- package/dist/Subscriber-D8Xm-86W.d.mts.map +0 -1
- package/dist/Topic-C5ZMfveW.d.cts.map +0 -1
- package/dist/Topic-DT10AqHk.d.mts.map +0 -1
- package/dist/endpoints/index.cjs.map +0 -1
- package/dist/endpoints/index.d.cts.map +0 -1
- package/dist/endpoints/index.d.mts.map +0 -1
- package/dist/endpoints/index.mjs.map +0 -1
- package/dist/functions-B-qt91O7.mjs.map +0 -1
- package/dist/functions-C8i1kCMM.cjs.map +0 -1
- package/dist/index-BVs9DvIj.d.cts.map +0 -1
- package/dist/index-DP6fqv0I.d.mts.map +0 -1
- package/dist/lazyAccessors-DfqZR6C4.mjs.map +0 -1
- package/dist/lazyAccessors-DmTG8sQH.cjs.map +0 -1
- package/src/Construct.ts +0 -204
- package/src/__benchmarks__/build-time-optimization.bench.ts +0 -274
- package/src/__benchmarks__/endpoint.bench.ts +0 -494
- package/src/__benchmarks__/fixtures.ts +0 -241
- package/src/__benchmarks__/hono-adaptor.bench.ts +0 -533
- package/src/__benchmarks__/hono-server.bench.ts +0 -249
- package/src/__benchmarks__/response-builder.bench.ts +0 -428
- package/src/__benchmarks__/strategies/strategy-a-lazy-services.ts +0 -319
- package/src/__benchmarks__/strategies/strategy-c-middleware.ts +0 -530
- package/src/__benchmarks__/strategies/strategy-d-opt-in-events.ts +0 -567
- package/src/__tests__/Construct.environment.spec.ts +0 -704
- package/src/__tests__/publisher.setting.spec.ts +0 -508
- package/src/__tests__/publisher.spec.ts +0 -452
- package/src/adaptors/aws.ts +0 -6
- package/src/adaptors/hono.ts +0 -1
- package/src/adaptors/testing.ts +0 -11
- package/src/crons/AWSScheduledFunction.ts +0 -73
- package/src/crons/Cron.ts +0 -149
- package/src/crons/CronBuilder.ts +0 -271
- package/src/crons/__tests__/AWSScheduledFunction.spec.ts +0 -152
- package/src/crons/__tests__/Cron.spec.ts +0 -464
- package/src/crons/__tests__/CronBuilder.state-isolation.spec.ts +0 -227
- package/src/crons/index.ts +0 -12
- package/src/endpoints/AmazonApiGatewayEndpointAdaptor.ts +0 -677
- package/src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts +0 -105
- package/src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts +0 -97
- package/src/endpoints/Authorizer.ts +0 -152
- package/src/endpoints/Endpoint.ts +0 -1287
- package/src/endpoints/EndpointBuilder.ts +0 -758
- package/src/endpoints/EndpointFactory.ts +0 -1148
- package/src/endpoints/HonoEndpointAdaptor.ts +0 -677
- package/src/endpoints/MswEndpointAdaptor.ts +0 -226
- package/src/endpoints/TestEndpointAdaptor.ts +0 -422
- package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.audits.spec.ts +0 -499
- package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.events.spec.ts +0 -560
- package/src/endpoints/__tests__/AmazonApiGatewayV1EndpointAdaptor.spec.ts +0 -1304
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.audits.spec.ts +0 -626
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.events.spec.ts +0 -732
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.factory-publisher.spec.ts +0 -296
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.kysely-audit.integration.spec.ts +0 -951
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.responseType.spec.ts +0 -111
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.rls.spec.ts +0 -307
- package/src/endpoints/__tests__/AmazonApiGatewayV2EndpointAdaptor.spec.ts +0 -629
- package/src/endpoints/__tests__/Authorizer.spec.ts +0 -286
- package/src/endpoints/__tests__/Endpoint.cookies.spec.ts +0 -207
- package/src/endpoints/__tests__/Endpoint.headers.spec.ts +0 -187
- package/src/endpoints/__tests__/Endpoint.manifest.spec.ts +0 -175
- package/src/endpoints/__tests__/Endpoint.spec.ts +0 -857
- package/src/endpoints/__tests__/EndpointBuilder.audit.spec.ts +0 -448
- package/src/endpoints/__tests__/EndpointBuilder.responseType.spec.ts +0 -47
- package/src/endpoints/__tests__/EndpointBuilder.spec.ts +0 -523
- package/src/endpoints/__tests__/EndpointFactory.authorizers.spec.ts +0 -492
- package/src/endpoints/__tests__/EndpointFactory.database-auditor.spec.ts +0 -509
- package/src/endpoints/__tests__/EndpointFactory.reference-audit.spec.ts +0 -190
- package/src/endpoints/__tests__/EndpointFactory.spec.ts +0 -479
- package/src/endpoints/__tests__/EndpointFactory.state-isolation.spec.ts +0 -155
- package/src/endpoints/__tests__/HonoEndpointAdaptor.audit-transactions.spec.ts +0 -703
- package/src/endpoints/__tests__/HonoEndpointAdaptor.audits.spec.ts +0 -632
- package/src/endpoints/__tests__/HonoEndpointAdaptor.events.spec.ts +0 -577
- package/src/endpoints/__tests__/HonoEndpointAdaptor.kysely-audit.integration.spec.ts +0 -1067
- package/src/endpoints/__tests__/HonoEndpointAdaptor.openapi.spec.ts +0 -317
- package/src/endpoints/__tests__/HonoEndpointAdaptor.pgboss-publisher.spec.ts +0 -289
- package/src/endpoints/__tests__/HonoEndpointAdaptor.responseType.spec.ts +0 -128
- package/src/endpoints/__tests__/HonoEndpointAdaptor.spec.ts +0 -1207
- package/src/endpoints/__tests__/MswEndpointAdaptor.spec.ts +0 -211
- package/src/endpoints/__tests__/ResponseBuilder.spec.ts +0 -235
- package/src/endpoints/__tests__/TestEndpointAdaptor.audits.spec.ts +0 -602
- package/src/endpoints/__tests__/TestEndpointAdaptor.spec.ts +0 -1044
- package/src/endpoints/__tests__/__snapshots__/HonoEndpointAdaptor.spec.ts.snap +0 -54
- package/src/endpoints/__tests__/endpoint-types.test.ts +0 -88
- package/src/endpoints/__tests__/helpers.spec.ts +0 -37
- package/src/endpoints/__tests__/lazyAccessors.spec.ts +0 -330
- package/src/endpoints/__tests__/processAudits.spec.ts +0 -631
- package/src/endpoints/audit.ts +0 -87
- package/src/endpoints/helpers.ts +0 -98
- package/src/endpoints/index.ts +0 -42
- package/src/endpoints/lazyAccessors.ts +0 -241
- package/src/endpoints/parseHonoQuery.ts +0 -16
- package/src/endpoints/parseQueryParams.ts +0 -32
- package/src/endpoints/processAudits.ts +0 -371
- package/src/endpoints/rls.ts +0 -67
- package/src/functions/AWSLambdaFunction.ts +0 -348
- package/src/functions/BaseFunctionBuilder.ts +0 -201
- package/src/functions/Function.ts +0 -238
- package/src/functions/FunctionBuilder.ts +0 -391
- package/src/functions/FunctionExecutionWrapper.ts +0 -216
- package/src/functions/TestFunctionAdaptor.ts +0 -217
- package/src/functions/__tests__/AWSLambdaFunctionAdaptor.spec.ts +0 -513
- package/src/functions/__tests__/Function.audits.spec.ts +0 -393
- package/src/functions/__tests__/Function.spec.ts +0 -477
- package/src/functions/__tests__/FunctionBuilder.state-isolation.spec.ts +0 -207
- package/src/functions/__tests__/TestFunctionAdaptor.spec.ts +0 -480
- package/src/functions/index.ts +0 -12
- package/src/index.ts +0 -23
- package/src/publisher.ts +0 -93
- package/src/queue/AWSLambdaQueueAdaptor.ts +0 -162
- package/src/queue/Queue.ts +0 -128
- package/src/queue/QueueBuilder.ts +0 -115
- package/src/queue/TestQueueAdaptor.ts +0 -63
- package/src/queue/__tests__/QueueBuilder.spec.ts +0 -137
- package/src/queue/index.ts +0 -12
- package/src/subscribers/AWSLambdaSubscriberAdaptor.ts +0 -342
- package/src/subscribers/Subscriber.ts +0 -117
- package/src/subscribers/SubscriberBuilder.ts +0 -186
- package/src/subscribers/TestSubscriberAdaptor.ts +0 -133
- package/src/subscribers/__tests__/AWSLambdaSubscriberAdaptor.spec.ts +0 -1018
- package/src/subscribers/__tests__/Subscriber.spec.ts +0 -430
- package/src/subscribers/__tests__/TestSubscriberAdaptor.spec.ts +0 -652
- package/src/subscribers/index.ts +0 -6
- package/src/telemetry.ts +0 -103
- package/src/topic/Topic.ts +0 -103
- package/src/topic/TopicBuilder.ts +0 -51
- package/src/topic/__tests__/TopicBuilder.spec.ts +0 -82
- package/src/topic/index.ts +0 -11
- package/src/types.ts +0 -13
- package/test.ts +0 -91
- package/tsconfig.json +0 -9
- package/tsdown.config.ts +0 -34
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
import type { AuditableAction, Auditor, AuditStorage } from '@geekmidas/audit';
|
|
2
|
-
import type { EnvironmentParser } from '@geekmidas/envkit';
|
|
3
|
-
import { wrapError } from '@geekmidas/errors';
|
|
4
|
-
import type { EventPublisher } from '@geekmidas/events';
|
|
5
|
-
import type { Logger } from '@geekmidas/logger';
|
|
6
|
-
import type {
|
|
7
|
-
ComposableStandardSchema,
|
|
8
|
-
InferComposableStandardSchema,
|
|
9
|
-
InferStandardSchema,
|
|
10
|
-
} from '@geekmidas/schema';
|
|
11
|
-
import type { Service, ServiceRecord } from '@geekmidas/services';
|
|
12
|
-
import { runWithRequestContext } from '@geekmidas/services';
|
|
13
|
-
import middy, { type MiddlewareObj } from '@middy/core';
|
|
14
|
-
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
15
|
-
import type { Context, Handler } from 'aws-lambda';
|
|
16
|
-
import type { Function, FunctionHandler } from './Function';
|
|
17
|
-
import { FunctionBuilder } from './FunctionBuilder';
|
|
18
|
-
import { FunctionExecutionWrapper } from './FunctionExecutionWrapper';
|
|
19
|
-
|
|
20
|
-
export type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<
|
|
21
|
-
TEvent,
|
|
22
|
-
TResult
|
|
23
|
-
>;
|
|
24
|
-
|
|
25
|
-
type FunctionEvent<
|
|
26
|
-
TEvent,
|
|
27
|
-
TInput extends ComposableStandardSchema | undefined,
|
|
28
|
-
TServices extends Service[],
|
|
29
|
-
TLogger extends Logger,
|
|
30
|
-
TDatabase = undefined,
|
|
31
|
-
TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
|
|
32
|
-
string,
|
|
33
|
-
unknown
|
|
34
|
-
>,
|
|
35
|
-
> = TEvent & {
|
|
36
|
-
parsedInput: InferComposableStandardSchema<TInput>;
|
|
37
|
-
services: ServiceRecord<TServices>;
|
|
38
|
-
logger: TLogger;
|
|
39
|
-
db: TDatabase | undefined;
|
|
40
|
-
auditor: Auditor<TAuditAction> | undefined;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
type Middleware<
|
|
44
|
-
TEvent,
|
|
45
|
-
TInput extends ComposableStandardSchema | undefined,
|
|
46
|
-
TServices extends Service[],
|
|
47
|
-
TLogger extends Logger,
|
|
48
|
-
TOutSchema extends StandardSchemaV1 | undefined,
|
|
49
|
-
TDatabase = undefined,
|
|
50
|
-
TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
|
|
51
|
-
string,
|
|
52
|
-
unknown
|
|
53
|
-
>,
|
|
54
|
-
> = MiddlewareObj<
|
|
55
|
-
FunctionEvent<TEvent, TInput, TServices, TLogger, TDatabase, TAuditAction>,
|
|
56
|
-
InferComposableStandardSchema<TOutSchema>,
|
|
57
|
-
Error,
|
|
58
|
-
Context
|
|
59
|
-
>;
|
|
60
|
-
|
|
61
|
-
export class AWSLambdaFunction<
|
|
62
|
-
TInput extends ComposableStandardSchema | undefined = undefined,
|
|
63
|
-
TOutSchema extends StandardSchemaV1 | undefined = undefined,
|
|
64
|
-
TServices extends Service[] = [],
|
|
65
|
-
TLogger extends Logger = Logger,
|
|
66
|
-
TEventPublisher extends EventPublisher<any> | undefined = undefined,
|
|
67
|
-
TEventPublisherServiceName extends string = string,
|
|
68
|
-
TAuditStorage extends AuditStorage | undefined = undefined,
|
|
69
|
-
TAuditStorageServiceName extends string = string,
|
|
70
|
-
TDatabase = undefined,
|
|
71
|
-
TDatabaseServiceName extends string = string,
|
|
72
|
-
TAuditAction extends AuditableAction<string, unknown> = AuditableAction<
|
|
73
|
-
string,
|
|
74
|
-
unknown
|
|
75
|
-
>,
|
|
76
|
-
> extends FunctionExecutionWrapper<
|
|
77
|
-
TInput,
|
|
78
|
-
TOutSchema,
|
|
79
|
-
TServices,
|
|
80
|
-
TLogger,
|
|
81
|
-
TEventPublisher,
|
|
82
|
-
TEventPublisherServiceName,
|
|
83
|
-
TAuditStorage,
|
|
84
|
-
TAuditStorageServiceName,
|
|
85
|
-
TDatabase,
|
|
86
|
-
TDatabaseServiceName,
|
|
87
|
-
TAuditAction
|
|
88
|
-
> {
|
|
89
|
-
constructor(
|
|
90
|
-
envParser: EnvironmentParser<{}>,
|
|
91
|
-
override readonly fn: Function<
|
|
92
|
-
TInput,
|
|
93
|
-
TServices,
|
|
94
|
-
TLogger,
|
|
95
|
-
TOutSchema,
|
|
96
|
-
TEventPublisher,
|
|
97
|
-
TEventPublisherServiceName,
|
|
98
|
-
TAuditStorage,
|
|
99
|
-
TAuditStorageServiceName,
|
|
100
|
-
TDatabase,
|
|
101
|
-
TDatabaseServiceName,
|
|
102
|
-
TAuditAction,
|
|
103
|
-
FunctionHandler<
|
|
104
|
-
TInput,
|
|
105
|
-
TServices,
|
|
106
|
-
TLogger,
|
|
107
|
-
TOutSchema,
|
|
108
|
-
TDatabase,
|
|
109
|
-
TAuditStorage,
|
|
110
|
-
TAuditAction
|
|
111
|
-
>
|
|
112
|
-
>,
|
|
113
|
-
) {
|
|
114
|
-
super(envParser, fn);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
private error<TEvent>(): Middleware<
|
|
118
|
-
TEvent,
|
|
119
|
-
TInput,
|
|
120
|
-
TServices,
|
|
121
|
-
TLogger,
|
|
122
|
-
TOutSchema,
|
|
123
|
-
TDatabase,
|
|
124
|
-
TAuditAction
|
|
125
|
-
> {
|
|
126
|
-
return {
|
|
127
|
-
onError: (req) => {
|
|
128
|
-
const logger = req.event?.logger || this.fn.logger;
|
|
129
|
-
logger.error(req.error || {}, 'Error processing function');
|
|
130
|
-
|
|
131
|
-
// Re-throw the wrapped error to let Lambda handle it
|
|
132
|
-
throw wrapError(req.error);
|
|
133
|
-
},
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
private baseInput<TEvent>(): Middleware<
|
|
138
|
-
TEvent,
|
|
139
|
-
TInput,
|
|
140
|
-
TServices,
|
|
141
|
-
TLogger,
|
|
142
|
-
TOutSchema,
|
|
143
|
-
TDatabase,
|
|
144
|
-
TAuditAction
|
|
145
|
-
> {
|
|
146
|
-
return {
|
|
147
|
-
before: (_req) => {},
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
private input<
|
|
152
|
-
TEvent extends { input: InferComposableStandardSchema<TInput> },
|
|
153
|
-
>(): Middleware<
|
|
154
|
-
TEvent,
|
|
155
|
-
TInput,
|
|
156
|
-
TServices,
|
|
157
|
-
TLogger,
|
|
158
|
-
TOutSchema,
|
|
159
|
-
TDatabase,
|
|
160
|
-
TAuditAction
|
|
161
|
-
> {
|
|
162
|
-
return {
|
|
163
|
-
before: async (req) => {
|
|
164
|
-
try {
|
|
165
|
-
// Parse input if schema is provided
|
|
166
|
-
if (this.fn.input) {
|
|
167
|
-
const parsedInput =
|
|
168
|
-
await FunctionBuilder.parseComposableStandardSchema(
|
|
169
|
-
req.event,
|
|
170
|
-
this.fn.input,
|
|
171
|
-
);
|
|
172
|
-
|
|
173
|
-
req.event.parsedInput =
|
|
174
|
-
parsedInput as InferComposableStandardSchema<TInput>;
|
|
175
|
-
} else {
|
|
176
|
-
// If no schema, pass the event as-is
|
|
177
|
-
req.event.parsedInput = req.event as any;
|
|
178
|
-
}
|
|
179
|
-
} catch (error) {
|
|
180
|
-
this.logger.error(
|
|
181
|
-
{ error, event: req.event },
|
|
182
|
-
'Failed to parse input',
|
|
183
|
-
);
|
|
184
|
-
throw error;
|
|
185
|
-
}
|
|
186
|
-
},
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
private loggerMiddleware<TEvent>(): Middleware<
|
|
191
|
-
TEvent,
|
|
192
|
-
TInput,
|
|
193
|
-
TServices,
|
|
194
|
-
TLogger,
|
|
195
|
-
TOutSchema,
|
|
196
|
-
TDatabase,
|
|
197
|
-
TAuditAction
|
|
198
|
-
> {
|
|
199
|
-
return {
|
|
200
|
-
before: (req) => {
|
|
201
|
-
this._logger = this.fn.logger.child({
|
|
202
|
-
fn: {
|
|
203
|
-
name: req.context.functionName,
|
|
204
|
-
version: req.context.functionVersion,
|
|
205
|
-
memory: req.context.memoryLimitInMB,
|
|
206
|
-
},
|
|
207
|
-
req: {
|
|
208
|
-
id: req.context.awsRequestId,
|
|
209
|
-
},
|
|
210
|
-
}) as TLogger;
|
|
211
|
-
|
|
212
|
-
req.event.logger = this._logger;
|
|
213
|
-
},
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
private services<TEvent>(): Middleware<
|
|
218
|
-
TEvent,
|
|
219
|
-
TInput,
|
|
220
|
-
TServices,
|
|
221
|
-
TLogger,
|
|
222
|
-
TOutSchema,
|
|
223
|
-
TDatabase,
|
|
224
|
-
TAuditAction
|
|
225
|
-
> {
|
|
226
|
-
return {
|
|
227
|
-
before: async (req) => {
|
|
228
|
-
req.event.services = await this.getServices();
|
|
229
|
-
},
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
private database<TEvent>(): Middleware<
|
|
234
|
-
TEvent,
|
|
235
|
-
TInput,
|
|
236
|
-
TServices,
|
|
237
|
-
TLogger,
|
|
238
|
-
TOutSchema,
|
|
239
|
-
TDatabase,
|
|
240
|
-
TAuditAction
|
|
241
|
-
> {
|
|
242
|
-
return {
|
|
243
|
-
before: async (req) => {
|
|
244
|
-
req.event.db = await this.getDatabase();
|
|
245
|
-
},
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
private auditor<TEvent>(): Middleware<
|
|
250
|
-
TEvent,
|
|
251
|
-
TInput,
|
|
252
|
-
TServices,
|
|
253
|
-
TLogger,
|
|
254
|
-
TOutSchema,
|
|
255
|
-
TDatabase,
|
|
256
|
-
TAuditAction
|
|
257
|
-
> {
|
|
258
|
-
return {
|
|
259
|
-
before: async (req) => {
|
|
260
|
-
req.event.auditor = await this.createAuditor();
|
|
261
|
-
},
|
|
262
|
-
after: async (req) => {
|
|
263
|
-
// Flush any pending audits after successful execution
|
|
264
|
-
if (req.event.auditor) {
|
|
265
|
-
const records = req.event.auditor.getRecords();
|
|
266
|
-
if (records.length > 0) {
|
|
267
|
-
this.logger.debug(
|
|
268
|
-
{ auditCount: records.length },
|
|
269
|
-
'Flushing function audits',
|
|
270
|
-
);
|
|
271
|
-
await req.event.auditor.flush();
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
};
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
private events<TEvent>(): Middleware<
|
|
279
|
-
TEvent,
|
|
280
|
-
TInput,
|
|
281
|
-
TServices,
|
|
282
|
-
TLogger,
|
|
283
|
-
TOutSchema,
|
|
284
|
-
TDatabase,
|
|
285
|
-
TAuditAction
|
|
286
|
-
> {
|
|
287
|
-
return {
|
|
288
|
-
after: async (req) => {
|
|
289
|
-
const response = (req.response ||
|
|
290
|
-
undefined) as InferStandardSchema<TOutSchema>;
|
|
291
|
-
await this.publishEvents(response);
|
|
292
|
-
},
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
private async _handler<TEvent>(
|
|
297
|
-
event: FunctionEvent<
|
|
298
|
-
TEvent,
|
|
299
|
-
TInput,
|
|
300
|
-
TServices,
|
|
301
|
-
TLogger,
|
|
302
|
-
TDatabase,
|
|
303
|
-
TAuditAction
|
|
304
|
-
>,
|
|
305
|
-
) {
|
|
306
|
-
// Execute the function with the parsed context
|
|
307
|
-
const result = await this.fn.fn({
|
|
308
|
-
input: event.parsedInput,
|
|
309
|
-
services: event.services,
|
|
310
|
-
logger: event.logger,
|
|
311
|
-
db: event.db,
|
|
312
|
-
auditor: event.auditor,
|
|
313
|
-
} as any);
|
|
314
|
-
|
|
315
|
-
// Parse output if schema is provided
|
|
316
|
-
const output = await this.fn.parseOutput(result);
|
|
317
|
-
|
|
318
|
-
return output;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
get handler(): AWSLambdaHandler {
|
|
322
|
-
const handler = this._handler.bind(this);
|
|
323
|
-
|
|
324
|
-
// Apply middleware in order
|
|
325
|
-
const chain = middy(handler)
|
|
326
|
-
.use(this.loggerMiddleware())
|
|
327
|
-
.use(this.baseInput())
|
|
328
|
-
.use(this.error())
|
|
329
|
-
.use(this.services())
|
|
330
|
-
.use(this.database())
|
|
331
|
-
.use(this.auditor())
|
|
332
|
-
.use(this.input())
|
|
333
|
-
.use(this.events());
|
|
334
|
-
|
|
335
|
-
// Wrap entire Middy chain in request context for service access
|
|
336
|
-
const wrappedHandler = async (event: unknown, context: Context) => {
|
|
337
|
-
const startTime = Date.now();
|
|
338
|
-
const requestId = context.awsRequestId;
|
|
339
|
-
const logger = this.fn.logger.child({ requestId }) as TLogger;
|
|
340
|
-
|
|
341
|
-
return runWithRequestContext({ logger, requestId, startTime }, () =>
|
|
342
|
-
chain(event as Parameters<typeof chain>[0], context),
|
|
343
|
-
);
|
|
344
|
-
};
|
|
345
|
-
|
|
346
|
-
return wrappedHandler as unknown as AWSLambdaHandler;
|
|
347
|
-
}
|
|
348
|
-
}
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import type { AuditStorage } from '@geekmidas/audit';
|
|
2
|
-
import type { EventPublisher, MappedEvent } from '@geekmidas/events';
|
|
3
|
-
import type { Logger } from '@geekmidas/logger';
|
|
4
|
-
import { ConsoleLogger } from '@geekmidas/logger/console';
|
|
5
|
-
import type {
|
|
6
|
-
ComposableStandardSchema,
|
|
7
|
-
InferComposableStandardSchema,
|
|
8
|
-
} from '@geekmidas/schema';
|
|
9
|
-
import type { Service } from '@geekmidas/services';
|
|
10
|
-
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
11
|
-
import get from 'lodash.get';
|
|
12
|
-
import { ConstructType } from '../Construct';
|
|
13
|
-
|
|
14
|
-
const DEFAULT_LOGGER = new ConsoleLogger() as any;
|
|
15
|
-
|
|
16
|
-
export abstract class BaseFunctionBuilder<
|
|
17
|
-
TInput extends ComposableStandardSchema,
|
|
18
|
-
OutSchema extends StandardSchemaV1 | undefined = undefined,
|
|
19
|
-
TServices extends Service[] = [],
|
|
20
|
-
TLogger extends Logger = Logger,
|
|
21
|
-
TEventPublisher extends EventPublisher<any> | undefined = undefined,
|
|
22
|
-
TEventPublisherServiceName extends string = string,
|
|
23
|
-
TAuditStorage extends AuditStorage | undefined = undefined,
|
|
24
|
-
TAuditStorageServiceName extends string = string,
|
|
25
|
-
TDatabase = undefined,
|
|
26
|
-
TDatabaseServiceName extends string = string,
|
|
27
|
-
> {
|
|
28
|
-
protected inputSchema?: TInput;
|
|
29
|
-
protected outputSchema?: OutSchema;
|
|
30
|
-
protected _timeout?: number;
|
|
31
|
-
|
|
32
|
-
public _services: TServices = [] as Service[] as TServices;
|
|
33
|
-
public _logger: TLogger = DEFAULT_LOGGER;
|
|
34
|
-
|
|
35
|
-
protected _events: MappedEvent<TEventPublisher, OutSchema>[] = [];
|
|
36
|
-
protected _publisher?: Service<TEventPublisherServiceName, TEventPublisher>;
|
|
37
|
-
protected _auditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;
|
|
38
|
-
protected _databaseService?: Service<TDatabaseServiceName, TDatabase>;
|
|
39
|
-
|
|
40
|
-
static isStandardSchemaV1(s: unknown): s is StandardSchemaV1 {
|
|
41
|
-
const schema = (s as StandardSchemaV1)['~standard'];
|
|
42
|
-
|
|
43
|
-
return schema && typeof schema.validate === 'function';
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
static async parseComposableStandardSchema<
|
|
47
|
-
T extends ComposableStandardSchema | undefined,
|
|
48
|
-
>(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>> {
|
|
49
|
-
if (BaseFunctionBuilder.isStandardSchemaV1(schema)) {
|
|
50
|
-
const validated = await schema['~standard'].validate(data);
|
|
51
|
-
|
|
52
|
-
if (validated.issues) {
|
|
53
|
-
throw validated.issues;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return validated.value as InferComposableStandardSchema<T>;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const result: any = {};
|
|
60
|
-
for (const key in schema) {
|
|
61
|
-
const item = schema[key];
|
|
62
|
-
if (BaseFunctionBuilder.isStandardSchemaV1(item)) {
|
|
63
|
-
const value = get(data, key);
|
|
64
|
-
const validated = await item['~standard'].validate(value);
|
|
65
|
-
|
|
66
|
-
if (validated.issues) {
|
|
67
|
-
throw validated.issues;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
result[key] = validated.value;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return result as InferComposableStandardSchema<T>;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
constructor(public type = ConstructType.Function) {}
|
|
78
|
-
|
|
79
|
-
abstract services<T extends Service[]>(services: T): any;
|
|
80
|
-
|
|
81
|
-
abstract logger<T extends Logger>(logger: T): any;
|
|
82
|
-
|
|
83
|
-
timeout(timeout: number): this {
|
|
84
|
-
this._timeout = timeout;
|
|
85
|
-
return this;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
abstract output<T extends StandardSchemaV1>(schema: T): any;
|
|
89
|
-
|
|
90
|
-
abstract input<T extends ComposableStandardSchema>(schema: T): any;
|
|
91
|
-
|
|
92
|
-
event<TEvent extends MappedEvent<TEventPublisher, OutSchema>>(
|
|
93
|
-
event: TEvent,
|
|
94
|
-
): this {
|
|
95
|
-
this._events.push(event);
|
|
96
|
-
return this;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
publisher<T extends EventPublisher<any>, TName extends string>(
|
|
100
|
-
publisher: Service<TName, T>,
|
|
101
|
-
): BaseFunctionBuilder<
|
|
102
|
-
TInput,
|
|
103
|
-
OutSchema,
|
|
104
|
-
TServices,
|
|
105
|
-
TLogger,
|
|
106
|
-
T,
|
|
107
|
-
TName,
|
|
108
|
-
TAuditStorage,
|
|
109
|
-
TAuditStorageServiceName,
|
|
110
|
-
TDatabase,
|
|
111
|
-
TDatabaseServiceName
|
|
112
|
-
> {
|
|
113
|
-
this._publisher = publisher as unknown as Service<
|
|
114
|
-
TEventPublisherServiceName,
|
|
115
|
-
TEventPublisher
|
|
116
|
-
>;
|
|
117
|
-
|
|
118
|
-
return this as unknown as BaseFunctionBuilder<
|
|
119
|
-
TInput,
|
|
120
|
-
OutSchema,
|
|
121
|
-
TServices,
|
|
122
|
-
TLogger,
|
|
123
|
-
T,
|
|
124
|
-
TName,
|
|
125
|
-
TAuditStorage,
|
|
126
|
-
TAuditStorageServiceName,
|
|
127
|
-
TDatabase,
|
|
128
|
-
TDatabaseServiceName
|
|
129
|
-
>;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
auditor<T extends AuditStorage, TName extends string>(
|
|
133
|
-
storage: Service<TName, T>,
|
|
134
|
-
): BaseFunctionBuilder<
|
|
135
|
-
TInput,
|
|
136
|
-
OutSchema,
|
|
137
|
-
TServices,
|
|
138
|
-
TLogger,
|
|
139
|
-
TEventPublisher,
|
|
140
|
-
TEventPublisherServiceName,
|
|
141
|
-
T,
|
|
142
|
-
TName,
|
|
143
|
-
TDatabase,
|
|
144
|
-
TDatabaseServiceName
|
|
145
|
-
> {
|
|
146
|
-
this._auditorStorage = storage as unknown as Service<
|
|
147
|
-
TAuditStorageServiceName,
|
|
148
|
-
TAuditStorage
|
|
149
|
-
>;
|
|
150
|
-
|
|
151
|
-
return this as unknown as BaseFunctionBuilder<
|
|
152
|
-
TInput,
|
|
153
|
-
OutSchema,
|
|
154
|
-
TServices,
|
|
155
|
-
TLogger,
|
|
156
|
-
TEventPublisher,
|
|
157
|
-
TEventPublisherServiceName,
|
|
158
|
-
T,
|
|
159
|
-
TName,
|
|
160
|
-
TDatabase,
|
|
161
|
-
TDatabaseServiceName
|
|
162
|
-
>;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Set the database service for this function.
|
|
167
|
-
* The database will be available in the handler context as `db`.
|
|
168
|
-
*/
|
|
169
|
-
database<T, TName extends string>(
|
|
170
|
-
service: Service<TName, T>,
|
|
171
|
-
): BaseFunctionBuilder<
|
|
172
|
-
TInput,
|
|
173
|
-
OutSchema,
|
|
174
|
-
TServices,
|
|
175
|
-
TLogger,
|
|
176
|
-
TEventPublisher,
|
|
177
|
-
TEventPublisherServiceName,
|
|
178
|
-
TAuditStorage,
|
|
179
|
-
TAuditStorageServiceName,
|
|
180
|
-
T,
|
|
181
|
-
TName
|
|
182
|
-
> {
|
|
183
|
-
this._databaseService = service as unknown as Service<
|
|
184
|
-
TDatabaseServiceName,
|
|
185
|
-
TDatabase
|
|
186
|
-
>;
|
|
187
|
-
|
|
188
|
-
return this as unknown as BaseFunctionBuilder<
|
|
189
|
-
TInput,
|
|
190
|
-
OutSchema,
|
|
191
|
-
TServices,
|
|
192
|
-
TLogger,
|
|
193
|
-
TEventPublisher,
|
|
194
|
-
TEventPublisherServiceName,
|
|
195
|
-
TAuditStorage,
|
|
196
|
-
TAuditStorageServiceName,
|
|
197
|
-
T,
|
|
198
|
-
TName
|
|
199
|
-
>;
|
|
200
|
-
}
|
|
201
|
-
}
|