@geekmidas/emailkit 9.0.2 → 10.0.0-alpha.1
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/dist/{client-BrzAoy26.d.mts → client-LvoMlKEk.d.mts} +2 -2
- package/dist/{client-BrzAoy26.d.mts.map → client-LvoMlKEk.d.mts.map} +1 -1
- package/dist/client.d.mts +2 -2
- package/dist/errors-6difZDw0.cjs +68 -0
- package/dist/errors-6difZDw0.cjs.map +1 -0
- package/dist/errors-Ba3cEHPO.mjs +50 -0
- package/dist/errors-Ba3cEHPO.mjs.map +1 -0
- package/dist/errors-ZllQgZ9Y.d.mts +41 -0
- package/dist/errors-ZllQgZ9Y.d.mts.map +1 -0
- package/dist/errors-xJ88z_5r.d.cts +41 -0
- package/dist/errors-xJ88z_5r.d.cts.map +1 -0
- package/dist/errors.cjs +5 -0
- package/dist/errors.d.cts +2 -0
- package/dist/errors.d.mts +2 -0
- package/dist/errors.mjs +3 -0
- package/dist/index.cjs +7 -1
- package/dist/index.d.cts +4 -2
- package/dist/index.d.mts +5 -3
- package/dist/index.mjs +3 -1
- package/dist/{types-FrE6exSX.d.mts → types-BE4Kh3y6.d.mts} +1 -1
- package/dist/{types-FrE6exSX.d.mts.map → types-BE4Kh3y6.d.mts.map} +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/url-B8QqBrMt.mjs +49 -0
- package/dist/url-B8QqBrMt.mjs.map +1 -0
- package/dist/url-Cd5VhxhW.d.mts +20 -0
- package/dist/url-Cd5VhxhW.d.mts.map +1 -0
- package/dist/url-Cf508-Ji.d.cts +20 -0
- package/dist/url-Cf508-Ji.d.cts.map +1 -0
- package/dist/url-GT3jLGq-.cjs +54 -0
- package/dist/url-GT3jLGq-.cjs.map +1 -0
- package/dist/url.cjs +4 -0
- package/dist/url.d.cts +3 -0
- package/dist/url.d.mts +3 -0
- package/dist/url.mjs +4 -0
- package/package.json +15 -4
- package/CHANGELOG.md +0 -40
- package/src/__tests__/client.spec.ts +0 -372
- package/src/__tests__/client.spec.tsx +0 -185
- package/src/client.ts +0 -90
- package/src/index.ts +0 -11
- package/src/types.ts +0 -99
- package/tsconfig.json +0 -10
package/src/types.ts
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import type { Address } from 'nodemailer/lib/mailer';
|
|
2
|
-
import type { ReactElement } from 'react';
|
|
3
|
-
|
|
4
|
-
export interface EmailOptions {
|
|
5
|
-
from: string | Address;
|
|
6
|
-
to: string | string[] | Address[];
|
|
7
|
-
cc?: string | string[] | Address[];
|
|
8
|
-
bcc?: string | string[] | Address[];
|
|
9
|
-
subject: string;
|
|
10
|
-
replyTo?: string | Address;
|
|
11
|
-
attachments?: Attachment[];
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface Attachment {
|
|
15
|
-
filename: string;
|
|
16
|
-
content?: string | Buffer;
|
|
17
|
-
path?: string;
|
|
18
|
-
contentType?: string;
|
|
19
|
-
cid?: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface PlainEmailOptions extends EmailOptions {
|
|
23
|
-
text?: string;
|
|
24
|
-
html?: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export type SendOptions = Omit<PlainEmailOptions, 'from'> & {
|
|
28
|
-
from?: string | Address;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export interface SMTPConfig {
|
|
32
|
-
host: string;
|
|
33
|
-
port: number;
|
|
34
|
-
secure?: boolean;
|
|
35
|
-
auth?: {
|
|
36
|
-
user: string;
|
|
37
|
-
pass: string;
|
|
38
|
-
};
|
|
39
|
-
tls?: {
|
|
40
|
-
rejectUnauthorized?: boolean;
|
|
41
|
-
servername?: string;
|
|
42
|
-
};
|
|
43
|
-
pool?: boolean;
|
|
44
|
-
maxConnections?: number;
|
|
45
|
-
maxMessages?: number;
|
|
46
|
-
rateLimit?: number;
|
|
47
|
-
logger?: boolean;
|
|
48
|
-
debug?: boolean;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface SendResult {
|
|
52
|
-
messageId: string;
|
|
53
|
-
accepted: string[];
|
|
54
|
-
rejected: string[];
|
|
55
|
-
response: string;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export type EmailTemplate<T = any> = (props: T) => ReactElement;
|
|
59
|
-
|
|
60
|
-
// Extract props type from a template function
|
|
61
|
-
export type TemplateProps<T> = T extends EmailTemplate<infer P> ? P : never;
|
|
62
|
-
|
|
63
|
-
// Template record type for type safety
|
|
64
|
-
export type TemplateRecord = Record<string, EmailTemplate<any>>;
|
|
65
|
-
|
|
66
|
-
// Extract template names from template record
|
|
67
|
-
export type TemplateNames<T extends TemplateRecord> = keyof T;
|
|
68
|
-
|
|
69
|
-
// Extract props for a specific template
|
|
70
|
-
export type TemplatePropsFor<
|
|
71
|
-
T extends TemplateRecord,
|
|
72
|
-
K extends TemplateNames<T>,
|
|
73
|
-
> = TemplateProps<T[K]>;
|
|
74
|
-
|
|
75
|
-
export interface EmailClientConfig<T extends TemplateRecord = TemplateRecord> {
|
|
76
|
-
smtp: SMTPConfig;
|
|
77
|
-
templates: T;
|
|
78
|
-
dkim?: {
|
|
79
|
-
domainName: string;
|
|
80
|
-
keySelector: string;
|
|
81
|
-
privateKey: string;
|
|
82
|
-
};
|
|
83
|
-
defaults: {
|
|
84
|
-
from?: string | Address;
|
|
85
|
-
replyTo?: string | Address;
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export interface EmailClient<T extends TemplateRecord = TemplateRecord> {
|
|
90
|
-
send(options: SendOptions): Promise<SendResult>;
|
|
91
|
-
sendTemplate<K extends TemplateNames<T>>(
|
|
92
|
-
template: K,
|
|
93
|
-
options: SendOptions & {
|
|
94
|
-
props: TemplatePropsFor<T, K>;
|
|
95
|
-
},
|
|
96
|
-
): Promise<SendResult>;
|
|
97
|
-
verify(): Promise<boolean>;
|
|
98
|
-
close(): Promise<void>;
|
|
99
|
-
}
|