@social-mail/shared 1.0.29 → 1.1.4

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 (116) hide show
  1. package/.gitlab-ci.yml +3 -3
  2. package/.vscode/settings.json +1 -1
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/QueryIterator.d.ts +1 -9
  5. package/dist/QueryIterator.d.ts.map +1 -1
  6. package/dist/QueryIterator.js +3 -14
  7. package/dist/QueryIterator.js.map +1 -1
  8. package/dist/ical-parser/Calender.js +36 -92
  9. package/dist/ical-parser/Calender.js.map +1 -1
  10. package/dist/ical-parser/parseDate.js +1 -5
  11. package/dist/ical-parser/parseDate.js.map +1 -1
  12. package/dist/mime-parser/AttachmentFile.d.ts +5 -11
  13. package/dist/mime-parser/AttachmentFile.d.ts.map +1 -1
  14. package/dist/mime-parser/AttachmentFile.js +3 -8
  15. package/dist/mime-parser/AttachmentFile.js.map +1 -1
  16. package/dist/mime-parser/HeaderContactList.d.ts +15 -0
  17. package/dist/mime-parser/HeaderContactList.d.ts.map +1 -0
  18. package/dist/mime-parser/HeaderContactList.js +37 -0
  19. package/dist/mime-parser/HeaderContactList.js.map +1 -0
  20. package/dist/mime-parser/HeaderContentDisposition.d.ts +6 -6
  21. package/dist/mime-parser/HeaderContentDisposition.d.ts.map +1 -1
  22. package/dist/mime-parser/HeaderContentDisposition.js +5 -10
  23. package/dist/mime-parser/HeaderContentDisposition.js.map +1 -1
  24. package/dist/mime-parser/HeaderContentType.d.ts +6 -6
  25. package/dist/mime-parser/HeaderContentType.d.ts.map +1 -1
  26. package/dist/mime-parser/HeaderContentType.js +5 -10
  27. package/dist/mime-parser/HeaderContentType.js.map +1 -1
  28. package/dist/mime-parser/HeaderEmailAddress.d.ts +10 -0
  29. package/dist/mime-parser/HeaderEmailAddress.d.ts.map +1 -0
  30. package/dist/mime-parser/HeaderEmailAddress.js +27 -0
  31. package/dist/mime-parser/HeaderEmailAddress.js.map +1 -0
  32. package/dist/mime-parser/HeaderLinks.d.ts +9 -0
  33. package/dist/mime-parser/HeaderLinks.d.ts.map +1 -0
  34. package/dist/mime-parser/HeaderLinks.js +42 -0
  35. package/dist/mime-parser/HeaderLinks.js.map +1 -0
  36. package/dist/mime-parser/MimeEmailAddressParser.d.ts +13 -0
  37. package/dist/mime-parser/MimeEmailAddressParser.d.ts.map +1 -0
  38. package/dist/mime-parser/MimeEmailAddressParser.js +17 -0
  39. package/dist/mime-parser/MimeEmailAddressParser.js.map +1 -0
  40. package/dist/mime-parser/MimeHeaders.d.ts +19 -0
  41. package/dist/mime-parser/MimeHeaders.d.ts.map +1 -0
  42. package/dist/mime-parser/MimeHeaders.js +47 -0
  43. package/dist/mime-parser/MimeHeaders.js.map +1 -0
  44. package/dist/mime-parser/MimeMessage.d.ts +44 -11
  45. package/dist/mime-parser/MimeMessage.d.ts.map +1 -1
  46. package/dist/mime-parser/MimeMessage.js +81 -73
  47. package/dist/mime-parser/MimeMessage.js.map +1 -1
  48. package/dist/mime-parser/MimeNode.d.ts +32 -39
  49. package/dist/mime-parser/MimeNode.d.ts.map +1 -1
  50. package/dist/mime-parser/MimeNode.js +166 -298
  51. package/dist/mime-parser/MimeNode.js.map +1 -1
  52. package/dist/mime-parser/RegexGenerator.d.ts +9 -0
  53. package/dist/mime-parser/RegexGenerator.d.ts.map +1 -0
  54. package/dist/mime-parser/RegexGenerator.js +40 -0
  55. package/dist/mime-parser/RegexGenerator.js.map +1 -0
  56. package/dist/mime-parser/encoder/RawBuffer.d.ts +5 -5
  57. package/dist/mime-parser/encoder/RawBuffer.d.ts.map +1 -1
  58. package/dist/mime-parser/encoder/RawBuffer.js +7 -13
  59. package/dist/mime-parser/encoder/RawBuffer.js.map +1 -1
  60. package/dist/mime-parser/encoder/base64-to-blob.d.ts +1 -7
  61. package/dist/mime-parser/encoder/base64-to-blob.d.ts.map +1 -1
  62. package/dist/mime-parser/encoder/base64-to-blob.js +0 -6
  63. package/dist/mime-parser/encoder/base64-to-blob.js.map +1 -1
  64. package/dist/mime-parser/encoder/quoted-printable.d.ts +5 -8
  65. package/dist/mime-parser/encoder/quoted-printable.d.ts.map +1 -1
  66. package/dist/mime-parser/encoder/quoted-printable.js +3 -34
  67. package/dist/mime-parser/encoder/quoted-printable.js.map +1 -1
  68. package/dist/mime-parser/encoder/word-encoding.d.ts +4 -6
  69. package/dist/mime-parser/encoder/word-encoding.d.ts.map +1 -1
  70. package/dist/mime-parser/encoder/word-encoding.js +4 -5
  71. package/dist/mime-parser/encoder/word-encoding.js.map +1 -1
  72. package/dist/mime-parser/parsePairs.d.ts +1 -1
  73. package/dist/mime-parser/parsePairs.d.ts.map +1 -1
  74. package/dist/mime-parser/parsePairs.js +3 -7
  75. package/dist/mime-parser/parsePairs.js.map +1 -1
  76. package/dist/mime-parser/stream/LineStream.d.ts +10 -16
  77. package/dist/mime-parser/stream/LineStream.d.ts.map +1 -1
  78. package/dist/mime-parser/stream/LineStream.js +59 -94
  79. package/dist/mime-parser/stream/LineStream.js.map +1 -1
  80. package/dist/mime-parser/stream/TextWriter.d.ts +5 -3
  81. package/dist/mime-parser/stream/TextWriter.d.ts.map +1 -1
  82. package/dist/mime-parser/stream/TextWriter.js +15 -3
  83. package/dist/mime-parser/stream/TextWriter.js.map +1 -1
  84. package/dist/mime-parser/tokenizer.d.ts +3 -3
  85. package/dist/mime-parser/tokenizer.d.ts.map +1 -1
  86. package/dist/mime-parser/tokenizer.js +10 -17
  87. package/dist/mime-parser/tokenizer.js.map +1 -1
  88. package/package.json +3 -3
  89. package/src/{QueryIterator.js → QueryIterator.ts} +11 -12
  90. package/src/ical-parser/Calender.ts +1 -1
  91. package/src/mime-parser/AttachmentFile.ts +24 -0
  92. package/src/mime-parser/HeaderContactList.ts +41 -0
  93. package/src/mime-parser/HeaderContentDisposition.ts +21 -0
  94. package/src/mime-parser/HeaderContentType.ts +22 -0
  95. package/src/mime-parser/HeaderEmailAddress.ts +38 -0
  96. package/src/mime-parser/HeaderLinks.ts +48 -0
  97. package/src/mime-parser/MimeEmailAddressParser.ts +22 -0
  98. package/src/mime-parser/MimeHeaders.ts +62 -0
  99. package/src/mime-parser/MimeMessage.ts +134 -0
  100. package/src/mime-parser/{MimeNode.js → MimeNode.ts} +92 -159
  101. package/src/mime-parser/RegexGenerator.ts +42 -0
  102. package/src/mime-parser/encoder/{RawBuffer.js → RawBuffer.ts} +15 -17
  103. package/src/mime-parser/encoder/{base64-to-blob.js → base64-to-blob.ts} +8 -8
  104. package/src/mime-parser/encoder/{quoted-printable.js → quoted-printable.ts} +9 -11
  105. package/src/mime-parser/encoder/{word-encoding.js → word-encoding.ts} +6 -6
  106. package/src/mime-parser/{parsePairs.js → parsePairs.ts} +5 -4
  107. package/src/mime-parser/stream/{LineStream.js → LineStream.ts} +12 -19
  108. package/src/mime-parser/stream/TextWriter.ts +36 -0
  109. package/src/mime-parser/{tokenizer.js → tokenizer.ts} +24 -21
  110. package/tsconfig.json +30 -9
  111. package/dist/tsconfig.tsbuildinfo +0 -1
  112. package/src/mime-parser/AttachmentFile.js +0 -29
  113. package/src/mime-parser/HeaderContentDisposition.js +0 -32
  114. package/src/mime-parser/HeaderContentType.js +0 -34
  115. package/src/mime-parser/MimeMessage.js +0 -105
  116. package/src/mime-parser/stream/TextWriter.js +0 -27
@@ -1,21 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __asyncValues = (this && this.__asyncValues) || function (o) {
11
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
12
- var m = o[Symbol.asyncIterator], i;
13
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
14
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
15
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
16
- };
17
- /* eslint-disable @typescript-eslint/no-redundant-type-constituents */
18
- // import QueryIterator from "../../common/QueryIterator";
19
1
  import { AttachmentFile } from "./AttachmentFile.js";
20
2
  import { HeaderContentType } from "./HeaderContentType.js";
21
3
  import { HeaderContentDisposition } from "./HeaderContentDisposition.js";
@@ -23,19 +5,7 @@ import { RawBuffer } from "./encoder/RawBuffer.js";
23
5
  import { base64toBlob } from "./encoder/base64-to-blob.js";
24
6
  import { quotedPrintable } from "./encoder/quoted-printable.js";
25
7
  import { wordEncoding } from "./encoder/word-encoding.js";
26
- import LineStream from "./stream/LineStream.js";
27
- import TextWriter from "./stream/TextWriter.js";
28
- // export interface IContentTypeObject {
29
- // type: string;
30
- // boundary?: string;
31
- // charset?: string
32
- // };
33
- // export type IContentType = string | IContentTypeObject;
34
- // export interface IContentDispositionObject {
35
- // type: string;
36
- // filename?: string;
37
- // };
38
- // export type IContentDisposition = string | IContentDispositionObject;
8
+ import MimeHeaders from "./MimeHeaders.js";
39
9
  export class CIMap extends Map {
40
10
  constructor() {
41
11
  super(...arguments);
@@ -44,7 +14,7 @@ export class CIMap extends Map {
44
14
  set(key, value) {
45
15
  if (typeof key === "string") {
46
16
  let ck = this.ci.get(key);
47
- if (ck === void 0) {
17
+ if (ck === undefined) {
48
18
  ck = key.toLocaleLowerCase();
49
19
  this.ci.set(ck, key);
50
20
  }
@@ -57,7 +27,7 @@ export class CIMap extends Map {
57
27
  get(key) {
58
28
  if (typeof key === "string") {
59
29
  const ck = key.toLocaleLowerCase();
60
- key = this.ci.get(ck);
30
+ key = this.ci.get(ck) || key;
61
31
  }
62
32
  return super.get(key);
63
33
  }
@@ -85,12 +55,9 @@ export class MimeNode {
85
55
  }
86
56
  return root;
87
57
  }
88
- static create(
89
- /** @type {string | File} */ text,
90
- /** @type {string} */ type,
91
- /** @type {string} */ id) {
58
+ static create(text, type, id) {
92
59
  if (typeof text === "string") {
93
- const node = new MimeNode(type);
60
+ const node = new MimeNode(type || "");
94
61
  node.text = text;
95
62
  return node;
96
63
  }
@@ -104,28 +71,38 @@ export class MimeNode {
104
71
  }
105
72
  return fileNode;
106
73
  }
107
- /** @returns {string} */
74
+ get contentType() {
75
+ return this.headers.first("content-type").as(HeaderContentType);
76
+ }
77
+ get contentDisposition() {
78
+ return this.headers.first("content-disposition")?.as(HeaderContentDisposition);
79
+ }
80
+ set contentDisposition(v) {
81
+ this.headers.set("content-disposition", v.toString());
82
+ }
83
+ constructor(type) {
84
+ this.headers = new MimeHeaders();
85
+ this.headers.append("Content-Type", type);
86
+ }
108
87
  get text() {
109
- var _a, _b, _c;
110
88
  let tc = this.textContent;
111
89
  if (tc) {
112
90
  return tc;
113
91
  }
114
92
  let { encoded } = this;
115
93
  if (!encoded) {
116
- return;
94
+ return "";
117
95
  }
118
- // we need to convert byte array to utf8
119
- const cte = (_a = this.contentTransferEncoding) === null || _a === void 0 ? void 0 : _a.toLowerCase();
96
+ const cte = this.contentTransferEncoding?.toLowerCase();
120
97
  switch (cte) {
121
98
  case "quoted-printable":
122
99
  encoded = quotedPrintable.decode(encoded);
123
- tc = RawBuffer.decode(encoded, (_b = this.contentType) === null || _b === void 0 ? void 0 : _b.charset);
100
+ tc = RawBuffer.decode(encoded, this.contentType?.charset);
124
101
  this.textContent = tc;
125
102
  break;
126
103
  case "base64":
127
104
  encoded = atob(encoded);
128
- tc = RawBuffer.decode(encoded, (_c = this.contentType) === null || _c === void 0 ? void 0 : _c.charset);
105
+ tc = RawBuffer.decode(encoded, this.contentType?.charset);
129
106
  this.textContent = tc;
130
107
  break;
131
108
  default:
@@ -135,302 +112,178 @@ export class MimeNode {
135
112
  }
136
113
  return tc;
137
114
  }
138
- set text(/** @type {string} */ v) {
115
+ set text(v) {
139
116
  this.contentTransferEncoding = "quoted-printable";
140
117
  this.textContent = v;
141
118
  }
142
- /** @returns {Blob} */
143
119
  get blob() {
144
- var _a, _b;
145
- // this will create blob..
146
- if (((_a = this.contentTransferEncoding) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) !== "base64") {
120
+ if (this.contentTransferEncoding?.toLocaleLowerCase() !== "base64") {
147
121
  throw new Error("Not supported");
148
122
  }
149
- return (_b = this.blobData) !== null && _b !== void 0 ? _b : (this.blobData = base64toBlob(this.encoded, this.contentType.type));
123
+ return this.blobData ??= base64toBlob(this.encoded, this.contentType.type);
150
124
  }
151
- set blob(/** @type {Blob} */ v) {
125
+ set blob(v) {
152
126
  this.blobData = v;
153
127
  }
154
- /** @returns {string} */
155
128
  get contentTransferEncoding() {
156
- return this.header("Content-Transfer-Encoding");
129
+ return this.firstHeaderString("Content-Transfer-Encoding");
157
130
  }
158
- set contentTransferEncoding(/** @type {string} */ v) {
159
- this.setHeader("Content-Transfer-Encoding", v);
131
+ set contentTransferEncoding(v) {
132
+ this.headers.set("Content-Transfer-Encoding", v);
160
133
  }
161
- /** @returns {string} */
162
134
  get boundary() {
163
135
  return this.contentType.boundary;
164
136
  }
165
- /** @returns {IterableIterator<MimeNode>} */
166
137
  get descendent() {
167
138
  return this.enumerate();
168
139
  }
169
- constructor(/** @type {string} */ type) {
170
- this.headers = new CIMap();
171
- this.contentType = new HeaderContentType(type);
172
- this.headers.set("Content-Type", this.contentType);
140
+ firstHeaderString(name) {
141
+ return this.headers.first(name)?.value;
173
142
  }
174
- getFirstChild(
175
- /** @type {string} */ contentType, create = false) {
176
- var _a;
177
- contentType = contentType.toLocaleLowerCase();
178
- let child = QueryIterator.first(this.descendent, (x) => x.contentType.type === contentType);
179
- if (!child && create) {
180
- child = new MimeNode(contentType);
181
- ((_a = this.children) !== null && _a !== void 0 ? _a : (this.children = [])).push(child);
182
- }
183
- return child;
143
+ firstHeaderObject(name) {
144
+ return this.headers.first(name);
184
145
  }
185
- header(/** @type {string} */ name) {
186
- return this.headers.get(name);
187
- }
188
- setHeader(
189
- /** @type {string} */ name,
190
- /** @type {string} */ value) {
191
- // name = name.toLocaleLowerCase();
192
- // for (const [key] of this.headers.keys()) {
193
- // if (key.toLocaleLowerCase() === name) {
194
- // this.headers.set(key, value);
195
- // return;
196
- // }
197
- // }
198
- // // change name...
199
- // switch(name.toLocaleLowerCase()) {
200
- // case "content-type":
201
- // name = "Content-Type";
202
- // break;
203
- // case "content-transfer-encoding":
204
- // name = "Content-Transfer-Encoding";
205
- // break;
206
- // case "content-disposition":
207
- // name = "Content-Disposition";
208
- // break;
209
- // }
146
+ setHeader(name, value) {
210
147
  this.headers.set(name, value);
211
148
  }
212
- asFile() {
213
- return __awaiter(this, void 0, void 0, function* () {
214
- const text = this.encoded.split("\n").map((x) => x.trim()).join("");
215
- const url = `data:${this.contentType.type};base64,${text}`;
216
- const blob = yield fetch(url);
217
- const af = new AttachmentFile([yield blob.blob()], this.contentDisposition.filename, {
218
- type: this.contentType.type,
219
- contentId: this.header("Content-Id"),
220
- disposition: this.contentDisposition.type
221
- });
222
- af.node = this;
223
- return af;
149
+ async asFile() {
150
+ const text = this.encoded.split("\n").map((x) => x.trim()).join("");
151
+ const url = `data:${this.contentType.type};base64,${text}`;
152
+ const blob = await fetch(url);
153
+ const af = new AttachmentFile([await blob.blob()], this.contentDisposition.filename, {
154
+ type: this.contentType.type,
155
+ contentId: this.firstHeaderString("Content-Id"),
156
+ disposition: this.contentDisposition.type
224
157
  });
158
+ af.node = this;
159
+ return af;
225
160
  }
226
- attachments() {
227
- return __awaiter(this, arguments, void 0, function* (
228
- /** @type {AttachmentFile[]} */ files = []) {
229
- var _a;
230
- for (const iterator of this.children) {
231
- if (iterator.children) {
232
- yield iterator.attachments(files);
233
- continue;
234
- }
235
- if ((_a = iterator.contentDisposition) === null || _a === void 0 ? void 0 : _a.type) {
236
- files.push(yield iterator.asFile());
237
- }
161
+ async attachments(files = []) {
162
+ for (const iterator of this.children || []) {
163
+ if (iterator.children) {
164
+ await iterator.attachments(files);
165
+ continue;
238
166
  }
239
- return files;
240
- });
167
+ if (iterator.contentDisposition?.type) {
168
+ files.push(await iterator.asFile());
169
+ }
170
+ }
171
+ return files;
241
172
  }
242
- parse(lines_1) {
243
- return __awaiter(this, arguments, void 0, function* (
244
- /** @type {LineStream} */ lines, last = "") {
245
- var _a, e_1, _b, _c, _d, e_2, _e, _f;
246
- var _g;
247
- yield this.parseHeaders(lines);
248
- const end = last + "--";
249
- let boundary = this.contentType.boundary;
250
- if (!boundary) {
251
- const data = [];
252
- let isEnd = true;
253
- try {
254
- // parse data till end of the boundary
255
- for (var _h = true, _j = __asyncValues(lines.read()), _k; _k = yield _j.next(), _a = _k.done, !_a; _h = true) {
256
- _c = _k.value;
257
- _h = false;
258
- const line = _c;
259
- const trimmed = line.trimEnd();
260
- if (trimmed === last) {
261
- isEnd = false;
262
- break;
263
- }
264
- if (trimmed === end) {
265
- isEnd = true;
266
- break;
267
- }
268
- data.push(line);
269
- }
270
- }
271
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
272
- finally {
273
- try {
274
- if (!_h && !_a && (_b = _j.return)) yield _b.call(_j);
275
- }
276
- finally { if (e_1) throw e_1.error; }
173
+ async parse(lines, last = "") {
174
+ await this.parseHeaders(lines);
175
+ const end = last + "--";
176
+ let boundary = this.contentType.boundary;
177
+ if (!boundary) {
178
+ const data = [];
179
+ let isEnd = true;
180
+ for await (const line of lines.read()) {
181
+ const trimmed = line.trimEnd();
182
+ if (trimmed === last) {
183
+ isEnd = false;
184
+ break;
277
185
  }
278
- this.encoded = data.join("\n");
279
- return isEnd;
280
- }
281
- // skip till boundary
282
- const start = "--" + boundary;
283
- try {
284
- for (var _l = true, _m = __asyncValues(lines.read()), _o; _o = yield _m.next(), _d = _o.done, !_d; _l = true) {
285
- _f = _o.value;
286
- _l = false;
287
- const line = _f;
288
- const trimmed = line;
289
- if (trimmed === start) {
290
- break;
291
- }
186
+ if (trimmed === end) {
187
+ isEnd = true;
188
+ break;
292
189
  }
190
+ data.push(line);
293
191
  }
294
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
295
- finally {
296
- try {
297
- if (!_l && !_d && (_e = _m.return)) yield _e.call(_m);
298
- }
299
- finally { if (e_2) throw e_2.error; }
192
+ this.encoded = data.join("\n");
193
+ return isEnd;
194
+ }
195
+ const start = "--" + boundary;
196
+ for await (const line of lines.read()) {
197
+ const trimmed = line;
198
+ if (trimmed === start) {
199
+ break;
300
200
  }
301
- (_g = this.children) !== null && _g !== void 0 ? _g : (this.children = []);
302
- for (;;) {
303
- const child = new MimeNode("");
304
- const isLast = yield child.parse(lines, start);
305
- this.children.push(child);
306
- if (isLast) {
307
- return;
308
- }
201
+ }
202
+ this.children ??= [];
203
+ for (;;) {
204
+ const child = new MimeNode("");
205
+ const isLast = await child.parse(lines, start);
206
+ this.children.push(child);
207
+ if (isLast) {
208
+ return true;
309
209
  }
310
- });
210
+ }
311
211
  }
312
- parseHeaders(
313
- /** @type {LineStream} */ lines) {
314
- return __awaiter(this, void 0, void 0, function* () {
315
- var _a, e_3, _b, _c;
316
- var _d;
317
- let headerName = "";
318
- let headerValue = "";
319
- try {
320
- for (var _e = true, _f = __asyncValues(lines.read()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
321
- _c = _g.value;
322
- _e = false;
323
- const iterator = _c;
324
- const value = iterator.trim();
325
- if (value.length === 0) {
326
- break;
327
- }
328
- if (/^[\x20\t]/.test(iterator)) {
329
- headerValue += wordEncoding.decode(value);
330
- continue;
331
- }
332
- if (headerValue) {
333
- this.setHeader(headerName, headerValue);
334
- }
335
- const index = value.indexOf(":");
336
- headerName = value.substring(0, index);
337
- headerValue = wordEncoding.decode(value.substring(index + 1).trim());
338
- }
212
+ async parseHeaders(lines) {
213
+ let headerName = "";
214
+ let headerValue = "";
215
+ for await (const iterator of lines.read()) {
216
+ const value = iterator.trim();
217
+ if (value.length === 0) {
218
+ break;
339
219
  }
340
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
341
- finally {
342
- try {
343
- if (!_e && !_a && (_b = _f.return)) yield _b.call(_f);
344
- }
345
- finally { if (e_3) throw e_3.error; }
220
+ if (/^[\x20\t]/.test(iterator)) {
221
+ headerValue += wordEncoding.decode(value);
222
+ continue;
346
223
  }
347
224
  if (headerValue) {
348
225
  this.setHeader(headerName, headerValue);
349
226
  }
350
- else {
351
- return;
352
- }
353
- const ct = this.header("Content-Type");
354
- this.contentType.parse(ct);
355
- this.setHeader("Content-Type", ct);
356
- const cd = this.header("Content-Disposition");
357
- if (cd) {
358
- (_d = this.contentDisposition) !== null && _d !== void 0 ? _d : (this.contentDisposition = new HeaderContentDisposition());
359
- this.contentDisposition.parse(cd);
360
- this.setHeader("Content-Disposition", cd);
361
- }
362
- });
227
+ const index = value.indexOf(":");
228
+ headerName = value.substring(0, index);
229
+ headerValue = wordEncoding.decode(value.substring(index + 1).trim());
230
+ }
231
+ if (headerValue) {
232
+ this.setHeader(headerName, headerValue);
233
+ }
234
+ else {
235
+ return;
236
+ }
363
237
  }
364
- save(/** @type {TextWriter} */ writer) {
365
- return __awaiter(this, void 0, void 0, function* () {
366
- var _a, _b;
367
- var _c;
368
- if (this.textContent) {
369
- this.contentType.charset = "UTF-8";
370
- }
371
- if ((_a = this.children) === null || _a === void 0 ? void 0 : _a.length) {
372
- (_c = this.contentType).boundary || (_c.boundary = `${Date.now()}-${Date.now()}-${Date.now()}`);
373
- }
374
- for (const [key, element] of this.headers.entries()) {
375
- switch (key) {
376
- case "content-disposition":
377
- writer.writeLine(`Content-Disposition: ${this.contentDisposition}`);
378
- continue;
379
- case "content-type":
380
- writer.writeLine(`Content-Type:${this.contentType.toString()}`);
381
- continue;
382
- case "subject":
383
- writer.writeLine(`${key}: ${wordEncoding.encode(element, true)}`);
384
- continue;
385
- }
386
- writer.writeLine(`${key}: ${element}`);
387
- }
388
- writer.writeLine("");
389
- // check if we have any children...
390
- if ((_b = this.children) === null || _b === void 0 ? void 0 : _b.length) {
391
- const boundary = `--${this.contentType.boundary}`;
392
- for (const iterator of this.children) {
393
- writer.writeLine(boundary);
394
- yield iterator.save(writer);
395
- }
396
- writer.writeLine(boundary + "--");
397
- return;
398
- }
399
- // check if we have text or binary
400
- if (this.blobData) {
401
- // convert to base64
402
- const base64 = yield RawBuffer.toBase64Async(this.blobData);
403
- let start = 0;
404
- const max = 80;
405
- for (;;) {
406
- if (start + max > base64.length) {
407
- writer.writeLine(base64.substring(start));
408
- break;
409
- }
410
- writer.writeLine(base64.substring(start, start + max));
411
- start += max;
412
- }
413
- return;
238
+ async save(writer) {
239
+ if (this.textContent) {
240
+ this.contentType.charset = "UTF-8";
241
+ }
242
+ if (this.children?.length) {
243
+ this.contentType.boundary ||= `${Date.now()}-${Date.now()}-${Date.now()}`;
244
+ }
245
+ for (const h of this.headers.entries()) {
246
+ writer.writeLineMax80Chars(`${h.key}: ${wordEncoding.encode(h.value, true)}`);
247
+ }
248
+ writer.writeLine("");
249
+ if (this.children?.length) {
250
+ const boundary = `--${this.contentType.boundary}`;
251
+ for (const iterator of this.children) {
252
+ writer.writeLine(boundary);
253
+ await iterator.save(writer);
414
254
  }
415
- let text = this.text;
416
- switch (this.contentTransferEncoding) {
417
- case "quoted-printable":
418
- text = quotedPrintable.encode(RawBuffer.encode(text));
419
- writer.writeLine(text);
420
- break;
421
- case "base64":
422
- text = btoa(RawBuffer.encode(text, this.contentType.charset));
423
- writer.writeLine(text);
424
- break;
425
- default:
426
- writer.writeLine(text);
255
+ writer.writeLine(boundary + "--");
256
+ return;
257
+ }
258
+ if (this.blobData) {
259
+ const base64 = await RawBuffer.toBase64Async(this.blobData);
260
+ let start = 0;
261
+ const max = 80;
262
+ for (;;) {
263
+ if (start + max > base64.length) {
264
+ writer.writeLine(base64.substring(start));
427
265
  break;
266
+ }
267
+ writer.writeLine(base64.substring(start, start + max));
268
+ start += max;
428
269
  }
429
- // writer.writeLine("");
430
270
  return;
431
- });
271
+ }
272
+ let text = this.text;
273
+ switch (this.contentTransferEncoding) {
274
+ case "quoted-printable":
275
+ text = quotedPrintable.encode(RawBuffer.encode(text));
276
+ writer.writeLine(text);
277
+ break;
278
+ case "base64":
279
+ text = btoa(RawBuffer.encode(text, this.contentType.charset));
280
+ writer.writeLineMax80Chars(text);
281
+ break;
282
+ default:
283
+ writer.writeLineMax80Chars(text);
284
+ break;
285
+ }
432
286
  }
433
- /** @returns {IterableIterator<MimeNode>} */
434
287
  *enumerate() {
435
288
  yield this;
436
289
  if (!this.children) {
@@ -440,5 +293,20 @@ export class MimeNode {
440
293
  yield* iterator.enumerate();
441
294
  }
442
295
  }
296
+ getFirstChild(contentType, create = false) {
297
+ contentType = contentType.toLocaleLowerCase();
298
+ let child;
299
+ for (const node of this.descendent) {
300
+ if (node.contentType.type === contentType) {
301
+ child = node;
302
+ break;
303
+ }
304
+ }
305
+ if (!child && create) {
306
+ child = new MimeNode(contentType);
307
+ (this.children ??= []).push(child);
308
+ }
309
+ return child;
310
+ }
443
311
  }
444
312
  //# sourceMappingURL=MimeNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MimeNode.js","sourceRoot":"","sources":["../../src/mime-parser/MimeNode.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MimeNode.js","sourceRoot":"","sources":["../../src/mime-parser/MimeNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export default class RegexGenerator {
2
+ readonly regex: RegExp;
3
+ constructor(regex: RegExp);
4
+ groups(text: string): Generator<RegExpExecArray, void, unknown>;
5
+ all(text: string): Generator<{
6
+ matched: RegExpExecArray;
7
+ }, void, unknown>;
8
+ }
9
+ //# sourceMappingURL=RegexGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegexGenerator.d.ts","sourceRoot":"","sources":["../../src/mime-parser/RegexGenerator.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;aAEH,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAIxC,MAAM,CAAC,IAAI,EAAE,MAAM;IAiBnB,GAAG,CAAC,IAAI,EAAE,MAAM;iBAYiB,eAAe;;CAMpD"}