@owlmeans/mailer 0.1.5 → 0.1.6

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/build/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export type * from './types.js';
2
2
  export * from './consts.js';
3
+ export * from './service.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
package/build/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './consts.js';
2
+ export * from './service.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { MailerService, MailMessage } from './types.js';
2
+ export declare const CONSOLE_MAILER = "console-mailer";
3
+ /** Dev/test transport: logs the message to console and stores it for inspection. */
4
+ export declare const makeConsoleMailerService: (alias?: string) => MailerService & {
5
+ /** Messages captured since the service was created (use in tests). */
6
+ captured: MailMessage[];
7
+ };
8
+ /** Alias of makeConsoleMailerService registered under the default MAILER_SERVICE alias.
9
+ * Useful as a drop-in replacement during development and integration tests.
10
+ */
11
+ export declare const makeDefaultConsoleMailerService: () => ReturnType<typeof makeConsoleMailerService>;
12
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG5D,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAE9C,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,GAAI,cAAsB,KAAG,aAAa,GAAG;IAChF,sEAAsE;IACtE,QAAQ,EAAE,WAAW,EAAE,CAAA;CAcxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B,QAAO,UAAU,CAAC,OAAO,wBAAwB,CACnD,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { createService } from '@owlmeans/context';
2
+ import { MAILER_SERVICE } from './consts.js';
3
+ export const CONSOLE_MAILER = 'console-mailer';
4
+ /** Dev/test transport: logs the message to console and stores it for inspection. */
5
+ export const makeConsoleMailerService = (alias = CONSOLE_MAILER) => {
6
+ const captured = [];
7
+ const service = createService(alias, {
8
+ send: async (message) => {
9
+ captured.push(message);
10
+ console.log(`[console-mailer] to=${message.to} subject="${message.subject}"`);
11
+ console.log(`[console-mailer] body=${message.text ?? message.html ?? ''}`);
12
+ },
13
+ });
14
+ service.captured = captured;
15
+ return service;
16
+ };
17
+ /** Alias of makeConsoleMailerService registered under the default MAILER_SERVICE alias.
18
+ * Useful as a drop-in replacement during development and integration tests.
19
+ */
20
+ export const makeDefaultConsoleMailerService = () => makeConsoleMailerService(MAILER_SERVICE);
21
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAE9C,oFAAoF;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAK,GAAG,cAAc,EAG7D,EAAE;IACF,MAAM,QAAQ,GAAkB,EAAE,CAAA;IAElC,MAAM,OAAO,GAAG,aAAa,CAAgB,KAAK,EAAE;QAClD,IAAI,EAAE,KAAK,EAAE,OAAoB,EAAiB,EAAE;YAClD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtB,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,EAAE,aAAa,OAAO,CAAC,OAAO,GAAG,CAAC,CAAA;YAC7E,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;QAC5E,CAAC;KACF,CAAgD,CAAA;IAEjD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC3B,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAgD,EAAE,CAC/F,wBAAwB,CAAC,cAAc,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/mailer",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -22,8 +22,8 @@
22
22
  }
23
23
  },
24
24
  "dependencies": {
25
- "@owlmeans/context": "^0.1.5",
26
- "@owlmeans/error": "^0.1.5"
25
+ "@owlmeans/context": "^0.1.6",
26
+ "@owlmeans/error": "^0.1.6"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@owlmeans/dep-config": "workspace:*",
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export type * from './types.js'
2
2
  export * from './consts.js'
3
+ export * from './service.js'
package/src/service.ts ADDED
@@ -0,0 +1,30 @@
1
+ import { createService } from '@owlmeans/context'
2
+ import type { MailerService, MailMessage } from './types.js'
3
+ import { MAILER_SERVICE } from './consts.js'
4
+
5
+ export const CONSOLE_MAILER = 'console-mailer'
6
+
7
+ /** Dev/test transport: logs the message to console and stores it for inspection. */
8
+ export const makeConsoleMailerService = (alias = CONSOLE_MAILER): MailerService & {
9
+ /** Messages captured since the service was created (use in tests). */
10
+ captured: MailMessage[]
11
+ } => {
12
+ const captured: MailMessage[] = []
13
+
14
+ const service = createService<MailerService>(alias, {
15
+ send: async (message: MailMessage): Promise<void> => {
16
+ captured.push(message)
17
+ console.log(`[console-mailer] to=${message.to} subject="${message.subject}"`)
18
+ console.log(`[console-mailer] body=${message.text ?? message.html ?? ''}`)
19
+ },
20
+ }) as MailerService & { captured: MailMessage[] }
21
+
22
+ service.captured = captured
23
+ return service
24
+ }
25
+
26
+ /** Alias of makeConsoleMailerService registered under the default MAILER_SERVICE alias.
27
+ * Useful as a drop-in replacement during development and integration tests.
28
+ */
29
+ export const makeDefaultConsoleMailerService = (): ReturnType<typeof makeConsoleMailerService> =>
30
+ makeConsoleMailerService(MAILER_SERVICE)