stratal 0.0.21 → 0.0.23
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 +2 -2
- package/dist/bin/cloudflare-workers-loader.mjs +80 -7
- package/dist/bin/cloudflare-workers-loader.mjs.map +1 -1
- package/dist/bin/quarry.mjs +84 -160
- package/dist/bin/quarry.mjs.map +1 -1
- package/dist/cache/index.d.mts +8 -46
- package/dist/cache/index.d.mts.map +1 -1
- package/dist/cache/index.mjs +134 -97
- package/dist/cache/index.mjs.map +1 -1
- package/dist/{cache.service-DsnKuNyO.d.mts → cache.service-uElmBtdS.d.mts} +29 -39
- package/dist/cache.service-uElmBtdS.d.mts.map +1 -0
- package/dist/{command-BgSlsS4M.mjs → command-BvmUAPPQ.mjs} +15 -4
- package/dist/command-BvmUAPPQ.mjs.map +1 -0
- package/dist/{command-Cmmf0oHX.d.mts → command-CPhFHjG3.d.mts} +3 -2
- package/dist/command-CPhFHjG3.d.mts.map +1 -0
- package/dist/command-not-found.error-ONAZ2Bpk.mjs +14 -0
- package/dist/command-not-found.error-ONAZ2Bpk.mjs.map +1 -0
- package/dist/config/index.d.mts +24 -11
- package/dist/config/index.d.mts.map +1 -1
- package/dist/config/index.mjs +32 -57
- package/dist/config/index.mjs.map +1 -1
- package/dist/{consumer-registry-B7yUNh0q.d.mts → consumer-registry-D3iMTSdy.d.mts} +54 -22
- package/dist/consumer-registry-D3iMTSdy.d.mts.map +1 -0
- package/dist/container-storage-BmOJ4_Na.mjs +52 -0
- package/dist/container-storage-BmOJ4_Na.mjs.map +1 -0
- package/dist/{controller.decorator-B9vwn0zK.mjs → controller.decorator-C5UVeJS3.mjs} +8 -8
- package/dist/controller.decorator-C5UVeJS3.mjs.map +1 -0
- package/dist/cron/index.d.mts +103 -7
- package/dist/cron/index.d.mts.map +1 -1
- package/dist/cron/index.mjs +2 -2
- package/dist/cron-job-NesZRk8F.d.mts +58 -0
- package/dist/cron-job-NesZRk8F.d.mts.map +1 -0
- package/dist/{cron-manager-DQSK8uoV.mjs → cron.module-Bgzq5hiT.mjs} +47 -17
- package/dist/cron.module-Bgzq5hiT.mjs.map +1 -0
- package/dist/decorate-CuAoSZvs.mjs +16 -0
- package/dist/deep-merge-ByiAOZ3r.mjs +18 -0
- package/dist/deep-merge-ByiAOZ3r.mjs.map +1 -0
- package/dist/di/index.d.mts +2 -2
- package/dist/di/index.mjs +4 -3
- package/dist/di-DseMn-z9.mjs +524 -0
- package/dist/di-DseMn-z9.mjs.map +1 -0
- package/dist/email/index.d.mts +40 -122
- package/dist/email/index.d.mts.map +1 -1
- package/dist/email/index.mjs +446 -131
- package/dist/email/index.mjs.map +1 -1
- package/dist/en-CDZBMcc1.mjs +202 -0
- package/dist/en-CDZBMcc1.mjs.map +1 -0
- package/dist/{env-D1rcZ8_r.d.mts → env-ug22bJj7.d.mts} +1 -1
- package/dist/env-ug22bJj7.d.mts.map +1 -0
- package/dist/errors/index.d.mts +2 -2
- package/dist/errors/index.mjs +4 -2
- package/dist/errors-mXYxG0XB.mjs +333 -0
- package/dist/errors-mXYxG0XB.mjs.map +1 -0
- package/dist/events/index.d.mts +14 -3
- package/dist/events/index.d.mts.map +1 -1
- package/dist/events/index.mjs +2 -2
- package/dist/{events-CzCV8jI8.mjs → events-BXJGZjpG.mjs} +23 -13
- package/dist/events-BXJGZjpG.mjs.map +1 -0
- package/dist/exception-context-kEoMFwze.mjs +429 -0
- package/dist/exception-context-kEoMFwze.mjs.map +1 -0
- package/dist/{gateway-context-CXmXtaUP.mjs → gateway-context-TMu_AlJt.mjs} +38 -31
- package/dist/gateway-context-TMu_AlJt.mjs.map +1 -0
- package/dist/guards/index.d.mts +3 -3
- package/dist/guards/index.d.mts.map +1 -1
- package/dist/guards/index.mjs +1 -1
- package/dist/{guards-DU1_J9YA.mjs → guards-DALPXy3_.mjs} +6 -5
- package/dist/guards-DALPXy3_.mjs.map +1 -0
- package/dist/hono-app-CvV3hOfT.mjs +161 -0
- package/dist/hono-app-CvV3hOfT.mjs.map +1 -0
- package/dist/{http-method.decorator-BrgHMdLQ.mjs → http-method.decorator-ByWZb9DO.mjs} +7 -6
- package/dist/http-method.decorator-ByWZb9DO.mjs.map +1 -0
- package/dist/i18n/index.d.mts +238 -3
- package/dist/i18n/index.d.mts.map +1 -0
- package/dist/i18n/index.mjs +39 -3
- package/dist/i18n/index.mjs.map +1 -0
- package/dist/i18n/messages/en/index.d.mts +2 -2
- package/dist/i18n/messages/en/index.mjs +2 -2
- package/dist/i18n/utils/index.d.mts +4 -26
- package/dist/i18n/utils/index.d.mts.map +1 -1
- package/dist/i18n/utils/index.mjs +2 -2
- package/dist/i18n/validation/index.d.mts +3 -2
- package/dist/i18n/validation/index.mjs +4 -2
- package/dist/i18n.module-DRQAZoSZ.mjs +222 -0
- package/dist/i18n.module-DRQAZoSZ.mjs.map +1 -0
- package/dist/i18n.tokens-CZ_v8oyS.mjs +19 -0
- package/dist/i18n.tokens-CZ_v8oyS.mjs.map +1 -0
- package/dist/{index-7-hU3GTV.d.mts → index-0ItCjaqw.d.mts} +1 -1
- package/dist/index-0ItCjaqw.d.mts.map +1 -0
- package/dist/index-B5JBRcWD.d.mts +544 -0
- package/dist/index-B5JBRcWD.d.mts.map +1 -0
- package/dist/index-BUt92sAE.d.mts +124 -0
- package/dist/index-BUt92sAE.d.mts.map +1 -0
- package/dist/{index-ByOyTmqf.d.mts → index-B_JoEl3V.d.mts} +751 -2229
- package/dist/index-B_JoEl3V.d.mts.map +1 -0
- package/dist/index-DtBNIFuP.d.mts +42 -0
- package/dist/index-DtBNIFuP.d.mts.map +1 -0
- package/dist/{index-C1KvMncZ.d.mts → index-HgOLNruQ.d.mts} +3 -108
- package/dist/index-HgOLNruQ.d.mts.map +1 -0
- package/dist/index.d.mts +6 -43
- package/dist/index.mjs +3 -2
- package/dist/{is-command-C6a7WTPw.mjs → is-command-CEPO9n8c.mjs} +2 -2
- package/dist/{is-command-C6a7WTPw.mjs.map → is-command-CEPO9n8c.mjs.map} +1 -1
- package/dist/{is-seeder-CebjZCDn.mjs → is-seeder-Gvh_AM71.mjs} +1 -1
- package/dist/{is-seeder-CebjZCDn.mjs.map → is-seeder-Gvh_AM71.mjs.map} +1 -1
- package/dist/lazy-module-loader-Ib383jH_.d.mts +60 -0
- package/dist/lazy-module-loader-Ib383jH_.d.mts.map +1 -0
- package/dist/locale-path.service-D-dHiIPc.mjs +165 -0
- package/dist/locale-path.service-D-dHiIPc.mjs.map +1 -0
- package/dist/locale-url-nZrZxqJP.mjs +44 -0
- package/dist/locale-url-nZrZxqJP.mjs.map +1 -0
- package/dist/locale-url.service-C2EWmGdq.mjs +41 -0
- package/dist/locale-url.service-C2EWmGdq.mjs.map +1 -0
- package/dist/logger/index.d.mts +2 -2
- package/dist/logger/index.mjs +170 -2
- package/dist/logger/index.mjs.map +1 -0
- package/dist/macroable/index.d.mts +2 -2
- package/dist/macroable/index.mjs +1 -1
- package/dist/{macroable-BmufBshB.mjs → macroable-cvDTFZ_A.mjs} +1 -1
- package/dist/{macroable-BmufBshB.mjs.map → macroable-cvDTFZ_A.mjs.map} +1 -1
- package/dist/metadata-DzzprcID.mjs +39 -0
- package/dist/metadata-DzzprcID.mjs.map +1 -0
- package/dist/module/index.d.mts +7 -24
- package/dist/module/index.d.mts.map +1 -1
- package/dist/module/index.mjs +10 -2
- package/dist/module/index.mjs.map +1 -0
- package/dist/module-registry-Dm-pqHd3.mjs +554 -0
- package/dist/module-registry-Dm-pqHd3.mjs.map +1 -0
- package/dist/module.decorator-CYHY6pG5.mjs +19 -0
- package/dist/module.decorator-CYHY6pG5.mjs.map +1 -0
- package/dist/openapi/index.d.mts +44 -8
- package/dist/openapi/index.d.mts.map +1 -1
- package/dist/openapi/index.mjs +3 -3
- package/dist/openapi-CstuTM8S.mjs +309 -0
- package/dist/openapi-CstuTM8S.mjs.map +1 -0
- package/dist/{openapi-tools.service-Zs-Ewv7F.mjs → openapi-tools.service-BC5EC3R3.mjs} +8 -2
- package/dist/openapi-tools.service-BC5EC3R3.mjs.map +1 -0
- package/dist/{openapi.service-Bt9bCIrd.d.mts → openapi.service-YhTiJ1bO.d.mts} +3 -3
- package/dist/openapi.service-YhTiJ1bO.d.mts.map +1 -0
- package/dist/quarry/index.d.mts +14 -163
- package/dist/quarry/index.d.mts.map +1 -1
- package/dist/quarry/index.mjs +6 -5
- package/dist/quarry/runner.d.mts +184 -0
- package/dist/quarry/runner.d.mts.map +1 -0
- package/dist/quarry/runner.mjs +945 -0
- package/dist/quarry/runner.mjs.map +1 -0
- package/dist/quarry-registry-CXg0RFXq.d.mts +69 -0
- package/dist/quarry-registry-CXg0RFXq.d.mts.map +1 -0
- package/dist/quarry.module-BuRPGMDm.mjs +312 -0
- package/dist/quarry.module-BuRPGMDm.mjs.map +1 -0
- package/dist/queue/index.d.mts +3 -3
- package/dist/queue/index.mjs +57 -48
- package/dist/queue/index.mjs.map +1 -1
- package/dist/queue.module-nddvxzCB.mjs +613 -0
- package/dist/queue.module-nddvxzCB.mjs.map +1 -0
- package/dist/queue.tokens-DjHnFmre.mjs +11 -0
- package/dist/queue.tokens-DjHnFmre.mjs.map +1 -0
- package/dist/{r2-storage.provider-DuonKeYm.mjs → r2-storage.provider-DCxQt9dD.mjs} +6 -6
- package/dist/r2-storage.provider-DCxQt9dD.mjs.map +1 -0
- package/dist/{rate-limit.decorator-6qzNcSOt.mjs → rate-limit.decorator-BPAie_p3.mjs} +6 -11
- package/dist/rate-limit.decorator-BPAie_p3.mjs.map +1 -0
- package/dist/rate-limiter/index.d.mts +11 -50
- package/dist/rate-limiter/index.d.mts.map +1 -1
- package/dist/rate-limiter/index.mjs +33 -42
- package/dist/rate-limiter/index.mjs.map +1 -1
- package/dist/route-name-DGoBOfPg.mjs +171 -0
- package/dist/route-name-DGoBOfPg.mjs.map +1 -0
- package/dist/route-registration.service-D6vSwiKP.mjs +918 -0
- package/dist/route-registration.service-D6vSwiKP.mjs.map +1 -0
- package/dist/route-registry-CYqLp2Nj.mjs +123 -0
- package/dist/route-registry-CYqLp2Nj.mjs.map +1 -0
- package/dist/router/index.d.mts +2 -2
- package/dist/router/index.mjs +18 -7
- package/dist/router-CWGBD-Bg.mjs +78 -0
- package/dist/router-CWGBD-Bg.mjs.map +1 -0
- package/dist/router-resolver-D4YlPNlm.mjs +88 -0
- package/dist/router-resolver-D4YlPNlm.mjs.map +1 -0
- package/dist/seeder/index.d.mts +16 -11
- package/dist/seeder/index.d.mts.map +1 -1
- package/dist/seeder/index.mjs +5 -3
- package/dist/seeder-7ubkms-Y.mjs +81 -0
- package/dist/seeder-7ubkms-Y.mjs.map +1 -0
- package/dist/seeder-registry-CyUmKsJq.mjs +57 -0
- package/dist/seeder-registry-CyUmKsJq.mjs.map +1 -0
- package/dist/seeder.module-CYYwk3Qk.mjs +15 -0
- package/dist/seeder.module-CYYwk3Qk.mjs.map +1 -0
- package/dist/{signed-url-BQPbv2In.mjs → signed-url-DIU0sK_6.mjs} +1 -1
- package/dist/{signed-url-BQPbv2In.mjs.map → signed-url-DIU0sK_6.mjs.map} +1 -1
- package/dist/storage/index.d.mts +15 -39
- package/dist/storage/index.d.mts.map +1 -1
- package/dist/storage/index.mjs +3 -3
- package/dist/storage/providers/index.d.mts +2 -2
- package/dist/storage/providers/index.d.mts.map +1 -1
- package/dist/storage/providers/index.mjs +1 -1
- package/dist/{storage-D8CBP72Z.mjs → storage-MDZypIE9.mjs} +66 -59
- package/dist/storage-MDZypIE9.mjs.map +1 -0
- package/dist/{storage-provider.interface-Bd6vA4ak.d.mts → storage-provider.interface-ClUwxz4S.d.mts} +2 -3
- package/dist/storage-provider.interface-ClUwxz4S.d.mts.map +1 -0
- package/dist/storage.error-Dnib4VHc.mjs +8 -0
- package/dist/storage.error-Dnib4VHc.mjs.map +1 -0
- package/dist/stratal-DL9M38_s.mjs +383 -0
- package/dist/stratal-DL9M38_s.mjs.map +1 -0
- package/dist/stratal-DwDJPY9N.d.mts +43 -0
- package/dist/stratal-DwDJPY9N.d.mts.map +1 -0
- package/dist/tiered-cache.service-Dv3BhxxE.d.mts +79 -0
- package/dist/tiered-cache.service-Dv3BhxxE.d.mts.map +1 -0
- package/dist/trailing-slash-CFyw8nYu.mjs +34 -0
- package/dist/trailing-slash-CFyw8nYu.mjs.map +1 -0
- package/dist/{types-cySNS_lp.d.mts → types-CmV_9xBD.d.mts} +1 -1
- package/dist/types-CmV_9xBD.d.mts.map +1 -0
- package/dist/uri-h7Q8Jug9.mjs +251 -0
- package/dist/uri-h7Q8Jug9.mjs.map +1 -0
- package/dist/{usage-generator-BUdlhnCK.mjs → usage-generator-DAWYasuP.mjs} +7 -4
- package/dist/usage-generator-DAWYasuP.mjs.map +1 -0
- package/dist/validation-CpOjviyT.mjs +49 -0
- package/dist/validation-CpOjviyT.mjs.map +1 -0
- package/dist/validation.context-CRvmrhq7.mjs +117 -0
- package/dist/validation.context-CRvmrhq7.mjs.map +1 -0
- package/dist/versioning.service-C6aHky8-.mjs +36 -0
- package/dist/versioning.service-C6aHky8-.mjs.map +1 -0
- package/dist/websocket/index.d.mts +16 -14
- package/dist/websocket/index.d.mts.map +1 -1
- package/dist/websocket/index.mjs +2 -2
- package/dist/workers/index.d.mts +2 -2
- package/dist/workers/index.d.mts.map +1 -1
- package/dist/workers/index.mjs +3 -2
- package/dist/workers/index.mjs.map +1 -1
- package/dist/zod-eKqqhZ5_.mjs +72 -0
- package/dist/zod-eKqqhZ5_.mjs.map +1 -0
- package/dist/{index-Bnpfq6uk.d.mts → zod-wecrEVAs.d.mts} +63 -133
- package/dist/zod-wecrEVAs.d.mts.map +1 -0
- package/package.json +28 -39
- package/dist/base-email.provider-CfQCA08m.mjs +0 -42
- package/dist/base-email.provider-CfQCA08m.mjs.map +0 -1
- package/dist/cache.service-DsnKuNyO.d.mts.map +0 -1
- package/dist/cache.tokens-B7Rw1C9Q.mjs +0 -6
- package/dist/cache.tokens-B7Rw1C9Q.mjs.map +0 -1
- package/dist/colors-DJaRDXoS.mjs +0 -16
- package/dist/colors-DJaRDXoS.mjs.map +0 -1
- package/dist/command-BgSlsS4M.mjs.map +0 -1
- package/dist/command-Cmmf0oHX.d.mts.map +0 -1
- package/dist/consumer-registry-B7yUNh0q.d.mts.map +0 -1
- package/dist/controller.decorator-B9vwn0zK.mjs.map +0 -1
- package/dist/cron-manager-CmTimEjf.d.mts +0 -131
- package/dist/cron-manager-CmTimEjf.d.mts.map +0 -1
- package/dist/cron-manager-DQSK8uoV.mjs.map +0 -1
- package/dist/en-DSH_bhh6.mjs +0 -308
- package/dist/en-DSH_bhh6.mjs.map +0 -1
- package/dist/env-D1rcZ8_r.d.mts.map +0 -1
- package/dist/errors-COW9-Mar.mjs +0 -1739
- package/dist/errors-COW9-Mar.mjs.map +0 -1
- package/dist/errors-ORxu1-Bb.mjs +0 -74
- package/dist/errors-ORxu1-Bb.mjs.map +0 -1
- package/dist/events-CzCV8jI8.mjs.map +0 -1
- package/dist/gateway-context-CXmXtaUP.mjs.map +0 -1
- package/dist/guards-DU1_J9YA.mjs.map +0 -1
- package/dist/http-method.decorator-BrgHMdLQ.mjs.map +0 -1
- package/dist/i18n.module-CzXLW9Hy.mjs +0 -2532
- package/dist/i18n.module-CzXLW9Hy.mjs.map +0 -1
- package/dist/index-7-hU3GTV.d.mts.map +0 -1
- package/dist/index-Bnpfq6uk.d.mts.map +0 -1
- package/dist/index-ByOyTmqf.d.mts.map +0 -1
- package/dist/index-C1KvMncZ.d.mts.map +0 -1
- package/dist/index-DBd_2wv8.d.mts +0 -263
- package/dist/index-DBd_2wv8.d.mts.map +0 -1
- package/dist/index-DUzWs0z7.d.mts +0 -494
- package/dist/index-DUzWs0z7.d.mts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/logger-DlV7NtvD.mjs +0 -440
- package/dist/logger-DlV7NtvD.mjs.map +0 -1
- package/dist/module-BzLg57FK.mjs +0 -866
- package/dist/module-BzLg57FK.mjs.map +0 -1
- package/dist/openapi-tools.service-Zs-Ewv7F.mjs.map +0 -1
- package/dist/openapi.service-Bt9bCIrd.d.mts.map +0 -1
- package/dist/quarry-registry-BwY2hOxm.mjs +0 -699
- package/dist/quarry-registry-BwY2hOxm.mjs.map +0 -1
- package/dist/queue.module-BhCjZp6H.mjs +0 -409
- package/dist/queue.module-BhCjZp6H.mjs.map +0 -1
- package/dist/r2-storage.provider-DuonKeYm.mjs.map +0 -1
- package/dist/rate-limit.decorator-6qzNcSOt.mjs.map +0 -1
- package/dist/resend.provider-DB4IlFjG.mjs +0 -68
- package/dist/resend.provider-DB4IlFjG.mjs.map +0 -1
- package/dist/seeder-zoEfEw9i.mjs +0 -138
- package/dist/seeder-zoEfEw9i.mjs.map +0 -1
- package/dist/setup-CefZKV_e.mjs +0 -37
- package/dist/setup-CefZKV_e.mjs.map +0 -1
- package/dist/smtp.provider-B6D7zuWX.mjs +0 -76
- package/dist/smtp.provider-B6D7zuWX.mjs.map +0 -1
- package/dist/storage-D8CBP72Z.mjs.map +0 -1
- package/dist/storage-provider.interface-Bd6vA4ak.d.mts.map +0 -1
- package/dist/stratal-CNwpbSZl.mjs +0 -535
- package/dist/stratal-CNwpbSZl.mjs.map +0 -1
- package/dist/types-cySNS_lp.d.mts.map +0 -1
- package/dist/usage-generator-BUdlhnCK.mjs.map +0 -1
- package/dist/validation-DtJwAv7O.mjs +0 -248
- package/dist/validation-DtJwAv7O.mjs.map +0 -1
- /package/dist/{chunk-D1SwGrFN.mjs → chunk-BBjsoOtd.mjs} +0 -0
package/dist/email/index.d.mts
CHANGED
|
@@ -1,46 +1,41 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Dn as AsyncModuleOptions, Dr as ApplicationError, kn as DynamicModule } from "../index-B_JoEl3V.mjs";
|
|
2
|
+
import { a as z } from "../zod-wecrEVAs.mjs";
|
|
3
|
+
import { a as QueueBinding } from "../consumer-registry-D3iMTSdy.mjs";
|
|
4
|
+
import { m as IQueueSender } from "../index-B5JBRcWD.mjs";
|
|
4
5
|
import { ReactElement } from "react";
|
|
5
6
|
|
|
7
|
+
//#region src/email/email.error.d.ts
|
|
8
|
+
declare class EmailError extends ApplicationError {}
|
|
9
|
+
//#endregion
|
|
6
10
|
//#region src/email/email.module.d.ts
|
|
7
11
|
/**
|
|
8
12
|
* SMTP configuration options
|
|
13
|
+
*
|
|
14
|
+
* URL format: `smtp://user:pass@host:port` or `smtps://user:pass@host:port`
|
|
15
|
+
* - `smtp://` → STARTTLS on port 587 (default)
|
|
16
|
+
* - `smtps://` → implicit TLS on port 465 (default)
|
|
9
17
|
*/
|
|
10
18
|
interface SmtpConfig {
|
|
11
|
-
|
|
12
|
-
host: string;
|
|
13
|
-
/** SMTP server port */
|
|
14
|
-
port: number;
|
|
15
|
-
/** Use TLS */
|
|
16
|
-
secure?: boolean;
|
|
17
|
-
/** SMTP username */
|
|
18
|
-
username?: string;
|
|
19
|
-
/** SMTP password */
|
|
20
|
-
password?: string;
|
|
19
|
+
url: string;
|
|
21
20
|
}
|
|
22
21
|
/**
|
|
23
22
|
* Email module configuration options
|
|
24
23
|
*/
|
|
25
24
|
interface EmailModuleOptions {
|
|
26
|
-
/** Email provider type */
|
|
27
|
-
provider: 'resend' | 'smtp';
|
|
28
25
|
/** Default from address */
|
|
29
26
|
from: {
|
|
30
27
|
name: string;
|
|
31
28
|
email: string;
|
|
32
29
|
};
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
/** SMTP configuration (required for smtp provider) */
|
|
36
|
-
smtp?: SmtpConfig;
|
|
30
|
+
/** SMTP configuration */
|
|
31
|
+
smtp: SmtpConfig;
|
|
37
32
|
/** Default reply-to address */
|
|
38
33
|
replyTo?: string;
|
|
39
34
|
/**
|
|
40
|
-
* Queue
|
|
41
|
-
* The
|
|
35
|
+
* Queue binding for email dispatch.
|
|
36
|
+
* The binding must be registered via QueueModule.registerQueue(binding).
|
|
42
37
|
*/
|
|
43
|
-
queue:
|
|
38
|
+
queue: QueueBinding;
|
|
44
39
|
}
|
|
45
40
|
declare class EmailModule {
|
|
46
41
|
/**
|
|
@@ -52,10 +47,9 @@ declare class EmailModule {
|
|
|
52
47
|
* @example
|
|
53
48
|
* ```typescript
|
|
54
49
|
* EmailModule.forRoot({
|
|
55
|
-
* provider: 'resend',
|
|
56
|
-
* apiKey: env.RESEND_API_KEY,
|
|
57
50
|
* from: { name: 'App', email: 'noreply@example.com' },
|
|
58
|
-
*
|
|
51
|
+
* smtp: { url: 'smtp://user:pass@smtp.example.com:587' },
|
|
52
|
+
* queue: 'NOTIFICATIONS_QUEUE',
|
|
59
53
|
* })
|
|
60
54
|
* ```
|
|
61
55
|
*/
|
|
@@ -73,8 +67,6 @@ declare class EmailModule {
|
|
|
73
67
|
* EmailModule.forRootAsync({
|
|
74
68
|
* inject: [emailConfig.KEY],
|
|
75
69
|
* useFactory: (email) => ({
|
|
76
|
-
* provider: email.provider,
|
|
77
|
-
* apiKey: email.apiKey,
|
|
78
70
|
* from: email.from,
|
|
79
71
|
* smtp: email.smtp,
|
|
80
72
|
* queue: email.queue,
|
|
@@ -114,7 +106,7 @@ declare const EMAIL_TOKENS: {
|
|
|
114
106
|
readonly EmailProvider: symbol;
|
|
115
107
|
/**
|
|
116
108
|
* Queue sender for email dispatch.
|
|
117
|
-
* Bound via EmailModule.forRoot({ queue: '
|
|
109
|
+
* Bound via EmailModule.forRoot({ queue: 'QUEUE_BINDING_NAME' })
|
|
118
110
|
*/
|
|
119
111
|
readonly EmailQueue: symbol;
|
|
120
112
|
};
|
|
@@ -172,7 +164,6 @@ type EmailAttachment = z.infer<typeof emailAttachmentSchema>;
|
|
|
172
164
|
*
|
|
173
165
|
* Attachment after resolution, ready for email provider.
|
|
174
166
|
* Content can be Buffer (for inline) or ReadableStream (for storage-based).
|
|
175
|
-
* Both nodemailer and Resend support these formats directly.
|
|
176
167
|
*/
|
|
177
168
|
interface ResolvedEmailAttachment {
|
|
178
169
|
filename: string;
|
|
@@ -321,7 +312,7 @@ type SendBatchEmailInputWithTemplate = Omit<SendBatchEmailInput, 'messages'> & {
|
|
|
321
312
|
*
|
|
322
313
|
* Main facade for sending emails. Routes emails to queues for async processing.
|
|
323
314
|
* The queue is injected via EMAIL_TOKENS.EmailQueue, configured by the application
|
|
324
|
-
* via EmailModule.forRoot({ queue: '
|
|
315
|
+
* via EmailModule.forRoot({ queue: 'QUEUE_BINDING_NAME' }).
|
|
325
316
|
*
|
|
326
317
|
* @example Basic usage
|
|
327
318
|
* ```typescript
|
|
@@ -407,7 +398,7 @@ interface EmailBatchSendResult {
|
|
|
407
398
|
/**
|
|
408
399
|
* Email Provider Interface
|
|
409
400
|
*
|
|
410
|
-
* All email provider implementations
|
|
401
|
+
* All email provider implementations must implement this interface.
|
|
411
402
|
* This allows the EmailService to work with any provider without knowing the implementation details.
|
|
412
403
|
*/
|
|
413
404
|
interface IEmailProvider {
|
|
@@ -428,105 +419,32 @@ interface IEmailProvider {
|
|
|
428
419
|
}
|
|
429
420
|
//#endregion
|
|
430
421
|
//#region src/email/services/email-provider-factory.d.ts
|
|
431
|
-
/**
|
|
432
|
-
* Email Provider Factory
|
|
433
|
-
*
|
|
434
|
-
* Creates email provider instances based on configuration.
|
|
435
|
-
* Supports automatic provider selection from module options.
|
|
436
|
-
*
|
|
437
|
-
* Providers are loaded lazily via dynamic imports to avoid pulling in
|
|
438
|
-
* heavy Node.js-only dependencies (e.g. nodemailer) at module parse time,
|
|
439
|
-
* which would break Cloudflare Workers and vitest-pool-workers environments.
|
|
440
|
-
*/
|
|
441
422
|
declare class EmailProviderFactory {
|
|
442
423
|
private readonly options;
|
|
443
424
|
constructor(options: EmailModuleOptions);
|
|
444
|
-
|
|
445
|
-
* Create email provider instance based on configuration
|
|
446
|
-
*
|
|
447
|
-
* @returns Email provider implementation
|
|
448
|
-
* @throws EmailProviderNotSupportedError if provider is not supported
|
|
449
|
-
*/
|
|
450
|
-
create(): Promise<IEmailProvider>;
|
|
451
|
-
}
|
|
452
|
-
//#endregion
|
|
453
|
-
//#region src/email/errors/resend-api-key-missing.error.d.ts
|
|
454
|
-
/**
|
|
455
|
-
* ResendApiKeyMissingError
|
|
456
|
-
*
|
|
457
|
-
* Thrown when the Resend API key is not configured in environment variables.
|
|
458
|
-
* This prevents the Resend email provider from initializing.
|
|
459
|
-
*
|
|
460
|
-
* Resolution: Set the RESEND_EMAIL_API_KEY environment variable.
|
|
461
|
-
*/
|
|
462
|
-
declare class ResendApiKeyMissingError extends ApplicationError {
|
|
463
|
-
constructor();
|
|
464
|
-
}
|
|
465
|
-
//#endregion
|
|
466
|
-
//#region src/email/errors/smtp-configuration-missing.error.d.ts
|
|
467
|
-
/**
|
|
468
|
-
* SmtpConfigurationMissingError
|
|
469
|
-
*
|
|
470
|
-
* Thrown when SMTP configuration is not found in environment variables.
|
|
471
|
-
* This prevents the SMTP email provider from initializing.
|
|
472
|
-
*
|
|
473
|
-
* Resolution: Set the SMTP_URL environment variable with format: smtp://user:pass@host:port
|
|
474
|
-
*/
|
|
475
|
-
declare class SmtpConfigurationMissingError extends ApplicationError {
|
|
476
|
-
constructor();
|
|
425
|
+
create(): IEmailProvider;
|
|
477
426
|
}
|
|
478
427
|
//#endregion
|
|
479
|
-
//#region src/email/
|
|
428
|
+
//#region src/email/providers/base-email.provider.d.ts
|
|
480
429
|
/**
|
|
481
|
-
*
|
|
430
|
+
* Base Email Provider
|
|
482
431
|
*
|
|
483
|
-
*
|
|
484
|
-
*
|
|
485
|
-
*
|
|
486
|
-
* Resolution: Ensure SMTP_URL is correctly formatted: smtp://user:pass@host:port
|
|
432
|
+
* Abstract base class for email providers.
|
|
433
|
+
* Provides shared implementation of sendBatch() to reduce code duplication.
|
|
487
434
|
*/
|
|
488
|
-
declare class
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
/**
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
*/
|
|
501
|
-
declare class EmailSmtpConnectionFailedError extends ApplicationError {
|
|
502
|
-
constructor(smtpHost: string, smtpPort: number);
|
|
503
|
-
}
|
|
504
|
-
//#endregion
|
|
505
|
-
//#region src/email/errors/email-resend-api-failed.error.d.ts
|
|
506
|
-
/**
|
|
507
|
-
* EmailResendApiFailedError
|
|
508
|
-
*
|
|
509
|
-
* Thrown when Resend API returns an error during email sending.
|
|
510
|
-
* This is a runtime error from the Resend service.
|
|
511
|
-
*
|
|
512
|
-
* Resolution: Check Resend API status, API key validity, or wait and retry.
|
|
513
|
-
*/
|
|
514
|
-
declare class EmailResendApiFailedError extends ApplicationError {
|
|
515
|
-
constructor();
|
|
516
|
-
}
|
|
517
|
-
//#endregion
|
|
518
|
-
//#region src/email/errors/email-provider-not-supported.error.d.ts
|
|
519
|
-
/**
|
|
520
|
-
* EmailProviderNotSupportedError
|
|
521
|
-
*
|
|
522
|
-
* Thrown when an unsupported email provider is configured.
|
|
523
|
-
* Only 'resend' and 'smtp' providers are currently supported.
|
|
524
|
-
*
|
|
525
|
-
* Resolution: Set EMAIL_PROVIDER to either 'resend' or 'smtp'.
|
|
526
|
-
*/
|
|
527
|
-
declare class EmailProviderNotSupportedError extends ApplicationError {
|
|
528
|
-
constructor(provider: string);
|
|
435
|
+
declare abstract class BaseEmailProvider implements IEmailProvider {
|
|
436
|
+
/**
|
|
437
|
+
* Send a single email - must be implemented by concrete providers
|
|
438
|
+
*/
|
|
439
|
+
abstract send(message: ResolvedEmailMessage): Promise<EmailSendResult>;
|
|
440
|
+
/**
|
|
441
|
+
* Send multiple emails in a batch
|
|
442
|
+
*
|
|
443
|
+
* Default implementation sends emails sequentially.
|
|
444
|
+
* Concrete providers can override for optimized batch sending.
|
|
445
|
+
*/
|
|
446
|
+
sendBatch(messages: ResolvedEmailMessage[]): Promise<EmailBatchSendResult>;
|
|
529
447
|
}
|
|
530
448
|
//#endregion
|
|
531
|
-
export { EMAIL_TOKENS, EmailAddress, EmailAttachment, EmailMessage, EmailModule, EmailModuleOptions, EmailProviderFactory,
|
|
449
|
+
export { BaseEmailProvider, EMAIL_TOKENS, EmailAddress, EmailAttachment, EmailBatchSendResult, EmailError, EmailMessage, EmailModule, EmailModuleOptions, EmailProviderFactory, EmailSendResult, EmailService, IEmailProvider, InlineEmailAttachment, ResolvedEmailAttachment, ResolvedEmailMessage, SendBatchEmailInput, SendBatchEmailInputWithTemplate, SendEmailInput, SendEmailInputWithTemplate, SmtpConfig, StorageEmailAttachment, emailAddressSchema, emailAttachmentSchema, emailMessageSchema, inlineEmailAttachmentSchema, sendBatchEmailInputSchema, sendEmailInputSchema, storageEmailAttachmentSchema };
|
|
532
450
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/email/email.module.ts","../../src/email/email.tokens.ts","../../src/email/contracts/email-attachment.ts","../../src/email/contracts/email-message.contract.ts","../../src/email/contracts/send-email.input.ts","../../src/email/services/email.service.ts","../../src/email/providers/email-provider.interface.ts","../../src/email/services/email-provider-factory.ts","../../src/email/
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/email/email.error.ts","../../src/email/email.module.ts","../../src/email/email.tokens.ts","../../src/email/contracts/email-attachment.ts","../../src/email/contracts/email-message.contract.ts","../../src/email/contracts/send-email.input.ts","../../src/email/services/email.service.ts","../../src/email/providers/email-provider.interface.ts","../../src/email/services/email-provider-factory.ts","../../src/email/providers/base-email.provider.ts"],"mappings":"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"}
|