@upyo/lettermint 0.6.0-dev.318 → 0.6.0-dev.321

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/index.cjs CHANGED
@@ -260,6 +260,7 @@ const STANDARD_HEADERS = new Set([
260
260
  * @param message The Upyo message to convert.
261
261
  * @param config The resolved Lettermint configuration.
262
262
  * @returns JSON object ready for Lettermint API submission.
263
+ * @throws {TypeError} If the message carries an invalid message identifier.
263
264
  * @throws {RangeError} If the message has more than one tag.
264
265
  * @since 0.5.0
265
266
  */
@@ -292,7 +293,10 @@ async function convertMessage(message, config, signal) {
292
293
  };
293
294
  headers["X-Priority"] = priorityMap[message.priority];
294
295
  }
295
- for (const [key, value] of message.headers.entries()) if (!isStandardHeader(key)) headers[key] = value;
296
+ const threading = (0, __upyo_core.resolveThreadingHeaders)(message);
297
+ const ownedHeaders = new Set([...threading.keys()].map((name) => name.toLowerCase()));
298
+ for (const [key, value] of message.headers.entries()) if (!isStandardHeader(key) && !ownedHeaders.has(key.toLowerCase())) headers[key] = value;
299
+ for (const [name, value] of threading) if (value != null) headers[name] = value;
296
300
  if (Object.keys(headers).length > 0) emailData.headers = headers;
297
301
  if (message.attachments.length > 0) {
298
302
  const cancellation = new AbortController();
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { combineSignals, createFailedReceipt, parseRetryAfter, readAttachmentContent } from "@upyo/core";
1
+ import { combineSignals, createFailedReceipt, parseRetryAfter, readAttachmentContent, resolveThreadingHeaders } from "@upyo/core";
2
2
 
3
3
  //#region src/config.ts
4
4
  /**
@@ -237,6 +237,7 @@ const STANDARD_HEADERS = new Set([
237
237
  * @param message The Upyo message to convert.
238
238
  * @param config The resolved Lettermint configuration.
239
239
  * @returns JSON object ready for Lettermint API submission.
240
+ * @throws {TypeError} If the message carries an invalid message identifier.
240
241
  * @throws {RangeError} If the message has more than one tag.
241
242
  * @since 0.5.0
242
243
  */
@@ -269,7 +270,10 @@ async function convertMessage(message, config, signal) {
269
270
  };
270
271
  headers["X-Priority"] = priorityMap[message.priority];
271
272
  }
272
- for (const [key, value] of message.headers.entries()) if (!isStandardHeader(key)) headers[key] = value;
273
+ const threading = resolveThreadingHeaders(message);
274
+ const ownedHeaders = new Set([...threading.keys()].map((name) => name.toLowerCase()));
275
+ for (const [key, value] of message.headers.entries()) if (!isStandardHeader(key) && !ownedHeaders.has(key.toLowerCase())) headers[key] = value;
276
+ for (const [name, value] of threading) if (value != null) headers[name] = value;
273
277
  if (Object.keys(headers).length > 0) emailData.headers = headers;
274
278
  if (message.attachments.length > 0) {
275
279
  const cancellation = new AbortController();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@upyo/lettermint",
3
- "version": "0.6.0-dev.318",
3
+ "version": "0.6.0-dev.321",
4
4
  "description": "Lettermint transport for Upyo email library",
5
5
  "keywords": [
6
6
  "email",
@@ -53,7 +53,7 @@
53
53
  },
54
54
  "sideEffects": false,
55
55
  "peerDependencies": {
56
- "@upyo/core": "0.6.0-dev.318+9378b2c8"
56
+ "@upyo/core": "0.6.0-dev.321+4a95bdbd"
57
57
  },
58
58
  "devDependencies": {
59
59
  "tsdown": "^0.12.7",