temp-disposable-email 1.16.1 → 2.0.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { generateEmail, getRecentEmail, getVerificationCode, GeneratedEmail, MessageContent, GetEmailOptions } from './index';
2
+ /**
3
+ * Email helper fixtures for Playwright tests.
4
+ * Provides easy access to email generation and retrieval functions.
5
+ */
6
+ export interface EmailFixtures {
7
+ emailHelper: {
8
+ generateEmail: typeof generateEmail;
9
+ getRecentEmail: typeof getRecentEmail;
10
+ getVerificationCode: typeof getVerificationCode;
11
+ };
12
+ }
13
+ /**
14
+ * Extended Playwright test with email helper fixtures.
15
+ *
16
+ * @example
17
+ * import { test, expect } from 'temp-disposable-email/playwright';
18
+ *
19
+ * test('sign up flow', async ({ page, emailHelper }) => {
20
+ * const { emailAddress } = await emailHelper.generateEmail();
21
+ * // ... your test code
22
+ * });
23
+ */
24
+ export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & EmailFixtures, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
25
+ export { expect } from '@playwright/test';
26
+ export type { GeneratedEmail, MessageContent, GetEmailOptions };
27
+ //# sourceMappingURL=playwright.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../src/playwright.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE;QACX,aAAa,EAAE,OAAO,aAAa,CAAC;QACpC,cAAc,EAAE,OAAO,cAAc,CAAC;QACtC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;KACjD,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,6PASf,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expect = exports.test = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const index_1 = require("./index");
6
+ /**
7
+ * Extended Playwright test with email helper fixtures.
8
+ *
9
+ * @example
10
+ * import { test, expect } from 'temp-disposable-email/playwright';
11
+ *
12
+ * test('sign up flow', async ({ page, emailHelper }) => {
13
+ * const { emailAddress } = await emailHelper.generateEmail();
14
+ * // ... your test code
15
+ * });
16
+ */
17
+ exports.test = test_1.test.extend({
18
+ // eslint-disable-next-line no-empty-pattern
19
+ emailHelper: async ({}, use) => {
20
+ await use({
21
+ generateEmail: index_1.generateEmail,
22
+ getRecentEmail: index_1.getRecentEmail,
23
+ getVerificationCode: index_1.getVerificationCode,
24
+ });
25
+ },
26
+ });
27
+ var test_2 = require("@playwright/test");
28
+ Object.defineProperty(exports, "expect", { enumerable: true, get: function () { return test_2.expect; } });
29
+ //# sourceMappingURL=playwright.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/playwright.ts"],"names":[],"mappings":";;;AAAA,2CAAgD;AAChD,mCAOiB;AAcjB;;;;;;;;;;GAUG;AACU,QAAA,IAAI,GAAG,WAAI,CAAC,MAAM,CAAgB;IAC7C,4CAA4C;IAC5C,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,GAAG,CAAC;YACR,aAAa,EAAb,qBAAa;YACb,cAAc,EAAd,sBAAc;YACd,mBAAmB,EAAnB,2BAAmB;SACpB,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,yCAA0C;AAAjC,8FAAA,MAAM,OAAA"}
package/dist/esm/api.d.ts CHANGED
@@ -79,14 +79,15 @@ export declare const getAuthHeaders: () => {
79
79
  Authorization: string;
80
80
  };
81
81
  export declare const getDomains: () => Promise<ListOfDomains[]>;
82
- export declare const getMessages: () => Promise<EmailObject[]>;
82
+ export declare const getMessages: (maxRetries?: number, retryDelay?: number) => Promise<EmailObject[]>;
83
83
  export declare const getMessagesContent: (messageId: string) => Promise<EmailResource>;
84
- export declare const getMessageAttachments: (messageId: string, attachmentsId: string) => Promise<any>;
84
+ export declare const getMessageAttachments: (messageId: string, attachmentsId: string) => Promise<Buffer>;
85
85
  export declare const deleteMessage: (messageId: string) => Promise<number>;
86
86
  export declare const createAccount: (payload: {
87
87
  address: string;
88
88
  password: string;
89
- }, maxRetries?: number, delayMs?: number) => Promise<EmailAccount>;
89
+ }, domain?: string, // Domain to use for fallback email generation
90
+ maxRetries?: number, delayMs?: number, infiniteRetry?: boolean) => Promise<EmailAccount>;
90
91
  export declare const deleteAccount: (accountId: string) => Promise<void>;
91
92
  export {};
92
93
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAGA,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,OAAO;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAaD,eAAO,MAAM,YAAY,GACvB,QAAQ,MAAM,EACd,WAAW,MAAM,KAChB,OAAO,CAAC,IAAI,CAKd,CAAC;AAGF,eAAO,MAAM,cAAc;;;CAQ1B,CAAC;AAoBF,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,aAAa,EAAE,CAS1D,CAAC;AAGF,eAAO,MAAM,WAAW,GACtB,mBAAc,EACd,mBAAkB,KACjB,OAAO,CAAC,WAAW,EAAE,CA4BvB,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAC7B,WAAW,MAAM,KAChB,OAAO,CAAC,aAAa,CASvB,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAChC,WAAW,MAAM,EACjB,eAAe,MAAM,KACpB,OAAO,CAAC,MAAM,CAehB,CAAC;AAGF,eAAO,MAAM,aAAa,GAAU,WAAW,MAAM,KAAG,OAAO,CAAC,MAAM,CAUrE,CAAC;AAGF,eAAO,MAAM,aAAa,GACxB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC9C,SAAS,MAAM,EAAE,8CAA8C;AAC/D,mBAAe,EACf,gBAAc,EACd,uBAAqB,KACpB,OAAO,CAAC,YAAY,CA2CtB,CAAC;AAGF,eAAO,MAAM,aAAa,GAAU,WAAW,MAAM,KAAG,OAAO,CAAC,IAAI,CAQnE,CAAC"}
package/dist/esm/api.js CHANGED
@@ -12,12 +12,7 @@ const apiClient = axios.create({
12
12
  export const authenticate = async (_email, _password) => {
13
13
  email = _email;
14
14
  password = _password;
15
- const response = await apiClient.post('/token', { address: email, password }, {
16
- headers: {
17
- accept: 'application/json',
18
- 'Content-Type': 'application/json',
19
- },
20
- });
15
+ const response = await apiClient.post('/token', { address: email, password });
21
16
  token = response.data.token;
22
17
  };
23
18
  // Function to get auth headers
@@ -38,8 +33,7 @@ apiClient.interceptors.response.use((response) => response, async (error) => {
38
33
  error.config.headers = getAuthHeaders(); // Update headers with new token
39
34
  return apiClient.request(error.config); // Retry request
40
35
  }
41
- catch (authError) {
42
- console.error('Failed to refresh token:', authError);
36
+ catch (_authError) {
43
37
  throw new Error('Authentication failed. Please check credentials.');
44
38
  }
45
39
  }
@@ -53,30 +47,36 @@ export const getDomains = async () => {
53
47
  });
54
48
  return data;
55
49
  }
56
- catch (error) {
57
- console.error('Error fetching domains:', error.response?.data);
50
+ catch (_error) {
58
51
  throw new Error('Failed to fetch domains. Please try again later.');
59
52
  }
60
53
  };
61
- // Function to fetch messages
62
- export const getMessages = async () => {
63
- while (true) {
54
+ // Function to fetch messages with retry logic and timeout
55
+ export const getMessages = async (maxRetries = 5, retryDelay = 10000) => {
56
+ let attempt = 0;
57
+ while (attempt < maxRetries) {
64
58
  try {
65
59
  const { data } = await apiClient.get('/messages?page=1', {
66
60
  headers: getAuthHeaders(),
67
61
  });
68
62
  return data;
63
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
64
  }
70
65
  catch (error) {
71
- if (error.response?.status === 429) {
72
- await delay(10 * 1000);
66
+ attempt++;
67
+ if (error.response?.status === 429 && attempt < maxRetries) {
68
+ console.warn(`Rate limited. Retrying in ${retryDelay / 1000}s... (Attempt ${attempt}/${maxRetries})`);
69
+ await delay(retryDelay);
70
+ }
71
+ else if (attempt >= maxRetries) {
72
+ throw new Error(`Failed to fetch messages after ${maxRetries} attempts. Please try again later.`);
73
73
  }
74
74
  else {
75
- console.error('Error fetching messages:', error.response?.data);
76
75
  throw new Error('Failed to fetch messages. Please try again later.');
77
76
  }
78
77
  }
79
78
  }
79
+ throw new Error('Failed to fetch messages after maximum retries.');
80
80
  };
81
81
  // Function to fetch message content
82
82
  export const getMessagesContent = async (messageId) => {
@@ -86,8 +86,7 @@ export const getMessagesContent = async (messageId) => {
86
86
  });
87
87
  return data;
88
88
  }
89
- catch (error) {
90
- console.error(`Error fetching message content for ID ${messageId}:`, error.response?.data);
89
+ catch (_error) {
91
90
  throw new Error('Failed to fetch message content. Please try again later.');
92
91
  }
93
92
  };
@@ -100,8 +99,7 @@ export const getMessageAttachments = async (messageId, attachmentsId) => {
100
99
  });
101
100
  return data;
102
101
  }
103
- catch (error) {
104
- console.error(`Error fetching message attachment for ID ${messageId}:`, error.response?.data);
102
+ catch (_error) {
105
103
  throw new Error('Failed to fetch message attachment. Please try again later.');
106
104
  }
107
105
  };
@@ -113,34 +111,49 @@ export const deleteMessage = async (messageId) => {
113
111
  });
114
112
  return status;
115
113
  }
116
- catch (error) {
117
- console.warn(`Error deleting message for ID ${messageId}:`, error.response?.data);
114
+ catch (_error) {
115
+ console.warn(`Error deleting message for ID ${messageId}`);
116
+ return 0;
118
117
  }
119
118
  };
120
119
  // Function to create an email account
121
- export const createAccount = async (payload, maxRetries = 5, delayMs = 6000) => {
122
- for (let attempt = 1; attempt <= maxRetries; attempt++) {
120
+ export const createAccount = async (payload, domain, // Domain to use for fallback email generation
121
+ maxRetries = 10, delayMs = 6000, infiniteRetry = false // Optional: Keep retrying forever
122
+ ) => {
123
+ let attempt = 1;
124
+ while (attempt <= maxRetries || infiniteRetry) {
123
125
  try {
124
126
  const { data } = await apiClient.post('/accounts', payload, {
125
127
  headers: { accept: 'application/json' },
126
128
  });
127
129
  return data;
130
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
128
131
  }
129
132
  catch (error) {
130
- if (error.response?.status !== 201) {
131
- if (attempt < maxRetries) {
132
- await delay(maxRetries * delayMs);
133
- }
134
- else {
135
- console.log('Max retries reached. Could not create account.', error.response.status);
136
- throw new Error('Failed to create account after multiple attempts.', error.response.status);
137
- }
133
+ const status = error.response?.status;
134
+ const isNetworkError = error.code === 'ECONNABORTED' || !error.response;
135
+ if (status === 409 || status === 422) {
136
+ // Use provided domain or extract from original address
137
+ const domainToUse = domain || payload.address.split('@')[1];
138
+ payload.address = `${Date.now()}-${Math.floor(Math.random() * 100000)}@${domainToUse}`;
139
+ console.warn(`Address already exists or invalid. Retrying with: ${payload.address}`);
140
+ }
141
+ else if (status === 429) {
142
+ console.warn(`Rate limited. Waiting 30 seconds before retry... (Attempt ${attempt}/${maxRetries})`);
143
+ await delay(30000);
144
+ }
145
+ else if (status === 500 || isNetworkError) {
146
+ const waitTime = Math.min(30000, delayMs * attempt);
147
+ console.warn(`Server error or network issue. Waiting ${waitTime / 1000}s... (Attempt ${attempt}/${maxRetries})`);
148
+ await delay(waitTime);
138
149
  }
139
150
  else {
140
- throw error.response.status;
151
+ throw error;
141
152
  }
153
+ attempt++;
142
154
  }
143
155
  }
156
+ throw new Error('🚨 Max retries reached. Account creation failed.');
144
157
  };
145
158
  // Function to delete an account
146
159
  export const deleteAccount = async (accountId) => {
@@ -148,9 +161,8 @@ export const deleteAccount = async (accountId) => {
148
161
  await apiClient.delete(`/accounts/${accountId}`, {
149
162
  headers: getAuthHeaders(),
150
163
  });
151
- console.log(`Account ${accountId} deleted successfully.`);
152
164
  }
153
- catch (error) {
165
+ catch (_error) {
154
166
  console.warn(`Failed to delete account ${accountId}, ignoring error.`);
155
167
  }
156
168
  };
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ declare global {
21
21
  * Retrieves the latest message from the inbox.
22
22
  *
23
23
  * @param {GetEmailOptions} [options] - Optional settings for polling and deletion.
24
+ * @param {string} [options.accountId] - Account ID to cleanup after reading.
24
25
  * @param {number} [options.maxWaitTime=30000] - Maximum time to wait for messages (in milliseconds). Default is 30 seconds.
25
26
  * @param {number} [options.waitInterval=2000] - Time interval between polling attempts (in milliseconds). Default is 2 seconds.
26
27
  * @param {boolean} [options.logPolling=false] - Whether to log polling attempts. Default is `false`.
@@ -56,6 +57,25 @@ declare global {
56
57
  }
57
58
  */
58
59
  getRecentEmail(options: GetEmailOptions): Chainable<MessageContent | null>;
60
+ /**
61
+ * Extracts a verification code from email content.
62
+ *
63
+ * This function scans the given text for a sequence of 5 or more
64
+ * consecutive digits and returns the first valid verification code.
65
+ *
66
+ * @param {string} text - The content of the email, typically the body or HTML.
67
+ * @returns {Promise<string>} The first verification code found.
68
+ *
69
+ * @throws {Error} If no valid verification code is found.
70
+ *
71
+ * @example
72
+ * cy.getRecentEmail().then((email) => {
73
+ * cy.getVerificationCode(email?.text).then((code) => {
74
+ * cy.log(code); // Output: "123456"
75
+ * });
76
+ * });
77
+ */
78
+ getVerificationCode(text?: string): Chainable<string>;
59
79
  }
60
80
  }
61
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cypress.d.ts","sourceRoot":"","sources":["../../src/cypress.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,eAAe,EAEf,cAAc,EACf,MAAM,SAAS,CAAC;AAUjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,SAAS;YACjB;;;;;;;;;;;;;eAaG;YACH,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAqCG;YACH,cAAc,CACZ,OAAO,EAAE,eAAe,GACvB,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;SACrC;KACF;CACF"}
1
+ {"version":3,"file":"cypress.d.ts","sourceRoot":"","sources":["../../src/cypress.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,eAAe,EAGf,cAAc,EACf,MAAM,SAAS,CAAC;AAcjB,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,OAAO,CAAC;QAChB,UAAU,SAAS;YACjB;;;;;;;;;;;;;eAaG;YACH,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAsCG;YACH,cAAc,CACZ,OAAO,EAAE,eAAe,GACvB,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;YAEpC;;;;;;;;;;;;;;;;;eAiBG;YACH,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;SACvD;KACF;CACF"}
@@ -1,8 +1,11 @@
1
- import { generateEmail, getRecentEmail, } from './index';
1
+ import { generateEmail, getRecentEmail, getVerificationCode, } from './index';
2
2
  Cypress.Commands.add('generateEmail', function (prefix) {
3
3
  return cy.wrap(generateEmail(prefix));
4
4
  });
5
5
  Cypress.Commands.add('getRecentEmail', function (options) {
6
6
  return cy.wrap(getRecentEmail(options));
7
7
  });
8
+ Cypress.Commands.add('getVerificationCode', function (text) {
9
+ return cy.wrap(getVerificationCode(text));
10
+ });
8
11
  //# sourceMappingURL=cypress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../src/cypress.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEb,cAAc,GAEf,MAAM,SAAS,CAAC;AAEjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAe;IAC7D,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,OAAwB;IACvE,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../src/cypress.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEb,cAAc,EACd,mBAAmB,GAEpB,MAAM,SAAS,CAAC;AAEjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,MAAe;IAC7D,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,OAAwB;IACvE,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,IAAa;IACjE,OAAO,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC"}
@@ -17,7 +17,7 @@ export interface MessageContent {
17
17
  updatedAt: string;
18
18
  attachments: Attachment[];
19
19
  }
20
- interface Attachment {
20
+ export interface Attachment {
21
21
  title: string;
22
22
  data: Buffer;
23
23
  }
@@ -26,8 +26,10 @@ export interface GetEmailOptions {
26
26
  waitInterval?: number;
27
27
  logPolling?: boolean;
28
28
  deleteAfterRead?: boolean;
29
+ accountId?: string;
29
30
  }
30
- export declare const delay: (ms: number) => Promise<void>;
31
+ declare const delay: (ms: number) => Promise<void>;
32
+ export { delay };
31
33
  /**
32
34
  * Creates a new email inbox with a unique address.
33
35
  *
@@ -47,6 +49,7 @@ export declare const generateEmail: (emailPrefix?: string) => Promise<GeneratedE
47
49
  * Retrieves the latest message from the inbox.
48
50
  *
49
51
  * @param {GetEmailOptions} [options] - Optional settings for polling and deletion.
52
+ * @param {string} [options.accountId] - Account ID to cleanup after reading. If not provided, account won't be deleted.
50
53
  * @param {number} [options.maxWaitTime=30000] - Maximum time to wait for messages (in milliseconds). Default is 30 seconds.
51
54
  * @param {number} [options.waitInterval=2000] - Time interval between polling attempts (in milliseconds). Default is 2 seconds.
52
55
  * @param {boolean} [options.logPolling=false] - Whether to log polling attempts. Default is `false`.
@@ -56,7 +59,8 @@ export declare const generateEmail: (emailPrefix?: string) => Promise<GeneratedE
56
59
  * @throws {Error} If no messages are available within the polling timeout or authentication fails.
57
60
  *
58
61
  * @example
59
- * const message = await getRecentEmail({ maxWaitTime: 5000, waitInterval: 1000, logPolling: true });
62
+ * const { accountId } = await generateEmail();
63
+ * const message = await getRecentEmail({ accountId, maxWaitTime: 5000, waitInterval: 1000, logPolling: true });
60
64
  * console.log(message.subject); // Outputs: "Hello!"
61
65
  */
62
66
  export declare const getRecentEmail: (options?: GetEmailOptions) => Promise<MessageContent | null>;
@@ -76,5 +80,4 @@ export declare const getRecentEmail: (options?: GetEmailOptions) => Promise<Mess
76
80
  * console.log(verificationCode); // Output: "123456"
77
81
  */
78
82
  export declare const getVerificationCode: (text: string | undefined) => Promise<string>;
79
- export {};
80
83
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AACD,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CACI,CAAC;AAIpD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,iBACV,MAAM,KACnB,OAAO,CAAC,cAAc,CA2BxB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,aACf,eAAe,KACxB,OAAO,CAAC,cAAc,GAAG,IAAI,CAgF/B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,mBAAmB,SACxB,MAAM,GAAG,SAAS,KACvB,OAAO,CAAC,MAAM,CAOhB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,KAAK,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CACW,CAAC;AAKpD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,GACxB,cAAc,MAAM,KACnB,OAAO,CAAC,cAAc,CA+BxB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,eAAe,KACxB,OAAO,CAAC,cAAc,GAAG,IAAI,CA4F/B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,GAAG,SAAS,KACvB,OAAO,CAAC,MAAM,CAYhB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { authenticate, getMessageAttachments } from './api';
2
2
  import { createAccount, deleteAccount, deleteMessage, getDomains, getMessages, getMessagesContent, } from './api';
3
- let accountId;
4
- export const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
3
+ const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
5
4
  const generateRandomName = () => Math.random().toString(36).substring(2, 15);
5
+ // Export delay for testing purposes
6
+ export { delay };
6
7
  /**
7
8
  * Creates a new email inbox with a unique address.
8
9
  *
@@ -26,15 +27,17 @@ export const generateEmail = async (emailPrefix) => {
26
27
  throw new Error('No available domains.');
27
28
  const emailAddress = `${emailPrefix || generateRandomName()}@${domains[0]}`;
28
29
  const password = generateRandomName();
30
+ // eslint-disable-next-line no-constant-condition
29
31
  while (true) {
30
32
  try {
31
33
  const accountResponse = await createAccount({
32
34
  address: emailAddress,
33
35
  password,
34
- });
35
- accountId = accountResponse.id;
36
+ }, domains[0] // Pass the first active domain for fallback
37
+ );
36
38
  await authenticate(emailAddress, password);
37
39
  return { emailAddress, accountId: accountResponse.id };
40
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
41
  }
39
42
  catch (error) {
40
43
  if (error.response?.status === 429) {
@@ -50,6 +53,7 @@ export const generateEmail = async (emailPrefix) => {
50
53
  * Retrieves the latest message from the inbox.
51
54
  *
52
55
  * @param {GetEmailOptions} [options] - Optional settings for polling and deletion.
56
+ * @param {string} [options.accountId] - Account ID to cleanup after reading. If not provided, account won't be deleted.
53
57
  * @param {number} [options.maxWaitTime=30000] - Maximum time to wait for messages (in milliseconds). Default is 30 seconds.
54
58
  * @param {number} [options.waitInterval=2000] - Time interval between polling attempts (in milliseconds). Default is 2 seconds.
55
59
  * @param {boolean} [options.logPolling=false] - Whether to log polling attempts. Default is `false`.
@@ -59,52 +63,62 @@ export const generateEmail = async (emailPrefix) => {
59
63
  * @throws {Error} If no messages are available within the polling timeout or authentication fails.
60
64
  *
61
65
  * @example
62
- * const message = await getRecentEmail({ maxWaitTime: 5000, waitInterval: 1000, logPolling: true });
66
+ * const { accountId } = await generateEmail();
67
+ * const message = await getRecentEmail({ accountId, maxWaitTime: 5000, waitInterval: 1000, logPolling: true });
63
68
  * console.log(message.subject); // Outputs: "Hello!"
64
69
  */
65
70
  export const getRecentEmail = async (options) => {
66
- const { maxWaitTime = 30000, waitInterval = 2000, logPolling = false, deleteAfterRead = false, } = options || {};
71
+ const { maxWaitTime = 30000, waitInterval = 2000, logPolling = false, deleteAfterRead = false, accountId, } = options || {};
67
72
  const startTime = Date.now();
68
73
  const logger = (message) => logPolling && console.log(message);
69
74
  logger(`Polling started with a timeout of ${maxWaitTime / 1000}sec and interval of ${waitInterval / 1000}sec.`);
70
- while (Date.now() - startTime < maxWaitTime) {
71
- const messages = await getMessages();
72
- if (messages.length > 0) {
73
- logger(`Found ${messages.length} message(s), fetching details...`);
74
- const sortedMessages = messages.sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
75
- const messageId = sortedMessages[0].id;
76
- logger(`Found ${messageId}`);
77
- const { from, to, subject, intro, text, html, createdAt, updatedAt, hasAttachments, attachments, } = await getMessagesContent(messageId);
78
- const attachmentArray = [];
79
- if (hasAttachments) {
80
- for (const { id, filename } of attachments) {
81
- logger(`Fetching attachment ID: ${id}`);
82
- const attachmentData = await getMessageAttachments(messageId, id);
83
- attachmentArray.push({ title: filename, data: attachmentData });
75
+ try {
76
+ while (Date.now() - startTime < maxWaitTime) {
77
+ const messages = await getMessages();
78
+ if (messages.length > 0) {
79
+ logger(`Found ${messages.length} message(s), fetching details...`);
80
+ // Sort by newest first (descending order)
81
+ const sortedMessages = messages.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
82
+ const messageId = sortedMessages[0].id;
83
+ logger(`Found ${messageId}`);
84
+ const { from, to, subject, intro, text, html, createdAt, updatedAt, hasAttachments, attachments, } = await getMessagesContent(messageId);
85
+ const attachmentArray = [];
86
+ if (hasAttachments) {
87
+ for (const { id, filename } of attachments) {
88
+ logger(`Fetching attachment ID: ${id}`);
89
+ const attachmentData = await getMessageAttachments(messageId, id);
90
+ attachmentArray.push({ title: filename, data: attachmentData });
91
+ }
84
92
  }
93
+ if (deleteAfterRead) {
94
+ await deleteMessage(messageId);
95
+ logger(`Deleted message ${messageId}`);
96
+ }
97
+ return {
98
+ from: from,
99
+ to: to,
100
+ subject,
101
+ intro,
102
+ text,
103
+ html,
104
+ createdAt,
105
+ updatedAt,
106
+ attachments: attachmentArray,
107
+ };
85
108
  }
86
- if (deleteAfterRead) {
87
- await deleteMessage(messageId);
88
- }
109
+ await new Promise((resolve) => setTimeout(resolve, waitInterval));
110
+ logger(`No messages found, waiting for ${waitInterval / 1000} seconds...`);
111
+ }
112
+ logger(`Waiting timeout of ${maxWaitTime / 1000} seconds reached. No messages found.`);
113
+ throw new Error(`No messages available within ${maxWaitTime / 1000} seconds timeout`);
114
+ }
115
+ finally {
116
+ // Cleanup account if accountId is provided
117
+ if (accountId) {
89
118
  await deleteAccount(accountId);
90
- return {
91
- from: from,
92
- to: to,
93
- subject,
94
- intro,
95
- text,
96
- html,
97
- createdAt,
98
- updatedAt,
99
- attachments: attachmentArray,
100
- };
119
+ logger(`Deleted account ${accountId}`);
101
120
  }
102
- await new Promise((resolve) => setTimeout(resolve, waitInterval));
103
- logger(`No messages found, waiting for ${waitInterval / 1000} seconds...`);
104
121
  }
105
- logger(`Waiting timeout of ${maxWaitTime / 1000} seconds reached. No messages found.`);
106
- await deleteAccount(accountId);
107
- throw new Error(`No messages available within ${maxWaitTime / 1000} seconds timeout`);
108
122
  };
109
123
  /**
110
124
  * Extracts a verification code from the provided email content.
@@ -123,6 +137,9 @@ export const getRecentEmail = async (options) => {
123
137
  */
124
138
  export const getVerificationCode = async (text) => {
125
139
  console.log('Extracting the verification code from the email content...');
140
+ if (!text) {
141
+ throw new Error('No text provided to extract verification code from.');
142
+ }
126
143
  const matches = text.match(/\b\d{5,}\b/);
127
144
  if (matches) {
128
145
  return matches[0];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}