@lunora/mail 1.0.0-alpha.1 → 1.0.0-alpha.100

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.
Files changed (41) hide show
  1. package/LICENSE.md +6 -0
  2. package/__assets__/package-og.svg +1 -1
  3. package/dist/inbound/index.d.mts +325 -93
  4. package/dist/inbound/index.d.ts +325 -93
  5. package/dist/inbound/index.mjs +1 -2
  6. package/dist/index.d.mts +132 -75
  7. package/dist/index.d.ts +132 -75
  8. package/dist/index.mjs +1 -7
  9. package/dist/packem_shared/address-oKy_d0aG.mjs +3 -0
  10. package/dist/packem_shared/authenticatesFrom-BOX-Paur.mjs +1 -0
  11. package/dist/packem_shared/capture-transport.d-BD67fxbB.d.mts +130 -0
  12. package/dist/packem_shared/capture-transport.d-BD67fxbB.d.ts +130 -0
  13. package/dist/packem_shared/consumeQueuedSend-CRfALnCU.mjs +1 -0
  14. package/dist/packem_shared/createCaptureSink-WtmvYpT-.mjs +1 -0
  15. package/dist/packem_shared/createCaptureTransport-DZhMUmaI.mjs +1 -0
  16. package/dist/packem_shared/createCloudflareTransport-bWoNSnK_.mjs +1 -0
  17. package/dist/packem_shared/createInboundEmailHandler-QnZHQZpF.mjs +1 -0
  18. package/dist/packem_shared/createMailer-TVxz0_5S.mjs +1 -0
  19. package/dist/packem_shared/createResendTransport-BMjRlHmy.mjs +1 -0
  20. package/dist/packem_shared/provider-transport-BnA39QbI.mjs +1 -0
  21. package/dist/packem_shared/renderEmail-BOUnr6i3.mjs +1 -0
  22. package/dist/packem_shared/shard-C5t-b7FX.mjs +1 -0
  23. package/dist/packem_shared/shard.d-DVADjmEJ.d.mts +29 -0
  24. package/dist/packem_shared/shard.d-DVADjmEJ.d.ts +29 -0
  25. package/dist/testing.d.mts +9 -9
  26. package/dist/testing.d.ts +9 -9
  27. package/dist/testing.mjs +1 -57
  28. package/package.json +6 -5
  29. package/dist/packem_shared/address-fkXxLKza.mjs +0 -62
  30. package/dist/packem_shared/capture-transport.d-ChnhdPO2.d.mts +0 -117
  31. package/dist/packem_shared/capture-transport.d-ChnhdPO2.d.ts +0 -117
  32. package/dist/packem_shared/createCaptureSink-CNhqLMZ1.mjs +0 -61
  33. package/dist/packem_shared/createCaptureTransport-Crz_8822.mjs +0 -11
  34. package/dist/packem_shared/createCloudflareTransport-yHOVEsZv.mjs +0 -26
  35. package/dist/packem_shared/createInboundEmailHandler-Cd8dyzB7.mjs +0 -80
  36. package/dist/packem_shared/createMailer-CMVVTp0F.mjs +0 -77
  37. package/dist/packem_shared/createResendTransport-oNIorpzv.mjs +0 -16
  38. package/dist/packem_shared/parseInboundEmail-Bw9u_1oc.mjs +0 -72
  39. package/dist/packem_shared/provider-transport-C5CVbjRF.mjs +0 -47
  40. package/dist/packem_shared/renderEmail-hyS1bpVP.mjs +0 -8
  41. package/dist/packem_shared/toQueuedPayload-BEKOdaxU.mjs +0 -75
@@ -1,75 +0,0 @@
1
- const toQueuedPayload = (options) => {
2
- return {
3
- bcc: options.bcc,
4
- cc: options.cc,
5
- from: options.from,
6
- headers: options.headers,
7
- html: options.html,
8
- replyTo: options.replyTo,
9
- subject: options.subject,
10
- text: options.text,
11
- to: options.to
12
- };
13
- };
14
- const consumeQueuedSend = async (mailer, payload) => {
15
- if (!payload || typeof payload !== "object" || Array.isArray(payload)) {
16
- throw new Error("@lunora/mail: queue message body must be an object");
17
- }
18
- const candidate = payload;
19
- if (typeof candidate.subject !== "string") {
20
- throw new TypeError("@lunora/mail: queue message must have a string `subject`");
21
- }
22
- const recipientIsString = typeof candidate.to === "string";
23
- const recipientIsStringArray = Array.isArray(candidate.to) && candidate.to.every((value) => typeof value === "string");
24
- if (!recipientIsString && !recipientIsStringArray) {
25
- throw new Error("@lunora/mail: queue message `to` must be a string or string[]");
26
- }
27
- const assertOptionalString = (field, value) => {
28
- if (value === void 0) {
29
- return void 0;
30
- }
31
- if (typeof value !== "string") {
32
- throw new TypeError(`@lunora/mail: queue message \`${field}\` must be a string`);
33
- }
34
- return value;
35
- };
36
- const assertOptionalStringList = (field, value) => {
37
- if (value === void 0) {
38
- return void 0;
39
- }
40
- if (typeof value === "string") {
41
- return [value];
42
- }
43
- if (Array.isArray(value) && value.every((entry) => typeof entry === "string")) {
44
- return value;
45
- }
46
- throw new TypeError(`@lunora/mail: queue message \`${field}\` must be a string or string[]`);
47
- };
48
- let headers;
49
- if (candidate.headers !== void 0) {
50
- if (!candidate.headers || typeof candidate.headers !== "object" || Array.isArray(candidate.headers)) {
51
- throw new TypeError("@lunora/mail: queue message `headers` must be an object of string values");
52
- }
53
- const entries = Object.entries(candidate.headers);
54
- for (const [key, value] of entries) {
55
- if (typeof value !== "string") {
56
- throw new TypeError(`@lunora/mail: queue message header "${key}" must be a string`);
57
- }
58
- }
59
- headers = candidate.headers;
60
- }
61
- const options = {
62
- bcc: assertOptionalStringList("bcc", candidate.bcc),
63
- cc: assertOptionalStringList("cc", candidate.cc),
64
- from: assertOptionalString("from", candidate.from),
65
- headers,
66
- html: assertOptionalString("html", candidate.html),
67
- replyTo: assertOptionalString("replyTo", candidate.replyTo),
68
- subject: candidate.subject,
69
- text: assertOptionalString("text", candidate.text),
70
- to: candidate.to
71
- };
72
- return mailer.send(options);
73
- };
74
-
75
- export { consumeQueuedSend, toQueuedPayload };