@social-mail/shared 1.0.16 → 1.0.22
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/index.d.ts +32 -5
- 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/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 ./dist/index.d.ts
|
|
10
|
+
- tsc
|
|
11
|
+
- tsc ./index.js --declaration --allowJs --emitDeclarationOnly --skipLibCheck --target es2015 --outFile ./dist/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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare module "src/mime-parser/tokenizer" {
|
|
2
|
-
export function tokenize(text: string, sep?: string):
|
|
3
|
-
export function tokenizeRFCHeaders(text: string):
|
|
2
|
+
export function tokenize(text: string, sep?: string): Generator<string, void, unknown>;
|
|
3
|
+
export function tokenizeRFCHeaders(text: string): Generator<string, void, unknown>;
|
|
4
4
|
export function tokenizeMax(text: string, sep: string, max?: number): string[];
|
|
5
5
|
}
|
|
6
6
|
declare module "src/mime-parser/stream/LineStream" {
|
|
@@ -115,9 +115,13 @@ declare module "src/mime-parser/stream/TextWriter" {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
declare module "src/mime-parser/MimeNode" {
|
|
118
|
-
export class CIMap {
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
export class CIMap extends Map<any, any> {
|
|
119
|
+
constructor();
|
|
120
|
+
constructor(entries?: readonly (readonly [any, any])[]);
|
|
121
|
+
constructor();
|
|
122
|
+
constructor(iterable?: Iterable<readonly [any, any]>);
|
|
123
|
+
ci: Map<any, any>;
|
|
124
|
+
set(key: any, value: any): this;
|
|
121
125
|
get(key: any): any;
|
|
122
126
|
}
|
|
123
127
|
export class MimeNode {
|
|
@@ -187,6 +191,29 @@ declare module "src/mime-parser/MimeMessage" {
|
|
|
187
191
|
import { AttachmentFile } from "src/mime-parser/AttachmentFile";
|
|
188
192
|
import LineStream from "src/mime-parser/stream/LineStream";
|
|
189
193
|
}
|
|
194
|
+
declare module "src/ical-parser/parseDate" {
|
|
195
|
+
export default function parseDate(text: string): Date;
|
|
196
|
+
}
|
|
197
|
+
declare module "src/ical-parser/Calender" {
|
|
198
|
+
import LineStream from "src/mime-parser/stream/LineStream";
|
|
199
|
+
export class CalendarEvent {
|
|
200
|
+
static parse(text: string | string[]): CalendarEvent;
|
|
201
|
+
get startDate(): any;
|
|
202
|
+
get endDate(): any;
|
|
203
|
+
get timestamp(): any;
|
|
204
|
+
set timestamp(v: any);
|
|
205
|
+
get summary(): any;
|
|
206
|
+
set summary(v: any);
|
|
207
|
+
get location(): any;
|
|
208
|
+
set location(v: any);
|
|
209
|
+
get status(): any;
|
|
210
|
+
set status(v: any);
|
|
211
|
+
}
|
|
212
|
+
export default class Calendar {
|
|
213
|
+
static parse(stream: string | LineStream): Promise<Calendar>;
|
|
214
|
+
events: CalendarEvent[];
|
|
215
|
+
}
|
|
216
|
+
}
|
|
190
217
|
declare module "index" {
|
|
191
218
|
export { default as MimeMessage } from "./src/mime-parser/MimeMessage.js";
|
|
192
219
|
export { AttachmentFile } from "./src/mime-parser/AttachmentFile.js";
|
|
@@ -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
|