@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.
- package/.gitlab-ci.yml +16 -0
- package/.vscode/launch.json +21 -0
- package/.vscode/settings.json +55 -0
- package/README.md +3 -0
- package/dist/QueryIterator.js +28 -0
- package/dist/QueryIterator.js.map +1 -0
- package/dist/mime-parser/AttachmentFile.js +21 -0
- package/dist/mime-parser/AttachmentFile.js.map +1 -0
- package/dist/mime-parser/HeaderContentDisposition.js +32 -0
- package/dist/mime-parser/HeaderContentDisposition.js.map +1 -0
- package/dist/mime-parser/HeaderContentType.js +33 -0
- package/dist/mime-parser/HeaderContentType.js.map +1 -0
- package/dist/mime-parser/MimeMessage.js +99 -0
- package/dist/mime-parser/MimeMessage.js.map +1 -0
- package/dist/mime-parser/MimeNode.js +406 -0
- package/dist/mime-parser/MimeNode.js.map +1 -0
- package/dist/mime-parser/encoder/RawBuffer.js +57 -0
- package/dist/mime-parser/encoder/RawBuffer.js.map +1 -0
- package/dist/mime-parser/encoder/base64-to-blob.js +30 -0
- package/dist/mime-parser/encoder/base64-to-blob.js.map +1 -0
- package/dist/mime-parser/encoder/quoted-printable.js +71 -0
- package/dist/mime-parser/encoder/quoted-printable.js.map +1 -0
- package/dist/mime-parser/encoder/word-encoding.js +45 -0
- package/dist/mime-parser/encoder/word-encoding.js.map +1 -0
- package/dist/mime-parser/parsePairs.js +40 -0
- package/dist/mime-parser/parsePairs.js.map +1 -0
- package/dist/mime-parser/stream/LineStream.js +99 -0
- package/dist/mime-parser/stream/LineStream.js.map +1 -0
- package/dist/mime-parser/stream/TextWriter.js +36 -0
- package/dist/mime-parser/stream/TextWriter.js.map +1 -0
- package/dist/mime-parser/tokenizer.js +46 -0
- package/dist/mime-parser/tokenizer.js.map +1 -0
- package/dist/tests/mime/lines-test.js +19 -0
- package/dist/tests/mime/lines-test.js.map +1 -0
- package/dist/tests/mime/message1.js +58 -0
- package/dist/tests/mime/message1.js.map +1 -0
- package/dist/tests/mime/message2.js +77 -0
- package/dist/tests/mime/message2.js.map +1 -0
- package/dist/tests/mime/pairs.js +33 -0
- package/dist/tests/mime/pairs.js.map +1 -0
- package/dist/tests/mime/parse-headers.js +104 -0
- package/dist/tests/mime/parse-headers.js.map +1 -0
- package/dist/tests/mime/word-encoding-test.js +21 -0
- package/dist/tests/mime/word-encoding-test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/index.js +4 -0
- package/package.json +17 -0
- package/src/QueryIterator.js +33 -0
- package/src/mime-parser/AttachmentFile.js +29 -0
- package/src/mime-parser/HeaderContentDisposition.js +32 -0
- package/src/mime-parser/HeaderContentType.js +34 -0
- package/src/mime-parser/MimeMessage.js +100 -0
- package/src/mime-parser/MimeNode.js +435 -0
- package/src/mime-parser/encoder/RawBuffer.js +60 -0
- package/src/mime-parser/encoder/base64-to-blob.js +26 -0
- package/src/mime-parser/encoder/quoted-printable.js +118 -0
- package/src/mime-parser/encoder/word-encoding.js +43 -0
- package/src/mime-parser/parsePairs.js +34 -0
- package/src/mime-parser/stream/LineStream.js +85 -0
- package/src/mime-parser/stream/TextWriter.js +27 -0
- package/src/mime-parser/tokenizer.js +37 -0
- package/src/tests/mime/lines-test.js +17 -0
- package/src/tests/mime/message1.js +46 -0
- package/src/tests/mime/message2.js +73 -0
- package/src/tests/mime/pairs.js +38 -0
- package/src/tests/mime/parse-headers.js +90 -0
- package/src/tests/mime/word-encoding-test.js +13 -0
- package/test.js +70 -0
- package/tsconfig.json +16 -0
package/.gitlab-ci.yml
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
stages: # List of stages for jobs, and their order of execution
|
|
3
|
+
- build
|
|
4
|
+
|
|
5
|
+
build-job: # This job runs in the build stage, which runs first.
|
|
6
|
+
stage: build
|
|
7
|
+
tags:
|
|
8
|
+
- tracer-deploy
|
|
9
|
+
script:
|
|
10
|
+
- tssystemjs
|
|
11
|
+
- echo "TS Pack"
|
|
12
|
+
- echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}">.npmrc
|
|
13
|
+
- npm publish --verbose --access public
|
|
14
|
+
|
|
15
|
+
only:
|
|
16
|
+
- tags
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
// Use IntelliSense to learn about possible attributes.
|
|
3
|
+
// Hover to view descriptions of existing attributes.
|
|
4
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
5
|
+
"version": "0.2.0",
|
|
6
|
+
"configurations": [
|
|
7
|
+
{
|
|
8
|
+
"type": "node",
|
|
9
|
+
"request": "launch",
|
|
10
|
+
"name": "Test",
|
|
11
|
+
"sourceMaps": true,
|
|
12
|
+
"skipFiles": [
|
|
13
|
+
"<node_internals>/**"
|
|
14
|
+
],
|
|
15
|
+
"program": "${workspaceFolder}/test.js",
|
|
16
|
+
"outFiles": [
|
|
17
|
+
"${workspaceFolder}/dist/**/*.js"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"terminal.integrated.profiles.windows": {
|
|
3
|
+
"PowerShell": {
|
|
4
|
+
"source": "PowerShell",
|
|
5
|
+
"args": [
|
|
6
|
+
"-ExecutionPolicy",
|
|
7
|
+
"Bypass"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"terminal.integrated.defaultProfile.windows": "PowerShell",
|
|
12
|
+
"cSpell.words": [
|
|
13
|
+
"Akash",
|
|
14
|
+
"fontawesome",
|
|
15
|
+
"Fonticons",
|
|
16
|
+
"jsdelivr",
|
|
17
|
+
"lightgray",
|
|
18
|
+
"signup",
|
|
19
|
+
"socialmail",
|
|
20
|
+
"tinycolor",
|
|
21
|
+
"webm",
|
|
22
|
+
"webp",
|
|
23
|
+
"xlst"
|
|
24
|
+
],
|
|
25
|
+
"typescript.preferences.includePackageJsonAutoImports": "on",
|
|
26
|
+
"emmet.showExpandedAbbreviation": "never",
|
|
27
|
+
"editor.bracketPairColorization.enabled": true,
|
|
28
|
+
"eslint.alwaysShowStatus": true,
|
|
29
|
+
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
|
30
|
+
"eslint.format.enable": true,
|
|
31
|
+
"emmet.showSuggestionsAsSnippets": false,
|
|
32
|
+
"emmet.showAbbreviationSuggestions": false,
|
|
33
|
+
"emmet.excludeLanguages": [
|
|
34
|
+
"markdown",
|
|
35
|
+
"typescript",
|
|
36
|
+
"typescriptreact"
|
|
37
|
+
],
|
|
38
|
+
"[typescriptreact]": {
|
|
39
|
+
"editor.defaultFormatter": "vscode.typescript-language-features"
|
|
40
|
+
},
|
|
41
|
+
"[typescript]": {
|
|
42
|
+
"editor.defaultFormatter": "vscode.typescript-language-features"
|
|
43
|
+
},
|
|
44
|
+
"[html]": {
|
|
45
|
+
"editor.defaultFormatter": "vscode.html-language-features"
|
|
46
|
+
},
|
|
47
|
+
"window.commandCenter": true,
|
|
48
|
+
"[css]": {
|
|
49
|
+
"editor.defaultFormatter": "vscode.css-language-features"
|
|
50
|
+
},
|
|
51
|
+
"svg.preview.background": "custom",
|
|
52
|
+
"[json]": {
|
|
53
|
+
"editor.defaultFormatter": "vscode.json-language-features"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
System.register([], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var QueryIterator;
|
|
5
|
+
_export("default", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [],
|
|
8
|
+
execute: function () {
|
|
9
|
+
_export("default", QueryIterator = class QueryIterator {
|
|
10
|
+
static first(source, fx) {
|
|
11
|
+
for (const iterator of source) {
|
|
12
|
+
if (fx(iterator)) {
|
|
13
|
+
return iterator;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
firstOrFail(source, fx) {
|
|
18
|
+
for (const iterator of source) {
|
|
19
|
+
if (fx(iterator)) {
|
|
20
|
+
return iterator;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=QueryIterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["QueryIterator","_export","setters","execute","first","source","fx","iterator","firstOrFail"],"sources":["../src/QueryIterator.js"],"sourcesContent":[null],"mappings":";;;MAAqBA,aAAa;EAAAC,OAAA;EAAA;IAAAC,OAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAF,OAAA,YAAbD,aAAa,GAApB,MAAOA,aAAa;QAM9B,OAAOI,KAAKA,CAC2BC,MAAM,EACLC,EAAE;UAEtC,KAAK,MAAMC,QAAQ,IAAIF,MAAM,EAAE;YAC3B,IAAIC,EAAE,CAACC,QAAQ,CAAC,EAAE;cACd,OAAOA,QAAQ;;;QAG3B;QAMAC,WAAWA,CAC4BH,MAAM,EACLC,EAAE;UAEtC,KAAK,MAAMC,QAAQ,IAAIF,MAAM,EAAE;YAC3B,IAAIC,EAAE,CAACC,QAAQ,CAAC,EAAE;cACd,OAAOA,QAAQ;;;QAI3B;OACH;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
System.register(["./MimeNode.js"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var MimeNode, AttachmentFile;
|
|
5
|
+
_export("AttachmentFile", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_MimeNodeJs) {
|
|
8
|
+
MimeNode = _MimeNodeJs.MimeNode;
|
|
9
|
+
}],
|
|
10
|
+
execute: function () {
|
|
11
|
+
_export("AttachmentFile", AttachmentFile = class AttachmentFile extends File {
|
|
12
|
+
constructor(fileBits, fileName, options) {
|
|
13
|
+
super(fileBits, fileName, options);
|
|
14
|
+
this.contentId = options.contentId;
|
|
15
|
+
this.disposition = options.disposition;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=AttachmentFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AttachmentFile","_export","setters","_MimeNodeJs","MimeNode","execute","File","constructor","fileBits","fileName","options","contentId","disposition"],"sources":["../../src/mime-parser/AttachmentFile.js"],"sourcesContent":[null],"mappings":";;;gBAIaA,cAAe;EAAAC,OAAA;EAAA;IAAAC,OAAA,aAAAC,WAAA;MAJnBC,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAJ,OAAA,mBAIJD,cAAe,GAAtB,MAAOA,cAAe,SAAQM,IAAI;QAcpCC,YAC8BC,QAAQ,EACZC,QAAQ,EAE9BC,OAAO;UACP,KAAK,CAACF,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,CAAC;UAClC,IAAI,CAACC,SAAS,GAAGD,OAAO,CAACC,SAAS;UAClC,IAAI,CAACC,WAAW,GAAGF,OAAO,CAACE,WAAW;QAC1C;OAEH;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
System.register(["./encoder/word-encoding.js", "./parsePairs.js"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var wordEncoding, parsePairs, HeaderContentDisposition;
|
|
5
|
+
_export("HeaderContentDisposition", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_encoderWordEncodingJs) {
|
|
8
|
+
wordEncoding = _encoderWordEncodingJs.wordEncoding;
|
|
9
|
+
}, function (_parsePairsJs) {
|
|
10
|
+
parsePairs = _parsePairsJs.parsePairs;
|
|
11
|
+
}],
|
|
12
|
+
execute: function () {
|
|
13
|
+
_export("HeaderContentDisposition", HeaderContentDisposition = class HeaderContentDisposition {
|
|
14
|
+
constructor(type, filename, name) {
|
|
15
|
+
this.type = type;
|
|
16
|
+
this.filename = filename;
|
|
17
|
+
this.name = name;
|
|
18
|
+
}
|
|
19
|
+
parse(text) {
|
|
20
|
+
const items = parsePairs(text, "type");
|
|
21
|
+
this.type = items.type;
|
|
22
|
+
this.filename = items.filename;
|
|
23
|
+
this.name = items.name;
|
|
24
|
+
}
|
|
25
|
+
toString() {
|
|
26
|
+
return `${this.type};\r\n\t\tfilename="${wordEncoding.encode(this.filename)}";`;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=HeaderContentDisposition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HeaderContentDisposition","_export","setters","_encoderWordEncodingJs","wordEncoding","_parsePairsJs","parsePairs","execute","constructor","type","filename","name","parse","text","items","toString","encode"],"sources":["../../src/mime-parser/HeaderContentDisposition.js"],"sourcesContent":[null],"mappings":";;;gCAIaA,wBAAwB;EAAAC,OAAA;EAAA;IAAAC,OAAA,aAAAC,sBAAA;MAJ5BC,YAAY,GAAAD,sBAAA,CAAZC,YAAY;IAAA,aAAAC,aAAA;MACZC,UAAU,GAAAD,aAAA,CAAVC,UAAU;IAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAN,OAAA,6BAGND,wBAAwB,GAA/B,MAAOA,wBAAwB;QAMjCQ,YAC0BC,IAAI,EACJC,QAAQ,EACRC,IAAI;UAE1B,IAAI,CAACF,IAAI,GAAGA,IAAI;UAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;UACxB,IAAI,CAACC,IAAI,GAAGA,IAAI;QACpB;QAEAC,KAAKA,CAAuBC,IAAI;UAC5B,MAAMC,KAAK,GAAGR,UAAU,CAACO,IAAI,EAAE,MAAM,CAAC;UACtC,IAAI,CAACJ,IAAI,GAAGK,KAAK,CAACL,IAAI;UACtB,IAAI,CAACC,QAAQ,GAAGI,KAAK,CAACJ,QAAQ;UAC9B,IAAI,CAACC,IAAI,GAAGG,KAAK,CAACH,IAAI;QAC1B;QAEAI,QAAQA,CAAA;UACJ,OAAO,GAAG,IAAI,CAACN,IAAI,sBAAsBL,YAAY,CAACY,MAAM,CAAE,IAAI,CAACN,QAAQ,CAAC,IAAI;QACpF;OAEH;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
System.register(["./parsePairs.js"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var parsePairs, HeaderContentType;
|
|
5
|
+
_export("HeaderContentType", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_parsePairsJs) {
|
|
8
|
+
parsePairs = _parsePairsJs.parsePairs;
|
|
9
|
+
}],
|
|
10
|
+
execute: function () {
|
|
11
|
+
_export("HeaderContentType", HeaderContentType = class HeaderContentType {
|
|
12
|
+
constructor(type, charset = "UTF-8", boundary) {
|
|
13
|
+
this.type = type;
|
|
14
|
+
this.charset = charset;
|
|
15
|
+
this.boundary = boundary;
|
|
16
|
+
}
|
|
17
|
+
parse(text) {
|
|
18
|
+
const items = parsePairs(text, "type");
|
|
19
|
+
this.type = items.type;
|
|
20
|
+
this.charset = items.charset;
|
|
21
|
+
this.boundary = items.boundary;
|
|
22
|
+
}
|
|
23
|
+
toString() {
|
|
24
|
+
if (this.boundary) {
|
|
25
|
+
return `${this.type}; charset="${this.charset}"; boundary="${this.boundary}";`;
|
|
26
|
+
}
|
|
27
|
+
return `${this.type}; charset="${this.charset}";`;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=HeaderContentType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HeaderContentType","_export","setters","_parsePairsJs","parsePairs","execute","constructor","type","charset","boundary","parse","text","items","toString"],"sources":["../../src/mime-parser/HeaderContentType.js"],"sourcesContent":[null],"mappings":";;;kBAGaA,iBAAiB;EAAAC,OAAA;EAAA;IAAAC,OAAA,aAAAC,aAAA;MAHrBC,UAAU,GAAAD,aAAA,CAAVC,UAAU;IAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAJ,OAAA,sBAGND,iBAAiB,GAAxB,MAAOA,iBAAiB;QAM1BM,YAC0BC,IAAI,EACJC,OAAO,GAAG,OAAO,EACjBC,QAAQ;UAE9B,IAAI,CAACF,IAAI,GAAGA,IAAI;UAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;UACtB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;QAC5B;QAEAC,KAAKA,CAAwBC,IAAI;UAC7B,MAAMC,KAAK,GAAGR,UAAU,CAACO,IAAI,EAAE,MAAM,CAAC;UACtC,IAAI,CAACJ,IAAI,GAAGK,KAAK,CAACL,IAAI;UACtB,IAAI,CAACC,OAAO,GAAGI,KAAK,CAACJ,OAAO;UAC5B,IAAI,CAACC,QAAQ,GAAGG,KAAK,CAACH,QAAQ;QAClC;QAEAI,QAAQA,CAAA;UACJ,IAAI,IAAI,CAACJ,QAAQ,EAAE;YACf,OAAO,GAAG,IAAI,CAACF,IAAI,cAAc,IAAI,CAACC,OAAO,gBAAgB,IAAI,CAACC,QAAQ,IAAI;;UAElF,OAAO,GAAG,IAAI,CAACF,IAAI,cAAc,IAAI,CAACC,OAAO,IAAI;QACrD;OACH;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
System.register(["tslib", "./MimeNode.js", "./AttachmentFile.js", "./stream/LineStream.js", "./stream/TextWriter.js"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var __awaiter, MimeNode, AttachmentFile, ReadableLineStream, StringLineStream, BlobWriter, MimeMessage;
|
|
5
|
+
_export("default", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_tslib) {
|
|
8
|
+
__awaiter = _tslib.__awaiter;
|
|
9
|
+
}, function (_MimeNodeJs) {
|
|
10
|
+
MimeNode = _MimeNodeJs.MimeNode;
|
|
11
|
+
}, function (_AttachmentFileJs) {
|
|
12
|
+
AttachmentFile = _AttachmentFileJs.AttachmentFile;
|
|
13
|
+
}, function (_streamLineStreamJs) {
|
|
14
|
+
ReadableLineStream = _streamLineStreamJs.ReadableLineStream;
|
|
15
|
+
StringLineStream = _streamLineStreamJs.StringLineStream;
|
|
16
|
+
}, function (_streamTextWriterJs) {
|
|
17
|
+
BlobWriter = _streamTextWriterJs.BlobWriter;
|
|
18
|
+
}],
|
|
19
|
+
execute: function () {
|
|
20
|
+
_export("default", MimeMessage = class MimeMessage {
|
|
21
|
+
static load(reader, name, inline) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const node = new MimeNode();
|
|
24
|
+
if (name) {
|
|
25
|
+
node.setHeader("X-Name", name);
|
|
26
|
+
}
|
|
27
|
+
yield node.parse(typeof reader === "string" ? new StringLineStream(reader) : new ReadableLineStream(reader));
|
|
28
|
+
const attachments = yield node.attachments();
|
|
29
|
+
const msg = new MimeMessage(node, attachments);
|
|
30
|
+
if (inline) {
|
|
31
|
+
yield msg.inlineImages();
|
|
32
|
+
}
|
|
33
|
+
return msg;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
get name() {
|
|
37
|
+
return this.node.header("x-name");
|
|
38
|
+
}
|
|
39
|
+
get html() {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
const alternative = this.node.getFirstChild("multipart/alternative");
|
|
42
|
+
return (_b = (_a = alternative === null || alternative === void 0 ? void 0 : alternative.getFirstChild("text/html")) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : "";
|
|
43
|
+
}
|
|
44
|
+
set html(v) {
|
|
45
|
+
const alternative = this.node.getFirstChild("multipart/alternative", true);
|
|
46
|
+
const htmlMime = alternative.getFirstChild("text/html", true);
|
|
47
|
+
htmlMime.contentTransferEncoding = "quoted-printable";
|
|
48
|
+
htmlMime.text = v;
|
|
49
|
+
htmlMime.contentType.charset = "UTF-8";
|
|
50
|
+
}
|
|
51
|
+
get text() {
|
|
52
|
+
var _a, _b;
|
|
53
|
+
const alternative = this.node.getFirstChild("multipart/alternative");
|
|
54
|
+
return (_b = (_a = alternative === null || alternative === void 0 ? void 0 : alternative.getFirstChild("text/plain")) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : "";
|
|
55
|
+
}
|
|
56
|
+
set text(v) {
|
|
57
|
+
const alternative = this.node.getFirstChild("multipart/alternative", true);
|
|
58
|
+
const htmlMime = alternative.getFirstChild("text/plain", true);
|
|
59
|
+
htmlMime.contentTransferEncoding = "quoted-printable";
|
|
60
|
+
htmlMime.text = v;
|
|
61
|
+
htmlMime.contentType.charset = "UTF-8";
|
|
62
|
+
}
|
|
63
|
+
get subject() {
|
|
64
|
+
var _a;
|
|
65
|
+
return (_a = this.node.header("subject")) !== null && _a !== void 0 ? _a : "";
|
|
66
|
+
}
|
|
67
|
+
set subject(v) {
|
|
68
|
+
this.node.setHeader("subject", v);
|
|
69
|
+
}
|
|
70
|
+
constructor(node = new MimeNode("multipart/mixed"), attachments = []) {
|
|
71
|
+
this.node = node;
|
|
72
|
+
this.attachments = attachments;
|
|
73
|
+
}
|
|
74
|
+
save() {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
const blobWriter = new BlobWriter();
|
|
77
|
+
yield this.node.save(blobWriter);
|
|
78
|
+
return blobWriter.toBlob();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
inlineImages() {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
let text = this.html;
|
|
84
|
+
if (!text) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
for (const iterator of this.attachments) {
|
|
88
|
+
if (iterator.contentId) {
|
|
89
|
+
const encoded = iterator.node.encoded;
|
|
90
|
+
text = text.split(`cid:${iterator.contentId}`).join(`data://${iterator.type},${encoded}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=MimeMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MimeMessage","_export","setters","_tslib","MimeNode","_MimeNodeJs","_AttachmentFileJs","AttachmentFile","_streamLineStreamJs","ReadableLineStream","StringLineStream","_streamTextWriterJs","BlobWriter","execute","load","reader","name","inline","node","setHeader","parse","attachments","msg","inlineImages","header","html","alternative","getFirstChild","_b","_a","text","v","htmlMime","contentTransferEncoding","contentType","charset","subject","constructor","save","blobWriter","toBlob","iterator","contentId","encoded","split","join","type"],"sources":["../../src/mime-parser/MimeMessage.js"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|