@social-mail/shared 1.0.16 → 1.0.23
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 +2 -2
- package/dist/QueryIterator.d.ts +2 -2
- package/dist/QueryIterator.d.ts.map +1 -1
- package/dist/QueryIterator.js +21 -20
- package/dist/QueryIterator.js.map +1 -1
- package/dist/ical-parser/Calender.d.ts +0 -1
- package/dist/ical-parser/Calender.d.ts.map +1 -1
- package/dist/ical-parser/Calender.js +136 -151
- package/dist/ical-parser/Calender.js.map +1 -1
- package/dist/ical-parser/parseDate.js +25 -32
- package/dist/ical-parser/parseDate.js.map +1 -1
- package/dist/mime-parser/AttachmentFile.d.ts +1 -1
- package/dist/mime-parser/AttachmentFile.d.ts.map +1 -1
- package/dist/mime-parser/AttachmentFile.js +11 -19
- package/dist/mime-parser/AttachmentFile.js.map +1 -1
- package/dist/mime-parser/HeaderContentDisposition.js +20 -30
- package/dist/mime-parser/HeaderContentDisposition.js.map +1 -1
- package/dist/mime-parser/HeaderContentType.js +20 -29
- package/dist/mime-parser/HeaderContentType.js.map +1 -1
- package/dist/mime-parser/MimeMessage.d.ts +4 -4
- package/dist/mime-parser/MimeMessage.d.ts.map +1 -1
- package/dist/mime-parser/MimeMessage.js +83 -82
- package/dist/mime-parser/MimeMessage.js.map +1 -1
- package/dist/mime-parser/MimeNode.d.ts +4 -4
- package/dist/mime-parser/MimeNode.d.ts.map +1 -1
- package/dist/mime-parser/MimeNode.js +357 -339
- package/dist/mime-parser/MimeNode.js.map +1 -1
- package/dist/mime-parser/encoder/RawBuffer.d.ts +1 -1
- package/dist/mime-parser/encoder/RawBuffer.d.ts.map +1 -1
- package/dist/mime-parser/encoder/RawBuffer.js +42 -46
- package/dist/mime-parser/encoder/RawBuffer.js.map +1 -1
- package/dist/mime-parser/encoder/base64-to-blob.d.ts +1 -1
- package/dist/mime-parser/encoder/base64-to-blob.d.ts.map +1 -1
- package/dist/mime-parser/encoder/base64-to-blob.js +16 -21
- package/dist/mime-parser/encoder/base64-to-blob.js.map +1 -1
- package/dist/mime-parser/encoder/quoted-printable.d.ts +1 -1
- package/dist/mime-parser/encoder/quoted-printable.js +92 -61
- package/dist/mime-parser/encoder/quoted-printable.js.map +1 -1
- package/dist/mime-parser/encoder/word-encoding.d.ts.map +1 -1
- package/dist/mime-parser/encoder/word-encoding.js +27 -37
- package/dist/mime-parser/encoder/word-encoding.js.map +1 -1
- package/dist/mime-parser/parsePairs.js +25 -31
- package/dist/mime-parser/parsePairs.js.map +1 -1
- package/dist/mime-parser/stream/LineStream.d.ts.map +1 -1
- package/dist/mime-parser/stream/LineStream.js +95 -106
- package/dist/mime-parser/stream/LineStream.js.map +1 -1
- package/dist/mime-parser/stream/TextWriter.d.ts +1 -1
- package/dist/mime-parser/stream/TextWriter.d.ts.map +1 -1
- package/dist/mime-parser/stream/TextWriter.js +21 -34
- package/dist/mime-parser/stream/TextWriter.js.map +1 -1
- package/dist/mime-parser/tokenizer.js +43 -51
- package/dist/mime-parser/tokenizer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/{dist/index.d.ts → index.d.ts} +32 -5
- package/index.js +1 -0
- package/package.json +2 -2
- package/src/ical-parser/Calender.ts +7 -7
- package/tsconfig.json +4 -1
package/.gitlab-ci.yml
CHANGED
|
@@ -7,8 +7,8 @@ build-job: # This job runs in the build stage, which runs first.
|
|
|
7
7
|
tags:
|
|
8
8
|
- tracer-deploy
|
|
9
9
|
script:
|
|
10
|
-
-
|
|
11
|
-
- tsc ./index.js --declaration --allowJs --emitDeclarationOnly --outFile ./
|
|
10
|
+
- tsc
|
|
11
|
+
- tsc ./index.js --declaration --allowJs --emitDeclarationOnly --skipLibCheck --target es2015 --outFile ./index.d.ts
|
|
12
12
|
- echo "TS Pack"
|
|
13
13
|
- echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}">.npmrc
|
|
14
14
|
- npm publish --verbose --access public
|
package/dist/QueryIterator.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ export default class QueryIterator {
|
|
|
3
3
|
* @template T
|
|
4
4
|
* @returns {T}
|
|
5
5
|
*/
|
|
6
|
-
static first<
|
|
6
|
+
static first<T>(source: IterableIterator<T>, fx: (item: T) => boolean): T;
|
|
7
7
|
/**
|
|
8
8
|
* @template T
|
|
9
9
|
* @returns {T | null}
|
|
10
10
|
*/
|
|
11
|
-
firstOrFail<T>(source: IterableIterator<T>, fx: (item: T) => boolean): T;
|
|
11
|
+
firstOrFail<T>(source: IterableIterator<T>, fx: (item: T) => boolean): T | null;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=QueryIterator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryIterator.d.ts","sourceRoot":"","sources":["../src/QueryIterator.js"],"names":[],"mappings":"AAAA;IAEI;;;MAGE;IACF,
|
|
1
|
+
{"version":3,"file":"QueryIterator.d.ts","sourceRoot":"","sources":["../src/QueryIterator.js"],"names":[],"mappings":"AAAA;IAEI;;;MAGE;IACF,aAHa,CAAC,UAIC,gBAAgB,CAAC,CAAC,CAAC,MACnB,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAJtB,CAAC,CAWb;IAED;;;MAGE;IACF,YAHa,CAAC,UAIC,gBAAgB,CAAC,CAAC,CAAC,MACnB,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAJtB,CAAC,GAAG,IAAI,CAYpB;CACJ"}
|
package/dist/QueryIterator.js
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
static first(source, fx) {
|
|
11
|
-
for (const iterator of source) {
|
|
1
|
+
export default class QueryIterator {
|
|
2
|
+
/**
|
|
3
|
+
* @template T
|
|
4
|
+
* @returns {T}
|
|
5
|
+
*/
|
|
6
|
+
static first(
|
|
7
|
+
/** @type {IterableIterator<T>} */ source,
|
|
8
|
+
/** @type {(item: T) => boolean} */ fx) {
|
|
9
|
+
for (const iterator of source) {
|
|
12
10
|
if (fx(iterator)) {
|
|
13
|
-
|
|
11
|
+
return iterator;
|
|
14
12
|
}
|
|
15
|
-
}
|
|
16
13
|
}
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @template T
|
|
17
|
+
* @returns {T | null}
|
|
18
|
+
*/
|
|
19
|
+
firstOrFail(
|
|
20
|
+
/** @type {IterableIterator<T>} */ source,
|
|
21
|
+
/** @type {(item: T) => boolean} */ fx) {
|
|
22
|
+
for (const iterator of source) {
|
|
19
23
|
if (fx(iterator)) {
|
|
20
|
-
|
|
24
|
+
return iterator;
|
|
21
25
|
}
|
|
22
|
-
}
|
|
23
26
|
}
|
|
24
|
-
});
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
});
|
|
28
|
+
}
|
|
28
29
|
//# sourceMappingURL=QueryIterator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"QueryIterator.js","sourceRoot":"","sources":["../src/QueryIterator.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,aAAa;IAE9B;;;MAGE;IACF,MAAM,CAAC,KAAK;IACR,kCAAkC,CAAC,MAAM;IACzC,mCAAmC,CAAC,EAAE;QAEtC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACf,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;MAGE;IACF,WAAW;IACP,kCAAkC,CAAC,MAAM;IACzC,mCAAmC,CAAC,EAAE;QAEtC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACf,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;IAEL,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calender.d.ts","sourceRoot":"","sources":["../../src/ical-parser/Calender.ts"],"names":[],"mappings":"AAAA,OAAO,UAAgC,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"Calender.d.ts","sourceRoot":"","sources":["../../src/ical-parser/Calender.ts"],"names":[],"mappings":"AAAA,OAAO,UAAgC,MAAM,qCAAqC,CAAC;AAQnF,qBAAa,aAAa;IAEtB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAkCpC,IAAI,SAAS,QAGZ;IAED,IAAI,OAAO,QAEV;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,SAAS,CAAC,CAAC,KAAA,EAEd;IAED,IAAI,OAAO,QAEV;IAED,IAAI,OAAO,CAAC,CAAC,KAAA,EAEZ;IAED,IAAI,QAAQ,QAEX;IAED,IAAI,QAAQ,CAAC,CAAC,KAAA,EAEb;IAED,IAAI,MAAM,QAET;IAED,IAAI,MAAM,CAAC,CAAC,KAAA,EAEX;CAEJ;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;WAEZ,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAmD9C,MAAM,EAAE,aAAa,EAAE,CAAM;CAEhC"}
|
|
@@ -1,176 +1,161 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const gen = typeof text === "string" ? tokenizeRFCHeaders(text) : text;
|
|
32
|
-
const ce = new CalendarEvent();
|
|
33
|
-
for (const line of gen) {
|
|
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
|
+
import { StringLineStream } from "../mime-parser/stream/LineStream.js";
|
|
18
|
+
import { tokenizeMax, tokenizeRFCHeaders } from "../mime-parser/tokenizer.js";
|
|
19
|
+
import parseDate from "./parseDate.js";
|
|
20
|
+
const startDateSymbol = Symbol("startDate");
|
|
21
|
+
const endDateSymbol = Symbol("endDate");
|
|
22
|
+
const timeStampSymbol = Symbol("timeStamp");
|
|
23
|
+
export class CalendarEvent {
|
|
24
|
+
static parse(text) {
|
|
25
|
+
const gen = typeof text === "string"
|
|
26
|
+
? tokenizeRFCHeaders(text)
|
|
27
|
+
: text;
|
|
28
|
+
const ce = new CalendarEvent();
|
|
29
|
+
for (const line of gen) {
|
|
30
|
+
// skip till BEGIN:VEVENT
|
|
34
31
|
if (/^BEGIN\:\s*VEVENT$/.test(line)) {
|
|
35
|
-
|
|
32
|
+
break;
|
|
36
33
|
}
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
}
|
|
35
|
+
// parse items... till end or END:VEVENT
|
|
36
|
+
for (const line of gen) {
|
|
39
37
|
const [key, value] = tokenizeMax(line, ":", 2);
|
|
40
38
|
if (key === "END" && value === "VEVENT") {
|
|
41
|
-
|
|
39
|
+
break;
|
|
42
40
|
}
|
|
41
|
+
// update key..
|
|
43
42
|
const subTokens = tokenizeMax(key, ";", 2);
|
|
44
43
|
if (subTokens.length > 1) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
44
|
+
const [k, suffix] = subTokens;
|
|
45
|
+
ce[k] = suffix + ":" + value;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
ce[key] = value;
|
|
49
49
|
}
|
|
50
|
-
}
|
|
51
|
-
return ce;
|
|
52
|
-
}
|
|
53
|
-
get startDate() {
|
|
54
|
-
var _a;
|
|
55
|
-
return __classPrivateFieldSet(this, _CalendarEvent_startDate, (_a = __classPrivateFieldGet(this, _CalendarEvent_startDate, "f")) !== null && _a !== void 0 ? _a : parseDate(this["DTSTART"]), "f");
|
|
56
|
-
}
|
|
57
|
-
get endDate() {
|
|
58
|
-
var _a;
|
|
59
|
-
return __classPrivateFieldSet(this, _CalendarEvent_endDate, (_a = __classPrivateFieldGet(this, _CalendarEvent_endDate, "f")) !== null && _a !== void 0 ? _a : parseDate(this["DTEND"]), "f");
|
|
60
|
-
}
|
|
61
|
-
get timestamp() {
|
|
62
|
-
var _a;
|
|
63
|
-
return __classPrivateFieldSet(this, _CalendarEvent_timestamp, (_a = __classPrivateFieldGet(this, _CalendarEvent_timestamp, "f")) !== null && _a !== void 0 ? _a : parseDate(this["DTSTAMP"]), "f");
|
|
64
|
-
}
|
|
65
|
-
set timestamp(v) {
|
|
66
|
-
this["DTSTAMP"] = v.toJSON();
|
|
67
|
-
}
|
|
68
|
-
get summary() {
|
|
69
|
-
var _a;
|
|
70
|
-
return (_a = this["SUMMARY"]) !== null && _a !== void 0 ? _a : "";
|
|
71
|
-
}
|
|
72
|
-
set summary(v) {
|
|
73
|
-
this["SUMMARY"] = v;
|
|
74
|
-
}
|
|
75
|
-
get location() {
|
|
76
|
-
var _a;
|
|
77
|
-
return (_a = this["LOCATION"]) !== null && _a !== void 0 ? _a : "";
|
|
78
|
-
}
|
|
79
|
-
set location(v) {
|
|
80
|
-
this["LOCATION"] = v;
|
|
81
|
-
}
|
|
82
|
-
get status() {
|
|
83
|
-
var _a;
|
|
84
|
-
return (_a = this["STATUS"]) !== null && _a !== void 0 ? _a : "";
|
|
85
|
-
}
|
|
86
|
-
set status(v) {
|
|
87
|
-
this["STATUS"] = v;
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
_CalendarEvent_startDate = new WeakMap(), _CalendarEvent_endDate = new WeakMap(), _CalendarEvent_timestamp = new WeakMap();
|
|
91
|
-
_export("default", Calendar = class Calendar {
|
|
92
|
-
constructor() {
|
|
93
|
-
this.events = [];
|
|
94
50
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
51
|
+
return ce;
|
|
52
|
+
}
|
|
53
|
+
get startDate() {
|
|
54
|
+
var _a;
|
|
55
|
+
// we will not cache the date
|
|
56
|
+
return (_a = this[startDateSymbol]) !== null && _a !== void 0 ? _a : (this[startDateSymbol] = parseDate(this["DTSTART"]));
|
|
57
|
+
}
|
|
58
|
+
get endDate() {
|
|
59
|
+
var _a;
|
|
60
|
+
return (_a = this[endDateSymbol]) !== null && _a !== void 0 ? _a : (this[endDateSymbol] = parseDate(this["DTEND"]));
|
|
61
|
+
}
|
|
62
|
+
get timestamp() {
|
|
63
|
+
var _a;
|
|
64
|
+
return (_a = this[timeStampSymbol]) !== null && _a !== void 0 ? _a : (this[timeStampSymbol] = parseDate(this["DTSTAMP"]));
|
|
65
|
+
}
|
|
66
|
+
set timestamp(v) {
|
|
67
|
+
this["DTSTAMP"] = v.toJSON();
|
|
68
|
+
}
|
|
69
|
+
get summary() {
|
|
70
|
+
var _a;
|
|
71
|
+
return (_a = this["SUMMARY"]) !== null && _a !== void 0 ? _a : "";
|
|
72
|
+
}
|
|
73
|
+
set summary(v) {
|
|
74
|
+
this["SUMMARY"] = v;
|
|
75
|
+
}
|
|
76
|
+
get location() {
|
|
77
|
+
var _a;
|
|
78
|
+
return (_a = this["LOCATION"]) !== null && _a !== void 0 ? _a : "";
|
|
79
|
+
}
|
|
80
|
+
set location(v) {
|
|
81
|
+
this["LOCATION"] = v;
|
|
82
|
+
}
|
|
83
|
+
get status() {
|
|
84
|
+
var _a;
|
|
85
|
+
return (_a = this["STATUS"]) !== null && _a !== void 0 ? _a : "";
|
|
86
|
+
}
|
|
87
|
+
set status(v) {
|
|
88
|
+
this["STATUS"] = v;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export default class Calendar {
|
|
92
|
+
constructor() {
|
|
93
|
+
this.events = [];
|
|
94
|
+
}
|
|
95
|
+
static parse(stream) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
var _a, e_1, _b, _c, _d, e_2, _e, _f;
|
|
98
98
|
if (typeof stream === "string") {
|
|
99
|
-
|
|
99
|
+
stream = new StringLineStream(stream);
|
|
100
100
|
}
|
|
101
|
+
// skip till BEGIN:\s+VCALENDAR
|
|
101
102
|
const c = new Calendar();
|
|
102
103
|
try {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
for (var _g = true, _h = __asyncValues(stream.read()), _j; _j = yield _h.next(), _a = _j.done, !_a; _g = true) {
|
|
105
|
+
_c = _j.value;
|
|
106
|
+
_g = false;
|
|
107
|
+
const line = _c;
|
|
108
|
+
if (/^BEGIN\:\s*VCALENDAR$/.test(line)) {
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
114
|
+
finally {
|
|
106
115
|
try {
|
|
107
|
-
|
|
108
|
-
if (/^BEGIN\:\s*VCALENDAR$/.test(line)) {
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
} finally {
|
|
112
|
-
_g = true;
|
|
116
|
+
if (!_g && !_a && (_b = _h.return)) yield _b.call(_h);
|
|
113
117
|
}
|
|
114
|
-
|
|
115
|
-
} catch (e_1_1) {
|
|
116
|
-
e_1 = {
|
|
117
|
-
error: e_1_1
|
|
118
|
-
};
|
|
119
|
-
} finally {
|
|
120
|
-
try {
|
|
121
|
-
if (!_g && !_a && (_b = _h.return)) yield _b.call(_h);
|
|
122
|
-
} finally {
|
|
123
|
-
if (e_1) throw e_1.error;
|
|
124
|
-
}
|
|
118
|
+
finally { if (e_1) throw e_1.error; }
|
|
125
119
|
}
|
|
126
120
|
let eventLines = null;
|
|
127
121
|
try {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
if (/^BEGIN\:\s*VEVENT$/.test(line)) {
|
|
137
|
-
if (eventLines) {
|
|
138
|
-
throw new Error("Nested Events are not supported");
|
|
122
|
+
for (var _k = true, _l = __asyncValues(stream.readRFCHeaders()), _m; _m = yield _l.next(), _d = _m.done, !_d; _k = true) {
|
|
123
|
+
_f = _m.value;
|
|
124
|
+
_k = false;
|
|
125
|
+
const line = _f;
|
|
126
|
+
if (/^END\:\s*VCALENDAR$/.test(line)) {
|
|
127
|
+
break;
|
|
139
128
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
129
|
+
if (/^BEGIN\:\s*VEVENT$/.test(line)) {
|
|
130
|
+
if (eventLines) {
|
|
131
|
+
throw new Error("Nested Events are not supported");
|
|
132
|
+
}
|
|
133
|
+
eventLines = [line];
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
if (eventLines) {
|
|
137
|
+
// till end event
|
|
138
|
+
if (/^END\:\s*VEVENT$/.test(line)) {
|
|
139
|
+
c.events.push(CalendarEvent.parse(eventLines));
|
|
140
|
+
eventLines = null;
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
eventLines.push(line);
|
|
144
|
+
continue;
|
|
148
145
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
const [key, value] = tokenizeMax(line, ":", 2);
|
|
153
|
-
c[key] = value;
|
|
154
|
-
} finally {
|
|
155
|
-
_k = true;
|
|
146
|
+
const [key, value] = tokenizeMax(line, ":", 2);
|
|
147
|
+
c[key] = value;
|
|
156
148
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
if (!_k && !_d && (_e = _l.return)) yield _e.call(_l);
|
|
165
|
-
} finally {
|
|
166
|
-
if (e_2) throw e_2.error;
|
|
167
|
-
}
|
|
149
|
+
}
|
|
150
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
151
|
+
finally {
|
|
152
|
+
try {
|
|
153
|
+
if (!_k && !_d && (_e = _l.return)) yield _e.call(_l);
|
|
154
|
+
}
|
|
155
|
+
finally { if (e_2) throw e_2.error; }
|
|
168
156
|
}
|
|
169
157
|
return c;
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
});
|
|
158
|
+
});
|
|
173
159
|
}
|
|
174
|
-
|
|
175
|
-
});
|
|
160
|
+
}
|
|
176
161
|
//# sourceMappingURL=Calender.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Calender.js","sourceRoot":"","sources":["../../src/ical-parser/Calender.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
const changeTimezone = (date, ianatz) => {
|
|
2
|
+
// suppose the date is 12:00 UTC
|
|
3
|
+
var invdate = new Date(date.toLocaleString('en-US', {
|
|
4
|
+
timeZone: ianatz
|
|
5
|
+
}));
|
|
6
|
+
// then invdate will be 07:00 in Toronto
|
|
7
|
+
// and the diff is 5 hours
|
|
8
|
+
var diff = date.getTime() - invdate.getTime();
|
|
9
|
+
// so 12:00 in Toronto is 17:00 UTC
|
|
10
|
+
return new Date(date.getTime() - diff); // needs to substract
|
|
11
|
+
};
|
|
12
|
+
const toDate = (text) => {
|
|
13
|
+
let g = /^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})(Z)?$/.exec(text);
|
|
14
|
+
if (g) {
|
|
15
|
+
return new Date(parseInt(g[1], 10), parseInt(g[2], 10) - 1, parseInt(g[3], 10), parseInt(g[4], 10), parseInt(g[5], 10), parseInt(g[6], 10));
|
|
16
|
+
}
|
|
17
|
+
g = /^(\d{4})(\d{2})(\d{2})$/.exec(text);
|
|
18
|
+
if (g) {
|
|
19
|
+
return new Date(parseInt(g[1], 10), parseInt(g[2], 10) - 1, parseInt(g[3], 10));
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export default function parseDate(text) {
|
|
6
23
|
const g = /TZID\=([^\:]+)\:(.*)/.exec(text);
|
|
7
24
|
if (g) {
|
|
8
|
-
|
|
9
|
-
|
|
25
|
+
const [_, timeZone, date] = g;
|
|
26
|
+
return changeTimezone(toDate(date), timeZone);
|
|
10
27
|
}
|
|
11
28
|
return toDate(text);
|
|
12
|
-
|
|
13
|
-
_export("default", parseDate);
|
|
14
|
-
return {
|
|
15
|
-
setters: [],
|
|
16
|
-
execute: function () {
|
|
17
|
-
changeTimezone = (date, ianatz) => {
|
|
18
|
-
var invdate = new Date(date.toLocaleString('en-US', {
|
|
19
|
-
timeZone: ianatz
|
|
20
|
-
}));
|
|
21
|
-
var diff = date.getTime() - invdate.getTime();
|
|
22
|
-
return new Date(date.getTime() - diff);
|
|
23
|
-
};
|
|
24
|
-
toDate = text => {
|
|
25
|
-
let g = /^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})(Z)?$/.exec(text);
|
|
26
|
-
if (g) {
|
|
27
|
-
return new Date(parseInt(g[1], 10), parseInt(g[2], 10) - 1, parseInt(g[3], 10), parseInt(g[4], 10), parseInt(g[5], 10), parseInt(g[6], 10));
|
|
28
|
-
}
|
|
29
|
-
g = /^(\d{4})(\d{2})(\d{2})$/.exec(text);
|
|
30
|
-
if (g) {
|
|
31
|
-
return new Date(parseInt(g[1], 10), parseInt(g[2], 10) - 1, parseInt(g[3], 10));
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
});
|
|
29
|
+
}
|
|
37
30
|
//# sourceMappingURL=parseDate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"parseDate.js","sourceRoot":"","sources":["../../src/ical-parser/parseDate.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;IAEpC,gCAAgC;IAChC,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACpD,QAAQ,EAAE,MAAM;KACf,CAAC,CAAC,CAAC;IAEJ,wCAAwC;IACxC,0BAA0B;IAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE9C,mCAAmC;IACnC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB;AAEjE,CAAC,CAAA;AAGD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;IAE5B,IAAI,CAAC,GAAG,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,CAAC,EAAE,CAAC;QACJ,OAAO,IAAI,IAAI,CACX,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAC,CAAC,EACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB,CAAC;IACN,CAAC;IACD,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,CAAC;QACJ,OAAO,IAAI,IAAI,CACX,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAC,CAAC,EACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,CAAC;IACR,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,IAAY;IAC1C,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,CAAC;QACJ,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9B,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentFile.d.ts","sourceRoot":"","sources":["../../src/mime-parser/AttachmentFile.js"],"names":[],"mappings":"AAIA;IAcI,sBACe,QAAQ,EAAE,YACV,MAAM,WACN,eAAe,GAAG;QAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAAE,EAK9F;IApBD,sCAAsC;IACtC,aADW,QAAQ,GAAG,YAAY,CACtB;IAEZ,qBAAqB;IACrB,WADW,MAAM,CACP;IAEV;;;OAGG;IACH,MAFU,QAAQ,CAEb;CAYR"}
|
|
1
|
+
{"version":3,"file":"AttachmentFile.d.ts","sourceRoot":"","sources":["../../src/mime-parser/AttachmentFile.js"],"names":[],"mappings":"AAIA;IAcI,sBACe,QAAQ,EAAE,YACV,MAAM,WACN,eAAe,GAAG;QAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAAE,EAK9F;IApBD,sCAAsC;IACtC,aADW,QAAQ,GAAG,YAAY,CACtB;IAEZ,qBAAqB;IACrB,WADW,MAAM,CACP;IAEV;;;OAGG;IACH,MAFU,QAAQ,CAEb;CAYR;yBA5BwB,eAAe"}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
});
|
|
1
|
+
import { MimeNode } from "./MimeNode.js";
|
|
2
|
+
export class AttachmentFile extends File {
|
|
3
|
+
constructor(
|
|
4
|
+
/** @type {BlobPart[]} */ fileBits,
|
|
5
|
+
/** @type {string} */ fileName,
|
|
6
|
+
/** @type {FilePropertyBag & { disposition?: "inline" | "attachment"; contentId?: string; }} */
|
|
7
|
+
options) {
|
|
8
|
+
super(fileBits, fileName, options);
|
|
9
|
+
this.contentId = options.contentId;
|
|
10
|
+
this.disposition = options.disposition;
|
|
18
11
|
}
|
|
19
|
-
|
|
20
|
-
});
|
|
12
|
+
}
|
|
21
13
|
//# sourceMappingURL=AttachmentFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"AttachmentFile.js","sourceRoot":"","sources":["../../src/mime-parser/AttachmentFile.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,MAAM,OAAO,cAAe,SAAQ,IAAI;IAcpC;IACI,yBAAyB,CAAC,QAAQ;IAClC,qBAAqB,CAAC,QAAQ;IAC9B,+FAA+F;IAC/F,OAAO;QACP,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC3C,CAAC;CAEJ"}
|