@geekmidas/constructs 10.0.0-alpha.12 → 10.0.0-alpha.120
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 +222 -158
- package/dist/Construct-B7AXn0xH.d.mts +230 -0
- package/dist/Construct-B7AXn0xH.d.mts.map +1 -0
- package/dist/Construct-CFW0zjdD.d.cts +230 -0
- package/dist/Construct-CFW0zjdD.d.cts.map +1 -0
- package/dist/{Construct-BD5neF7w.mjs → Construct-CKUA-CTA.mjs} +35 -35
- package/dist/Construct-CKUA-CTA.mjs.map +1 -0
- package/dist/{Construct-CyS3RpTL.cjs → Construct-DEOVauyA.cjs} +55 -49
- package/dist/Construct-DEOVauyA.cjs.map +1 -0
- package/dist/{Cron-DmQ8vQ4b.d.cts → Cron-bdGRSROY.d.cts} +15 -9
- package/dist/Cron-bdGRSROY.d.cts.map +1 -0
- package/dist/{Cron-dh4rUgib.d.mts → Cron-i4Uetezh.d.mts} +15 -9
- package/dist/Cron-i4Uetezh.d.mts.map +1 -0
- package/dist/CronBuilder-9H4BnD6W.d.mts +47 -0
- package/dist/CronBuilder-9H4BnD6W.d.mts.map +1 -0
- package/dist/{CronBuilder-Da0C0edR.cjs → CronBuilder-BXTG10u5.cjs} +47 -31
- package/dist/CronBuilder-BXTG10u5.cjs.map +1 -0
- package/dist/CronBuilder-B_24LZpn.d.cts +47 -0
- package/dist/CronBuilder-B_24LZpn.d.cts.map +1 -0
- package/dist/{CronBuilder-CYKT5RiO.mjs → CronBuilder-D3sF9tS_.mjs} +37 -21
- package/dist/CronBuilder-D3sF9tS_.mjs.map +1 -0
- package/dist/{Endpoint-BjWKinFA.d.mts → Endpoint-CeFkSwh5.d.mts} +129 -99
- package/dist/Endpoint-CeFkSwh5.d.mts.map +1 -0
- package/dist/{Endpoint-dav89W6-.d.cts → Endpoint-DgrpG15P.d.cts} +127 -97
- package/dist/Endpoint-DgrpG15P.d.cts.map +1 -0
- package/dist/{Endpoint-DCQPMdUX.mjs → Endpoint-gPXhHKhJ.mjs} +208 -100
- package/dist/Endpoint-gPXhHKhJ.mjs.map +1 -0
- package/dist/{Endpoint-DcWXE-SZ.cjs → Endpoint-yhR2T2Wt.cjs} +248 -122
- package/dist/Endpoint-yhR2T2Wt.cjs.map +1 -0
- package/dist/{EndpointFactory-CdWB7wPw.cjs → EndpointFactory-CSrAyazj.cjs} +361 -112
- package/dist/EndpointFactory-CSrAyazj.cjs.map +1 -0
- package/dist/{index-lAO9egTb.d.mts → EndpointFactory-Cc863XJS.d.cts} +190 -136
- package/dist/EndpointFactory-Cc863XJS.d.cts.map +1 -0
- package/dist/{index-Bd5FqCoe.d.cts → EndpointFactory-Dbw9ugkX.d.mts} +189 -135
- package/dist/EndpointFactory-Dbw9ugkX.d.mts.map +1 -0
- package/dist/{EndpointFactory-CjV8F_lJ.mjs → EndpointFactory-c2ZugGig.mjs} +283 -76
- package/dist/EndpointFactory-c2ZugGig.mjs.map +1 -0
- package/dist/Function-B0uZhZnU.d.cts +76 -0
- package/dist/Function-B0uZhZnU.d.cts.map +1 -0
- package/dist/Function-B_9R7Zy1.d.mts +76 -0
- package/dist/Function-B_9R7Zy1.d.mts.map +1 -0
- package/dist/{HonoEndpointAdaptor-DtL9j19R.cjs → HonoEndpointAdaptor-CN1jjUBJ.cjs} +115 -71
- package/dist/HonoEndpointAdaptor-CN1jjUBJ.cjs.map +1 -0
- package/dist/{HonoEndpointAdaptor-P1ahhZHu.mjs → HonoEndpointAdaptor-euH1oSdY.mjs} +105 -64
- package/dist/HonoEndpointAdaptor-euH1oSdY.mjs.map +1 -0
- package/dist/{Queue-D7ZuwBhy.d.cts → Queue-B-dDXyjF.d.mts} +48 -48
- package/dist/Queue-B-dDXyjF.d.mts.map +1 -0
- package/dist/Queue-BhuofM3k.cjs +109 -0
- package/dist/Queue-BhuofM3k.cjs.map +1 -0
- package/dist/{Queue-gVGfi2Yk.d.mts → Queue-JbIjVtTf.d.cts} +49 -49
- package/dist/Queue-JbIjVtTf.d.cts.map +1 -0
- package/dist/Queue-cmhqEBOB.mjs +104 -0
- package/dist/Queue-cmhqEBOB.mjs.map +1 -0
- package/dist/QueueBuilder-48W-q8In.d.mts +75 -0
- package/dist/QueueBuilder-48W-q8In.d.mts.map +1 -0
- package/dist/QueueBuilder-DXu1qxT1.mjs +118 -0
- package/dist/QueueBuilder-DXu1qxT1.mjs.map +1 -0
- package/dist/QueueBuilder-DdU2klPu.cjs +135 -0
- package/dist/QueueBuilder-DdU2klPu.cjs.map +1 -0
- package/dist/QueueBuilder-MfpkJ3R9.d.cts +75 -0
- package/dist/QueueBuilder-MfpkJ3R9.d.cts.map +1 -0
- package/dist/{Subscriber-2mEi0ImH.d.cts → Subscriber-CEt7kHkc.d.cts} +29 -20
- package/dist/Subscriber-CEt7kHkc.d.cts.map +1 -0
- package/dist/{Subscriber-xTJ9ayPN.d.mts → Subscriber-dsxc5LKa.d.mts} +29 -20
- package/dist/Subscriber-dsxc5LKa.d.mts.map +1 -0
- package/dist/SubscriberBuilder-BRa_nrmH.d.cts +67 -0
- package/dist/SubscriberBuilder-BRa_nrmH.d.cts.map +1 -0
- package/dist/SubscriberBuilder-D9bkrYzH.d.mts +67 -0
- package/dist/SubscriberBuilder-D9bkrYzH.d.mts.map +1 -0
- package/dist/{SubscriberBuilder-BjkbeT9l.mjs → SubscriberBuilder-DRXfxWn_.mjs} +50 -24
- package/dist/SubscriberBuilder-DRXfxWn_.mjs.map +1 -0
- package/dist/{SubscriberBuilder-4OPehf2R.cjs → SubscriberBuilder-M2EAgQhC.cjs} +61 -36
- package/dist/SubscriberBuilder-M2EAgQhC.cjs.map +1 -0
- package/dist/Topic-D2R0r24C.mjs +99 -0
- package/dist/Topic-D2R0r24C.mjs.map +1 -0
- package/dist/Topic-DwS3QO0m.cjs +104 -0
- package/dist/Topic-DwS3QO0m.cjs.map +1 -0
- package/dist/adaptors/aws.cjs +200 -246
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +58 -62
- package/dist/adaptors/aws.d.cts.map +1 -1
- package/dist/adaptors/aws.d.mts +59 -63
- package/dist/adaptors/aws.d.mts.map +1 -1
- package/dist/adaptors/aws.mjs +171 -219
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/hono.cjs +3 -10
- package/dist/adaptors/hono.d.cts +7 -16
- package/dist/adaptors/hono.d.cts.map +1 -1
- package/dist/adaptors/hono.d.mts +9 -18
- package/dist/adaptors/hono.d.mts.map +1 -1
- package/dist/adaptors/hono.mjs +2 -10
- package/dist/adaptors/testing.cjs +765 -99
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +351 -54
- package/dist/adaptors/testing.d.cts.map +1 -1
- package/dist/adaptors/testing.d.mts +351 -54
- package/dist/adaptors/testing.d.mts.map +1 -1
- package/dist/adaptors/testing.mjs +726 -78
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/auth-BMCJN30Y.d.cts +268 -0
- package/dist/auth-BMCJN30Y.d.cts.map +1 -0
- package/dist/auth-D_0788uW.d.mts +268 -0
- package/dist/auth-D_0788uW.d.mts.map +1 -0
- package/dist/auth.cjs +301 -33
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.d.cts +2 -108
- package/dist/auth.d.mts +2 -108
- package/dist/auth.mjs +289 -27
- package/dist/auth.mjs.map +1 -1
- package/dist/{cache-BrRz3fEB.d.mts → cache-5QZzh5Er.d.mts} +3 -6
- package/dist/cache-5QZzh5Er.d.mts.map +1 -0
- package/dist/{cache-BtZY_tHe.d.cts → cache-DnGDGly3.d.cts} +3 -6
- package/dist/cache-DnGDGly3.d.cts.map +1 -0
- package/dist/cache.cjs +68 -2
- package/dist/cache.cjs.map +1 -0
- package/dist/cache.d.cts +1 -2
- package/dist/cache.d.mts +1 -2
- package/dist/cache.mjs +67 -2
- package/dist/cache.mjs.map +1 -0
- package/dist/cipher-C1lEFX63.mjs +225 -0
- package/dist/cipher-C1lEFX63.mjs.map +1 -0
- package/dist/cipher-CVxfwLjk.cjs +332 -0
- package/dist/cipher-CVxfwLjk.cjs.map +1 -0
- package/dist/cipher-DSDxPRIp.d.cts +106 -0
- package/dist/cipher-DSDxPRIp.d.cts.map +1 -0
- package/dist/cipher-DSDxPRIp.d.mts +106 -0
- package/dist/cipher-DSDxPRIp.d.mts.map +1 -0
- package/dist/{clone-DblgEZZa.mjs → clone-EKNovYHu.mjs} +3 -3
- package/dist/clone-EKNovYHu.mjs.map +1 -0
- package/dist/{clone-Dy0cR2SZ.cjs → clone-UGJpvQnL.cjs} +7 -8
- package/dist/clone-UGJpvQnL.cjs.map +1 -0
- package/dist/{construct-interface-D9d4Gm4p.d.cts → construct-interface-B1AfqRl4.d.cts} +42 -11
- package/dist/construct-interface-B1AfqRl4.d.cts.map +1 -0
- package/dist/{construct-interface-g5GM5pwR.d.mts → construct-interface-ZvYQbivO.d.mts} +42 -11
- package/dist/construct-interface-ZvYQbivO.d.mts.map +1 -0
- package/dist/construct-interface.cjs +113 -7
- package/dist/construct-interface.cjs.map +1 -0
- package/dist/construct-interface.d.cts +2 -2
- package/dist/construct-interface.d.mts +2 -2
- package/dist/construct-interface.mjs +106 -2
- package/dist/construct-interface.mjs.map +1 -0
- package/dist/credential-DYymbp_7.cjs +257 -0
- package/dist/credential-DYymbp_7.cjs.map +1 -0
- package/dist/credential-DfSAOOdY.mjs +222 -0
- package/dist/credential-DfSAOOdY.mjs.map +1 -0
- package/dist/credential.cjs +8 -96
- package/dist/credential.d.cts +2 -61
- package/dist/credential.d.mts +2 -61
- package/dist/credential.mjs +2 -94
- package/dist/crons/index.cjs +129 -7
- package/dist/crons/index.cjs.map +1 -1
- package/dist/crons/index.d.cts +45 -11
- 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 +127 -8
- package/dist/crons/index.mjs.map +1 -1
- package/dist/database/kysely.cjs +4 -181
- package/dist/database/kysely.d.cts +2 -152
- package/dist/database/kysely.d.mts +2 -152
- package/dist/database/kysely.mjs +2 -180
- package/dist/email.cjs +25 -12
- package/dist/email.cjs.map +1 -1
- package/dist/email.d.cts +3 -7
- package/dist/email.d.cts.map +1 -1
- package/dist/email.d.mts +4 -8
- package/dist/email.d.mts.map +1 -1
- package/dist/email.mjs +16 -3
- package/dist/email.mjs.map +1 -1
- package/dist/encryption/kms.cjs +95 -0
- package/dist/encryption/kms.cjs.map +1 -0
- package/dist/encryption/kms.d.cts +7 -0
- package/dist/encryption/kms.d.cts.map +1 -0
- package/dist/encryption/kms.d.mts +7 -0
- package/dist/encryption/kms.d.mts.map +1 -0
- package/dist/encryption/kms.mjs +93 -0
- package/dist/encryption/kms.mjs.map +1 -0
- package/dist/encryption.cjs +116 -0
- package/dist/encryption.cjs.map +1 -0
- package/dist/encryption.d.cts +37 -0
- package/dist/encryption.d.cts.map +1 -0
- package/dist/encryption.d.mts +37 -0
- package/dist/encryption.d.mts.map +1 -0
- package/dist/encryption.mjs +101 -0
- package/dist/encryption.mjs.map +1 -0
- package/dist/endpoints/index.cjs +27 -16
- package/dist/endpoints/index.d.cts +105 -7
- package/dist/endpoints/index.d.cts.map +1 -0
- package/dist/endpoints/index.d.mts +105 -7
- package/dist/endpoints/index.d.mts.map +1 -0
- package/dist/endpoints/index.mjs +6 -10
- package/dist/expire-C586zznE.d.cts +38 -0
- package/dist/expire-C586zznE.d.cts.map +1 -0
- package/dist/expire-C586zznE.d.mts +38 -0
- package/dist/expire-C586zznE.d.mts.map +1 -0
- package/dist/expire-CieftS01.cjs +67 -0
- package/dist/expire-CieftS01.cjs.map +1 -0
- package/dist/expire-CpzUAfr9.mjs +50 -0
- package/dist/expire-CpzUAfr9.mjs.map +1 -0
- package/dist/external-api.cjs +106 -0
- package/dist/external-api.cjs.map +1 -0
- package/dist/external-api.d.cts +2 -0
- package/dist/external-api.d.mts +2 -0
- package/dist/external-api.mjs +103 -0
- package/dist/external-api.mjs.map +1 -0
- package/dist/fake-B7rvi4Qp.d.cts +201 -0
- package/dist/fake-B7rvi4Qp.d.cts.map +1 -0
- package/dist/fake-JXbkdao8.d.mts +201 -0
- package/dist/fake-JXbkdao8.d.mts.map +1 -0
- package/dist/file-server.cjs +66 -11
- package/dist/file-server.cjs.map +1 -1
- package/dist/file-server.d.cts +25 -10
- package/dist/file-server.d.cts.map +1 -1
- package/dist/file-server.d.mts +25 -10
- package/dist/file-server.d.mts.map +1 -1
- package/dist/file-server.mjs +58 -4
- package/dist/file-server.mjs.map +1 -1
- package/dist/functions/index.cjs +3 -6
- package/dist/functions/index.d.cts +3 -4
- package/dist/functions/index.d.mts +3 -4
- package/dist/functions/index.mjs +2 -6
- package/dist/{functions-14lpEFL4.mjs → functions-CTI-hDem.mjs} +376 -238
- package/dist/{functions-14lpEFL4.mjs.map → functions-CTI-hDem.mjs.map} +1 -1
- package/dist/{functions-i_la-N5r.cjs → functions-D7O5SGVc.cjs} +414 -264
- package/dist/functions-D7O5SGVc.cjs.map +1 -0
- package/dist/index-Cd2w-DRL.d.cts +115 -0
- package/dist/index-Cd2w-DRL.d.cts.map +1 -0
- package/dist/index-DdRjYhiJ.d.cts +119 -0
- package/dist/index-DdRjYhiJ.d.cts.map +1 -0
- package/dist/index-DdRjYhiJ.d.mts +119 -0
- package/dist/index-DdRjYhiJ.d.mts.map +1 -0
- package/dist/index-aBIcAiH5.d.mts +115 -0
- package/dist/index-aBIcAiH5.d.mts.map +1 -0
- package/dist/index.cjs +6 -3
- package/dist/index.d.cts +27 -4
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +27 -4
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +3 -3
- package/dist/kysely-BHYV-WC-.d.cts +216 -0
- package/dist/kysely-BHYV-WC-.d.cts.map +1 -0
- package/dist/kysely-CAW3QSqp.d.mts +216 -0
- package/dist/kysely-CAW3QSqp.d.mts.map +1 -0
- package/dist/kysely-Cs4uPO8k.mjs +371 -0
- package/dist/kysely-Cs4uPO8k.mjs.map +1 -0
- package/dist/kysely-CukArHJ0.cjs +384 -0
- package/dist/kysely-CukArHJ0.cjs.map +1 -0
- package/dist/{telemetry-C3L0iS28.d.cts → lambdaTelemetry-8vnmVZQ5.d.cts} +3 -6
- package/dist/lambdaTelemetry-8vnmVZQ5.d.cts.map +1 -0
- package/dist/{telemetry-D7bVFLGi.d.mts → lambdaTelemetry-8vnmVZQ5.d.mts} +3 -6
- package/dist/lambdaTelemetry-8vnmVZQ5.d.mts.map +1 -0
- package/dist/mobile-app.cjs +74 -0
- package/dist/mobile-app.cjs.map +1 -0
- package/dist/mobile-app.d.cts +73 -0
- package/dist/mobile-app.d.cts.map +1 -0
- package/dist/mobile-app.d.mts +73 -0
- package/dist/mobile-app.d.mts.map +1 -0
- package/dist/mobile-app.mjs +73 -0
- package/dist/mobile-app.mjs.map +1 -0
- package/dist/object-storage.cjs +26 -11
- package/dist/object-storage.cjs.map +1 -1
- package/dist/object-storage.d.cts +12 -7
- package/dist/object-storage.d.cts.map +1 -1
- package/dist/object-storage.d.mts +12 -7
- package/dist/object-storage.d.mts.map +1 -1
- package/dist/object-storage.mjs +18 -5
- package/dist/object-storage.mjs.map +1 -1
- package/dist/queue/index.cjs +6 -189
- package/dist/queue/index.d.cts +3 -60
- package/dist/queue/index.d.mts +3 -60
- package/dist/queue/index.mjs +3 -186
- package/dist/random-password.cjs +86 -0
- package/dist/random-password.cjs.map +1 -0
- package/dist/random-password.d.cts +30 -0
- package/dist/random-password.d.cts.map +1 -0
- package/dist/random-password.d.mts +30 -0
- package/dist/random-password.d.mts.map +1 -0
- package/dist/random-password.mjs +84 -0
- package/dist/random-password.mjs.map +1 -0
- package/dist/{lazyAccessors-BoJN3SMd.mjs → readRequestBody-BTIl3k-D.mjs} +117 -60
- package/dist/readRequestBody-BTIl3k-D.mjs.map +1 -0
- package/dist/readRequestBody-Dej_L3c4.cjs +342 -0
- package/dist/readRequestBody-Dej_L3c4.cjs.map +1 -0
- package/dist/requestLogger-BZcXwdBs.cjs +207 -0
- package/dist/requestLogger-BZcXwdBs.cjs.map +1 -0
- package/dist/requestLogger-pA4gi3E1.mjs +178 -0
- package/dist/requestLogger-pA4gi3E1.mjs.map +1 -0
- package/dist/rest-api.cjs +90 -59
- package/dist/rest-api.cjs.map +1 -1
- package/dist/rest-api.d.cts +70 -42
- package/dist/rest-api.d.cts.map +1 -1
- package/dist/rest-api.d.mts +70 -42
- package/dist/rest-api.d.mts.map +1 -1
- package/dist/rest-api.mjs +82 -51
- package/dist/rest-api.mjs.map +1 -1
- package/dist/{chunk-DWy1uDak.cjs → rolldown-runtime-y5ARvAq5.cjs} +14 -18
- package/dist/runSubscriber-BHvJ8POr.mjs +109 -0
- package/dist/runSubscriber-BHvJ8POr.mjs.map +1 -0
- package/dist/runSubscriber-D8nLXIv1.cjs +126 -0
- package/dist/runSubscriber-D8nLXIv1.cjs.map +1 -0
- package/dist/shutdown-BMJmAhSt.cjs +38 -0
- package/dist/shutdown-BMJmAhSt.cjs.map +1 -0
- package/dist/shutdown-C7xa8x9S.mjs +27 -0
- package/dist/shutdown-C7xa8x9S.mjs.map +1 -0
- package/dist/site.cjs +33 -7
- package/dist/site.cjs.map +1 -1
- package/dist/site.d.cts +17 -7
- package/dist/site.d.cts.map +1 -1
- package/dist/site.d.mts +17 -7
- package/dist/site.d.mts.map +1 -1
- package/dist/site.mjs +29 -3
- package/dist/site.mjs.map +1 -1
- package/dist/stages-BSCF19o2.d.cts +56 -0
- package/dist/stages-BSCF19o2.d.cts.map +1 -0
- package/dist/stages-BSCF19o2.d.mts +56 -0
- package/dist/stages-BSCF19o2.d.mts.map +1 -0
- package/dist/subscribers/index.cjs +118 -6
- package/dist/subscribers/index.cjs.map +1 -0
- package/dist/subscribers/index.d.cts +51 -6
- package/dist/subscribers/index.d.cts.map +1 -0
- package/dist/subscribers/index.d.mts +51 -6
- package/dist/subscribers/index.d.mts.map +1 -0
- package/dist/subscribers/index.mjs +115 -5
- package/dist/subscribers/index.mjs.map +1 -0
- package/dist/surfaceEnv-CNimK76p.cjs +56 -0
- package/dist/surfaceEnv-CNimK76p.cjs.map +1 -0
- package/dist/surfaceEnv-wMT5QzgZ.mjs +45 -0
- package/dist/surfaceEnv-wMT5QzgZ.mjs.map +1 -0
- package/dist/telemetry-B48RLjyk.d.cts +40 -0
- package/dist/telemetry-B48RLjyk.d.cts.map +1 -0
- package/dist/telemetry-BEoBn6GO.d.mts +40 -0
- package/dist/telemetry-BEoBn6GO.d.mts.map +1 -0
- package/dist/telemetry.cjs +56 -0
- package/dist/telemetry.cjs.map +1 -0
- package/dist/telemetry.d.cts +2 -0
- package/dist/telemetry.d.mts +2 -0
- package/dist/telemetry.mjs +55 -0
- package/dist/telemetry.mjs.map +1 -0
- package/dist/topic/index.cjs +3 -137
- package/dist/topic/index.d.cts +2 -4
- package/dist/topic/index.d.mts +2 -4
- package/dist/topic/index.mjs +2 -134
- package/dist/tracing-Bbj1uoFJ.mjs +127 -0
- package/dist/tracing-Bbj1uoFJ.mjs.map +1 -0
- package/dist/tracing-C0ooU0V2.cjs +150 -0
- package/dist/tracing-C0ooU0V2.cjs.map +1 -0
- package/dist/{types-BlAkSuGI.d.cts → types-DMuSQeLL.d.cts} +3 -5
- package/dist/types-DMuSQeLL.d.cts.map +1 -0
- package/dist/{types-aKksMEWL.d.mts → types-DMuSQeLL.d.mts} +3 -5
- package/dist/types-DMuSQeLL.d.mts.map +1 -0
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.mjs +1 -0
- package/dist/worker.cjs +59 -34
- package/dist/worker.cjs.map +1 -1
- package/dist/worker.d.cts +70 -45
- package/dist/worker.d.cts.map +1 -1
- package/dist/worker.d.mts +71 -45
- package/dist/worker.d.mts.map +1 -1
- package/dist/worker.mjs +54 -29
- package/dist/worker.mjs.map +1 -1
- package/package.json +115 -41
- package/dist/Construct-BD5neF7w.mjs.map +0 -1
- package/dist/Construct-C0ijr2qp.d.cts +0 -117
- package/dist/Construct-C0ijr2qp.d.cts.map +0 -1
- package/dist/Construct-Ct8nalEi.d.mts +0 -117
- package/dist/Construct-Ct8nalEi.d.mts.map +0 -1
- package/dist/Construct-CyS3RpTL.cjs.map +0 -1
- package/dist/Cron-DmQ8vQ4b.d.cts.map +0 -1
- package/dist/Cron-dh4rUgib.d.mts.map +0 -1
- package/dist/CronBuilder-BquXDbDI.d.cts +0 -44
- package/dist/CronBuilder-BquXDbDI.d.cts.map +0 -1
- package/dist/CronBuilder-CGgY2080.d.mts +0 -44
- package/dist/CronBuilder-CGgY2080.d.mts.map +0 -1
- package/dist/CronBuilder-CYKT5RiO.mjs.map +0 -1
- package/dist/CronBuilder-Da0C0edR.cjs.map +0 -1
- package/dist/Endpoint-BjWKinFA.d.mts.map +0 -1
- package/dist/Endpoint-DCQPMdUX.mjs.map +0 -1
- package/dist/Endpoint-DcWXE-SZ.cjs.map +0 -1
- package/dist/Endpoint-dav89W6-.d.cts.map +0 -1
- package/dist/EndpointFactory-CdWB7wPw.cjs.map +0 -1
- package/dist/EndpointFactory-CjV8F_lJ.mjs.map +0 -1
- package/dist/HonoEndpointAdaptor-DtL9j19R.cjs.map +0 -1
- package/dist/HonoEndpointAdaptor-P1ahhZHu.mjs.map +0 -1
- package/dist/Queue-D7ZuwBhy.d.cts.map +0 -1
- package/dist/Queue-gVGfi2Yk.d.mts.map +0 -1
- package/dist/Subscriber-2mEi0ImH.d.cts.map +0 -1
- package/dist/Subscriber-xTJ9ayPN.d.mts.map +0 -1
- package/dist/SubscriberBuilder-4OPehf2R.cjs.map +0 -1
- package/dist/SubscriberBuilder-BjkbeT9l.mjs.map +0 -1
- package/dist/SubscriberBuilder-Dptmo-1A.d.mts +0 -62
- package/dist/SubscriberBuilder-Dptmo-1A.d.mts.map +0 -1
- package/dist/SubscriberBuilder-waNhzjSM.d.cts +0 -62
- package/dist/SubscriberBuilder-waNhzjSM.d.cts.map +0 -1
- package/dist/Topic-19QeHBIR.d.cts +0 -91
- package/dist/Topic-19QeHBIR.d.cts.map +0 -1
- package/dist/Topic-DuFeqkBh.d.mts +0 -91
- package/dist/Topic-DuFeqkBh.d.mts.map +0 -1
- package/dist/auth.d.cts.map +0 -1
- package/dist/auth.d.mts.map +0 -1
- package/dist/cache-0ANvRQnD.mjs +0 -51
- package/dist/cache-0ANvRQnD.mjs.map +0 -1
- package/dist/cache-3WSvAulx.cjs +0 -57
- package/dist/cache-3WSvAulx.cjs.map +0 -1
- package/dist/cache-BrRz3fEB.d.mts.map +0 -1
- package/dist/cache-BtZY_tHe.d.cts.map +0 -1
- package/dist/clone-DblgEZZa.mjs.map +0 -1
- package/dist/clone-Dy0cR2SZ.cjs.map +0 -1
- package/dist/construct-interface-BfjcOD_E.cjs +0 -117
- package/dist/construct-interface-BfjcOD_E.cjs.map +0 -1
- package/dist/construct-interface-D9d4Gm4p.d.cts.map +0 -1
- package/dist/construct-interface-Z4CpS8tK.mjs +0 -81
- package/dist/construct-interface-Z4CpS8tK.mjs.map +0 -1
- package/dist/construct-interface-g5GM5pwR.d.mts.map +0 -1
- package/dist/credential.cjs.map +0 -1
- package/dist/credential.d.cts.map +0 -1
- package/dist/credential.d.mts.map +0 -1
- package/dist/credential.mjs.map +0 -1
- package/dist/database/kysely.cjs.map +0 -1
- package/dist/database/kysely.d.cts.map +0 -1
- package/dist/database/kysely.d.mts.map +0 -1
- package/dist/database/kysely.mjs.map +0 -1
- package/dist/functions-i_la-N5r.cjs.map +0 -1
- package/dist/index-Bd5FqCoe.d.cts.map +0 -1
- package/dist/index-BknhM6Ux.d.mts +0 -31
- package/dist/index-BknhM6Ux.d.mts.map +0 -1
- package/dist/index-CBSfrowv.d.cts +0 -31
- package/dist/index-CBSfrowv.d.cts.map +0 -1
- package/dist/index-D24Xm79M.d.cts +0 -171
- package/dist/index-D24Xm79M.d.cts.map +0 -1
- package/dist/index-_ajboYxK.d.mts +0 -171
- package/dist/index-_ajboYxK.d.mts.map +0 -1
- package/dist/index-lAO9egTb.d.mts.map +0 -1
- package/dist/lazyAccessors-BoJN3SMd.mjs.map +0 -1
- package/dist/lazyAccessors-e3j2oE2m.cjs +0 -274
- package/dist/lazyAccessors-e3j2oE2m.cjs.map +0 -1
- package/dist/processAudits-CGqttuXm.cjs +0 -92
- package/dist/processAudits-CGqttuXm.cjs.map +0 -1
- package/dist/processAudits-Dmts9H_b.mjs +0 -80
- package/dist/processAudits-Dmts9H_b.mjs.map +0 -1
- package/dist/queue/index.cjs.map +0 -1
- package/dist/queue/index.d.cts.map +0 -1
- package/dist/queue/index.d.mts.map +0 -1
- package/dist/queue/index.mjs.map +0 -1
- package/dist/surfaceEnv-BFXEms2f.cjs +0 -39
- package/dist/surfaceEnv-BFXEms2f.cjs.map +0 -1
- package/dist/surfaceEnv-C3Ktahea.mjs +0 -27
- package/dist/surfaceEnv-C3Ktahea.mjs.map +0 -1
- package/dist/telemetry-C3L0iS28.d.cts.map +0 -1
- package/dist/telemetry-D7bVFLGi.d.mts.map +0 -1
- package/dist/topic/index.cjs.map +0 -1
- package/dist/topic/index.mjs.map +0 -1
- package/dist/types-BlAkSuGI.d.cts.map +0 -1
- package/dist/types-aKksMEWL.d.mts.map +0 -1
|
@@ -1,34 +1,86 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
|
|
9
|
-
import { RateLimitConfig } from "@geekmidas/rate-limit";
|
|
10
|
-
import { Context } from "hono";
|
|
11
|
-
import { EventPublisher, MappedEvent } from "@geekmidas/events";
|
|
1
|
+
import { n as StandardSchemaV1, t as StandardJSONSchemaV1 } from "./index-DdRjYhiJ.cjs";
|
|
2
|
+
import { a as EventFor, c as Topic } from "./Construct-CFW0zjdD.cjs";
|
|
3
|
+
import { c as ServicesOf, r as Consumable } from "./construct-interface-B1AfqRl4.cjs";
|
|
4
|
+
import { n as BaseFunctionBuilder } from "./index-Cd2w-DRL.cjs";
|
|
5
|
+
import { t as HttpMethod } from "./types-DMuSQeLL.cjs";
|
|
6
|
+
import { t as EndpointTelemetry } from "./telemetry-B48RLjyk.cjs";
|
|
7
|
+
import { A as SecurityScheme, C as ActorExtractor, D as BuiltInSecuritySchemeId, T as Authorizer, a as EndpointContext, b as RlsConfig, c as EndpointSchemas, i as Endpoint, l as EndpointStatus, m as SessionFn, o as EndpointHandler, t as AuthorizeFn, u as EndpointSurface, w as MappedAudit, y as RlsBypass } from "./Endpoint-DgrpG15P.cjs";
|
|
12
8
|
import { Logger } from "@geekmidas/logger";
|
|
13
9
|
import { InferStandardSchema } from "@geekmidas/schema";
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
import { Service } from "@geekmidas/services";
|
|
11
|
+
import { AuditStorage, AuditableAction, ExtractStorageAuditAction } from "@geekmidas/audit";
|
|
12
|
+
import { RateLimitConfig } from "@geekmidas/rate-limit";
|
|
13
|
+
import { StorageClient, UploadPost } from "@geekmidas/storage";
|
|
14
|
+
import { HttpError } from "@geekmidas/errors";
|
|
15
|
+
//#region src/endpoints/upload.d.ts
|
|
16
|
+
/** What an endpoint's `.upload(bucket, …)` allows. */
|
|
17
|
+
interface UploadOptions<TContext> {
|
|
18
|
+
/** Where the object lands, from what the handler would be given. */
|
|
19
|
+
key: (ctx: TContext) => string | Promise<string>;
|
|
20
|
+
/** The largest file the storage accepts, in bytes. */
|
|
21
|
+
maxSize: number;
|
|
22
|
+
/**
|
|
23
|
+
* The types the file may be: `image/png`, or `image/*` for any image.
|
|
24
|
+
* Absent, any type is accepted.
|
|
25
|
+
*
|
|
26
|
+
* A storage policy fixes one type, or one prefix, and cannot say "either of
|
|
27
|
+
* these". So with more than one, `contentType` says which this upload is
|
|
28
|
+
* — and it must be one of them.
|
|
29
|
+
*/
|
|
30
|
+
accept?: readonly string[];
|
|
31
|
+
/** The type this upload is sent as — required when `accept` lists several. */
|
|
32
|
+
contentType?: (ctx: TContext) => string | Promise<string>;
|
|
33
|
+
/** How long the form is valid, in seconds. Defaults to 300. */
|
|
34
|
+
expiresIn?: number;
|
|
35
|
+
}
|
|
36
|
+
/** An upload's `maxSize` that is not a positive whole number of bytes. */
|
|
37
|
+
declare class UploadMaxSizeInvalid extends Error {
|
|
38
|
+
readonly maxSize: number;
|
|
39
|
+
constructor(maxSize: number);
|
|
40
|
+
}
|
|
41
|
+
/** An upload's `expiresIn` outside what a signature can be valid for. */
|
|
42
|
+
declare class UploadExpiryInvalid extends Error {
|
|
43
|
+
readonly expiresIn: number;
|
|
44
|
+
constructor(expiresIn: number);
|
|
45
|
+
}
|
|
46
|
+
/** An entry in `accept` that is not a media type. */
|
|
47
|
+
declare class UploadAcceptInvalid extends Error {
|
|
48
|
+
readonly entry: string;
|
|
49
|
+
constructor(entry: string);
|
|
50
|
+
}
|
|
51
|
+
/** Several accepted types, and nothing saying which one an upload is. */
|
|
52
|
+
declare class UploadContentTypeUnresolved extends Error {
|
|
53
|
+
readonly accept: readonly string[];
|
|
54
|
+
constructor(accept: readonly string[]);
|
|
55
|
+
}
|
|
56
|
+
/** A request for an upload of a type the endpoint does not accept. */
|
|
57
|
+
declare class UploadContentTypeRefused extends HttpError {
|
|
58
|
+
readonly contentType: string;
|
|
59
|
+
readonly accept: readonly string[];
|
|
60
|
+
constructor(contentType: string, accept: readonly string[]);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* An upload endpoint's output, when it declares none of its own: the signed
|
|
64
|
+
* form, as the handler is given it.
|
|
65
|
+
*
|
|
66
|
+
* Written by hand rather than with a schema library, so the endpoint runtime
|
|
67
|
+
* imports none — the Standard Schema and Standard JSON Schema interfaces are
|
|
68
|
+
* the whole of what validation and OpenAPI need.
|
|
69
|
+
*/
|
|
70
|
+
declare const UPLOAD_POST_SCHEMA: StandardSchemaV1<UploadPost> & StandardJSONSchemaV1<UploadPost>;
|
|
20
71
|
//#endregion
|
|
21
72
|
//#region src/endpoints/EndpointBuilder.d.ts
|
|
22
|
-
declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TSession = unknown,
|
|
73
|
+
declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TSession = unknown, TAuthorizers extends readonly string[] = readonly string[], TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> extends BaseFunctionBuilder<TInput, OutSchema, TServices, TLogger, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName> {
|
|
23
74
|
readonly route: TRoute;
|
|
24
75
|
readonly method: TMethod;
|
|
25
76
|
protected schemas: TInput;
|
|
26
77
|
protected _description?: string;
|
|
27
|
-
protected _status?:
|
|
78
|
+
protected _status?: EndpointStatus;
|
|
28
79
|
protected _tags?: string[];
|
|
29
80
|
protected _memorySize?: number;
|
|
30
81
|
protected _responseType: string;
|
|
31
|
-
|
|
82
|
+
/** Set by a factory's `.session()`; absent, the endpoint reads none. */
|
|
83
|
+
_getSession?: SessionFn<TServices, TLogger, TSession, TDatabase>;
|
|
32
84
|
_authorize: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>;
|
|
33
85
|
_rateLimit?: RateLimitConfig;
|
|
34
86
|
_availableAuthorizers: Authorizer[];
|
|
@@ -45,15 +97,46 @@ declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod,
|
|
|
45
97
|
_customSecuritySchemes: Record<string, SecurityScheme>;
|
|
46
98
|
_rlsConfig?: RlsConfig<TServices, TSession, TLogger>;
|
|
47
99
|
_rlsBypass?: boolean;
|
|
100
|
+
_telemetry?: EndpointTelemetry;
|
|
48
101
|
constructor(route: TRoute, method: TMethod);
|
|
49
|
-
_setPublisher(publisher: Service<TEventPublisherServiceName, TEventPublisher>): void;
|
|
50
102
|
_setAuditorStorage(storage: Service<TAuditStorageServiceName, TAuditStorage>): void;
|
|
51
103
|
_setDatabaseService(service: Service<TDatabaseServiceName, TDatabase>): void;
|
|
52
104
|
description(description: string): this;
|
|
53
|
-
|
|
54
|
-
|
|
105
|
+
/**
|
|
106
|
+
* The status a successful request is answered with — a 2xx, or a 3xx for
|
|
107
|
+
* an endpoint that always redirects (with a `Location` header). One that
|
|
108
|
+
* sometimes redirects returns `response.redirect(url)` instead.
|
|
109
|
+
*/
|
|
110
|
+
status(status: EndpointStatus): this;
|
|
111
|
+
/**
|
|
112
|
+
* Publish `event` to `topic` once the handler has succeeded — repeatable,
|
|
113
|
+
* one call per event, to as many topics as the endpoint names. The topic
|
|
114
|
+
* becomes a dependency as with `.dependsOn([topic])`, so `services.<topic>`
|
|
115
|
+
* is there for events the handler decides on itself.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```ts
|
|
119
|
+
* router.post('/users')
|
|
120
|
+
* .event(users, {
|
|
121
|
+
* type: 'user.created',
|
|
122
|
+
* payload: (user) => ({ userId: user.id, email: user.email }),
|
|
123
|
+
* })
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
event<TTopic extends Topic<any, any>>(topic: TTopic, event: EventFor<TTopic, InferStandardSchema<OutSchema>>): EndpointBuilder<TRoute, TMethod, TInput, [...TServices, TTopic['service']], TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
55
127
|
tags(tags: string[]): this;
|
|
56
128
|
memorySize(memorySize: number): this;
|
|
129
|
+
/**
|
|
130
|
+
* This route's telemetry, beside what its surface's `Telemetry` says for
|
|
131
|
+
* every route: `{ ignore: true }` records no span for it — a health check,
|
|
132
|
+
* a probe — and `attributes` are set on its request span.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* router.get('/health').telemetry({ ignore: true }).handle(() => 'ok');
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
telemetry(options: EndpointTelemetry): this;
|
|
57
140
|
/**
|
|
58
141
|
* Set the response content type for this endpoint.
|
|
59
142
|
*
|
|
@@ -73,22 +156,21 @@ declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod,
|
|
|
73
156
|
* ```
|
|
74
157
|
*/
|
|
75
158
|
responseType(type: string): this;
|
|
76
|
-
publisher<T extends EventPublisher<any>, TName extends string>(publisher: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, T, TName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
77
159
|
body<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'body'> & {
|
|
78
160
|
body: T;
|
|
79
|
-
}, TServices, TLogger, OutSchema, TSession,
|
|
161
|
+
}, TServices, TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
80
162
|
search<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'query'> & {
|
|
81
163
|
query: T;
|
|
82
|
-
}, TServices, TLogger, OutSchema, TSession,
|
|
164
|
+
}, TServices, TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
83
165
|
query<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'query'> & {
|
|
84
166
|
query: T;
|
|
85
|
-
}, TServices, TLogger, OutSchema, TSession,
|
|
167
|
+
}, TServices, TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
86
168
|
params<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, Omit<TInput, 'params'> & {
|
|
87
169
|
params: T;
|
|
88
|
-
}, TServices, TLogger, OutSchema, TSession,
|
|
170
|
+
}, TServices, TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
89
171
|
authorize(fn: AuthorizeFn<TServices, TLogger, TSession, TInput, TDatabase>): this;
|
|
90
172
|
rateLimit(config: RateLimitConfig): this;
|
|
91
|
-
authorizer(name: TAuthorizers[number] | 'none'): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession,
|
|
173
|
+
authorizer(name: TAuthorizers[number] | 'none'): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
92
174
|
/**
|
|
93
175
|
* Depend on constructs — a database, a bucket, a mail sender, a queue, a
|
|
94
176
|
* topic.
|
|
@@ -100,21 +182,48 @@ declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod,
|
|
|
100
182
|
* Constructs only. A `Service` does not match the shape, which is what keeps
|
|
101
183
|
* env sniffing confined to `.services()` and the explicit lift.
|
|
102
184
|
*/
|
|
103
|
-
dependsOn<const T extends readonly Consumable[]>(constructs: T): EndpointBuilder<TRoute, TMethod, TInput, [...TServices, ...ServicesOf<T>], TLogger, OutSchema, TSession,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
185
|
+
dependsOn<const T extends readonly Consumable[]>(constructs: T): EndpointBuilder<TRoute, TMethod, TInput, [...TServices, ...ServicesOf<T>], TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
186
|
+
/**
|
|
187
|
+
* Hand the browser a signed form that uploads one file straight to
|
|
188
|
+
* `bucket` — the file never passes through this server.
|
|
189
|
+
*
|
|
190
|
+
* The endpoint decides where (`key`, from what the handler is given) and
|
|
191
|
+
* the form's policy decides what: the storage refuses a file over
|
|
192
|
+
* `maxSize`, or of a type `accept` does not allow. The handler receives
|
|
193
|
+
* the form as `upload`, and returns it unless it has more to say — it is
|
|
194
|
+
* the endpoint's output when no `.output()` came first. The bucket
|
|
195
|
+
* becomes a dependency, as with `.dependsOn([bucket])`.
|
|
196
|
+
*
|
|
197
|
+
* The last step before `.handle()`: the key is resolved from the body,
|
|
198
|
+
* params and session, so they are declared first.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```ts
|
|
202
|
+
* router
|
|
203
|
+
* .post('/me/avatar')
|
|
204
|
+
* .upload(uploads, {
|
|
205
|
+
* key: ({ session }) => `avatars/${session.userId}.png`,
|
|
206
|
+
* maxSize: 5 * 1024 * 1024,
|
|
207
|
+
* accept: ['image/png'],
|
|
208
|
+
* })
|
|
209
|
+
* .handle(async ({ upload }) => upload);
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
upload<TBucket extends Consumable<string, StorageClient>>(bucket: TBucket, options: UploadOptions<EndpointContext<TInput, [...TServices, TBucket['service']], TLogger, TSession, TAuditAction, TDatabase, TAuditStorage>>): UploadEndpointBuilder<TRoute, TMethod, TInput, [...TServices, TBucket['service']], TLogger, [OutSchema] extends [undefined] ? typeof UPLOAD_POST_SCHEMA : OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
213
|
+
services<T extends Service[]>(services: T): EndpointBuilder<TRoute, TMethod, TInput, [...TServices, ...T], TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
214
|
+
logger<T extends Logger>(logger: T): EndpointBuilder<TRoute, TMethod, TInput, TServices, T, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
215
|
+
output<T extends StandardSchemaV1>(schema: T): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, T, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
107
216
|
/**
|
|
108
217
|
* Set the auditor storage service for this endpoint.
|
|
109
218
|
* This enables audit functionality and makes `auditor` available in the handler context.
|
|
110
219
|
* The audit action type is automatically inferred from the storage's generic parameter.
|
|
111
220
|
*/
|
|
112
|
-
auditor<T extends AuditStorage<any>, TName extends string>(storage: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession,
|
|
221
|
+
auditor<T extends AuditStorage<any>, TName extends string>(storage: Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TAuthorizers, T, TName, ExtractStorageAuditAction<T>, TDatabase, TDatabaseServiceName>;
|
|
113
222
|
/**
|
|
114
223
|
* Set the actor extractor function for audit records.
|
|
115
224
|
* The actor is extracted from the request context and attached to all audits.
|
|
116
225
|
*/
|
|
117
|
-
actor(extractor: ActorExtractor<TServices, TSession, TLogger>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession,
|
|
226
|
+
actor(extractor: ActorExtractor<TServices, TSession, TLogger>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
118
227
|
/**
|
|
119
228
|
* Add declarative audit definitions that are processed after the handler executes.
|
|
120
229
|
* Similar to `.event()` for events, but for audits.
|
|
@@ -148,7 +257,7 @@ declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod,
|
|
|
148
257
|
* })
|
|
149
258
|
* ```
|
|
150
259
|
*/
|
|
151
|
-
database<T, TName extends string>(source: Consumable<TName, T> | Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession,
|
|
260
|
+
database<T, TName extends string>(source: Consumable<TName, T> | Service<TName, T>): EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, T, TName>;
|
|
152
261
|
/**
|
|
153
262
|
* Configure RLS (Row-Level Security) context for this endpoint.
|
|
154
263
|
* Pass `false` or `RLS_BYPASS` to explicitly bypass RLS for this endpoint.
|
|
@@ -184,12 +293,30 @@ declare class EndpointBuilder<TRoute extends string, TMethod extends HttpMethod,
|
|
|
184
293
|
*/
|
|
185
294
|
rlsBypass(): this;
|
|
186
295
|
input(_schema: any): any;
|
|
187
|
-
handle(fn: EndpointHandler<TInput, TServices, TLogger, OutSchema, TSession, TDatabase, TAuditStorage, TAuditAction>): Endpoint<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession,
|
|
296
|
+
handle(fn: EndpointHandler<TInput, TServices, TLogger, OutSchema, TSession, TDatabase, TAuditStorage, TAuditAction>): Endpoint<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* A handler given an upload's signed form beside everything else: the
|
|
300
|
+
* context `H` receives, with `upload`.
|
|
301
|
+
*/
|
|
302
|
+
type UploadHandler<H extends (...args: any[]) => any> = (ctx: Parameters<H>[0] & {
|
|
303
|
+
upload: UploadPost;
|
|
304
|
+
}, response: Parameters<H>[1]) => ReturnType<H>;
|
|
305
|
+
/**
|
|
306
|
+
* What `.upload(bucket, …)` returns: the same builder, whose handler is also
|
|
307
|
+
* given the signed form.
|
|
308
|
+
*/
|
|
309
|
+
declare class UploadEndpointBuilder<TRoute extends string, TMethod extends HttpMethod, TInput extends EndpointSchemas = {}, TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TSession = unknown, TAuthorizers extends readonly string[] = readonly string[], TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>, TDatabase = undefined, TDatabaseServiceName extends string = string> extends EndpointBuilder<TRoute, TMethod, TInput, TServices, TLogger, OutSchema, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName> {
|
|
310
|
+
/** The bucket's service, and what an upload to it allows. */
|
|
311
|
+
_upload: {
|
|
312
|
+
serviceName: string;
|
|
313
|
+
options: UploadOptions<any>;
|
|
314
|
+
};
|
|
315
|
+
handle(fn: UploadHandler<EndpointHandler<TInput, TServices, TLogger, OutSchema, TSession, TDatabase, TAuditStorage, TAuditAction>>): Endpoint<TRoute, TMethod, TInput, OutSchema, TServices, TLogger, TSession, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
188
316
|
}
|
|
189
|
-
//# sourceMappingURL=EndpointBuilder.d.ts.map
|
|
190
317
|
//#endregion
|
|
191
318
|
//#region src/endpoints/EndpointFactory.d.ts
|
|
192
|
-
declare class EndpointFactory<TServices extends Service[] = [], TBasePath extends string = '', TLogger extends Logger = Logger, TSession = unknown,
|
|
319
|
+
declare class EndpointFactory<TServices extends Service[] = [], TBasePath extends string = '', TLogger extends Logger = Logger, TSession = unknown, TAuthorizers extends readonly string[] = readonly string[], TAuditStorage extends AuditStorage<any> | undefined = undefined, TAuditStorageServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = ExtractStorageAuditAction<NonNullable<TAuditStorage>>, TDatabase = undefined, TDatabaseServiceName extends string = string, TSecuritySchemes extends Record<string, SecurityScheme> = Record<string, SecurityScheme>, TRlsConfig extends RlsConfig<TServices, TSession, TLogger> | undefined = undefined> {
|
|
193
320
|
private defaultServices;
|
|
194
321
|
/**
|
|
195
322
|
* The constructs `.dependsOn()` was given, kept alongside the services they
|
|
@@ -204,7 +331,6 @@ declare class EndpointFactory<TServices extends Service[] = [], TBasePath extend
|
|
|
204
331
|
private defaultConstructs;
|
|
205
332
|
private basePath;
|
|
206
333
|
private defaultAuthorizeFn?;
|
|
207
|
-
private defaultEventPublisher;
|
|
208
334
|
private defaultSessionExtractor?;
|
|
209
335
|
private defaultLogger;
|
|
210
336
|
/**
|
|
@@ -222,25 +348,9 @@ declare class EndpointFactory<TServices extends Service[] = [], TBasePath extend
|
|
|
222
348
|
private defaultActorExtractor?;
|
|
223
349
|
private customSecuritySchemes;
|
|
224
350
|
private defaultRlsConfig?;
|
|
225
|
-
constructor({
|
|
226
|
-
basePath,
|
|
227
|
-
defaultAuthorizeFn,
|
|
228
|
-
defaultLogger,
|
|
229
|
-
defaultSessionExtractor,
|
|
230
|
-
defaultServices,
|
|
231
|
-
defaultConstructs,
|
|
232
|
-
defaultEventPublisher,
|
|
233
|
-
availableAuthorizers,
|
|
234
|
-
defaultAuthorizerName,
|
|
235
|
-
defaultAuditorStorage,
|
|
236
|
-
defaultDatabaseService,
|
|
237
|
-
defaultActorExtractor,
|
|
238
|
-
customSecuritySchemes,
|
|
239
|
-
defaultRlsConfig,
|
|
240
|
-
surface
|
|
241
|
-
}: EndpointFactoryOptions<TServices, TBasePath, TLogger, TSession, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>);
|
|
351
|
+
constructor({ basePath, defaultAuthorizeFn, defaultLogger, defaultSessionExtractor, defaultServices, defaultConstructs, availableAuthorizers, defaultAuthorizerName, defaultAuditorStorage, defaultDatabaseService, defaultActorExtractor, customSecuritySchemes, defaultRlsConfig, surface }: EndpointFactoryOptions<TServices, TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>);
|
|
242
352
|
static joinPaths<TBasePath extends string, P extends string>(path: P, basePath?: TBasePath): JoinPaths<TBasePath, P>;
|
|
243
|
-
authorizers<const T extends readonly string[]>(authorizers: T): EndpointFactory<TServices, TBasePath, TLogger, TSession,
|
|
353
|
+
authorizers<const T extends readonly string[]>(authorizers: T): EndpointFactory<TServices, TBasePath, TLogger, TSession, T, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
|
|
244
354
|
/**
|
|
245
355
|
* Define custom security schemes for this factory.
|
|
246
356
|
* These extend the built-in schemes (jwt, bearer, apiKey, oauth2, oidc).
|
|
@@ -257,7 +367,7 @@ declare class EndpointFactory<TServices extends Service[] = [], TBasePath extend
|
|
|
257
367
|
* });
|
|
258
368
|
* ```
|
|
259
369
|
*/
|
|
260
|
-
securitySchemes<T extends Record<string, SecurityScheme>>(schemes: T): EndpointFactory<TServices, TBasePath, TLogger, TSession,
|
|
370
|
+
securitySchemes<T extends Record<string, SecurityScheme>>(schemes: T): EndpointFactory<TServices, TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes & T, TRlsConfig>;
|
|
261
371
|
/**
|
|
262
372
|
* Set the default authorizer for all endpoints created from this factory.
|
|
263
373
|
* Individual endpoints can override this by calling `.authorizer()` on the builder.
|
|
@@ -268,9 +378,9 @@ declare class EndpointFactory<TServices extends Service[] = [], TBasePath extend
|
|
|
268
378
|
* - Custom security scheme names defined via `.securitySchemes()`
|
|
269
379
|
* - 'none' to disable authorization
|
|
270
380
|
*/
|
|
271
|
-
authorizer(name: BuiltInSecuritySchemeId | keyof TSecuritySchemes | TAuthorizers[number] | 'none'): EndpointFactory<TServices, TBasePath, TLogger, TSession,
|
|
272
|
-
route<TPath extends string>(path: TPath): EndpointFactory<TServices, JoinPaths<TBasePath, TPath>, TLogger, TSession,
|
|
273
|
-
authorize(fn: AuthorizeFn<TServices, TLogger, TSession, undefined, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, TSession,
|
|
381
|
+
authorizer(name: BuiltInSecuritySchemeId | keyof TSecuritySchemes | TAuthorizers[number] | 'none'): EndpointFactory<TServices, TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
|
|
382
|
+
route<TPath extends string>(path: TPath): EndpointFactory<TServices, JoinPaths<TBasePath, TPath>, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
|
|
383
|
+
authorize(fn: AuthorizeFn<TServices, TLogger, TSession, undefined, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
|
|
274
384
|
/**
|
|
275
385
|
* Depend on constructs — a database, a bucket, a mail sender, a queue, a
|
|
276
386
|
* topic.
|
|
@@ -282,27 +392,26 @@ declare class EndpointFactory<TServices extends Service[] = [], TBasePath extend
|
|
|
282
392
|
* Constructs only. A `Service` does not match the shape, which is what keeps
|
|
283
393
|
* env sniffing confined to `.services()` and the explicit lift.
|
|
284
394
|
*/
|
|
285
|
-
dependsOn<const S extends readonly Consumable[]>(constructs: S): EndpointFactory<[...ServicesOf<S>, ...TServices], TBasePath, TLogger, TSession,
|
|
286
|
-
services<S extends Service[]>(services: S): EndpointFactory<[...S, ...TServices], TBasePath, TLogger, TSession,
|
|
287
|
-
logger<L extends Logger>(logger: L): EndpointFactory<TServices, TBasePath, L, TSession,
|
|
288
|
-
|
|
289
|
-
session<T>(session: SessionFn<TServices, TLogger, T, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, T, TEventPublisher, TEventPublisherServiceName, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, T, TLogger> | undefined>;
|
|
395
|
+
dependsOn<const S extends readonly Consumable[]>(constructs: S): EndpointFactory<[...ServicesOf<S>, ...TServices], TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<[...ServicesOf<S>, ...TServices], TSession, TLogger> | undefined>;
|
|
396
|
+
services<S extends Service[]>(services: S): EndpointFactory<[...S, ...TServices], TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<[...S, ...TServices], TSession, TLogger> | undefined>;
|
|
397
|
+
logger<L extends Logger>(logger: L): EndpointFactory<TServices, TBasePath, L, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, TSession, L> | undefined>;
|
|
398
|
+
session<T>(session: SessionFn<TServices, TLogger, T, TDatabase>): EndpointFactory<TServices, TBasePath, TLogger, T, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, RlsConfig<TServices, T, TLogger> | undefined>;
|
|
290
399
|
/**
|
|
291
400
|
* Set the database service for endpoints created from this factory.
|
|
292
401
|
* The database will be available in handler context as `db`.
|
|
293
402
|
*/
|
|
294
|
-
database<T, TName extends string>(source: Consumable<TName, T> | Service<TName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession,
|
|
403
|
+
database<T, TName extends string>(source: Consumable<TName, T> | Service<TName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, T, TName, TSecuritySchemes, TRlsConfig>;
|
|
295
404
|
/**
|
|
296
405
|
* Set the auditor storage service for endpoints created from this factory.
|
|
297
406
|
* This enables audit functionality and makes `auditor` available in handler context.
|
|
298
407
|
* The audit action type is automatically inferred from the storage's generic parameter.
|
|
299
408
|
*/
|
|
300
|
-
auditor<T extends AuditStorage<any>, TName extends string>(storage: Service<TName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession,
|
|
409
|
+
auditor<T extends AuditStorage<any>, TName extends string>(storage: Service<TName, T>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TAuthorizers, T, TName, ExtractStorageAuditAction<T>, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
|
|
301
410
|
/**
|
|
302
411
|
* Set the actor extractor function for endpoints created from this factory.
|
|
303
412
|
* The actor is extracted from the request context and attached to all audits.
|
|
304
413
|
*/
|
|
305
|
-
actor(extractor: ActorExtractor<TServices, TSession, TLogger>): EndpointFactory<TServices, TBasePath, TLogger, TSession,
|
|
414
|
+
actor(extractor: ActorExtractor<TServices, TSession, TLogger>): EndpointFactory<TServices, TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TRlsConfig>;
|
|
306
415
|
/**
|
|
307
416
|
* Set the RLS (Row-Level Security) configuration for endpoints created from this factory.
|
|
308
417
|
* This enables automatic PostgreSQL session variable setting for RLS policies.
|
|
@@ -321,18 +430,18 @@ declare class EndpointFactory<TServices extends Service[] = [], TBasePath extend
|
|
|
321
430
|
* });
|
|
322
431
|
* ```
|
|
323
432
|
*/
|
|
324
|
-
rls<TConfig extends RlsConfig<TServices, TSession, TLogger>>(config: TConfig): EndpointFactory<TServices, TBasePath, TLogger, TSession,
|
|
433
|
+
rls<TConfig extends RlsConfig<TServices, TSession, TLogger>>(config: TConfig): EndpointFactory<TServices, TBasePath, TLogger, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName, TSecuritySchemes, TConfig>;
|
|
325
434
|
private createBuilder;
|
|
326
|
-
post<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "POST", {}, TServices, TLogger, undefined, TSession,
|
|
327
|
-
get<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "GET", {}, TServices, TLogger, undefined, TSession,
|
|
328
|
-
put<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "PUT", {}, TServices, TLogger, undefined, TSession,
|
|
329
|
-
delete<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "DELETE", {}, TServices, TLogger, undefined, TSession,
|
|
330
|
-
patch<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "PATCH", {}, TServices, TLogger, undefined, TSession,
|
|
331
|
-
options<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "OPTIONS", {}, TServices, TLogger, undefined, TSession,
|
|
435
|
+
post<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "POST", {}, TServices, TLogger, undefined, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
436
|
+
get<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "GET", {}, TServices, TLogger, undefined, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
437
|
+
put<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "PUT", {}, TServices, TLogger, undefined, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
438
|
+
delete<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "DELETE", {}, TServices, TLogger, undefined, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
439
|
+
patch<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "PATCH", {}, TServices, TLogger, undefined, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
440
|
+
options<TPath extends string>(path: TPath): EndpointBuilder<RemoveTrailingSlash<TBasePath extends "" ? TPath : TPath extends "" ? TBasePath : TBasePath extends "/" ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest_1}` ? `${TBasePath}/${Rest_1}` : `${TBasePath}/${TPath}`>, "OPTIONS", {}, TServices, TLogger, undefined, TSession, TAuthorizers, TAuditStorage, TAuditStorageServiceName, TAuditAction, TDatabase, TDatabaseServiceName>;
|
|
332
441
|
}
|
|
333
442
|
type RemoveTrailingSlash<T extends string> = T extends `${infer Rest}/` ? Rest extends '' ? T : Rest : T;
|
|
334
443
|
type JoinPaths<TBasePath extends string, TPath extends string> = RemoveTrailingSlash<TBasePath extends '' ? TPath : TPath extends '' ? TBasePath : TBasePath extends '/' ? TPath extends `/${string}` ? TPath : `/${TPath}` : TBasePath extends `${infer Base}/` ? TPath extends `/${infer Rest}` ? `${Base}/${Rest}` : `${Base}/${TPath}` : TPath extends `/${infer Rest}` ? `${TBasePath}/${Rest}` : `${TBasePath}/${TPath}`>;
|
|
335
|
-
interface EndpointFactoryOptions<TServices extends Service[] = [], TBasePath extends string = '', TLogger extends Logger = Logger, TSession = unknown,
|
|
444
|
+
interface EndpointFactoryOptions<TServices extends Service[] = [], TBasePath extends string = '', TLogger extends Logger = Logger, TSession = unknown, TAuthorizers extends readonly string[] = readonly string[], TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TSecuritySchemes extends Record<string, SecurityScheme> = Record<string, SecurityScheme>, TRlsConfig extends RlsConfig<TServices, TSession, TLogger> | undefined = undefined> {
|
|
336
445
|
defaultServices?: TServices;
|
|
337
446
|
/** Construct ids from `.dependsOn()`, carried so a route can declare edges. */
|
|
338
447
|
defaultConstructs?: string[];
|
|
@@ -340,8 +449,6 @@ interface EndpointFactoryOptions<TServices extends Service[] = [], TBasePath ext
|
|
|
340
449
|
defaultAuthorizeFn?: AuthorizeFn<TServices, TLogger, TSession, undefined, TDatabase>;
|
|
341
450
|
defaultLogger?: TLogger;
|
|
342
451
|
defaultSessionExtractor?: SessionFn<TServices, TLogger, TSession, TDatabase>;
|
|
343
|
-
defaultEventPublisher?: Service<TEventPublisherServiceName, TEventPublisher>;
|
|
344
|
-
defaultEvents?: MappedEvent<TEventPublisher, undefined>[];
|
|
345
452
|
availableAuthorizers?: Authorizer[];
|
|
346
453
|
defaultAuthorizerName?: TAuthorizers[number];
|
|
347
454
|
defaultAuditorStorage?: Service<TAuditStorageServiceName, TAuditStorage>;
|
|
@@ -356,64 +463,11 @@ interface EndpointFactoryOptions<TServices extends Service[] = [], TBasePath ext
|
|
|
356
463
|
* endpoint without one has no logger, no env parser and nothing to
|
|
357
464
|
* attribute its traffic to — which was survivable only while `e` existed.
|
|
358
465
|
*
|
|
359
|
-
* Carried through every derived factory, so `api.
|
|
466
|
+
* Carried through every derived factory, so `api.database(db)`
|
|
360
467
|
* still produces endpoints that know which API serves them.
|
|
361
468
|
*/
|
|
362
469
|
surface: EndpointSurface;
|
|
363
470
|
}
|
|
364
|
-
//# sourceMappingURL=EndpointFactory.d.ts.map
|
|
365
|
-
//#endregion
|
|
366
|
-
//#region src/endpoints/lazyAccessors.d.ts
|
|
367
|
-
/**
|
|
368
|
-
* Create a lazy header accessor for Hono.
|
|
369
|
-
* Uses `c.req.header(name)` for single lookups (native, case-insensitive).
|
|
370
|
-
* Only calls `c.req.header()` to get all headers when needed.
|
|
371
|
-
*/
|
|
372
|
-
declare function createHonoHeaders(c: Context): HeaderFn;
|
|
373
|
-
/**
|
|
374
|
-
* Create a lazy cookie accessor for Hono.
|
|
375
|
-
* Uses `getCookie(c, name)` for single lookups (native).
|
|
376
|
-
* Only parses the cookie header when all cookies are requested.
|
|
377
|
-
*/
|
|
378
|
-
declare function createHonoCookies(c: Context): CookieFn;
|
|
379
|
-
/**
|
|
380
|
-
* Create a lazy header accessor for API Gateway events.
|
|
381
|
-
* Handles case-insensitive lookups.
|
|
382
|
-
*/
|
|
383
|
-
declare function createApiGatewayHeaders(headers: Record<string, string | undefined> | null | undefined): HeaderFn;
|
|
384
|
-
/**
|
|
385
|
-
* Create a lazy cookie accessor for API Gateway events.
|
|
386
|
-
* Decodes URL-encoded values to match browser behavior.
|
|
387
|
-
*/
|
|
388
|
-
declare function createApiGatewayCookies(cookies: string[] | undefined, cookieHeader: string | undefined): CookieFn;
|
|
389
|
-
/**
|
|
390
|
-
* Create a lazy header accessor for plain object headers (test adaptor, etc).
|
|
391
|
-
* Headers are already available as an object, just provide lazy access.
|
|
392
|
-
*/
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* Create a no-op header accessor (for minimal endpoints that don't use headers).
|
|
396
|
-
*/
|
|
397
|
-
declare function createNoopHeaders(): HeaderFn;
|
|
398
|
-
/**
|
|
399
|
-
* Create a no-op cookie accessor (for minimal endpoints that don't use cookies).
|
|
400
|
-
*/
|
|
401
|
-
declare function createNoopCookies(): CookieFn;
|
|
402
|
-
//# sourceMappingURL=lazyAccessors.d.ts.map
|
|
403
|
-
//#endregion
|
|
404
|
-
//#region src/endpoints/surfaceEnv.d.ts
|
|
405
|
-
/**
|
|
406
|
-
* The default parser, built once.
|
|
407
|
-
*
|
|
408
|
-
* Once because `Credentials` resolves through `globalThis` and decryption is
|
|
409
|
-
* not free, and because two parsers over the same environment are two caches of
|
|
410
|
-
* the same answer.
|
|
411
|
-
*/
|
|
412
|
-
declare function defaultEnvParser(): EnvironmentParser<{}>;
|
|
413
|
-
/** The parser for an endpoint, from its surface or the default. */
|
|
414
|
-
declare function envParserFor(surface: EndpointSurface | undefined): EnvironmentParser<{}>;
|
|
415
|
-
//# sourceMappingURL=surfaceEnv.d.ts.map
|
|
416
|
-
|
|
417
471
|
//#endregion
|
|
418
|
-
export {
|
|
419
|
-
//# sourceMappingURL=
|
|
472
|
+
export { UPLOAD_POST_SCHEMA as a, UploadContentTypeUnresolved as c, UploadOptions as d, UploadPost as f, UploadHandler as i, UploadExpiryInvalid as l, EndpointBuilder as n, UploadAcceptInvalid as o, UploadEndpointBuilder as r, UploadContentTypeRefused as s, EndpointFactory as t, UploadMaxSizeInvalid as u };
|
|
473
|
+
//# sourceMappingURL=EndpointFactory-Cc863XJS.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EndpointFactory-Cc863XJS.d.cts","names":[],"sources":["../src/endpoints/upload.ts","../src/endpoints/EndpointBuilder.ts","../src/endpoints/EndpointFactory.ts"],"mappings":";;;;;;;;;;;;;;;;UAqBiB,cAAc;;EAE9B,MAAM,KAAK,sBAAsB;;EAEjC;;;;;;;;;EASA;;EAEA,eAAe,KAAK,sBAAsB;;EAE1C;;;cAWY,6BAA6B;WACpB;EAArB,YAAqB;;;cAUT,4BAA4B;WACnB;EAArB,YAAqB;;;cAWT,4BAA4B;WACnB;EAArB,YAAqB;;;cAUT,oCAAoC;WAC3B;EAArB,YAAqB;;;cAWT,iCAAiC;WAEnC;WACA;EAFV,YACU,qBACA;;;;;;;;;;cA0HE,oBAAoB,iBAAiB,cACjD,qBAAqB;;;cC1KT,gBACZ,uBACA,gBAAgB,YAChB,eAAe,sBACf,kBAAkB,gBAClB,gBAAgB,SAAS,QACzB,kBAAkB,0CAClB,oBACA,4DACA,sBAAsB,sCACtB,kDACA,qBAAqB,mCAAmC,kCAIxD,uBACA,sDACS,oBACT,QACA,WACA,WACA,SACA,eACA,0BACA,WACA;WA8BU,OAAO;WACP,QAAQ;YA7BR,SAAS;YACT;YACA,UAAU;YACV;YACA;YACA;;EAEV,cAAc,UAAU,WAAW,SAAS,UAAU;EACtD,YAAY,YAAY,WAAW,SAAS,UAAU,QAAQ;EAE9D,aAAa;EACb,uBAAuB;EACvB,kBAAkB;EAClB,kBAAkB,eAAe,WAAW,UAAU;EACtD,SAAS,YAAY,cAAc;;;;;;;EAOnC,UAAW;EACX,wBAAwB,eAAe;EACvC,aAAa,UAAU,WAAW,UAAU;EAC5C;EACA,aAAa;EAEb,YACU,OAAO,QACP,QAAQ;EAMlB,mBACC,SAAS,QAAQ,0BAA0B;EAM5C,oBAAoB,SAAS,QAAQ,sBAAsB;EAI3D,YAAY;;;;;;EASZ,OAAO,QAAQ;;;;;;;;;;;;;;;;EAmBf,MAAM,eAAe,iBACpB,OAAO,QACP,OAAO,SAAS,QAAQ,oBAAoB,cAC1C,gBACF,QACA,SACA,YACI,WAAW,oBACf,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAmBD,KAAK;EAIL,WAAW;;;;;;;;;;;EAcX,UAAU,SAAS;;;;;;;;;;;;;;;;;;;EAsBnB,aAAa;EAIb,KAAK,UAAU,kBACd,QAAQ,IACN,gBACF,QACA,SACA,KAAK;IAAoB,MAAM;KAC/B,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAOD,OAAO,UAAU,kBAChB,QAAQ,IACN,gBACF,QACA,SACA,KAAK;IAAqB,OAAO;KACjC,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAOD,MAAM,UAAU,kBACf,QAAQ,IACN,gBACF,QACA,SACA,KAAK;IAAqB,OAAO;KACjC,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAKD,OAAO,UAAU,kBAChB,QAAQ,IACN,gBACF,QACA,SACA,KAAK;IAAsB,QAAQ;KACnC,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAOD,UACC,IAAI,YAAY,WAAW,SAAS,UAAU,QAAQ;EAKvD,UAAU,QAAQ;EAIlB,WACC,MAAM,gCACJ,gBACF,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;;;;;;;;;;;;EAkCD,gBAAgB,mBAAmB,cAClC,YAAY,IACV,gBACF,QACA,SACA,YACI,cAAc,WAAW,KAC7B,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DD,OAAO,gBAAgB,mBAAmB,gBACzC,QAAQ,SACR,SAAS,cACR,gBACC,YACI,WAAW,qBACf,SACA,UACA,cACA,WACA,kBAGA,sBACF,QACA,SACA,YACI,WAAW,qBACf,UACC,wCAAwC,qBAAqB,WAC9D,UACA,cACA,eACA,0BACA,cACA,WACA;EAiBD,SAAS,UAAU,WAClB,UAAU,IACR,gBACF,QACA,SACA,YACI,cAAc,IAClB,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAwBD,OAAO,UAAU,QAChB,QAAQ,IACN,gBACF,QACA,SACA,QACA,WACA,GACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;EAqBD,OAAO,UAAU,kBAChB,QAAQ,IACN,gBACF,QACA,SACA,QACA,WACA,SACA,GACA,UACA,cACA,eACA,0BACA,cACA,WACA;;;;;;EA0BQ,QAAQ,UAAU,mBAAmB,sBAC7C,SAAS,QAAQ,OAAO,KACtB,gBACF,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,GACA,OACA,0BAA0B,IAC1B,WACA;;;;;EA4BD,MACC,WAAW,eAAe,WAAW,UAAU,WAC7C,gBACF,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;;;;;;;;;;;;;;;;;;EAsBD,MAAM,QAAQ,YAAY,cAAc;;;;;;;;;;;;;;;;EAmB/B,SAAS,GAAG,sBACpB,QAAQ,WAAW,OAAO,KAAK,QAAQ,OAAO,KAC5C,gBACF,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,GACA;;;;;;;;;;;;;;;;;;;;EA6CD,IACC,QAAQ,UAAU,WAAW,UAAU,mBAAmB;;;;;;;;;;;;;;EAyB3D;EAKA,MAAM;EAMN,OACC,IAAI,gBACH,QACA,WACA,SACA,WACA,UACA,WACA,eACA,gBAEC,SACF,QACA,SACA,QACA,WACA,WACA,SACA,UACA,eACA,0BACA,cACA,WACA;;;;;;KAoEU,cAAc,cAAc,wBACvC,KAAK,WAAW;EAAU,QAAQ;GAClC,UAAU,WAAW,UACjB,WAAW;;;;;cAMH,sBACZ,uBACA,gBAAgB,YAChB,eAAe,sBACf,kBAAkB,gBAClB,gBAAgB,SAAS,QACzB,kBAAkB,0CAClB,oBACA,4DACA,sBAAsB,sCACtB,kDACA,qBAAqB,mCAAmC,kCAIxD,uBACA,sDACS,gBACT,QACA,SACA,QACA,WACA,SACA,WACA,UACA,cACA,eACA,0BACA,cACA,WACA;;EAGA;IACC;IACA,SAAS;;EAGD,OACR,IAAI,cACH,gBACC,QACA,WACA,SACA,WACA,UACA,WACA,eACA,iBAGA,SACF,QACA,SACA,QACA,WACA,WACA,SACA,UACA,eACA,0BACA,cACA,WACA;;;;cCz6BW,gBACZ,kBAAkB,gBAClB,+BACA,gBAAgB,SAAS,QACzB,oBACA,4DACA,sBAAsB,2CACtB,kDACA,qBAAqB,mCAGjB,0BAA0B,YAAY,iBAC1C,uBACA,8CACA,yBAAyB,eAAe,kBAAkB,eAEzD,iBAED,mBACG,UAAU,WAAW,UAAU;UAG1B;;;;;;;;;;;UAWA;UACA;UACA;UAOA;UAMA;;;;;;;;UAQA;UACA;UACA;UACA;UAGA;UAGA;UACA;UACA;EAER,cACC,UACA,oBACA,eACA,yBAEA,iBACA,mBACA,sBACA,uBACA,uBACA,wBACA,uBACA,uBACA,kBACA,WACE,uBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,WACA,sBACA,kBACA;SAuBM,UAAU,0BAA0B,kBAC1C,MAAM,GACN,WAAU,YACR,UAAU,WAAW;EAmCxB,kBAAkB,6BACjB,aAAa,IACX,gBACF,WACA,WACA,SACA,UACA,GACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;;;;;;;;;;;;;;;;;EAqDD,gBAAgB,UAAU,eAAe,iBACxC,SAAS,IACP,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,mBAAmB,GACnB;;;;;;;;;;;EA8CD,WACC,MACG,gCACM,mBACN,gCAED,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;EAkDD,MAAM,sBACL,MAAM,QACJ,gBACF,WACA,UAAU,WAAW,QACrB,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;EAmCD,UACC,IAAI,YAAY,WAAW,SAAS,qBAAqB,aACvD,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;;;;;;;;;;;;EA6CD,gBAAgB,mBAAmB,cAClC,YAAY,IACV,oBACE,WAAW,OAAO,YACtB,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA,cAAc,WAAW,OAAO,YAAY,UAAU;EA6BvD,SAAS,UAAU,WAClB,UAAU,IACR,oBACE,MAAM,YACV,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA,cAAc,MAAM,YAAY,UAAU;EA2C3C,OAAO,UAAU,QAChB,QAAQ,IACN,gBACF,WACA,WACA,GACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA,UAAU,WAAW,UAAU;EAiDhC,QAAQ,GACP,SAAS,UAAU,WAAW,SAAS,GAAG,aACxC,gBACF,WACA,WACA,SACA,GACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA,UAAU,WAAW,GAAG;;;;;EAgDzB,SAAS,GAAG,sBACX,QAAQ,WAAW,OAAO,KAAK,QAAQ,OAAO,KAC5C,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,GACA,OACA,kBACA;;;;;;EAmDD,QAAQ,UAAU,mBAAmB,sBACpC,SAAS,QAAQ,OAAO,KACtB,gBACF,WACA,WACA,SACA,UACA,cACA,GACA,OACA,0BAA0B,IAC1B,WACA,sBACA,kBACA;;;;;EA0CD,MACC,WAAW,eAAe,WAAW,UAAU,WAC7C,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;;;;;;;;;;;;;;;;;;;EAmDD,IAAI,gBAAgB,UAAU,WAAW,UAAU,UAClD,QAAQ,UACN,gBACF,WACA,WACA,SACA,UACA,cACA,eACA,0BACA,cACA,WACA,sBACA,kBACA;UAiCO;EA8FR,KAAK,sBAAsB,MAAM,QAAK,gBAAA,oBAAA,uBAAA,QAAA,mBAAA,YAAA,wBAAA,6BAAA,YAAA,UAAA,2BA2CN,UAAI,wBACN,YAAI,QAAA,YAAA,QAAA,UAAA,wBAAA,cAAA,aAAA,cAAA,aAAA,sBAAA,WAAA,oBAAA,UAAA,cAAA,eAAA,0BAAA,cAAA,WAAA;EAxClC,IAAI,sBAAsB,MAAM,QAAK,gBAAA,oBAAA,uBAAA,QAAA,mBAAA,YAAA,wBAAA,6BAAA,YAAA,UAAA,2BAuCL,UAAI,wBACN,YAAI,QAAA,YAAA,QAAA,UAAA,wBAAA,cAAA,aAAA,cAAA,aAAA,qBAAA,WAAA,oBAAA,UAAA,cAAA,eAAA,0BAAA,cAAA,WAAA;EApClC,IAAI,sBAAsB,MAAM,QAAK,gBAAA,oBAAA,uBAAA,QAAA,mBAAA,YAAA,wBAAA,6BAAA,YAAA,UAAA,2BAmCL,UAAI,wBACN,YAAI,QAAA,YAAA,QAAA,UAAA,wBAAA,cAAA,aAAA,cAAA,aAAA,qBAAA,WAAA,oBAAA,UAAA,cAAA,eAAA,0BAAA,cAAA,WAAA;EAhClC,OAAO,sBAAsB,MAAM,QAAK,gBAAA,oBAAA,uBAAA,QAAA,mBAAA,YAAA,wBAAA,6BAAA,YAAA,UAAA,2BA+BR,UAAI,wBACN,YAAI,QAAA,YAAA,QAAA,UAAA,wBAAA,cAAA,aAAA,cAAA,aAAA,wBAAA,WAAA,oBAAA,UAAA,cAAA,eAAA,0BAAA,cAAA,WAAA;EA5BlC,MAAM,sBAAsB,MAAM,QAAK,gBAAA,oBAAA,uBAAA,QAAA,mBAAA,YAAA,wBAAA,6BAAA,YAAA,UAAA,2BA2BP,UAAI,wBACN,YAAI,QAAA,YAAA,QAAA,UAAA,wBAAA,cAAA,aAAA,cAAA,aAAA,uBAAA,WAAA,oBAAA,UAAA,cAAA,eAAA,0BAAA,cAAA,WAAA;EAxBlC,QAAQ,sBAAsB,MAAM,QAAK,gBAAA,oBAAA,uBAAA,QAAA,mBAAA,YAAA,wBAAA,6BAAA,YAAA,UAAA,2BAuBT,UAAI,wBACN,YAAI,QAAA,YAAA,QAAA,UAAA,wBAAA,cAAA,aAAA,cAAA,aAAA,yBAAA,WAAA,oBAAA,UAAA,cAAA,eAAA,0BAAA,cAAA,WAAA;;KAnBvB,oBAAoB,oBAAoB,mBAAmB,UACpE,kBACC,IACA,OACD;KAES,UACX,0BACA,wBACG,oBACH,uBACG,QACA,mBACC,YACA,wBACC,6BACC,YACI,UACL,2BAA2B,UAC1B,wBAAwB,YACpB,QAAQ,YACR,QAAQ,UACZ,wBAAwB,YACpB,aAAa,YACb,aAAa;UAGP,uBAChB,kBAAkB,gBAClB,+BACA,gBAAgB,SAAS,QACzB,oBACA,4DACA,sBAAsB,sCACtB,kDACA,uBACA,8CACA,yBAAyB,eAAe,kBAAkB,eAEzD,iBAED,mBACG,UAAU,WAAW,UAAU;EAGlC,kBAAkB;;EAElB;EACA,WAAW;EACX,qBAAqB,YACpB,WACA,SACA,qBAEA;EAED,gBAAgB;EAChB,0BAA0B,UAAU,WAAW,SAAS,UAAU;EAClE,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB,QAAQ,0BAA0B;EAC1D,yBAAyB,QAAQ,sBAAsB;EACvD,wBAAwB,eAAe,WAAW,UAAU;EAC5D,wBAAwB;EACxB,mBAAmB;;;;;;;;;;;EAWnB,SAAS"}
|