@arikajs/mail 0.0.3 → 0.0.5

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 (87) hide show
  1. package/README.md +80 -16
  2. package/dist/Jobs/SendQueuedMailable.d.ts +8 -0
  3. package/dist/Jobs/SendQueuedMailable.d.ts.map +1 -0
  4. package/dist/Jobs/SendQueuedMailable.js +32 -0
  5. package/dist/Jobs/SendQueuedMailable.js.map +1 -0
  6. package/dist/MailManager.d.ts +3 -0
  7. package/dist/MailManager.d.ts.map +1 -1
  8. package/dist/MailManager.js +8 -1
  9. package/dist/MailManager.js.map +1 -1
  10. package/dist/Mailable.d.ts +44 -1
  11. package/dist/Mailable.d.ts.map +1 -1
  12. package/dist/Mailable.js +44 -2
  13. package/dist/Mailable.js.map +1 -1
  14. package/dist/Mailer.d.ts +14 -2
  15. package/dist/Mailer.d.ts.map +1 -1
  16. package/dist/Mailer.js +101 -4
  17. package/dist/Mailer.js.map +1 -1
  18. package/dist/Message.d.ts +3 -1
  19. package/dist/Message.d.ts.map +1 -1
  20. package/dist/Message.js +14 -0
  21. package/dist/Message.js.map +1 -1
  22. package/dist/Transport/LogTransport.d.ts.map +1 -1
  23. package/dist/Transport/LogTransport.js +26 -3
  24. package/dist/Transport/LogTransport.js.map +1 -1
  25. package/dist/Transport/SesTransport.d.ts.map +1 -1
  26. package/dist/Transport/SesTransport.js.map +1 -1
  27. package/dist/index.d.ts +4 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +21 -1
  30. package/dist/index.js.map +1 -1
  31. package/package.json +52 -50
  32. package/dist/src/Contracts/Transport.d.ts +0 -4
  33. package/dist/src/Contracts/Transport.d.ts.map +0 -1
  34. package/dist/src/Contracts/Transport.js +0 -3
  35. package/dist/src/Contracts/Transport.js.map +0 -1
  36. package/dist/src/MailManager.d.ts +0 -13
  37. package/dist/src/MailManager.d.ts.map +0 -1
  38. package/dist/src/MailManager.js +0 -69
  39. package/dist/src/MailManager.js.map +0 -1
  40. package/dist/src/Mailable.d.ts +0 -21
  41. package/dist/src/Mailable.d.ts.map +0 -1
  42. package/dist/src/Mailable.js +0 -32
  43. package/dist/src/Mailable.js.map +0 -1
  44. package/dist/src/Mailer.d.ts +0 -31
  45. package/dist/src/Mailer.d.ts.map +0 -1
  46. package/dist/src/Mailer.js +0 -89
  47. package/dist/src/Mailer.js.map +0 -1
  48. package/dist/src/Message.d.ts +0 -45
  49. package/dist/src/Message.d.ts.map +0 -1
  50. package/dist/src/Message.js +0 -77
  51. package/dist/src/Message.js.map +0 -1
  52. package/dist/src/Transport/ArrayTransport.d.ts +0 -14
  53. package/dist/src/Transport/ArrayTransport.d.ts.map +0 -1
  54. package/dist/src/Transport/ArrayTransport.js +0 -25
  55. package/dist/src/Transport/ArrayTransport.js.map +0 -1
  56. package/dist/src/Transport/LogTransport.d.ts +0 -5
  57. package/dist/src/Transport/LogTransport.d.ts.map +0 -1
  58. package/dist/src/Transport/LogTransport.js +0 -12
  59. package/dist/src/Transport/LogTransport.js.map +0 -1
  60. package/dist/src/Transport/MailgunTransport.d.ts +0 -8
  61. package/dist/src/Transport/MailgunTransport.d.ts.map +0 -1
  62. package/dist/src/Transport/MailgunTransport.js +0 -24
  63. package/dist/src/Transport/MailgunTransport.js.map +0 -1
  64. package/dist/src/Transport/SendGridTransport.d.ts +0 -8
  65. package/dist/src/Transport/SendGridTransport.d.ts.map +0 -1
  66. package/dist/src/Transport/SendGridTransport.js +0 -22
  67. package/dist/src/Transport/SendGridTransport.js.map +0 -1
  68. package/dist/src/Transport/SesTransport.d.ts +0 -8
  69. package/dist/src/Transport/SesTransport.d.ts.map +0 -1
  70. package/dist/src/Transport/SesTransport.js +0 -28
  71. package/dist/src/Transport/SesTransport.js.map +0 -1
  72. package/dist/src/Transport/SmtpTransport.d.ts +0 -8
  73. package/dist/src/Transport/SmtpTransport.d.ts.map +0 -1
  74. package/dist/src/Transport/SmtpTransport.js +0 -30
  75. package/dist/src/Transport/SmtpTransport.js.map +0 -1
  76. package/dist/src/index.d.ts +0 -17
  77. package/dist/src/index.d.ts.map +0 -1
  78. package/dist/src/index.js +0 -46
  79. package/dist/src/index.js.map +0 -1
  80. package/dist/tests/Mail.test.d.ts +0 -2
  81. package/dist/tests/Mail.test.d.ts.map +0 -1
  82. package/dist/tests/Mail.test.js +0 -43
  83. package/dist/tests/Mail.test.js.map +0 -1
  84. package/dist/tests/TransportResolution.test.d.ts +0 -2
  85. package/dist/tests/TransportResolution.test.d.ts.map +0 -1
  86. package/dist/tests/TransportResolution.test.js +0 -52
  87. package/dist/tests/TransportResolution.test.js.map +0 -1
package/dist/Message.js CHANGED
@@ -59,6 +59,20 @@ class Message {
59
59
  this._attachments.push(attachment);
60
60
  return this;
61
61
  }
62
+ attachData(data, filename, options = {}) {
63
+ return this.attach({
64
+ ...options,
65
+ content: data,
66
+ filename
67
+ });
68
+ }
69
+ attachStream(stream, filename, options = {}) {
70
+ return this.attach({
71
+ ...options,
72
+ content: stream,
73
+ filename
74
+ });
75
+ }
62
76
  getPayload() {
63
77
  return {
64
78
  to: this._to,
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sourceRoot":"","sources":["../src/Message.ts"],"names":[],"mappings":";;;AAeA,MAAa,OAAO;IAWhB;QAVU,QAAG,GAAyB,EAAE,CAAC;QAC/B,QAAG,GAAyB,EAAE,CAAC;QAC/B,SAAI,GAAyB,EAAE,CAAC;QAMhC,iBAAY,GAAiB,EAAE,CAAC;IAE1B,CAAC;IAEjB,EAAE,CAAC,OAAgD;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,EAAE,CAAC,OAAgD;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,OAAgD;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,OAAyB;QAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,OAAyB;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,OAAe;QACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,OAAe;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,OAAe;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,UAAsB;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU;QACN,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,WAAW,EAAE,IAAI,CAAC,YAAY;SACjC,CAAC;IACN,CAAC;CACJ;AAnFD,0BAmFC"}
1
+ {"version":3,"file":"Message.js","sourceRoot":"","sources":["../src/Message.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogTransport.d.ts","sourceRoot":"","sources":["../../src/Transport/LogTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,qBAAa,YAAa,YAAW,SAAS;IACpC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1C"}
1
+ {"version":3,"file":"LogTransport.d.ts","sourceRoot":"","sources":["../../src/Transport/LogTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD,qBAAa,YAAa,YAAW,SAAS;IACpC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB1C"}
@@ -1,11 +1,34 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.LogTransport = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
4
9
  class LogTransport {
5
10
  async send(message) {
6
- console.log('--- Email Sent ---');
7
- console.log(JSON.stringify(message, null, 2));
8
- console.log('------------------');
11
+ const to = Array.isArray(message.to)
12
+ ? message.to.map((r) => (typeof r === 'string' ? r : r.address)).join(', ')
13
+ : (typeof message.to === 'string' ? message.to : message.to?.address ?? '');
14
+ const timestamp = new Date().toISOString().replace('T', ' ').substring(0, 19);
15
+ const logLine = [
16
+ `[${timestamp}] DEBUG: [Mail] To: ${to} | Subject: ${message.subject ?? '(no subject)'}`,
17
+ `[${timestamp}] DEBUG: [Mail] Payload: ${JSON.stringify(message, null, 2)}`,
18
+ ''
19
+ ].join('\n');
20
+ // Write to storage/logs/arika.log (application root)
21
+ const logDir = path_1.default.join(process.cwd(), 'storage', 'logs');
22
+ const logFile = path_1.default.join(logDir, 'arika.log');
23
+ try {
24
+ if (!fs_1.default.existsSync(logDir))
25
+ fs_1.default.mkdirSync(logDir, { recursive: true });
26
+ fs_1.default.appendFileSync(logFile, logLine);
27
+ }
28
+ catch {
29
+ // Fallback to console if file write fails
30
+ console.log('[Mail Log]', logLine);
31
+ }
9
32
  }
10
33
  }
11
34
  exports.LogTransport = LogTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"LogTransport.js","sourceRoot":"","sources":["../../src/Transport/LogTransport.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IACrB,KAAK,CAAC,IAAI,CAAC,OAAY;QACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;CACJ;AAND,oCAMC"}
1
+ {"version":3,"file":"LogTransport.js","sourceRoot":"","sources":["../../src/Transport/LogTransport.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAExB,MAAa,YAAY;IACrB,KAAK,CAAC,IAAI,CAAC,OAAY;QACnB,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChF,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAEhF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG;YACZ,IAAI,SAAS,uBAAuB,EAAE,eAAe,OAAO,CAAC,OAAO,IAAI,cAAc,EAAE;YACxF,IAAI,SAAS,4BAA4B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YAC3E,EAAE;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,qDAAqD;QACrD,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE/C,IAAI,CAAC;YACD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,YAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACL,0CAA0C;YAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;CACJ;AAzBD,oCAyBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SesTransport.d.ts","sourceRoot":"","sources":["../../src/Transport/SesTransport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGrD,qBAAa,YAAa,YAAW,SAAS;IAC1C,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEvB,MAAM,EAAE,GAAG;IAejB,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
1
+ {"version":3,"file":"SesTransport.d.ts","sourceRoot":"","sources":["../../src/Transport/SesTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGrD,qBAAa,YAAa,YAAW,SAAS;IAC1C,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEvB,MAAM,EAAE,GAAG;IAejB,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"SesTransport.js","sourceRoot":"","sources":["../../src/Transport/SesTransport.ts"],"names":[],"mappings":";;;;;;AAEA,4DAAqD;AACrD,oDAA+D;AAE/D,MAAa,YAAY;IAGrB,YAAY,MAAW;QACnB,MAAM,GAAG,GAAG,IAAI,gBAAG,CAAC;YAChB,UAAU,EAAE,YAAY;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE;gBACT,WAAW,EAAE,MAAM,CAAC,GAAG;gBACvB,eAAe,EAAE,MAAM,CAAC,MAAM;aACjC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,oBAAU,CAAC,eAAe,CAAC;YAC1C,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,mBAAmB,EAAnB,gCAAmB,EAAE,EAAE;SAC7C,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAY;QACnB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ;AArBD,oCAqBC"}
1
+ {"version":3,"file":"SesTransport.js","sourceRoot":"","sources":["../../src/Transport/SesTransport.ts"],"names":[],"mappings":";;;;;;AACA,4DAAqD;AACrD,oDAA+D;AAE/D,MAAa,YAAY;IAGrB,YAAY,MAAW;QACnB,MAAM,GAAG,GAAG,IAAI,gBAAG,CAAC;YAChB,UAAU,EAAE,YAAY;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE;gBACT,WAAW,EAAE,MAAM,CAAC,GAAG;gBACvB,eAAe,EAAE,MAAM,CAAC,MAAM;aACjC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,oBAAU,CAAC,eAAe,CAAC;YAC1C,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,mBAAmB,EAAnB,gCAAmB,EAAE,EAAE;SAC7C,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAY;QACnB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ;AArBD,oCAqBC"}
package/dist/index.d.ts CHANGED
@@ -8,10 +8,14 @@ export { SmtpTransport } from './Transport/SmtpTransport';
8
8
  export { SesTransport } from './Transport/SesTransport';
9
9
  export { MailgunTransport } from './Transport/MailgunTransport';
10
10
  export { SendGridTransport } from './Transport/SendGridTransport';
11
+ export { SendQueuedMailable } from './Jobs/SendQueuedMailable';
11
12
  export declare class Mail {
12
13
  static setManager(manager: MailManager): void;
14
+ static setQueue(queue: any): void;
13
15
  static extend(driver: string, callback: (config: any) => any): MailManager;
14
16
  static to(users: any): import("./Mailer").PendingMail;
17
+ static cc(users: any): import("./Mailer").PendingMail;
18
+ static bcc(users: any): import("./Mailer").PendingMail;
15
19
  static mailer(name?: string): import("./Mailer").Mailer;
16
20
  }
17
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE,qBAAa,IAAI;IACb,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW;IAItC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG;IAO5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG;IAOpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM;CAM9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI/D,qBAAa,IAAI;IACb,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW;IAItC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG;IAO1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG;IAO5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG;IAOpB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG;IAOpB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG;IAOrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM;CAM9B"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mail = exports.SendGridTransport = exports.MailgunTransport = exports.SesTransport = exports.SmtpTransport = exports.Message = exports.Mailable = exports.PendingMail = exports.Mailer = exports.MailManager = void 0;
3
+ exports.Mail = exports.SendQueuedMailable = exports.SendGridTransport = exports.MailgunTransport = exports.SesTransport = exports.SmtpTransport = exports.Message = exports.Mailable = exports.PendingMail = exports.Mailer = exports.MailManager = void 0;
4
4
  var MailManager_1 = require("./MailManager");
5
5
  Object.defineProperty(exports, "MailManager", { enumerable: true, get: function () { return MailManager_1.MailManager; } });
6
6
  var Mailer_1 = require("./Mailer");
@@ -18,11 +18,19 @@ var MailgunTransport_1 = require("./Transport/MailgunTransport");
18
18
  Object.defineProperty(exports, "MailgunTransport", { enumerable: true, get: function () { return MailgunTransport_1.MailgunTransport; } });
19
19
  var SendGridTransport_1 = require("./Transport/SendGridTransport");
20
20
  Object.defineProperty(exports, "SendGridTransport", { enumerable: true, get: function () { return SendGridTransport_1.SendGridTransport; } });
21
+ var SendQueuedMailable_1 = require("./Jobs/SendQueuedMailable");
22
+ Object.defineProperty(exports, "SendQueuedMailable", { enumerable: true, get: function () { return SendQueuedMailable_1.SendQueuedMailable; } });
21
23
  let mailManager;
22
24
  class Mail {
23
25
  static setManager(manager) {
24
26
  mailManager = manager;
25
27
  }
28
+ static setQueue(queue) {
29
+ if (!mailManager) {
30
+ throw new Error('Mail system not configured. Please use Mail.setManager() to configure.');
31
+ }
32
+ mailManager.setQueue(queue);
33
+ }
26
34
  static extend(driver, callback) {
27
35
  if (!mailManager) {
28
36
  throw new Error('Mail system not configured. Please use Mail.setManager() to configure.');
@@ -35,6 +43,18 @@ class Mail {
35
43
  }
36
44
  return mailManager.to(users);
37
45
  }
46
+ static cc(users) {
47
+ if (!mailManager) {
48
+ throw new Error('Mail system not configured. Please use Mail.setManager() to configure.');
49
+ }
50
+ return mailManager.mailer().cc(users);
51
+ }
52
+ static bcc(users) {
53
+ if (!mailManager) {
54
+ throw new Error('Mail system not configured. Please use Mail.setManager() to configure.');
55
+ }
56
+ return mailManager.mailer().bcc(users);
57
+ }
38
58
  static mailer(name) {
39
59
  if (!mailManager) {
40
60
  throw new Error('Mail system not configured. Please use Mail.setManager() to configure.');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAGA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,mCAA6D;AAApD,gGAAA,MAAM,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC5B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,qCAAyD;AAAhD,kGAAA,OAAO,OAAA;AAEhB,2DAA0D;AAAjD,8GAAA,aAAa,OAAA;AACtB,yDAAwD;AAA/C,4GAAA,YAAY,OAAA;AACrB,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AACzB,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAE1B,IAAI,WAAwB,CAAC;AAE7B,MAAa,IAAI;IACb,MAAM,CAAC,UAAU,CAAC,OAAoB;QAClC,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,QAA8B;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,KAAU;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAa;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACJ;AAzBD,oBAyBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAGA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,mCAA6D;AAApD,gGAAA,MAAM,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC5B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,qCAAyD;AAAhD,kGAAA,OAAO,OAAA;AAEhB,2DAA0D;AAAjD,8GAAA,aAAa,OAAA;AACtB,yDAAwD;AAA/C,4GAAA,YAAY,OAAA;AACrB,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AACzB,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAC1B,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAE3B,IAAI,WAAwB,CAAC;AAE7B,MAAa,IAAI;IACb,MAAM,CAAC,UAAU,CAAC,OAAoB;QAClC,WAAW,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAU;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,QAA8B;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,KAAU;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,KAAU;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,KAAU;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAa;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACJ;AA9CD,oBA8CC"}
package/package.json CHANGED
@@ -1,52 +1,54 @@
1
1
  {
2
- "name": "@arikajs/mail",
3
- "version": "0.0.3",
4
- "description": "Email delivery system for the ArikaJS framework.",
5
- "license": "MIT",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "scripts": {
9
- "build": "tsc -p tsconfig.json",
10
- "build:tests": "tsc -p tsconfig.test.json",
11
- "clean": "rm -rf dist",
12
- "prepare": "echo skip",
13
- "test": "npm run build && npm run build:tests && node --test 'dist/tests/**/*.test.js'",
14
- "test:watch": "npm run build && npm run build:tests && node --test --watch 'dist/tests/**/*.test.js'"
15
- },
16
- "files": [
17
- "dist"
18
- ],
19
- "keywords": [
20
- "arika",
21
- "arika-js",
22
- "framework",
23
- "mail",
24
- "email",
25
- "smtp",
26
- "mailer",
27
- "mailable"
28
- ],
29
- "engines": {
30
- "node": ">=20.0.0"
31
- },
32
- "repository": {
33
- "type": "git",
34
- "url": "git+https://github.com/arikajs/mail.git"
35
- },
36
- "bugs": {
37
- "url": "https://github.com/arikajs/mail/issues"
38
- },
39
- "homepage": "https://github.com/arikajs/mail#readme",
40
- "dependencies": {
41
- "@aws-sdk/client-ses": "^3.992.0",
42
- "nodemailer": "^8.0.1",
43
- "nodemailer-mailgun-transport": "^2.1.5",
44
- "@sendgrid/mail": "^8.1.0"
45
- },
46
- "devDependencies": {
47
- "@types/node": "^20.11.24",
48
- "@types/nodemailer": "^6.4.14",
49
- "typescript": "^5.3.3"
50
- },
51
- "author": "Prakash Tank"
2
+ "name": "@arikajs/mail",
3
+ "version": "0.0.5",
4
+ "description": "Email delivery system for the ArikaJS framework.",
5
+ "license": "MIT",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "scripts": {
9
+ "build": "tsc -p tsconfig.json",
10
+ "build:tests": "tsc -p tsconfig.test.json",
11
+ "clean": "rm -rf dist",
12
+ "prepare": "echo skip",
13
+ "test": "npx tsx --test tests/**/*.test.ts",
14
+ "test:watch": "npx tsx --test --watch tests/**/*.test.ts",
15
+ "dev": "tsc -p tsconfig.json --watch"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "keywords": [
21
+ "arika",
22
+ "arika-js",
23
+ "framework",
24
+ "mail",
25
+ "email",
26
+ "smtp",
27
+ "mailer",
28
+ "mailable"
29
+ ],
30
+ "engines": {
31
+ "node": ">=20.0.0"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/ArikaJs/arikajs.git",
36
+ "directory": "packages/mail"
37
+ },
38
+ "bugs": {
39
+ "url": "https://github.com/ArikaJs/arikajs/issues"
40
+ },
41
+ "homepage": "https://github.com/ArikaJs/arikajs/tree/main/packages/mail#readme",
42
+ "dependencies": {
43
+ "@aws-sdk/client-ses": "^3.511.0",
44
+ "@sendgrid/mail": "^8.1.0",
45
+ "nodemailer": "^6.9.16",
46
+ "nodemailer-mailgun-transport": "^2.1.5"
47
+ },
48
+ "devDependencies": {
49
+ "@types/node": "^20.11.24",
50
+ "@types/nodemailer": "^6.4.14",
51
+ "typescript": "^5.3.3"
52
+ },
53
+ "author": "Prakash Tank"
52
54
  }
@@ -1,4 +0,0 @@
1
- export interface Transport {
2
- send(message: any): Promise<void>;
3
- }
4
- //# sourceMappingURL=Transport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../../../src/Contracts/Transport.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../../src/Contracts/Transport.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import { Mailer, ViewRenderer } from './Mailer';
2
- export declare class MailManager {
3
- private config;
4
- private viewRenderer?;
5
- private mailers;
6
- private customCreators;
7
- constructor(config: any, viewRenderer?: ViewRenderer | undefined);
8
- extend(driver: string, callback: (config: any) => any): this;
9
- mailer(name?: string): Mailer;
10
- protected resolve(name: string): Mailer;
11
- to(users: any): import("./Mailer").PendingMail;
12
- }
13
- //# sourceMappingURL=MailManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MailManager.d.ts","sourceRoot":"","sources":["../../src/MailManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKhD,qBAAa,WAAW;IAKR,OAAO,CAAC,MAAM;IAAO,OAAO,CAAC,YAAY,CAAC;IAJtD,OAAO,CAAC,OAAO,CAAkC;IAEjD,OAAO,CAAC,cAAc,CAAgD;gBAElD,MAAM,EAAE,GAAG,EAAU,YAAY,CAAC,EAAE,YAAY,YAAA;IAE7D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG;IAKrD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAUpC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA0ChC,EAAE,CAAC,KAAK,EAAE,GAAG;CAGvB"}
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MailManager = void 0;
4
- const Mailer_1 = require("./Mailer");
5
- const SmtpTransport_1 = require("./Transport/SmtpTransport");
6
- const LogTransport_1 = require("./Transport/LogTransport");
7
- const ArrayTransport_1 = require("./Transport/ArrayTransport");
8
- class MailManager {
9
- constructor(config, viewRenderer) {
10
- this.config = config;
11
- this.viewRenderer = viewRenderer;
12
- this.mailers = new Map();
13
- this.customCreators = new Map();
14
- }
15
- extend(driver, callback) {
16
- this.customCreators.set(driver, callback);
17
- return this;
18
- }
19
- mailer(name) {
20
- const mailerName = name || this.config.default;
21
- if (!this.mailers.has(mailerName)) {
22
- this.mailers.set(mailerName, this.resolve(mailerName));
23
- }
24
- return this.mailers.get(mailerName);
25
- }
26
- resolve(name) {
27
- const config = this.config.mailers[name];
28
- if (!config) {
29
- throw new Error(`Mailer [${name}] is not defined.`);
30
- }
31
- let transport;
32
- if (this.customCreators.has(config.transport)) {
33
- transport = this.customCreators.get(config.transport)(config);
34
- }
35
- else {
36
- switch (config.transport) {
37
- case 'smtp':
38
- transport = new SmtpTransport_1.SmtpTransport(config);
39
- break;
40
- case 'ses':
41
- const { SesTransport } = require('./Transport/SesTransport');
42
- transport = new SesTransport(config);
43
- break;
44
- case 'mailgun':
45
- const { MailgunTransport } = require('./Transport/MailgunTransport');
46
- transport = new MailgunTransport(config);
47
- break;
48
- case 'sendgrid':
49
- const { SendGridTransport } = require('./Transport/SendGridTransport');
50
- transport = new SendGridTransport(config);
51
- break;
52
- case 'log':
53
- transport = new LogTransport_1.LogTransport();
54
- break;
55
- case 'array':
56
- transport = new ArrayTransport_1.ArrayTransport();
57
- break;
58
- default:
59
- throw new Error(`Unsupported transport driver [${config.transport}].`);
60
- }
61
- }
62
- return new Mailer_1.Mailer(name, transport, this.viewRenderer);
63
- }
64
- to(users) {
65
- return this.mailer().to(users);
66
- }
67
- }
68
- exports.MailManager = MailManager;
69
- //# sourceMappingURL=MailManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MailManager.js","sourceRoot":"","sources":["../../src/MailManager.ts"],"names":[],"mappings":";;;AACA,qCAAgD;AAChD,6DAA0D;AAC1D,2DAAwD;AACxD,+DAA4D;AAE5D,MAAa,WAAW;IAKpB,YAAoB,MAAW,EAAU,YAA2B;QAAhD,WAAM,GAAN,MAAM,CAAK;QAAU,iBAAY,GAAZ,YAAY,CAAe;QAJ5D,YAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;QAEzC,mBAAc,GAAsC,IAAI,GAAG,EAAE,CAAC;IAEE,CAAC;IAElE,MAAM,CAAC,MAAc,EAAE,QAA8B;QACxD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,IAAa;QACvB,MAAM,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAE/C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;IACzC,CAAC;IAES,OAAO,CAAC,IAAY;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,SAAS,CAAC;QAEd,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,QAAQ,MAAM,CAAC,SAAS,EAAE,CAAC;gBACvB,KAAK,MAAM;oBACP,SAAS,GAAG,IAAI,6BAAa,CAAC,MAAM,CAAC,CAAC;oBACtC,MAAM;gBACV,KAAK,KAAK;oBACN,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;oBAC7D,SAAS,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrC,MAAM;gBACV,KAAK,SAAS;oBACV,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;oBACrE,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACzC,MAAM;gBACV,KAAK,UAAU;oBACX,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;oBACvE,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAC1C,MAAM;gBACV,KAAK,KAAK;oBACN,SAAS,GAAG,IAAI,2BAAY,EAAE,CAAC;oBAC/B,MAAM;gBACV,KAAK,OAAO;oBACR,SAAS,GAAG,IAAI,+BAAc,EAAE,CAAC;oBACjC,MAAM;gBACV;oBACI,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QAED,OAAO,IAAI,eAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAEM,EAAE,CAAC,KAAU;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACJ;AAnED,kCAmEC"}
@@ -1,21 +0,0 @@
1
- export declare abstract class Mailable {
2
- subjectLine?: string;
3
- viewPath?: string;
4
- viewData: any;
5
- textContent?: string;
6
- attachments: any[];
7
- fromAddress?: string | {
8
- name: string;
9
- address: string;
10
- };
11
- abstract build(): this;
12
- subject(subject: string): this;
13
- view(path: string, data?: any): this;
14
- text(content: string): this;
15
- attach(path: string): this;
16
- from(address: string | {
17
- name: string;
18
- address: string;
19
- }): this;
20
- }
21
- //# sourceMappingURL=Mailable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Mailable.d.ts","sourceRoot":"","sources":["../../src/Mailable.ts"],"names":[],"mappings":"AACA,8BAAsB,QAAQ;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAM;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,GAAG,EAAE,CAAM;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAEhE,QAAQ,CAAC,KAAK,IAAI,IAAI;IAEf,OAAO,CAAC,OAAO,EAAE,MAAM;IAKvB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ;IAMjC,IAAI,CAAC,OAAO,EAAE,MAAM;IAKpB,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAIlE"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Mailable = void 0;
4
- class Mailable {
5
- constructor() {
6
- this.viewData = {};
7
- this.attachments = [];
8
- }
9
- subject(subject) {
10
- this.subjectLine = subject;
11
- return this;
12
- }
13
- view(path, data = {}) {
14
- this.viewPath = path;
15
- this.viewData = data;
16
- return this;
17
- }
18
- text(content) {
19
- this.textContent = content;
20
- return this;
21
- }
22
- attach(path) {
23
- this.attachments.push({ path });
24
- return this;
25
- }
26
- from(address) {
27
- this.fromAddress = address;
28
- return this;
29
- }
30
- }
31
- exports.Mailable = Mailable;
32
- //# sourceMappingURL=Mailable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Mailable.js","sourceRoot":"","sources":["../../src/Mailable.ts"],"names":[],"mappings":";;;AACA,MAAsB,QAAQ;IAA9B;QAGW,aAAQ,GAAQ,EAAE,CAAC;QAEnB,gBAAW,GAAU,EAAE,CAAC;IA8BnC,CAAC;IAzBU,OAAO,CAAC,OAAe;QAC1B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,IAAY,EAAE,OAAY,EAAE;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,OAAe;QACvB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,IAAY;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,OAAmD;QAC3D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAnCD,4BAmCC"}
@@ -1,31 +0,0 @@
1
- import { Transport } from './Contracts/Transport';
2
- import { Mailable } from './Mailable';
3
- import { Message, Address } from './Message';
4
- export interface ViewRenderer {
5
- render(view: string, data: any): Promise<string>;
6
- }
7
- export declare class Mailer {
8
- protected name: string;
9
- protected transport: Transport;
10
- protected viewRenderer?: ViewRenderer | undefined;
11
- constructor(name: string, transport: Transport, viewRenderer?: ViewRenderer | undefined);
12
- to(users: string | Address | (string | Address)[]): PendingMail;
13
- send(viewPath: string, data: any, callback: (message: Message) => void): Promise<void>;
14
- sendMailable(mailable: Mailable): Promise<void>;
15
- sendRaw(message: any): Promise<void>;
16
- getRenderer(): ViewRenderer | undefined;
17
- }
18
- export declare class PendingMail {
19
- protected mailer: Mailer;
20
- protected message: Message;
21
- protected viewPath?: string;
22
- protected viewData: any;
23
- constructor(mailer: Mailer);
24
- to(users: string | Address | (string | Address)[]): this;
25
- subject(subject: string): this;
26
- text(content: string): this;
27
- view(path: string, data?: any): this;
28
- attach(path: string): this;
29
- send(mailable?: Mailable): Promise<void>;
30
- }
31
- //# sourceMappingURL=Mailer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Mailer.d.ts","sourceRoot":"","sources":["../../src/Mailer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAc,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAED,qBAAa,MAAM;IAEX,SAAS,CAAC,IAAI,EAAE,MAAM;IACtB,SAAS,CAAC,SAAS,EAAE,SAAS;IAC9B,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY;gBAF3B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,YAAY,YAAA;IAGzC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE;IAI3C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;IAYtE,YAAY,CAAC,QAAQ,EAAE,QAAQ;IAI/B,OAAO,CAAC,OAAO,EAAE,GAAG;IAI1B,WAAW;CAGd;AAED,qBAAa,WAAW;IAKR,SAAS,CAAC,MAAM,EAAE,MAAM;IAJpC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAM;gBAEP,MAAM,EAAE,MAAM;IAIpC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE;IAKjD,OAAO,CAAC,OAAO,EAAE,MAAM;IAKvB,IAAI,CAAC,OAAO,EAAE,MAAM;IAKpB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ;IAMjC,MAAM,CAAC,IAAI,EAAE,MAAM;IAKb,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ;CA4BjC"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PendingMail = exports.Mailer = void 0;
4
- const Message_1 = require("./Message");
5
- class Mailer {
6
- constructor(name, transport, viewRenderer) {
7
- this.name = name;
8
- this.transport = transport;
9
- this.viewRenderer = viewRenderer;
10
- }
11
- to(users) {
12
- return new PendingMail(this).to(users);
13
- }
14
- async send(viewPath, data, callback) {
15
- const message = new Message_1.Message();
16
- callback(message);
17
- if (viewPath && this.viewRenderer) {
18
- const html = await this.viewRenderer.render(viewPath, data);
19
- message.htmlContent(html);
20
- }
21
- return this.transport.send(message.getPayload());
22
- }
23
- async sendMailable(mailable) {
24
- return this.sendRaw(mailable);
25
- }
26
- async sendRaw(message) {
27
- return this.transport.send(message);
28
- }
29
- getRenderer() {
30
- return this.viewRenderer;
31
- }
32
- }
33
- exports.Mailer = Mailer;
34
- class PendingMail {
35
- constructor(mailer) {
36
- this.mailer = mailer;
37
- this.viewData = {};
38
- this.message = new Message_1.Message();
39
- }
40
- to(users) {
41
- this.message.to(users);
42
- return this;
43
- }
44
- subject(subject) {
45
- this.message.subject(subject);
46
- return this;
47
- }
48
- text(content) {
49
- this.message.textContent(content);
50
- return this;
51
- }
52
- view(path, data = {}) {
53
- this.viewPath = path;
54
- this.viewData = data;
55
- return this;
56
- }
57
- attach(path) {
58
- this.message.attach({ path });
59
- return this;
60
- }
61
- async send(mailable) {
62
- if (mailable) {
63
- mailable.build();
64
- if (mailable.subjectLine)
65
- this.message.subject(mailable.subjectLine);
66
- if (mailable.fromAddress)
67
- this.message.from(mailable.fromAddress);
68
- if (mailable.textContent)
69
- this.message.textContent(mailable.textContent);
70
- if (mailable.viewPath) {
71
- this.viewPath = mailable.viewPath;
72
- this.viewData = mailable.viewData;
73
- }
74
- if (mailable.attachments) {
75
- mailable.attachments.forEach(att => this.message.attach(att));
76
- }
77
- }
78
- if (this.viewPath) {
79
- const renderer = this.mailer.getRenderer();
80
- if (renderer) {
81
- const html = await renderer.render(this.viewPath, this.viewData);
82
- this.message.htmlContent(html);
83
- }
84
- }
85
- return this.mailer.sendRaw(this.message.getPayload());
86
- }
87
- }
88
- exports.PendingMail = PendingMail;
89
- //# sourceMappingURL=Mailer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Mailer.js","sourceRoot":"","sources":["../../src/Mailer.ts"],"names":[],"mappings":"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"}