@social-mail/shared 1.0.13 → 1.0.15

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 (57) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/dist/ical-parser/Calender.d.ts +16 -0
  3. package/dist/ical-parser/Calender.d.ts.map +1 -0
  4. package/dist/ical-parser/Calender.js +162 -0
  5. package/dist/ical-parser/Calender.js.map +1 -0
  6. package/dist/ical-parser/parseDate.d.ts +2 -0
  7. package/dist/ical-parser/parseDate.d.ts.map +1 -0
  8. package/dist/ical-parser/parseDate.js +37 -0
  9. package/dist/ical-parser/parseDate.js.map +1 -0
  10. package/dist/index.d.ts +5 -0
  11. package/dist/mime-parser/stream/LineStream.d.ts +4 -0
  12. package/dist/mime-parser/stream/LineStream.d.ts.map +1 -1
  13. package/dist/mime-parser/stream/LineStream.js +27 -0
  14. package/dist/mime-parser/stream/LineStream.js.map +1 -1
  15. package/dist/mime-parser/tokenizer.d.ts +1 -0
  16. package/dist/mime-parser/tokenizer.d.ts.map +1 -1
  17. package/dist/mime-parser/tokenizer.js +25 -0
  18. package/dist/mime-parser/tokenizer.js.map +1 -1
  19. package/dist/tsconfig.tsbuildinfo +1 -1
  20. package/package.json +1 -1
  21. package/src/ical-parser/Calender.ts +127 -0
  22. package/src/ical-parser/parseDate.ts +50 -0
  23. package/src/mime-parser/stream/LineStream.js +25 -0
  24. package/src/mime-parser/tokenizer.js +26 -0
  25. package/src/tests/ical-parser/cal.test.js +54 -0
  26. package/dist/tests/mime/lines-test.d.ts +0 -2
  27. package/dist/tests/mime/lines-test.d.ts.map +0 -1
  28. package/dist/tests/mime/lines-test.js +0 -19
  29. package/dist/tests/mime/lines-test.js.map +0 -1
  30. package/dist/tests/mime/message1.d.ts +0 -2
  31. package/dist/tests/mime/message1.d.ts.map +0 -1
  32. package/dist/tests/mime/message1.js +0 -58
  33. package/dist/tests/mime/message1.js.map +0 -1
  34. package/dist/tests/mime/message2.d.ts +0 -2
  35. package/dist/tests/mime/message2.d.ts.map +0 -1
  36. package/dist/tests/mime/message2.js +0 -76
  37. package/dist/tests/mime/message2.js.map +0 -1
  38. package/dist/tests/mime/message3.d.ts +0 -2
  39. package/dist/tests/mime/message3.d.ts.map +0 -1
  40. package/dist/tests/mime/message3.js +0 -89
  41. package/dist/tests/mime/message3.js.map +0 -1
  42. package/dist/tests/mime/pairs.d.ts +0 -2
  43. package/dist/tests/mime/pairs.d.ts.map +0 -1
  44. package/dist/tests/mime/pairs.js +0 -33
  45. package/dist/tests/mime/pairs.js.map +0 -1
  46. package/dist/tests/mime/parse-headers.d.ts +0 -2
  47. package/dist/tests/mime/parse-headers.d.ts.map +0 -1
  48. package/dist/tests/mime/parse-headers.js +0 -104
  49. package/dist/tests/mime/parse-headers.js.map +0 -1
  50. package/dist/tests/mime/parse-headers2.d.ts +0 -2
  51. package/dist/tests/mime/parse-headers2.d.ts.map +0 -1
  52. package/dist/tests/mime/parse-headers2.js +0 -90
  53. package/dist/tests/mime/parse-headers2.js.map +0 -1
  54. package/dist/tests/mime/word-encoding-test.d.ts +0 -2
  55. package/dist/tests/mime/word-encoding-test.d.ts.map +0 -1
  56. package/dist/tests/mime/word-encoding-test.js +0 -21
  57. package/dist/tests/mime/word-encoding-test.js.map +0 -1
@@ -18,6 +18,8 @@
18
18
  "signup",
19
19
  "socialmail",
20
20
  "tinycolor",
21
+ "VCALENDAR",
22
+ "VEVENT",
21
23
  "webm",
22
24
  "webp",
23
25
  "xlst"
@@ -0,0 +1,16 @@
1
+ import LineStream from "../mime-parser/stream/LineStream.js";
2
+ export declare class CalendarEvent {
3
+ #private;
4
+ static parse(text: string | string[]): CalendarEvent;
5
+ get startDate(): any;
6
+ get endDate(): any;
7
+ get timestamp(): any;
8
+ set timestamp(v: any);
9
+ get summary(): any;
10
+ set summary(v: any);
11
+ }
12
+ export default class Calendar {
13
+ static parse(stream: string | LineStream): Promise<Calendar>;
14
+ events: CalendarEvent[];
15
+ }
16
+ //# sourceMappingURL=Calender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calender.d.ts","sourceRoot":"","sources":["../../src/ical-parser/Calender.ts"],"names":[],"mappings":"AAAA,OAAO,UAAgC,MAAM,qCAAqC,CAAC;AAInF,qBAAa,aAAa;;IAEtB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAsCpC,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;CAEJ;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;WAEZ,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAmD9C,MAAM,EAAE,aAAa,EAAE,CAAM;CAEhC"}
@@ -0,0 +1,162 @@
1
+ System.register(["tslib", "../mime-parser/stream/LineStream.js", "../mime-parser/tokenizer.js", "./parseDate.js"], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var __asyncValues, __awaiter, __classPrivateFieldGet, __classPrivateFieldSet, StringLineStream, tokenizeMax, tokenizeRFCHeaders, parseDate, CalendarEvent, Calendar, _CalendarEvent_startDate, _CalendarEvent_endDate, _CalendarEvent_timestamp;
5
+ _export({
6
+ CalendarEvent: void 0,
7
+ default: void 0
8
+ });
9
+ return {
10
+ setters: [function (_tslib) {
11
+ __asyncValues = _tslib.__asyncValues;
12
+ __awaiter = _tslib.__awaiter;
13
+ __classPrivateFieldGet = _tslib.__classPrivateFieldGet;
14
+ __classPrivateFieldSet = _tslib.__classPrivateFieldSet;
15
+ }, function (_mimeParserStreamLineStreamJs) {
16
+ StringLineStream = _mimeParserStreamLineStreamJs.StringLineStream;
17
+ }, function (_mimeParserTokenizerJs) {
18
+ tokenizeMax = _mimeParserTokenizerJs.tokenizeMax;
19
+ tokenizeRFCHeaders = _mimeParserTokenizerJs.tokenizeRFCHeaders;
20
+ }, function (_parseDateJs) {
21
+ parseDate = _parseDateJs.default;
22
+ }],
23
+ execute: function () {
24
+ _export("CalendarEvent", CalendarEvent = class CalendarEvent {
25
+ constructor() {
26
+ _CalendarEvent_startDate.set(this, void 0);
27
+ _CalendarEvent_endDate.set(this, void 0);
28
+ _CalendarEvent_timestamp.set(this, void 0);
29
+ }
30
+ static parse(text) {
31
+ const gen = typeof text === "string" ? tokenizeRFCHeaders(text) : text;
32
+ const ce = new CalendarEvent();
33
+ for (const line of gen) {
34
+ if (/^BEGIN\:\s*VEVENT$/.test(line)) {
35
+ break;
36
+ }
37
+ }
38
+ for (const line of gen) {
39
+ const [key, value] = tokenizeMax(line, ":", 2);
40
+ if (key === "END" && value === "VEVENT") {
41
+ break;
42
+ }
43
+ const subTokens = tokenizeMax(key, ";", 2);
44
+ if (subTokens.length > 1) {
45
+ const [k, suffix] = subTokens;
46
+ ce[k] = suffix + ":" + value;
47
+ } else {
48
+ ce[key] = value;
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
+ });
76
+ _CalendarEvent_startDate = new WeakMap(), _CalendarEvent_endDate = new WeakMap(), _CalendarEvent_timestamp = new WeakMap();
77
+ _export("default", Calendar = class Calendar {
78
+ constructor() {
79
+ this.events = [];
80
+ }
81
+ static parse(stream) {
82
+ var _a, e_1, _b, _c, _d, e_2, _e, _f;
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ if (typeof stream === "string") {
85
+ stream = new StringLineStream(stream);
86
+ }
87
+ const c = new Calendar();
88
+ try {
89
+ for (var _g = true, _h = __asyncValues(stream.read()), _j; _j = yield _h.next(), _a = _j.done, !_a;) {
90
+ _c = _j.value;
91
+ _g = false;
92
+ try {
93
+ const line = _c;
94
+ if (/^BEGIN\:\s*VCALENDAR$/.test(line)) {
95
+ break;
96
+ }
97
+ } finally {
98
+ _g = true;
99
+ }
100
+ }
101
+ } catch (e_1_1) {
102
+ e_1 = {
103
+ error: e_1_1
104
+ };
105
+ } finally {
106
+ try {
107
+ if (!_g && !_a && (_b = _h.return)) yield _b.call(_h);
108
+ } finally {
109
+ if (e_1) throw e_1.error;
110
+ }
111
+ }
112
+ let eventLines = null;
113
+ try {
114
+ for (var _k = true, _l = __asyncValues(stream.readRFCHeaders()), _m; _m = yield _l.next(), _d = _m.done, !_d;) {
115
+ _f = _m.value;
116
+ _k = false;
117
+ try {
118
+ const line = _f;
119
+ if (/^END\:\s*VCALENDAR$/.test(line)) {
120
+ break;
121
+ }
122
+ if (/^BEGIN\:\s*VEVENT$/.test(line)) {
123
+ if (eventLines) {
124
+ throw new Error("Nested Events are not supported");
125
+ }
126
+ eventLines = [line];
127
+ continue;
128
+ }
129
+ if (eventLines) {
130
+ if (/^END\:\s*VEVENT$/.test(line)) {
131
+ c.events.push(CalendarEvent.parse(eventLines));
132
+ eventLines = null;
133
+ continue;
134
+ }
135
+ eventLines.push(line);
136
+ continue;
137
+ }
138
+ const [key, value] = tokenizeMax(line, ":", 2);
139
+ c[key] = value;
140
+ } finally {
141
+ _k = true;
142
+ }
143
+ }
144
+ } catch (e_2_1) {
145
+ e_2 = {
146
+ error: e_2_1
147
+ };
148
+ } finally {
149
+ try {
150
+ if (!_k && !_d && (_e = _l.return)) yield _e.call(_l);
151
+ } finally {
152
+ if (e_2) throw e_2.error;
153
+ }
154
+ }
155
+ return c;
156
+ });
157
+ }
158
+ });
159
+ }
160
+ };
161
+ });
162
+ //# sourceMappingURL=Calender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CalendarEvent","Calendar","_CalendarEvent_startDate","_CalendarEvent_endDate","_CalendarEvent_timestamp","_export","default","setters","_tslib","StringLineStream","_mimeParserStreamLineStreamJs","_mimeParserTokenizerJs","tokenizeMax","tokenizeRFCHeaders","_parseDateJs","parseDate","execute","constructor","set","parse","text","gen","ce","line","test","key","value","subTokens","length","k","suffix","startDate","__classPrivateFieldSet","_a","__classPrivateFieldGet","endDate","timestamp","v","toJSON","summary","events","stream","c","_g","_h","__asyncValues","read","_j","next","done","_c","eventLines","_k","_l","readRFCHeaders","_m","_d","_f","Error","push"],"sources":["../../src/ical-parser/Calender.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export default function parseDate(text: string): Date;
2
+ //# sourceMappingURL=parseDate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseDate.d.ts","sourceRoot":"","sources":["../../src/ical-parser/parseDate.ts"],"names":[],"mappings":"AAwCA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,IAAI,EAAE,MAAM,QAS7C"}
@@ -0,0 +1,37 @@
1
+ System.register([], function (_export, _context) {
2
+ "use strict";
3
+
4
+ var changeTimezone, toDate;
5
+ function parseDate(text) {
6
+ const g = /TZID\=([^\:]+)\:(.*)/.exec(text);
7
+ if (g) {
8
+ const [_, timeZone, date] = g;
9
+ return changeTimezone(toDate(date), timeZone);
10
+ }
11
+ 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
+ });
37
+ //# sourceMappingURL=parseDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["parseDate","text","g","exec","_","timeZone","date","changeTimezone","toDate","_export","setters","execute","ianatz","invdate","Date","toLocaleString","diff","getTime","parseInt"],"sources":["../../src/ical-parser/parseDate.ts"],"sourcesContent":[null],"mappings":";;;;EAwCc,SAAUA,SAASA,CAACC,IAAY;IAC1C,MAAMC,CAAC,GAAG,sBAAsB,CAACC,IAAI,CAACF,IAAI,CAAC;IAC3C,IAAIC,CAAC,EAAE;MACH,MAAM,CAACE,CAAC,EAAEC,QAAQ,EAAEC,IAAI,CAAC,GAAGJ,CAAC;MAE7B,OAAOK,cAAc,CAACC,MAAM,CAACF,IAAI,CAAC,EAAED,QAAQ,CAAC;;IAGjD,OAAOG,MAAM,CAACP,IAAI,CAAC;EACvB;EAACQ,OAAA,YATuBT,SAAS;EAAA;IAAAU,OAAA;IAAAC,OAAA,WAAAA,CAAA;MAxC3BJ,cAAc,GAAGA,CAACD,IAAI,EAAEM,MAAM,KAAI;QAGpC,IAAIC,OAAO,GAAG,IAAIC,IAAI,CAACR,IAAI,CAACS,cAAc,CAAC,OAAO,EAAE;UACpDV,QAAQ,EAAEO;SACT,CAAC,CAAC;QAIH,IAAII,IAAI,GAAGV,IAAI,CAACW,OAAO,EAAE,GAAGJ,OAAO,CAACI,OAAO,EAAE;QAG7C,OAAO,IAAIH,IAAI,CAACR,IAAI,CAACW,OAAO,EAAE,GAAGD,IAAI,CAAC;MAE1C,CAAC;MAGKR,MAAM,GAAIP,IAAY,IAAI;QAE5B,IAAIC,CAAC,GAAG,mDAAmD,CAACC,IAAI,CAACF,IAAI,CAAC;QACtE,IAAIC,CAAC,EAAE;UACH,OAAO,IAAIY,IAAI,CACXI,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClBgB,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAC,CAAC,EACpBgB,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClBgB,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClBgB,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClBgB,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACrB;;QAELA,CAAC,GAAG,yBAAyB,CAACC,IAAI,CAACF,IAAI,CAAC;QACxC,IAAIC,CAAC,EAAE;UACH,OAAO,IAAIY,IAAI,CACXI,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAClBgB,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAC,CAAC,EACpBgB,QAAQ,CAAChB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB;;MAEX,CAAC;IAAA;EAAA;AAAA","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  declare module "src/mime-parser/tokenizer" {
2
2
  export function tokenize(text: string, sep?: string): {};
3
+ export function tokenizeRFCHeaders(text: string): {};
3
4
  export function tokenizeMax(text: string, sep: string, max?: number): string[];
4
5
  }
5
6
  declare module "src/mime-parser/stream/LineStream" {
@@ -9,6 +10,10 @@ declare module "src/mime-parser/stream/LineStream" {
9
10
  * @returns {AsyncGenerator<string, any, any>}
10
11
  */
11
12
  read(): AsyncGenerator<string, any, any>;
13
+ /**
14
+ * @returns {AsyncGenerator<string, any, any>}
15
+ */
16
+ readRFCHeaders(): AsyncGenerator<string, any, any>;
12
17
  /** @returns {AsyncGenerator<string, any,any>} */
13
18
  lines(): AsyncGenerator<string, any, any>;
14
19
  }
@@ -4,6 +4,10 @@ export default class LineStream {
4
4
  * @returns {AsyncGenerator<string, any, any>}
5
5
  */
6
6
  read(): AsyncGenerator<string, any, any>;
7
+ /**
8
+ * @returns {AsyncGenerator<string, any, any>}
9
+ */
10
+ readRFCHeaders(): AsyncGenerator<string, any, any>;
7
11
  /** @returns {AsyncGenerator<string, any,any>} */
8
12
  lines(): AsyncGenerator<string, any, any>;
9
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LineStream.d.ts","sourceRoot":"","sources":["../../../src/mime-parser/stream/LineStream.js"],"names":[],"mappings":"AAEA;IAEI,+CAA+C,CAAC,oCAAE;IAElD;;OAEG;IACH,yCASC;IAED,iDAAiD;IACjD,0CAEC;CACJ;AAED;IAII,kBAAwB,MAAM,EAG7B;IALD,qBAAqB,CAAC,MAAX,MAAM,CAAU;CAa9B;AAED;IAKI,sBAAwB,cAAc,EAGrC;IAND,6BAA6B;IAC7B,UADW,cAAc,CAChB;CAsCZ"}
1
+ {"version":3,"file":"LineStream.d.ts","sourceRoot":"","sources":["../../../src/mime-parser/stream/LineStream.js"],"names":[],"mappings":"AAEA;IAEI,+CAA+C,CAAC,oCAAE;IAElD;;OAEG;IACH,yCASC;IAED;;OAEG;IACH,mDAoBC;IAED,iDAAiD;IACjD,0CAEC;CACJ;AAED;IAII,kBAAwB,MAAM,EAG7B;IALD,qBAAqB,CAAC,MAAX,MAAM,CAAU;CAa9B;AAED;IAKI,sBAAwB,cAAc,EAGrC;IAND,6BAA6B;IAC7B,UADW,cAAc,CAChB;CAsCZ"}
@@ -32,6 +32,33 @@ System.register(["tslib", "../tokenizer.js"], function (_export, _context) {
32
32
  }
33
33
  });
34
34
  }
35
+ readRFCHeaders() {
36
+ var _a;
37
+ return __asyncGenerator(this, arguments, function* readRFCHeaders_1() {
38
+ let last;
39
+ const g = (_a = this.g) !== null && _a !== void 0 ? _a : this.g = this.lines();
40
+ for (;;) {
41
+ const {
42
+ value,
43
+ done
44
+ } = yield __await(g.next());
45
+ if (done) {
46
+ break;
47
+ }
48
+ if (/^\s+/i.test(value)) {
49
+ last += value.trimStart();
50
+ continue;
51
+ }
52
+ if (last) {
53
+ yield yield __await(last);
54
+ }
55
+ last = value;
56
+ }
57
+ if (last) {
58
+ yield yield __await(last);
59
+ }
60
+ });
61
+ }
35
62
  lines() {
36
63
  throw new Error("Not Implemented");
37
64
  }
@@ -1 +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":[]}
1
+ {"version":3,"names":["LineStream","StringLineStream","ReadableLineStream","_export","default","setters","_tslib","tokenize","_tokenizerJs","execute","read","g","_a","lines","value","done","__await","next","readRFCHeaders","last","test","trimStart","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":[]}
@@ -1,3 +1,4 @@
1
1
  export function tokenize(text: string, sep?: string): Generator<string, void, unknown>;
2
+ export function tokenizeRFCHeaders(text: string): Generator<string, void, unknown>;
2
3
  export function tokenizeMax(text: string, sep: string, max?: number): string[];
3
4
  //# sourceMappingURL=tokenizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/mime-parser/tokenizer.js"],"names":[],"mappings":"AAAA,+BACe,MAAM,QACN,MAAM,oCAWpB;AAGD,kCACe,MAAM,OACN,MAAM,QACN,MAAM,YAiBpB"}
1
+ {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/mime-parser/tokenizer.js"],"names":[],"mappings":"AAAA,+BACe,MAAM,QACN,MAAM,oCAWpB;AAED,yCACe,MAAM,oCAuBpB;AAGD,kCACe,MAAM,OACN,MAAM,QACN,MAAM,YAiBpB"}
@@ -13,6 +13,29 @@ System.register([], function (_export, _context) {
13
13
  }
14
14
  yield text.substring(start);
15
15
  }
16
+ function* tokenizeRFCHeaders(text) {
17
+ let start = 0;
18
+ const sep = "\n";
19
+ let last;
20
+ let stop = 0;
21
+ do {
22
+ const index = text.indexOf(sep, start);
23
+ stop = index === -1;
24
+ const line = stop ? text.substring(start) : text.substring(start, index);
25
+ if (/^\s+/i.test(line)) {
26
+ last += line.trimStart();
27
+ continue;
28
+ }
29
+ if (last) {
30
+ yield last;
31
+ }
32
+ last = line;
33
+ start = index + 1;
34
+ } while (stop);
35
+ if (last) {
36
+ yield last;
37
+ }
38
+ }
16
39
  function tokenizeMax(text, sep, max = Number.MAX_SAFE_INTEGER) {
17
40
  let start = 0;
18
41
  const items = [];
@@ -33,6 +56,7 @@ System.register([], function (_export, _context) {
33
56
  }
34
57
  _export({
35
58
  tokenize: tokenize,
59
+ tokenizeRFCHeaders: tokenizeRFCHeaders,
36
60
  tokenizeMax: tokenizeMax
37
61
  });
38
62
  return {
@@ -40,6 +64,7 @@ System.register([], function (_export, _context) {
40
64
  execute: function () {
41
65
  ;
42
66
  ;
67
+ ;
43
68
  }
44
69
  };
45
70
  });
@@ -1 +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":[]}
1
+ {"version":3,"names":["tokenize","text","sep","start","index","indexOf","substring","tokenizeRFCHeaders","last","stop","line","test","trimStart","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;EAEM,UAAWI,kBAAkBA,CACTN,IAAI;IAE1B,IAAIE,KAAK,GAAG,CAAC;IACb,MAAMD,GAAG,GAAG,IAAI;IAChB,IAAIM,IAAI;IACR,IAAIC,IAAI,GAAG,CAAC;IACZ,GAAG;MACC,MAAML,KAAK,GAAGH,IAAI,CAACI,OAAO,CAACH,GAAG,EAAEC,KAAK,CAAC;MACtCM,IAAI,GAAGL,KAAK,KAAK,CAAC,CAAC;MACnB,MAAMM,IAAI,GAAGD,IAAI,GAAGR,IAAI,CAACK,SAAS,CAACH,KAAK,CAAC,GAAGF,IAAI,CAACK,SAAS,CAACH,KAAK,EAAEC,KAAK,CAAC;MACxE,IAAI,OAAO,CAACO,IAAI,CAACD,IAAI,CAAC,EAAE;QACpBF,IAAI,IAAIE,IAAI,CAACE,SAAS,EAAE;QACxB;;MAEJ,IAAIJ,IAAI,EAAE;QACN,MAAMA,IAAI;;MAEdA,IAAI,GAAGE,IAAI;MACXP,KAAK,GAAGC,KAAK,GAAG,CAAC;KACpB,QAAQK,IAAI;IACb,IAAID,IAAI,EAAE;MACN,MAAMA,IAAI;;EAElB;EAGM,SAAUK,WAAWA,CACDZ,IAAI,EACJC,GAAG,EACHY,GAAG,GAAGC,MAAM,CAACC,gBAAgB;IACnD,IAAIb,KAAK,GAAG,CAAC;IACb,MAAMc,KAAK,GAAG,EAAE;IAChBH,GAAG,EAAE;IACL,SAAQ;MACJ,MAAMV,KAAK,GAAGH,IAAI,CAACI,OAAO,CAACH,GAAG,EAAEC,KAAK,CAAC;MACtC,IAAIC,KAAK,KAAK,CAAC,CAAC,EAAE;QACd;;MAEJa,KAAK,CAACC,IAAI,CAACjB,IAAI,CAACK,SAAS,CAACH,KAAK,EAAEC,KAAK,CAAC,CAAC;MACxCD,KAAK,GAAGC,KAAK,GAAG,CAAC;MACjB,IAAI,EAAEU,GAAG,KAAK,CAAC,EAAE;QACb;;;IAGRG,KAAK,CAACC,IAAI,CAACjB,IAAI,CAACK,SAAS,CAACH,KAAK,CAAC,CAAC;IACjC,OAAOc,KAAK;EAChB;EAACE,OAAA;IAAAnB,QAAA,EA9DgBA,QAAQ;IAAAO,kBAAA,EAeRA,kBAAkB;IAAAM,WAAA,EA2BnBA;EAAW;EAAA;IAAAO,OAAA;IAAAC,OAAA,WAAAA,CAAA;MA7B1B;MA0BA;MAuBA;IAAC;EAAA;AAAA","ignoreList":[]}
@@ -1 +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/message3.js","../src/tests/mime/pairs.js","../src/tests/mime/parse-headers.js","../src/tests/mime/parse-headers2.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},{"version":"d78c310bfde534f8aef330e72d30fd96a07fa76364a5aa6f363a8760396475d0","signature":"701b83d6bc32d3d38914f4e1264f79fe911e1803454f9b46de0c46a4d6778fec"},{"version":"31198505b3e9f93564943114e045da90690ee61e0490ae3632967791c54e695e","signature":"7709efe0825c672e57607789d8d81f8d32d8d2ab0cccd5b41a1f6adb50c42f88"},{"version":"5a723fbf595f0207e35536889aeb6b644b0a71d0a16e434d3744880e312a99c0","signature":"afa45927c01d1168c72b47d88f35784a711ca30ec5b5666778d86165909b35b1"},{"version":"e95e3dff8b1cd0c17f9a71d71ab1a98e607ea2c95cee06a39682aae69e396504","signature":"72fe18ca34ce75033901b3cfb0ebe0baf88ee17911617e6dc75d652457ff48e7"},{"version":"b1ac01473d7b59a511d03771465b45888ccef606c559aea2ed295ddf30e8cde8","signature":"37a36b21d857864d74e09581e8d75f1fa2cc2540deb923248fcaf85e4a1aa0bf"},{"version":"fcbd8cef267c42627c36f166fd39018060cea39d66cdb91c9663eae7b64ac508","signature":"1b9195f02cf202a581081fbfdc420ea20450bb8eb63f2795d764a6dec46ca06e"},{"version":"890078d31cdc373d6380968af312d2b7ef7431545683533f06fed5b459ca63d1","signature":"95046d1643075e9c571c8c0eadf0cd66de3a685b003110c3557f375eacc5bcb8"},{"version":"e8b930f9788e5d77e44989c0f752ceba5416bca71475887f838f81f80b1ef25e","signature":"0cbc0627366f193bcf3d871db6d36c71765591a2c92980ffafb2f64bbe59043c"},{"version":"99439990bd6f9b0bca332c03be7b04de34605d4b3dcfe2ee7f5fc3a1d7531297","signature":"4855e2b5965f4f97c7d3cfcac1c2c0c8d1436ad1f53852d2ee2d1a35323dee6c"},{"version":"4f20439d4be87ae13fe9f40c8bfcaf3a107e1c8be614be3539e3da7ccb70152f","signature":"4d564ac5964ae26aeb25a1efe2d5113541834c58ee503f030e88239672a6beab"},{"version":"fba98c766168655d4efce14edbd3582274fa29cbf674ceb21879c46593ffa318","signature":"fb37ee443e39b3e968edc8a25b7108b9aef87bac53e565b1c732c988dfbb7c13"},{"version":"25fdcb657464f4f1c2a6c4d0b1f629207758773aee17eb874a6003da9e0cb390","signature":"669a13cccd95b8729ec6d7b9b22458bb5a27479eed69fe1d39c2b7081402289e"},{"version":"6eb51e78c64c343a9fa1f788df2d55d6a86caa07d924853ee283b8b27ae7894c","signature":"9ef7d5a8bab628a2f57d063d7e1ad6c87d2818ddec9304aecfe09df4cbbd103f"},{"version":"9a8fffce071de96d02ee972d30b233418f444f4191cf76facabb2b63fadae0c6","signature":"4626235edc0858f79baeee273aeb1fafc4217baa19cd7e940e6bd401e0f1dde1"},{"version":"a48e6bd95e59152b69542e9251a3e8fed0c750cf3583307080c444c5f3fdbc25","signature":"1bdfaf1b6406e1b827be5487a79a1e10b86f2ff62a3cf05e7d03ee246f667ba6"},{"version":"dbc342f59aab0b7ccfeb1d9812128ea15542c2a5f64aa96e47cd2b4a41df5ff6","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"76fda9cdc01cb86c6c76cd91289b6abbcbddbaebb38abcbf61439460ebb14db0","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"c58f8a2de9aead7cfcec56588f647fa6f2cd40d7c02d07ea6d89e3212fc0d293","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"5c4df6ee2462a3f0508423c5c05f829c087174748345947f0ae9ace7ec965b1d","signature":"1bdfaf1b6406e1b827be5487a79a1e10b86f2ff62a3cf05e7d03ee246f667ba6"},{"version":"544eb3f9b9d8f8b3e6e34023fb648016d03683d736954adb4614372cc2b13253","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"f796a1ae605b610c7ac3bdf77b3d446bb7ff36409d76cc70e04b6caa2fadb1ca","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"994c0994ce06d4f5bd25386338d30085f9a8da84af83cdd09cc67b0b14065cad","signature":"1bdfaf1b6406e1b827be5487a79a1e10b86f2ff62a3cf05e7d03ee246f667ba6"}],"options":{"declaration":true,"declarationMap":true,"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,9],[35,3],[36,8],[37,8],[38,10]],"exportedModulesMap":[],"semanticDiagnosticsPerFile":[17,29,23,20,30,28,21,24,25,22,19,26,27,18,31,32,33,34,35,36,37,38,4,5,9,8,3,10,11,12,13,14,15,16,2,1,7,6]},"version":"4.9.5"}
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/stream/LineStream.js","../src/ical-parser/parseDate.ts","../src/ical-parser/Calender.ts","../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/TextWriter.js","../src/mime-parser/MimeNode.js","../src/mime-parser/AttachmentFile.js","../src/mime-parser/MimeMessage.js","../src/tests/ical-parser/cal.test.js","../src/tests/mime/lines-test.js","../src/tests/mime/message1.js","../src/tests/mime/message2.js","../src/tests/mime/message3.js","../src/tests/mime/pairs.js","../src/tests/mime/parse-headers.js","../src/tests/mime/parse-headers2.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},{"version":"d78c310bfde534f8aef330e72d30fd96a07fa76364a5aa6f363a8760396475d0","signature":"701b83d6bc32d3d38914f4e1264f79fe911e1803454f9b46de0c46a4d6778fec"},{"version":"4f29f7c3d451d06d7ad03c87a4669feb88d40cd76e12196939bb4b64b3467dd4","signature":"aaedc1d2ee9a532850eb3c6473f0b14e4ac7316d90e4e3e3791e6bb1b82144db"},{"version":"04d26cf9075bc20fb07cb23d47a9dd9f8bd85a9bd62881fdbdde24eb3ac616aa","signature":"20f62f888c4d9a500e44ee4d5f4aa226752b80fa1f81726dc5ca3d1eb7898e06"},{"version":"e52e80bf274dc8192d7bf320b8e6478f1d1b0578db8bb5524a49a474106bfdc5","signature":"14eb4be0762dfc364626ae7b02afee2e5deae62cd65d474d6c7b4d4da6bd9bf5"},{"version":"3b6dbd9c3dcc907fe06358150ef8a8cef3cb063857727a80e0682554bc97e776","signature":"1cdd33c366b15dfa79757efa6a3c405b70a254e06bc9490352d3952adeb918a0"},{"version":"5a723fbf595f0207e35536889aeb6b644b0a71d0a16e434d3744880e312a99c0","signature":"afa45927c01d1168c72b47d88f35784a711ca30ec5b5666778d86165909b35b1"},{"version":"e95e3dff8b1cd0c17f9a71d71ab1a98e607ea2c95cee06a39682aae69e396504","signature":"72fe18ca34ce75033901b3cfb0ebe0baf88ee17911617e6dc75d652457ff48e7"},{"version":"b1ac01473d7b59a511d03771465b45888ccef606c559aea2ed295ddf30e8cde8","signature":"37a36b21d857864d74e09581e8d75f1fa2cc2540deb923248fcaf85e4a1aa0bf"},{"version":"fcbd8cef267c42627c36f166fd39018060cea39d66cdb91c9663eae7b64ac508","signature":"1b9195f02cf202a581081fbfdc420ea20450bb8eb63f2795d764a6dec46ca06e"},{"version":"890078d31cdc373d6380968af312d2b7ef7431545683533f06fed5b459ca63d1","signature":"95046d1643075e9c571c8c0eadf0cd66de3a685b003110c3557f375eacc5bcb8"},{"version":"e8b930f9788e5d77e44989c0f752ceba5416bca71475887f838f81f80b1ef25e","signature":"0cbc0627366f193bcf3d871db6d36c71765591a2c92980ffafb2f64bbe59043c"},{"version":"99439990bd6f9b0bca332c03be7b04de34605d4b3dcfe2ee7f5fc3a1d7531297","signature":"4855e2b5965f4f97c7d3cfcac1c2c0c8d1436ad1f53852d2ee2d1a35323dee6c"},{"version":"fba98c766168655d4efce14edbd3582274fa29cbf674ceb21879c46593ffa318","signature":"fb37ee443e39b3e968edc8a25b7108b9aef87bac53e565b1c732c988dfbb7c13"},{"version":"25fdcb657464f4f1c2a6c4d0b1f629207758773aee17eb874a6003da9e0cb390","signature":"669a13cccd95b8729ec6d7b9b22458bb5a27479eed69fe1d39c2b7081402289e"},{"version":"6eb51e78c64c343a9fa1f788df2d55d6a86caa07d924853ee283b8b27ae7894c","signature":"9ef7d5a8bab628a2f57d063d7e1ad6c87d2818ddec9304aecfe09df4cbbd103f"},{"version":"9a8fffce071de96d02ee972d30b233418f444f4191cf76facabb2b63fadae0c6","signature":"4626235edc0858f79baeee273aeb1fafc4217baa19cd7e940e6bd401e0f1dde1"},{"version":"eb7551454da25ec57660d910773565cf534615d18046711c038e83fc77d199b8","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"a48e6bd95e59152b69542e9251a3e8fed0c750cf3583307080c444c5f3fdbc25","signature":"1bdfaf1b6406e1b827be5487a79a1e10b86f2ff62a3cf05e7d03ee246f667ba6"},{"version":"dbc342f59aab0b7ccfeb1d9812128ea15542c2a5f64aa96e47cd2b4a41df5ff6","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"76fda9cdc01cb86c6c76cd91289b6abbcbddbaebb38abcbf61439460ebb14db0","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"c58f8a2de9aead7cfcec56588f647fa6f2cd40d7c02d07ea6d89e3212fc0d293","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"5c4df6ee2462a3f0508423c5c05f829c087174748345947f0ae9ace7ec965b1d","signature":"1bdfaf1b6406e1b827be5487a79a1e10b86f2ff62a3cf05e7d03ee246f667ba6"},{"version":"544eb3f9b9d8f8b3e6e34023fb648016d03683d736954adb4614372cc2b13253","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"f796a1ae605b610c7ac3bdf77b3d446bb7ff36409d76cc70e04b6caa2fadb1ca","signature":"f7869333ff40017ca7c4a34473e68f902f6c6014891b58bfd452691696d0c72c"},{"version":"994c0994ce06d4f5bd25386338d30085f9a8da84af83cdd09cc67b0b14065cad","signature":"1bdfaf1b6406e1b827be5487a79a1e10b86f2ff62a3cf05e7d03ee246f667ba6"}],"options":{"declaration":true,"declarationMap":true,"importHelpers":true,"module":99,"outDir":"./","skipDefaultLibCheck":true,"skipLibCheck":true,"sourceMap":true,"target":2},"fileIdsList":[[18,19,20],[30],[22,25],[22],[19,29,30,31],[19,23,24,25,26,27,28,29,31],[24],[18],[19,21],[19,30],[19,29,30],[25],[19]],"referencedMap":[[21,1],[31,2],[26,3],[23,4],[32,5],[30,6],[25,7],[22,8],[19,8],[33,9],[34,8],[35,10],[36,11],[37,11],[38,4],[39,10],[40,10],[41,12]],"exportedModulesMap":[[21,13]],"semanticDiagnosticsPerFile":[17,21,20,31,26,23,32,30,24,27,28,25,22,19,29,18,33,34,35,36,37,38,39,40,41,4,5,9,8,3,10,11,12,13,14,15,16,2,1,7,6]},"version":"4.9.5"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/shared",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "Shared Repository that contains things like parser etc that is used by both client and server.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -0,0 +1,127 @@
1
+ import LineStream, { StringLineStream } from "../mime-parser/stream/LineStream.js";
2
+ import { tokenize, tokenizeMax, tokenizeRFCHeaders } from "../mime-parser/tokenizer.js";
3
+ import parseDate from "./parseDate.js";
4
+
5
+ export class CalendarEvent {
6
+
7
+ static parse(text: string | string[]) {
8
+ const gen = typeof text === "string"
9
+ ? tokenizeRFCHeaders(text)
10
+ : text;
11
+ const ce = new CalendarEvent();
12
+
13
+ for (const line of gen) {
14
+ // skip till BEGIN:VEVENT
15
+ if (/^BEGIN\:\s*VEVENT$/.test(line)) {
16
+ break;
17
+ }
18
+ }
19
+
20
+ // parse items... till end or END:VEVENT
21
+ for (const line of gen) {
22
+ const [ key, value ] = tokenizeMax(line, ":" , 2);
23
+
24
+ if (key === "END" && value === "VEVENT") {
25
+ break;
26
+ }
27
+
28
+ // update key..
29
+ const subTokens = tokenizeMax(key, ";", 2);
30
+ if (subTokens.length > 1) {
31
+ const [k, suffix] = subTokens;
32
+ ce[k] = suffix + ":" + value;
33
+ } else {
34
+ ce[key] = value;
35
+ }
36
+ }
37
+
38
+ return ce;
39
+ }
40
+
41
+ #startDate;
42
+ #endDate;
43
+ #timestamp;
44
+
45
+ get startDate() {
46
+ // we will not cache the date
47
+ return this.#startDate ??= parseDate(this["DTSTART"]);
48
+ }
49
+
50
+ get endDate() {
51
+ return this.#endDate ??= parseDate(this["DTEND"]);
52
+ }
53
+
54
+ get timestamp() {
55
+ return this.#timestamp ??= parseDate(this["DTSTAMP"]);
56
+ }
57
+
58
+ set timestamp(v) {
59
+ this["DTSTAMP"] = v.toJSON();
60
+ }
61
+
62
+ get summary() {
63
+ return this["SUMMARY"] ?? "";
64
+ }
65
+
66
+ set summary(v) {
67
+ this["SUMMARY"] = v;
68
+ }
69
+
70
+ }
71
+
72
+ export default class Calendar {
73
+
74
+ static async parse(stream: string | LineStream) {
75
+
76
+ if (typeof stream === "string") {
77
+ stream = new StringLineStream(stream);
78
+ }
79
+
80
+ // skip till BEGIN:\s+VCALENDAR
81
+ const c = new Calendar();
82
+
83
+ for await (const line of stream.read()) {
84
+ if (/^BEGIN\:\s*VCALENDAR$/.test(line)) {
85
+ break;
86
+ }
87
+ }
88
+
89
+ let eventLines = null as string[];
90
+
91
+ for await (const line of stream.readRFCHeaders()) {
92
+ if (/^END\:\s*VCALENDAR$/.test(line)) {
93
+ break;
94
+ }
95
+
96
+ if (/^BEGIN\:\s*VEVENT$/.test(line)) {
97
+ if (eventLines) {
98
+ throw new Error("Nested Events are not supported");
99
+ }
100
+ eventLines = [line];
101
+ continue;
102
+ }
103
+
104
+ if (eventLines) {
105
+ // till end event
106
+ if (/^END\:\s*VEVENT$/.test(line)) {
107
+
108
+ c.events.push(CalendarEvent.parse(eventLines));
109
+
110
+ eventLines = null;
111
+ continue;
112
+ }
113
+ eventLines.push(line);
114
+ continue;
115
+ }
116
+
117
+
118
+ const [ key, value ] = tokenizeMax(line, ":" , 2);
119
+ c[key] = value;
120
+ }
121
+
122
+ return c;
123
+ }
124
+
125
+ events: CalendarEvent[] = [];
126
+
127
+ }