@social-mail/shared 1.0.3

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 (69) hide show
  1. package/.gitlab-ci.yml +16 -0
  2. package/.vscode/launch.json +21 -0
  3. package/.vscode/settings.json +55 -0
  4. package/README.md +3 -0
  5. package/dist/QueryIterator.js +28 -0
  6. package/dist/QueryIterator.js.map +1 -0
  7. package/dist/mime-parser/AttachmentFile.js +21 -0
  8. package/dist/mime-parser/AttachmentFile.js.map +1 -0
  9. package/dist/mime-parser/HeaderContentDisposition.js +32 -0
  10. package/dist/mime-parser/HeaderContentDisposition.js.map +1 -0
  11. package/dist/mime-parser/HeaderContentType.js +33 -0
  12. package/dist/mime-parser/HeaderContentType.js.map +1 -0
  13. package/dist/mime-parser/MimeMessage.js +99 -0
  14. package/dist/mime-parser/MimeMessage.js.map +1 -0
  15. package/dist/mime-parser/MimeNode.js +406 -0
  16. package/dist/mime-parser/MimeNode.js.map +1 -0
  17. package/dist/mime-parser/encoder/RawBuffer.js +57 -0
  18. package/dist/mime-parser/encoder/RawBuffer.js.map +1 -0
  19. package/dist/mime-parser/encoder/base64-to-blob.js +30 -0
  20. package/dist/mime-parser/encoder/base64-to-blob.js.map +1 -0
  21. package/dist/mime-parser/encoder/quoted-printable.js +71 -0
  22. package/dist/mime-parser/encoder/quoted-printable.js.map +1 -0
  23. package/dist/mime-parser/encoder/word-encoding.js +45 -0
  24. package/dist/mime-parser/encoder/word-encoding.js.map +1 -0
  25. package/dist/mime-parser/parsePairs.js +40 -0
  26. package/dist/mime-parser/parsePairs.js.map +1 -0
  27. package/dist/mime-parser/stream/LineStream.js +99 -0
  28. package/dist/mime-parser/stream/LineStream.js.map +1 -0
  29. package/dist/mime-parser/stream/TextWriter.js +36 -0
  30. package/dist/mime-parser/stream/TextWriter.js.map +1 -0
  31. package/dist/mime-parser/tokenizer.js +46 -0
  32. package/dist/mime-parser/tokenizer.js.map +1 -0
  33. package/dist/tests/mime/lines-test.js +19 -0
  34. package/dist/tests/mime/lines-test.js.map +1 -0
  35. package/dist/tests/mime/message1.js +58 -0
  36. package/dist/tests/mime/message1.js.map +1 -0
  37. package/dist/tests/mime/message2.js +77 -0
  38. package/dist/tests/mime/message2.js.map +1 -0
  39. package/dist/tests/mime/pairs.js +33 -0
  40. package/dist/tests/mime/pairs.js.map +1 -0
  41. package/dist/tests/mime/parse-headers.js +104 -0
  42. package/dist/tests/mime/parse-headers.js.map +1 -0
  43. package/dist/tests/mime/word-encoding-test.js +21 -0
  44. package/dist/tests/mime/word-encoding-test.js.map +1 -0
  45. package/dist/tsconfig.tsbuildinfo +1 -0
  46. package/index.js +4 -0
  47. package/package.json +17 -0
  48. package/src/QueryIterator.js +33 -0
  49. package/src/mime-parser/AttachmentFile.js +29 -0
  50. package/src/mime-parser/HeaderContentDisposition.js +32 -0
  51. package/src/mime-parser/HeaderContentType.js +34 -0
  52. package/src/mime-parser/MimeMessage.js +100 -0
  53. package/src/mime-parser/MimeNode.js +435 -0
  54. package/src/mime-parser/encoder/RawBuffer.js +60 -0
  55. package/src/mime-parser/encoder/base64-to-blob.js +26 -0
  56. package/src/mime-parser/encoder/quoted-printable.js +118 -0
  57. package/src/mime-parser/encoder/word-encoding.js +43 -0
  58. package/src/mime-parser/parsePairs.js +34 -0
  59. package/src/mime-parser/stream/LineStream.js +85 -0
  60. package/src/mime-parser/stream/TextWriter.js +27 -0
  61. package/src/mime-parser/tokenizer.js +37 -0
  62. package/src/tests/mime/lines-test.js +17 -0
  63. package/src/tests/mime/message1.js +46 -0
  64. package/src/tests/mime/message2.js +73 -0
  65. package/src/tests/mime/pairs.js +38 -0
  66. package/src/tests/mime/parse-headers.js +90 -0
  67. package/src/tests/mime/word-encoding-test.js +13 -0
  68. package/test.js +70 -0
  69. package/tsconfig.json +16 -0
@@ -0,0 +1,40 @@
1
+ System.register(["./tokenizer.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var tokenize, tokenizeMax, parsePairs;
5
+ return {
6
+ setters: [function (_tokenizerJs) {
7
+ tokenize = _tokenizerJs.tokenize;
8
+ tokenizeMax = _tokenizerJs.tokenizeMax;
9
+ }],
10
+ execute: function () {
11
+ _export("parsePairs", parsePairs = (text, emptyName) => {
12
+ const pairs = {
13
+ toString() {
14
+ return text;
15
+ }
16
+ };
17
+ for (const iterator of tokenize(text, ";")) {
18
+ const trimmed = iterator.trim();
19
+ if (!trimmed) {
20
+ break;
21
+ }
22
+ const items = tokenizeMax(trimmed, "=", 2).map(x => x.trim());
23
+ let [key, value] = items;
24
+ if (items.length === 1) {
25
+ value = key;
26
+ key = emptyName !== null && emptyName !== void 0 ? emptyName : key;
27
+ }
28
+ try {
29
+ if (value.startsWith('"')) {
30
+ value = JSON.parse(value);
31
+ }
32
+ } catch (_a) {}
33
+ pairs[key] = value;
34
+ }
35
+ return pairs;
36
+ });
37
+ }
38
+ };
39
+ });
40
+ //# sourceMappingURL=parsePairs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tokenize","_tokenizerJs","tokenizeMax","execute","_export","parsePairs","text","emptyName","pairs","toString","iterator","trimmed","trim","items","map","x","key","value","length","startsWith","JSON","parse","_a"],"sources":["../../src/mime-parser/parsePairs.js"],"sourcesContent":[null],"mappings":";;;;;;MAASA,QAAQ,GAAAC,YAAA,CAARD,QAAQ;MAAEE,WAAW,GAAAD,YAAA,CAAXC,WAAW;IAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAC,OAAA,eAGjBC,UAAU,GAAGA,CACAC,IAAI,EACJC,SAAS,KAAI;QACnC,MAAMC,KAAK,GAAG;UACVC,QAAQA,CAAA;YACJ,OAAOH,IAAI;UACf;SACH;QACD,KAAK,MAAMI,QAAQ,IAAIV,QAAQ,CAACM,IAAI,EAAE,GAAG,CAAC,EAAE;UACxC,MAAMK,OAAO,GAAGD,QAAQ,CAACE,IAAI,EAAE;UAC/B,IAAI,CAACD,OAAO,EAAE;YACV;;UAEJ,MAAME,KAAK,GAAGX,WAAW,CAACS,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACH,IAAI,EAAE,CAAC;UAC/D,IAAI,CAACI,GAAG,EAAEC,KAAK,CAAC,GAAGJ,KAAK;UACxB,IAAIA,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE;YACpBD,KAAK,GAAGD,GAAG;YACXA,GAAG,GAAGT,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIS,GAAG;;UAE1B,IAAI;YACA,IAAIC,KAAK,CAACE,UAAU,CAAC,GAAG,CAAC,EAAE;cACvBF,KAAK,GAAGG,IAAI,CAACC,KAAK,CAACJ,KAAK,CAAC;;WAEhC,CAAC,OAAAK,EAAA,EAAM,C;UAIRd,KAAK,CAACQ,GAAG,CAAC,GAAGC,KAAK;;QAEtB,OAAOT,KAAK;MAChB,CAAC;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,99 @@
1
+ System.register(["tslib", "../tokenizer.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __asyncGenerator, __await, tokenize, LineStream, StringLineStream, ReadableLineStream;
5
+ _export({
6
+ default: void 0,
7
+ StringLineStream: void 0,
8
+ ReadableLineStream: void 0
9
+ });
10
+ return {
11
+ setters: [function (_tslib) {
12
+ __asyncGenerator = _tslib.__asyncGenerator;
13
+ __await = _tslib.__await;
14
+ }, function (_tokenizerJs) {
15
+ tokenize = _tokenizerJs.tokenize;
16
+ }],
17
+ execute: function () {
18
+ _export("default", LineStream = class LineStream {
19
+ read() {
20
+ var _a;
21
+ return __asyncGenerator(this, arguments, function* read_1() {
22
+ const g = (_a = this.g) !== null && _a !== void 0 ? _a : this.g = this.lines();
23
+ for (;;) {
24
+ const {
25
+ value,
26
+ done
27
+ } = yield __await(g.next());
28
+ if (done) {
29
+ break;
30
+ }
31
+ yield yield __await(value);
32
+ }
33
+ });
34
+ }
35
+ lines() {
36
+ throw new Error("Not Implemented");
37
+ }
38
+ });
39
+ _export("StringLineStream", StringLineStream = class StringLineStream extends LineStream {
40
+ constructor(text) {
41
+ super();
42
+ this.text = text;
43
+ }
44
+ lines() {
45
+ return __asyncGenerator(this, arguments, function* lines_1() {
46
+ for (const iterator of tokenize(this.text, "\n")) {
47
+ yield yield __await(iterator);
48
+ }
49
+ });
50
+ }
51
+ });
52
+ _export("ReadableLineStream", ReadableLineStream = class ReadableLineStream extends LineStream {
53
+ constructor(readable) {
54
+ super();
55
+ this.readable = readable;
56
+ }
57
+ lines() {
58
+ return __asyncGenerator(this, arguments, function* lines_2() {
59
+ const utf8Decoder = new TextDecoder("utf-8");
60
+ const reader = this.readable.getReader();
61
+ let {
62
+ value: chunk,
63
+ done: readerDone
64
+ } = yield __await(reader.read());
65
+ chunk = chunk ? utf8Decoder.decode(chunk, {
66
+ stream: true
67
+ }) : "";
68
+ const re = /\r\n|\n|\r/gm;
69
+ let startIndex = 0;
70
+ for (;;) {
71
+ const result = re.exec(chunk);
72
+ if (!result) {
73
+ if (readerDone) {
74
+ break;
75
+ }
76
+ const remainder = chunk.substr(startIndex);
77
+ ({
78
+ value: chunk,
79
+ done: readerDone
80
+ } = yield __await(reader.read()));
81
+ chunk = remainder + (chunk ? utf8Decoder.decode(chunk, {
82
+ stream: true
83
+ }) : "");
84
+ startIndex = re.lastIndex = 0;
85
+ continue;
86
+ }
87
+ yield yield __await(chunk.substring(startIndex, result.index));
88
+ startIndex = re.lastIndex;
89
+ }
90
+ if (startIndex < chunk.length) {
91
+ yield yield __await(chunk.substr(startIndex));
92
+ }
93
+ });
94
+ }
95
+ });
96
+ }
97
+ };
98
+ });
99
+ //# sourceMappingURL=LineStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LineStream","StringLineStream","ReadableLineStream","_export","default","setters","_tslib","tokenize","_tokenizerJs","execute","read","g","_a","lines","value","done","__await","next","Error","constructor","text","iterator","readable","utf8Decoder","TextDecoder","reader","getReader","chunk","readerDone","decode","stream","re","startIndex","result","exec","remainder","substr","lastIndex","substring","index","length"],"sources":["../../../src/mime-parser/stream/LineStream.js"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ System.register([], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var TextWriter, BlobWriter;
5
+ _export({
6
+ default: void 0,
7
+ BlobWriter: void 0
8
+ });
9
+ return {
10
+ setters: [],
11
+ execute: function () {
12
+ _export("default", TextWriter = class TextWriter {
13
+ writeLine(line) {
14
+ throw new Error("Not Implemented");
15
+ }
16
+ });
17
+ _export("BlobWriter", BlobWriter = class BlobWriter extends TextWriter {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.lines = [];
21
+ }
22
+ writeLine(line) {
23
+ this.lines.push(line);
24
+ }
25
+ toBlob() {
26
+ const all = this.lines.join("\n");
27
+ return new Blob([all], {});
28
+ }
29
+ toString() {
30
+ return this.lines.join("\n");
31
+ }
32
+ });
33
+ }
34
+ };
35
+ });
36
+ //# sourceMappingURL=TextWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextWriter","BlobWriter","_export","default","setters","execute","writeLine","line","Error","constructor","lines","push","toBlob","all","join","Blob","toString"],"sources":["../../../src/mime-parser/stream/TextWriter.js"],"sourcesContent":[null],"mappings":";;;MAAqBA,UAAU,EAQlBC,UAAW;EAAAC,OAAA;IAAAC,OAAA;IAAAF,UAAA;EAAA;EAAA;IAAAG,OAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAH,OAAA,YARHF,UAAU,GAAjB,MAAOA,UAAU;QAE3BM,SAASA,CAAuBC,IAAI;UAChC,MAAM,IAAIC,KAAK,CAAC,iBAAiB,CAAC;QACtC;OAEH;MAAAN,OAAA,eAEYD,UAAW,GAAlB,MAAOA,UAAW,SAAQD,UAAU;QAA1CS,YAAA;;UAGI,KAAAC,KAAK,GAAG,EAAE;QAed;QAbIJ,SAASA,CAAsBC,IAAI;UAC/B,IAAI,CAACG,KAAK,CAACC,IAAI,CAACJ,IAAI,CAAC;QACzB;QAEAK,MAAMA,CAAA;UACF,MAAMC,GAAG,GAAG,IAAI,CAACH,KAAK,CAACI,IAAI,CAAC,IAAI,CAAC;UACjC,OAAO,IAAIC,IAAI,CAAC,CAACF,GAAG,CAAC,EAAE,EAAE,CAAC;QAC9B;QAEAG,QAAQA,CAAA;UACJ,OAAO,IAAI,CAACN,KAAK,CAACI,IAAI,CAAC,IAAI,CAAC;QAChC;OAEH;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ System.register([], function (_export, _context) {
2
+ "use strict";
3
+
4
+ function* tokenize(text, sep = ",") {
5
+ let start = 0;
6
+ for (;;) {
7
+ const index = text.indexOf(sep, start);
8
+ if (index === -1) {
9
+ break;
10
+ }
11
+ yield text.substring(start, index);
12
+ start = index + 1;
13
+ }
14
+ yield text.substring(start);
15
+ }
16
+ function tokenizeMax(text, sep, max = Number.MAX_SAFE_INTEGER) {
17
+ let start = 0;
18
+ const items = [];
19
+ max--;
20
+ for (;;) {
21
+ const index = text.indexOf(sep, start);
22
+ if (index === -1) {
23
+ break;
24
+ }
25
+ items.push(text.substring(start, index));
26
+ start = index + 1;
27
+ if (--max === 0) {
28
+ break;
29
+ }
30
+ }
31
+ items.push(text.substring(start));
32
+ return items;
33
+ }
34
+ _export({
35
+ tokenize: tokenize,
36
+ tokenizeMax: tokenizeMax
37
+ });
38
+ return {
39
+ setters: [],
40
+ execute: function () {
41
+ ;
42
+ ;
43
+ }
44
+ };
45
+ });
46
+ //# sourceMappingURL=tokenizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tokenize","text","sep","start","index","indexOf","substring","tokenizeMax","max","Number","MAX_SAFE_INTEGER","items","push","_export","setters","execute"],"sources":["../../src/mime-parser/tokenizer.js"],"sourcesContent":[null],"mappings":";;;EAAM,UAAWA,QAAQA,CACCC,IAAI,EACJC,GAAG,GAAG,GAAG;IAC/B,IAAIC,KAAK,GAAG,CAAC;IACb,SAAQ;MACJ,MAAMC,KAAK,GAAGH,IAAI,CAACI,OAAO,CAACH,GAAG,EAAEC,KAAK,CAAC;MACtC,IAAIC,KAAK,KAAK,CAAC,CAAC,EAAE;QACd;;MAEJ,MAAMH,IAAI,CAACK,SAAS,CAACH,KAAK,EAAEC,KAAK,CAAC;MAClCD,KAAK,GAAGC,KAAK,GAAG,CAAC;;IAErB,MAAMH,IAAI,CAACK,SAAS,CAACH,KAAK,CAAC;EAC/B;EAGM,SAAUI,WAAWA,CACDN,IAAI,EACJC,GAAG,EACHM,GAAG,GAAGC,MAAM,CAACC,gBAAgB;IACnD,IAAIP,KAAK,GAAG,CAAC;IACb,MAAMQ,KAAK,GAAG,EAAE;IAChBH,GAAG,EAAE;IACL,SAAQ;MACJ,MAAMJ,KAAK,GAAGH,IAAI,CAACI,OAAO,CAACH,GAAG,EAAEC,KAAK,CAAC;MACtC,IAAIC,KAAK,KAAK,CAAC,CAAC,EAAE;QACd;;MAEJO,KAAK,CAACC,IAAI,CAACX,IAAI,CAACK,SAAS,CAACH,KAAK,EAAEC,KAAK,CAAC,CAAC;MACxCD,KAAK,GAAGC,KAAK,GAAG,CAAC;MACjB,IAAI,EAAEI,GAAG,KAAK,CAAC,EAAE;QACb;;;IAGRG,KAAK,CAACC,IAAI,CAACX,IAAI,CAACK,SAAS,CAACH,KAAK,CAAC,CAAC;IACjC,OAAOQ,KAAK;EAChB;EAACE,OAAA;IAAAb,QAAA,EApCgBA,QAAQ;IAAAO,WAAA,EAgBTA;EAAW;EAAA;IAAAO,OAAA;IAAAC,OAAA,WAAAA,CAAA;MAH1B;MAuBA;IAAC;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ System.register(["assert", "../../mime-parser/tokenizer.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var assert, tokenize;
5
+ _export("default", function () {
6
+ assert.equal("a,b", Array.from(tokenize("a\nb", "\n")));
7
+ assert.equal("a b", Array.from(tokenize("a b", "\n")));
8
+ assert.equal("a,,b", Array.from(tokenize("a\n\nb", "\n")));
9
+ });
10
+ return {
11
+ setters: [function (_assert) {
12
+ assert = _assert.default;
13
+ }, function (_mimeParserTokenizerJs) {
14
+ tokenize = _mimeParserTokenizerJs.tokenize;
15
+ }],
16
+ execute: function () {}
17
+ };
18
+ });
19
+ //# sourceMappingURL=lines-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["assert","equal","Array","from","tokenize","setters","_assert","default","_mimeParserTokenizerJs","execute"],"sources":["../../../src/tests/mime/lines-test.js"],"sourcesContent":[null],"mappings":";;;;qBAIc;IAEVA,MAAM,CAACC,KAAK,CACR,KAAK,EACLC,KAAK,CAACC,IAAI,CAACC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvCJ,MAAM,CAACC,KAAK,CACR,KAAK,EACLC,KAAK,CAACC,IAAI,CAACC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACtCJ,MAAM,CAACC,KAAK,CACR,MAAM,EACNC,KAAK,CAACC,IAAI,CAACC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;EAC7C,CAAC;EAAA;IAAAC,OAAA,aAAAC,OAAA;MAhBMN,MAAM,GAAAM,OAAA,CAAAC,OAAA;IAAA,aAAAC,sBAAA;MACJJ,QAAQ,GAAAI,sBAAA,CAARJ,QAAQ;IAAA;IAAAK,OAAA,WAAAA,CAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ System.register(["tslib", "assert", "../../mime-parser/MimeNode.js", "../../mime-parser/stream/LineStream.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __awaiter, assert, MimeNode, StringLineStream, msg1;
5
+ _export("default", function () {
6
+ return __awaiter(this, void 0, void 0, function* () {
7
+ const root = new MimeNode();
8
+ yield root.parse(new StringLineStream(msg1));
9
+ assert.strictEqual("multipart/mixed", root.contentType.type);
10
+ assert.strictEqual("XXXXboundary text", root.contentType.boundary);
11
+ assert.strictEqual("Some One <someone@example.com>", root.header("from"));
12
+ assert.strictEqual(2, root.children.length);
13
+ const body = root.children[0];
14
+ assert.strictEqual("text/plain", body.contentType.type);
15
+ assert.strictEqual("this is the body text", body.encoded.trim());
16
+ const attachment = root.children[1];
17
+ assert.strictEqual("text/plain", attachment.contentType.type);
18
+ assert.strictEqual("this is the attachment text", attachment.encoded.trim());
19
+ assert.strictEqual("test.txt", attachment.contentDisposition.filename);
20
+ });
21
+ });
22
+ return {
23
+ setters: [function (_tslib) {
24
+ __awaiter = _tslib.__awaiter;
25
+ }, function (_assert) {
26
+ assert = _assert.default;
27
+ }, function (_mimeParserMimeNodeJs) {
28
+ MimeNode = _mimeParserMimeNodeJs.MimeNode;
29
+ }, function (_mimeParserStreamLineStreamJs) {
30
+ StringLineStream = _mimeParserStreamLineStreamJs.StringLineStream;
31
+ }],
32
+ execute: function () {
33
+ msg1 = `From: Some One <someone@example.com>
34
+ MIME-Version: 1.0
35
+ Content-Type: multipart/mixed;
36
+ boundary="XXXXboundary text"
37
+
38
+ This is a multipart message in MIME format.
39
+
40
+ --XXXXboundary text
41
+ Content-Type: text/plain
42
+
43
+ this is the body text
44
+
45
+ --XXXXboundary text
46
+ Content-Type: text/plain;
47
+ Content-Disposition: attachment;
48
+ filename="test.txt"
49
+
50
+ this is the attachment text
51
+
52
+ --XXXXboundary text--
53
+
54
+ `;
55
+ }
56
+ };
57
+ });
58
+ //# sourceMappingURL=message1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["root","MimeNode","parse","StringLineStream","msg1","assert","strictEqual","contentType","type","boundary","header","children","length","body","encoded","trim","attachment","contentDisposition","filename","setters","_tslib","_assert","default","_mimeParserMimeNodeJs","_mimeParserStreamLineStreamJs","execute"],"sources":["../../../src/tests/mime/message1.js"],"sourcesContent":[null],"mappings":";;;;qBA2Bc;;MACV,MAAMA,IAAI,GAAG,IAAIC,QAAQ,EAAE;MAC3B,MAAMD,IAAI,CAACE,KAAK,CAAC,IAAIC,gBAAgB,CAACC,IAAI,CAAC,CAAC;MAE5CC,MAAM,CAACC,WAAW,CAAC,iBAAiB,EAAEN,IAAI,CAACO,WAAW,CAACC,IAAI,CAAC;MAC5DH,MAAM,CAACC,WAAW,CAAC,mBAAmB,EAAEN,IAAI,CAACO,WAAW,CAACE,QAAQ,CAAC;MAClEJ,MAAM,CAACC,WAAW,CAAC,gCAAgC,EAAEN,IAAI,CAACU,MAAM,CAAC,MAAM,CAAC,CAAC;MAEzEL,MAAM,CAACC,WAAW,CAAC,CAAC,EAAEN,IAAI,CAACW,QAAQ,CAACC,MAAM,CAAC;MAE3C,MAAMC,IAAI,GAAGb,IAAI,CAACW,QAAQ,CAAC,CAAC,CAAC;MAC7BN,MAAM,CAACC,WAAW,CAAC,YAAY,EAAEO,IAAI,CAACN,WAAW,CAACC,IAAI,CAAC;MACvDH,MAAM,CAACC,WAAW,CAAC,uBAAuB,EAAEO,IAAI,CAACC,OAAO,CAACC,IAAI,EAAE,CAAC;MAEhE,MAAMC,UAAU,GAAGhB,IAAI,CAACW,QAAQ,CAAC,CAAC,CAAC;MACnCN,MAAM,CAACC,WAAW,CAAC,YAAY,EAAEU,UAAU,CAACT,WAAW,CAACC,IAAI,CAAC;MAC7DH,MAAM,CAACC,WAAW,CAAC,6BAA6B,EAAEU,UAAU,CAACF,OAAO,CAACC,IAAI,EAAE,CAAC;MAC5EV,MAAM,CAACC,WAAW,CAAC,UAAU,EAAEU,UAAU,CAACC,kBAAkB,CAACC,QAAQ,CAAC;IAC1E,CAAC;GAAA;EAAA;IAAAC,OAAA,aAAAC,MAAA;;;MA7CMf,MAAM,GAAAgB,OAAA,CAAAC,OAAA;IAAA,aAAAC,qBAAA;MACJtB,QAAQ,GAAAsB,qBAAA,CAARtB,QAAQ;IAAA,aAAAuB,6BAAA;MACRrB,gBAAgB,GAAAqB,6BAAA,CAAhBrB,gBAAgB;IAAA;IAAAsB,OAAA,WAAAA,CAAA;MAEnBrB,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBZ;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ System.register(["tslib", "assert", "../../mime-parser/MimeNode.js", "../../mime-parser/stream/LineStream.js", "../../mime-parser/stream/TextWriter.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __awaiter, assert, MimeNode, StringLineStream, BlobWriter, msg1;
5
+ function assertAll(root) {
6
+ assert.strictEqual("multipart/mixed", root.contentType.type);
7
+ assert.strictEqual("XXXXboundary text", root.contentType.boundary);
8
+ assert.strictEqual("Some One <someone@example.com>", root.header("from"));
9
+ assert.strictEqual(2, root.children.length);
10
+ const body = root.children[0];
11
+ assert.strictEqual("text/plain", body.contentType.type);
12
+ assert.strictEqual("this is the body text", body.encoded.trim());
13
+ const html = root.children[1];
14
+ assert.strictEqual("text/html", html.contentType.type);
15
+ assert.strictEqual("quoted-printable", html.contentTransferEncoding);
16
+ const data = html.text;
17
+ assert.strictEqual(`<div dir="ltr"><font face="trebuchet ms, sans-serif">Seeking Actors and Actresses for a micro budget feature. The story revolves around a couple and their guests who find themselves in a tense and gripping situation. They are taken hostage in their own home by a radical gunman who lurks outside. We are looking for individuals who can bring depth and authenticity to their characters. The ability to convey a range of emotions and create believable performances is crucial for this project.<br><br>Submit ASAP through: <a href="https://socialmail.in">https://socialmail.in</a><br><br>#newmexicoactors #newmexicocasting </font><br></div>`, data);
18
+ }
19
+ _export("default", function () {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const root = new MimeNode();
22
+ yield root.parse(new StringLineStream(msg1));
23
+ assertAll(root);
24
+ const blob = new BlobWriter();
25
+ yield root.save(blob);
26
+ const encoded = blob.toString();
27
+ const root2 = new MimeNode();
28
+ yield root2.parse(new StringLineStream(encoded));
29
+ assertAll(root2);
30
+ });
31
+ });
32
+ return {
33
+ setters: [function (_tslib) {
34
+ __awaiter = _tslib.__awaiter;
35
+ }, function (_assert) {
36
+ assert = _assert.default;
37
+ }, function (_mimeParserMimeNodeJs) {
38
+ MimeNode = _mimeParserMimeNodeJs.MimeNode;
39
+ }, function (_mimeParserStreamLineStreamJs) {
40
+ StringLineStream = _mimeParserStreamLineStreamJs.StringLineStream;
41
+ }, function (_mimeParserStreamTextWriterJs) {
42
+ BlobWriter = _mimeParserStreamTextWriterJs.BlobWriter;
43
+ }],
44
+ execute: function () {
45
+ msg1 = `From: Some One <someone@example.com>
46
+ MIME-Version: 1.0
47
+ Content-Type: multipart/mixed;
48
+ boundary="XXXXboundary text"
49
+
50
+ This is a multipart message in MIME format.
51
+
52
+ --XXXXboundary text
53
+ Content-Type: text/plain
54
+
55
+ this is the body text
56
+
57
+ --XXXXboundary text
58
+ Content-Type: text/html; charset="UTF-8";
59
+ Content-Transfer-Encoding: quoted-printable
60
+
61
+ <div dir=3D"ltr"><font face=3D"trebuchet ms, sans-serif">Seeking Actors and=
62
+ Actresses for a micro budget feature. The story revolves around a couple a=
63
+ nd their guests who find themselves in a tense and gripping situation. They=
64
+ are taken hostage in their own home by a radical gunman who lurks outside.=
65
+ We are looking for individuals who can bring depth and authenticity to the=
66
+ ir characters. The ability to convey a range of emotions and create believa=
67
+ ble performances is crucial for this project.<br><br>Submit ASAP through:=
68
+ =C2=A0<a href=3D"https://socialmail.in">https://socialmail.in</a><br><br>=
69
+ #newmexicoactors #newmexicocasting=C2=A0</font><br></div>
70
+
71
+ --XXXXboundary text--
72
+
73
+ `;
74
+ }
75
+ };
76
+ });
77
+ //# sourceMappingURL=message2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["assertAll","root","assert","strictEqual","contentType","type","boundary","header","children","length","body","encoded","trim","html","contentTransferEncoding","data","text","_export","MimeNode","parse","StringLineStream","msg1","blob","BlobWriter","save","toString","root2","setters","_tslib","_assert","default","_mimeParserMimeNodeJs","_mimeParserStreamLineStreamJs","_mimeParserStreamTextWriterJs","execute"],"sources":["../../../src/tests/mime/message2.js"],"sourcesContent":[null],"mappings":";;;;EAuDA,SAASA,SAASA,CAA0BC,IAAI;IAC5CC,MAAM,CAACC,WAAW,CAAC,iBAAiB,EAAEF,IAAI,CAACG,WAAW,CAACC,IAAI,CAAC;IAC5DH,MAAM,CAACC,WAAW,CAAC,mBAAmB,EAAEF,IAAI,CAACG,WAAW,CAACE,QAAQ,CAAC;IAClEJ,MAAM,CAACC,WAAW,CAAC,gCAAgC,EAAEF,IAAI,CAACM,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzEL,MAAM,CAACC,WAAW,CAAC,CAAC,EAAEF,IAAI,CAACO,QAAQ,CAACC,MAAM,CAAC;IAE3C,MAAMC,IAAI,GAAGT,IAAI,CAACO,QAAQ,CAAC,CAAC,CAAC;IAC7BN,MAAM,CAACC,WAAW,CAAC,YAAY,EAAEO,IAAI,CAACN,WAAW,CAACC,IAAI,CAAC;IACvDH,MAAM,CAACC,WAAW,CAAC,uBAAuB,EAAEO,IAAI,CAACC,OAAO,CAACC,IAAI,EAAE,CAAC;IAEhE,MAAMC,IAAI,GAAGZ,IAAI,CAACO,QAAQ,CAAC,CAAC,CAAC;IAC7BN,MAAM,CAACC,WAAW,CAAC,WAAW,EAAEU,IAAI,CAACT,WAAW,CAACC,IAAI,CAAC;IACtDH,MAAM,CAACC,WAAW,CAAC,kBAAkB,EAAEU,IAAI,CAACC,uBAAuB,CAAC;IAEpE,MAAMC,IAAI,GAAGF,IAAI,CAACG,IAAI;IACtBd,MAAM,CAACC,WAAW,CAAC,+nBAA+nB,EAAEY,IAAI,CAAC;EAC7pB;EAACE,OAAA,YArCa;;MACV,MAAMhB,IAAI,GAAG,IAAIiB,QAAQ,EAAE;MAC3B,MAAMjB,IAAI,CAACkB,KAAK,CAAC,IAAIC,gBAAgB,CAACC,IAAI,CAAC,CAAC;MAE5CrB,SAAS,CAACC,IAAI,CAAC;MAIf,MAAMqB,IAAI,GAAG,IAAIC,UAAU,EAAE;MAC7B,MAAMtB,IAAI,CAACuB,IAAI,CAACF,IAAI,CAAC;MAErB,MAAMX,OAAO,GAAGW,IAAI,CAACG,QAAQ,EAAE;MAG/B,MAAMC,KAAK,GAAG,IAAIR,QAAQ,EAAE;MAC5B,MAAMQ,KAAK,CAACP,KAAK,CAAC,IAAIC,gBAAgB,CAACT,OAAO,CAAC,CAAC;MAEhDX,SAAS,CAAC0B,KAAK,CAAC;IACpB,CAAC;GAAA;EAAA;IAAAC,OAAA,aAAAC,MAAA;;;MArDM1B,MAAM,GAAA2B,OAAA,CAAAC,OAAA;IAAA,aAAAC,qBAAA;MACJb,QAAQ,GAAAa,qBAAA,CAARb,QAAQ;IAAA,aAAAc,6BAAA;MACRZ,gBAAgB,GAAAY,6BAAA,CAAhBZ,gBAAgB;IAAA,aAAAa,6BAAA;MAChBV,UAAU,GAAAU,6BAAA,CAAVV,UAAU;IAAA;IAAAW,OAAA,WAAAA,CAAA;MAEbb,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BZ;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ System.register(["../../mime-parser/parsePairs.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var parsePairs, equalJson;
5
+ _export("default", function () {
6
+ equalJson(parsePairs("multipart/mixed; boundary=--abcd"), {
7
+ "multipart/mixed": "multipart/mixed",
8
+ boundary: "--abcd"
9
+ });
10
+ equalJson(parsePairs("multipart/mixed; boundary=--abcd", "type"), {
11
+ type: "multipart/mixed",
12
+ boundary: "--abcd"
13
+ });
14
+ equalJson(parsePairs("multipart/mixed;", "type"), {
15
+ type: "multipart/mixed"
16
+ });
17
+ });
18
+ return {
19
+ setters: [function (_mimeParserParsePairsJs) {
20
+ parsePairs = _mimeParserParsePairsJs.parsePairs;
21
+ }],
22
+ execute: function () {
23
+ equalJson = (e, t, m) => {
24
+ e = JSON.stringify(e);
25
+ t = JSON.stringify(t);
26
+ if (e !== t) {
27
+ throw new Error(m !== null && m !== void 0 ? m : `Assertion failed ${e} !== ${t}`);
28
+ }
29
+ };
30
+ }
31
+ };
32
+ });
33
+ //# sourceMappingURL=pairs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["equalJson","parsePairs","boundary","type","setters","_mimeParserParsePairsJs","execute","e","t","m","JSON","stringify","Error"],"sources":["../../../src/tests/mime/pairs.js"],"sourcesContent":[null],"mappings":";;;;qBAWc;IAEVA,SAAS,CACLC,UAAU,CAAC,kCAAkC,CAAC,EAC9C;MACI,iBAAiB,EAAE,iBAAiB;MACpCC,QAAQ,EAAE;KACb,CACJ;IAGDF,SAAS,CACLC,UAAU,CAAC,kCAAkC,EAAE,MAAM,CAAC,EACtD;MACIE,IAAI,EAAE,iBAAiB;MACvBD,QAAQ,EAAE;KACb,CACJ;IAEDF,SAAS,CACLC,UAAU,CAAC,kBAAkB,EAAE,MAAM,CAAC,EACtC;MACIE,IAAI,EAAE;KACT,CACJ;EAEL,CAAC;EAAA;IAAAC,OAAA,aAAAC,uBAAA;MArCQJ,UAAU,GAAAI,uBAAA,CAAVJ,UAAU;IAAA;IAAAK,OAAA,WAAAA,CAAA;MAEbN,SAAS,GAAGA,CAACO,CAAC,EAAEC,CAAC,EAAEC,CAAC,KAAK;QAC3BF,CAAC,GAAGG,IAAI,CAACC,SAAS,CAACJ,CAAC,CAAC;QACrBC,CAAC,GAAGE,IAAI,CAACC,SAAS,CAACH,CAAC,CAAC;QAErB,IAAID,CAAC,KAAKC,CAAC,EAAE;UACT,MAAM,IAAII,KAAK,CAACH,CAAC,aAADA,CAAC,cAADA,CAAC,GAAI,oBAAoBF,CAAC,QAAQC,CAAC,EAAE,CAAC;;MAE9D,CAAC;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,104 @@
1
+ System.register(["tslib", "../../mime-parser/MimeNode.js", "../../mime-parser/stream/LineStream.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __awaiter, MimeNode, StringLineStream, data;
5
+ _export("default", function () {
6
+ return __awaiter(this, void 0, void 0, function* () {
7
+ const root = new MimeNode();
8
+ yield root.parse(new StringLineStream(data));
9
+ const line = root.header("List-Unsubscribe");
10
+ console.log(line);
11
+ });
12
+ });
13
+ return {
14
+ setters: [function (_tslib) {
15
+ __awaiter = _tslib.__awaiter;
16
+ }, function (_mimeParserMimeNodeJs) {
17
+ MimeNode = _mimeParserMimeNodeJs.MimeNode;
18
+ }, function (_mimeParserStreamLineStreamJs) {
19
+ StringLineStream = _mimeParserStreamLineStreamJs.StringLineStream;
20
+ }],
21
+ execute: function () {
22
+ data = `Delivered-To: ackava@gmail.com
23
+ Received: by 2002:ab3:fb12:0:b0:55d:606f:316e with SMTP id n18csp110497qnc;
24
+ Tue, 16 Jul 2024 00:23:51 -0700 (PDT)
25
+ X-Google-Smtp-Source: AGHT+IG1SNKA212/w5wgGPhsGwDhteJcLZxIoFYt5++EY6fqJsoA8eG3YioEOhn33fp7b/Ii1kTy
26
+ X-Received: by 2002:a05:6512:b84:b0:52c:95d1:87ae with SMTP id 2adb3069b0e04-52edef0e8acmr721947e87.12.1721114631113;
27
+ Tue, 16 Jul 2024 00:23:51 -0700 (PDT)
28
+ ARC-Seal: i=1; a=rsa-sha256; t=1721114631; cv=none;
29
+ d=google.com; s=arc-20160816;
30
+ b=h5iWpTD67iJQIPQ2rISbEeCRpR5O6TndQGDDEF3fiDa/oeu+TrOZ1HqC/ItpAW8DPM
31
+ uhHYiizYmwW55CqmX9WBz1ZXW/7UonlaueovDvS53gE2z7JZJTOYQ+0A2a5UOW1uUT20
32
+ gOtIDijsIJWslFbUHhylDntEYuKqhilu8CmPKq7JV9u0kvGmfu9o2nAlvAF9YTFoQWKg
33
+ oI64yIdppcVBKvrtY8IBErpSTdFLjTE8+gmyecrqSckiu8iVut98rCToLapPqJEPHqlk
34
+ SfJvj6GVm+uxrvibo7ZAp47t0SRolim2bmf98WyTP5cQNH8ArljitYXpPcR4pwjaRr09
35
+ ldVQ==
36
+ ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
37
+ h=content-transfer-encoding:dkim-signature:date:mime-version
38
+ :message-id:feedback-id:list-unsubscribe-post:list-unsubscribe
39
+ :reply-to:to:from:subject:dkim-signature;
40
+ bh=0maos44Zuz8flcClsVew9ePIYSOCt14KoDH/LV+EAnU=;
41
+ fh=DKA8qbEmJrBdLQCfJ+uCkMwAeFQdRJbQdCs9kin0cIA=;
42
+ b=PQr4Z7hlUhnUUAZO7jTDPUWNy56d+ftqg2UnFkjLonrj3Fnvmp0k/VC4bajuvrl1q0
43
+ eC8b8LB1TVEwgakQRRdXBTx5Bavf6Hz+U5ma4ODhyB4h/ElvouY9jc+YfAVghMaaI7Xt
44
+ gz66knjcQEpomwIkiRPdrcqOFRUocGPCgkfSLMPHooT2xlH2ygGcM7OpF1d0apeLb06Y
45
+ xnHCp33ogJY1tOsNMcaq+CWIyA5JwIivTW9UDjxv6IEe+grgulh3ZGWH5OKNXjyIwkNn
46
+ FLWh64LGxGV8VkmwQz8irsNiSnleYiJ6DCWf0xLjbYWoRZdq0PCBmdbditGCwLI1hwgy
47
+ 76EQ==;
48
+ dara=google.com
49
+ ARC-Authentication-Results: i=1; mx.google.com;
50
+ dkim=pass header.i=@mailer.dellyranks.com header.s=dellymail header.b=tXYXEFDD;
51
+ dkim=pass header.i=@mailer.dellyranks.com header.s=mailer header.b=qzKwQCsc;
52
+ spf=pass (google.com: domain of info@mailer.dellyranks.com designates 198.244.191.107 as permitted sender) smtp.mailfrom=info@mailer.dellyranks.com;
53
+ dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mailer.dellyranks.com
54
+ Return-Path: <info@mailer.dellyranks.com>
55
+ Received: from mailer.dellyranks.com (mailer.dellyranks.com. [198.244.191.107])
56
+ by mx.google.com with ESMTPS id 2adb3069b0e04-52ed25289b1si2008285e87.128.2024.07.16.00.23.50
57
+ for <ackava@gmail.com>
58
+ (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256);
59
+ Tue, 16 Jul 2024 00:23:51 -0700 (PDT)
60
+ Received-SPF: pass (google.com: domain of info@mailer.dellyranks.com designates 198.244.191.107 as permitted sender) client-ip=198.244.191.107;
61
+ Authentication-Results: mx.google.com;
62
+ dkim=pass header.i=@mailer.dellyranks.com header.s=dellymail header.b=tXYXEFDD;
63
+ dkim=pass header.i=@mailer.dellyranks.com header.s=mailer header.b=qzKwQCsc;
64
+ spf=pass (google.com: domain of info@mailer.dellyranks.com designates 198.244.191.107 as permitted sender) smtp.mailfrom=info@mailer.dellyranks.com;
65
+ dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mailer.dellyranks.com
66
+ DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=dellymail; d=mailer.dellyranks.com;
67
+ h=Subject:From:To:Reply-To:List-Unsubscribe:Feedback-ID:Message-ID:
68
+ MIME-Version:Date:Content-Type:Content-Transfer-Encoding;
69
+ i=info@mailer.dellyranks.com;
70
+ bh=0maos44Zuz8flcClsVew9ePIYSOCt14KoDH/LV+EAnU=;
71
+ b=tXYXEFDDK2TGnvSi537/Pze7NQn3mklPdoqeRogFSGXg2l/tCTeyLkg2cI119e6PmE7UTJo2LBK9
72
+ dTatP6Xnjl1SAbgxNccD5NONXQKJ1GOi8GhE7j7kkvRE+O7Jy3Cm2r7OO/6+MDjrcO2I5Kj1pjgD
73
+ 6Omfmv14dAZBNlLdH0p45b4+afS5qkvkqH+13HCKLFwTi11KjAfR6MkMjkle0H5ml/1e8/FAATMN
74
+ pyakbrzNIlgEBKv6/y7332SlGxzdqcUcnMQ+iGV1Tzh4ViBtH+urwzZS7wmtvtW3MOqPFA/LFof7
75
+ Yz5fOGWkFJsNgPsfvcrMwEtNnFQC3IYBdWHbkA==
76
+ Subject: Lacoste Mega Clearance SALE =?utf-8?Q?=E2=9A=A1=EF=B8=8FUpto?= 50%
77
+ Off - Clothing, Shoes & Accessories -ackava@gmail.com
78
+ From: Lacoste IN <info@mailer.dellyranks.com>
79
+ To: "ackava@gmail.com" <ackava@gmail.com>
80
+ Reply-To: Lacoste IN <info@mailer.dellyranks.com>
81
+ List-Unsubscribe: <https://link.dellyranks.com/lists/aw175zeewnfff/unsubscribe/qp668otfdm9ff/ws6198a3vqfea?source=email-client-unsubscribe-button>,
82
+ <mailto:info@mailer.dellyranks.com?subject=Campaign-Uid%3Aws6198a3vqfea%20%2F%20Subscriber-Uid%3Aqp668otfdm9ff%20-%20Unsubscribe%20request&body=Please%20unsubscribe%20me%21>
83
+ List-Unsubscribe-Post: List-Unsubscribe=One-Click
84
+ Feedback-ID: ws6198a3vqfea:qp668otfdm9ff:aw175zeewnfff:xn945frfr4287
85
+ Message-ID: <520e90e95b74def5565ce1eaed5919f0a7e0b522@mailer.dellyranks.com>
86
+ MIME-Version: 1.0
87
+ Date: Tue, 16 Jul 2024 07:17:09 +0000
88
+ DKIM-Signature: v=1; q=dns/txt; a=rsa-sha256;
89
+ bh=0maos44Zuz8flcClsVew9ePIYSOCt14KoDH/LV+EAnU=; d=mailer.dellyranks.com;
90
+ h=Subject: From: To: Reply-To: List-Unsubscribe: List-Unsubscribe-Post:
91
+ Feedback-ID: MIME-Version: Date; i=@mailer.dellyranks.com; s=mailer;
92
+ t=1721114229; c=relaxed/relaxed;
93
+ b=qzKwQCscDn5GjAKWc23SZtiYeUTXP64pd/kwdbCojwmmfNv5Q4BjUmcVy/54VRPIKrnjjge2+
94
+ 9LKgZeux4arQaWolfvqrhdpquWTLQv+H7Li08sQOGbiFXGtF+jBFKVUn5bHXog8u2/ysBggrj
95
+ VHbURpr3goUXxuQrsTaiUnmvsLxH0C1YzbPgzJf28gO49Eld5HgvJJwVl8CeFMwe1x9g1cVMN
96
+ os3CW3FqYLfxFymJxch24Vmsr2NjNX0yRZQ4TNhIV1PgiiQowGa29GfkCKZ1Sp/pUV55NIsZh
97
+ uCkrMcHF4Cdy8XTRe1eHz6H8CVjQR9hNQVlDEK4gE2G07KtXCQ==
98
+ Content-Type: text/html; charset=utf-8
99
+ Content-Transfer-Encoding: quoted-printable
100
+ `;
101
+ }
102
+ };
103
+ });
104
+ //# sourceMappingURL=parse-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["root","MimeNode","parse","StringLineStream","data","line","header","console","log","setters","_tslib","_mimeParserMimeNodeJs","_mimeParserStreamLineStreamJs","execute"],"sources":["../../../src/tests/mime/parse-headers.js"],"sourcesContent":[null],"mappings":";;;;qBAGc;;MACV,MAAMA,IAAI,GAAG,IAAIC,QAAQ,EAAE;MAC3B,MAAMD,IAAI,CAACE,KAAK,CAAC,IAAIC,gBAAgB,CAACC,IAAI,CAAC,CAAC;MAE5C,MAAMC,IAAI,GAAGL,IAAI,CAACM,MAAM,CAAC,kBAAkB,CAAC;MAC5CC,OAAO,CAACC,GAAG,CAACH,IAAI,CAAC;IACrB,CAAC;GAAA;EAAA;IAAAI,OAAA,aAAAC,MAAA;;;MATQT,QAAQ,GAAAU,qBAAA,CAARV,QAAQ;IAAA,aAAAW,6BAAA;MACRT,gBAAgB,GAAAS,6BAAA,CAAhBT,gBAAgB;IAAA;IAAAU,OAAA,WAAAA,CAAA;MAUnBT,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EZ;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ System.register(["assert", "../../mime-parser/encoder/word-encoding.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var assert, wordEncoding;
5
+ _export("default", function () {
6
+ assert.equal("a", wordEncoding.decode("a"));
7
+ assert.equal("Captives (1080 × 1080 px).png", wordEncoding.decode("=?UTF-8?B?Q2FwdGl2ZXMgKDEwODAgw5cgMTA4MCBweCkucG5n?="));
8
+ assert.equal("Captives (1080 × 1080 px).png", wordEncoding.decode(`=?UTF-8?B?Q2FwdGl2ZXMgKDEwODAgw5cgMTA4MCBweCk=?=
9
+ =?UTF-8?B?LnBuZw==?=`));
10
+ assert.equal("サンプルa b", wordEncoding.decode("=?UTF-8?Q?=E3=82=B5=E3=83=B3=E3=83=97=E3=83=ABa_b?="));
11
+ });
12
+ return {
13
+ setters: [function (_assert) {
14
+ assert = _assert.default;
15
+ }, function (_mimeParserEncoderWordEncodingJs) {
16
+ wordEncoding = _mimeParserEncoderWordEncodingJs.wordEncoding;
17
+ }],
18
+ execute: function () {}
19
+ };
20
+ });
21
+ //# sourceMappingURL=word-encoding-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["assert","equal","wordEncoding","decode","setters","_assert","default","_mimeParserEncoderWordEncodingJs","execute"],"sources":["../../../src/tests/mime/word-encoding-test.js"],"sourcesContent":[null],"mappings":";;;;qBAGc;IAEVA,MAAM,CAACC,KAAK,CAAC,GAAG,EAAEC,YAAY,CAACC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3CH,MAAM,CAACC,KAAK,CAAC,+BAA+B,EAAEC,YAAY,CAACC,MAAM,CAAC,sDAAsD,CAAC,CAAC;IAC1HH,MAAM,CAACC,KAAK,CAAC,+BAA+B,EAAEC,YAAY,CAACC,MAAM,CAAC;sBAChD,CAAC,CAAC;IAGpBH,MAAM,CAACC,KAAK,CAAC,SAAS,EAAEC,YAAY,CAACC,MAAM,CAAC,qDAAqD,CAAC,CAAC;EACvG,CAAC;EAAA;IAAAC,OAAA,aAAAC,OAAA;MAZML,MAAM,GAAAK,OAAA,CAAAC,OAAA;IAAA,aAAAC,gCAAA;MACJL,YAAY,GAAAK,gCAAA,CAAZL,YAAY;IAAA;IAAAM,OAAA,WAAAA,CAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es6.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.dom.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../../../usr/lib/node_modules/@web-atoms/ts-to-systemjs/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../src/QueryIterator.js","../src/mime-parser/tokenizer.js","../src/mime-parser/parsePairs.js","../src/mime-parser/HeaderContentType.js","../src/mime-parser/encoder/RawBuffer.js","../src/mime-parser/encoder/word-encoding.js","../src/mime-parser/HeaderContentDisposition.js","../src/mime-parser/encoder/base64-to-blob.js","../src/mime-parser/encoder/quoted-printable.js","../src/mime-parser/stream/LineStream.js","../src/mime-parser/stream/TextWriter.js","../src/mime-parser/MimeNode.js","../src/mime-parser/AttachmentFile.js","../src/mime-parser/MimeMessage.js","../src/tests/mime/lines-test.js","../src/tests/mime/message1.js","../src/tests/mime/message2.js","../src/tests/mime/pairs.js","../src/tests/mime/parse-headers.js","../src/tests/mime/word-encoding-test.js"],"fileInfos":["721cec59c3fef87aaf480047d821fb758b3ec9482c4129a54631e6e25e432a31",{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},"d78c310bfde534f8aef330e72d30fd96a07fa76364a5aa6f363a8760396475d0","31198505b3e9f93564943114e045da90690ee61e0490ae3632967791c54e695e","5a723fbf595f0207e35536889aeb6b644b0a71d0a16e434d3744880e312a99c0","e95e3dff8b1cd0c17f9a71d71ab1a98e607ea2c95cee06a39682aae69e396504","b1ac01473d7b59a511d03771465b45888ccef606c559aea2ed295ddf30e8cde8","fcbd8cef267c42627c36f166fd39018060cea39d66cdb91c9663eae7b64ac508","890078d31cdc373d6380968af312d2b7ef7431545683533f06fed5b459ca63d1","e8b930f9788e5d77e44989c0f752ceba5416bca71475887f838f81f80b1ef25e","99439990bd6f9b0bca332c03be7b04de34605d4b3dcfe2ee7f5fc3a1d7531297","4f20439d4be87ae13fe9f40c8bfcaf3a107e1c8be614be3539e3da7ccb70152f","fba98c766168655d4efce14edbd3582274fa29cbf674ceb21879c46593ffa318","5c1918733697d0d11ea8315415b41c9929644d80e30edfe1a3c175380dfcc2c5","6eb51e78c64c343a9fa1f788df2d55d6a86caa07d924853ee283b8b27ae7894c","4d412259dcad176cd5dbb5cf8d27dd1ba800acaa10cdad0b1163230781e1374c","a48e6bd95e59152b69542e9251a3e8fed0c750cf3583307080c444c5f3fdbc25","dbc342f59aab0b7ccfeb1d9812128ea15542c2a5f64aa96e47cd2b4a41df5ff6","e1c5ae9067b6e870e4c084f32cc7ead0f3f7bcaac80e496da08d53857c369067","5c4df6ee2462a3f0508423c5c05f829c087174748345947f0ae9ace7ec965b1d","544eb3f9b9d8f8b3e6e34023fb648016d03683d736954adb4614372cc2b13253","994c0994ce06d4f5bd25386338d30085f9a8da84af83cdd09cc67b0b14065cad"],"options":{"importHelpers":true,"module":99,"outDir":"./","skipDefaultLibCheck":true,"skipLibCheck":true,"sourceMap":true,"target":2},"fileIdsList":[[28],[19,22],[19],[26,27,28,29],[20,21,22,23,24,25,26,27,29],[21],[18],[26,28],[26,27,28],[22]],"referencedMap":[[29,1],[23,2],[20,3],[30,4],[28,5],[22,6],[19,7],[26,7],[31,7],[32,8],[33,9],[34,3],[35,8],[36,10]],"exportedModulesMap":[[29,1],[23,2],[20,3],[30,4],[28,5],[22,6],[19,7],[26,7],[31,7],[32,8],[33,9],[34,3],[35,8],[36,10]],"semanticDiagnosticsPerFile":[17,29,23,20,30,28,21,24,25,22,19,26,27,18,31,32,33,34,35,36,4,5,9,8,3,10,11,12,13,14,15,16,2,1,7,6]},"version":"4.9.5"}
package/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { tokenize, tokenizeMax } from "./src/mime-parser/tokenizer.js";
2
+ export { default as MimeMessage } from "./src/mime-parser/MimeMessage.js";
3
+ export { AttachmentFile } from "./src/mime-parser/AttachmentFile.js";
4
+ export { MimeNode } from "./src/mime-parser/MimeNode.js";
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@social-mail/shared",
3
+ "version": "1.0.3",
4
+ "description": "Shared Repository that contains things like parser etc that is used by both client and server.",
5
+ "main": "index.js",
6
+ "type": "module",
7
+ "scripts": {
8
+ "test": "node --enable-source-maps ./test.js",
9
+ "postversion": "git push --follow-tags",
10
+ "push": "git add -A && git commit -m \"dep vb\" && npm version patch"
11
+ },
12
+ "author": "",
13
+ "license": "UNLICENSED",
14
+ "devDependencies": {
15
+ "@types/node": "^20.14.11"
16
+ }
17
+ }