pst-extractor 1.9.0 → 1.11.0

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 (59) hide show
  1. package/dist/ColumnDescriptor.class.d.ts +26 -26
  2. package/dist/ColumnDescriptor.class.js +51 -51
  3. package/dist/DescriptorIndexNode.class.d.ts +25 -26
  4. package/dist/DescriptorIndexNode.class.js +53 -53
  5. package/dist/LZFu.class.d.ts +11 -12
  6. package/dist/LZFu.class.js +95 -95
  7. package/dist/NodeInfo.class.d.ts +33 -33
  8. package/dist/NodeInfo.class.js +52 -52
  9. package/dist/NodeMap.class.d.ts +35 -35
  10. package/dist/NodeMap.class.js +86 -86
  11. package/dist/OffsetIndexItem.class.d.ts +23 -24
  12. package/dist/OffsetIndexItem.class.js +45 -45
  13. package/dist/OutlookProperties.d.ts +275 -275
  14. package/dist/OutlookProperties.js +281 -281
  15. package/dist/PSTActivity.class.d.ts +103 -103
  16. package/dist/PSTActivity.class.js +144 -144
  17. package/dist/PSTAppointment.class.d.ts +270 -271
  18. package/dist/PSTAppointment.class.js +376 -376
  19. package/dist/PSTAttachment.class.d.ts +172 -172
  20. package/dist/PSTAttachment.class.js +317 -317
  21. package/dist/PSTContact.class.d.ts +884 -884
  22. package/dist/PSTContact.class.js +1227 -1227
  23. package/dist/PSTDescriptorItem.class.d.ts +45 -46
  24. package/dist/PSTDescriptorItem.class.js +99 -99
  25. package/dist/PSTFile.class.d.ts +215 -216
  26. package/dist/PSTFile.class.js +830 -818
  27. package/dist/PSTFolder.class.d.ts +129 -129
  28. package/dist/PSTFolder.class.js +318 -310
  29. package/dist/PSTMessage.class.d.ts +788 -789
  30. package/dist/PSTMessage.class.js +1321 -1321
  31. package/dist/PSTMessageStore.class.d.ts +13 -13
  32. package/dist/PSTMessageStore.class.js +17 -17
  33. package/dist/PSTNodeInputStream.class.d.ts +122 -123
  34. package/dist/PSTNodeInputStream.class.js +524 -514
  35. package/dist/PSTObject.class.d.ts +133 -134
  36. package/dist/PSTObject.class.js +326 -326
  37. package/dist/PSTRecipient.class.d.ts +65 -65
  38. package/dist/PSTRecipient.class.js +103 -103
  39. package/dist/PSTTable.class.d.ts +52 -52
  40. package/dist/PSTTable.class.js +175 -175
  41. package/dist/PSTTable7C.class.d.ts +45 -45
  42. package/dist/PSTTable7C.class.js +282 -281
  43. package/dist/PSTTableBC.class.d.ts +31 -31
  44. package/dist/PSTTableBC.class.js +111 -111
  45. package/dist/PSTTableItem.class.d.ts +47 -48
  46. package/dist/PSTTableItem.class.js +124 -124
  47. package/dist/PSTTask.class.d.ts +146 -146
  48. package/dist/PSTTask.class.js +205 -205
  49. package/dist/PSTUtil.class.d.ts +134 -135
  50. package/dist/PSTUtil.class.js +795 -795
  51. package/dist/RecurrencePattern.class.d.ts +49 -50
  52. package/dist/RecurrencePattern.class.js +120 -120
  53. package/dist/index.d.ts +6 -6
  54. package/dist/index.js +15 -15
  55. package/example/package.json +6 -6
  56. package/example/yarn.lock +120 -67
  57. package/junit.xml +68 -68
  58. package/package.json +26 -26
  59. package/readme.md +3 -3
@@ -1,50 +1,49 @@
1
- /// <reference types="node" />
2
- export declare enum RecurFrequency {
3
- Daily = 8202,
4
- Weekly = 8203,
5
- Monthly = 8204,
6
- Yearly = 8205
7
- }
8
- export declare enum PatternType {
9
- Day = 0,
10
- Week = 1,
11
- Month = 2,
12
- MonthEnd = 4,
13
- MonthNth = 3
14
- }
15
- export declare enum EndType {
16
- AfterDate = 8225,
17
- AfterNOccurrences = 8226,
18
- NeverEnd = 8227
19
- }
20
- export declare enum NthOccurrence {
21
- First = 1,
22
- Second = 2,
23
- Third = 3,
24
- Fourth = 4,
25
- Last = 5
26
- }
27
- export declare type WeekSpecific = boolean[] & {
28
- length: 7;
29
- };
30
- export declare type MonthNthSpecific = {
31
- weekdays: WeekSpecific;
32
- nth: NthOccurrence;
33
- };
34
- export declare class RecurrencePattern {
35
- private buffer;
36
- recurFrequency: RecurFrequency;
37
- patternType: PatternType;
38
- firstDateTime: Date;
39
- period: number;
40
- patternTypeSpecific: number | WeekSpecific | MonthNthSpecific | null;
41
- endType: EndType;
42
- occurrenceCount: number;
43
- firstDOW: number;
44
- startDate: Date;
45
- endDate: Date;
46
- constructor(buffer: Buffer);
47
- toJSON(): any;
48
- private readInt;
49
- private readPatternTypeSpecific;
50
- }
1
+ export declare enum RecurFrequency {
2
+ Daily = 8202,
3
+ Weekly = 8203,
4
+ Monthly = 8204,
5
+ Yearly = 8205
6
+ }
7
+ export declare enum PatternType {
8
+ Day = 0,
9
+ Week = 1,
10
+ Month = 2,
11
+ MonthEnd = 4,
12
+ MonthNth = 3
13
+ }
14
+ export declare enum EndType {
15
+ AfterDate = 8225,
16
+ AfterNOccurrences = 8226,
17
+ NeverEnd = 8227
18
+ }
19
+ export declare enum NthOccurrence {
20
+ First = 1,
21
+ Second = 2,
22
+ Third = 3,
23
+ Fourth = 4,
24
+ Last = 5
25
+ }
26
+ export type WeekSpecific = boolean[] & {
27
+ length: 7;
28
+ };
29
+ export type MonthNthSpecific = {
30
+ weekdays: WeekSpecific;
31
+ nth: NthOccurrence;
32
+ };
33
+ export declare class RecurrencePattern {
34
+ private buffer;
35
+ recurFrequency: RecurFrequency;
36
+ patternType: PatternType;
37
+ firstDateTime: Date;
38
+ period: number;
39
+ patternTypeSpecific: number | WeekSpecific | MonthNthSpecific | null;
40
+ endType: EndType;
41
+ occurrenceCount: number;
42
+ firstDOW: number;
43
+ startDate: Date;
44
+ endDate: Date;
45
+ constructor(buffer: Buffer);
46
+ toJSON(): any;
47
+ private readInt;
48
+ private readPatternTypeSpecific;
49
+ }
@@ -1,120 +1,120 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RecurrencePattern = exports.NthOccurrence = exports.EndType = exports.PatternType = exports.RecurFrequency = void 0;
4
- const OFFSETS = {
5
- RecurFrequency: 4,
6
- PatternType: 6,
7
- FirstDateTime: 10,
8
- Period: 14,
9
- PatternTypeSpecific: 22,
10
- EndType: 22,
11
- OccurrenceCount: 26,
12
- FirstDOW: 30,
13
- StartDate: -8,
14
- EndDate: -4,
15
- };
16
- var RecurFrequency;
17
- (function (RecurFrequency) {
18
- RecurFrequency[RecurFrequency["Daily"] = 8202] = "Daily";
19
- RecurFrequency[RecurFrequency["Weekly"] = 8203] = "Weekly";
20
- RecurFrequency[RecurFrequency["Monthly"] = 8204] = "Monthly";
21
- RecurFrequency[RecurFrequency["Yearly"] = 8205] = "Yearly";
22
- })(RecurFrequency = exports.RecurFrequency || (exports.RecurFrequency = {}));
23
- var PatternType;
24
- (function (PatternType) {
25
- PatternType[PatternType["Day"] = 0] = "Day";
26
- PatternType[PatternType["Week"] = 1] = "Week";
27
- PatternType[PatternType["Month"] = 2] = "Month";
28
- PatternType[PatternType["MonthEnd"] = 4] = "MonthEnd";
29
- PatternType[PatternType["MonthNth"] = 3] = "MonthNth";
30
- })(PatternType = exports.PatternType || (exports.PatternType = {}));
31
- var EndType;
32
- (function (EndType) {
33
- EndType[EndType["AfterDate"] = 8225] = "AfterDate";
34
- EndType[EndType["AfterNOccurrences"] = 8226] = "AfterNOccurrences";
35
- EndType[EndType["NeverEnd"] = 8227] = "NeverEnd";
36
- })(EndType = exports.EndType || (exports.EndType = {}));
37
- var NthOccurrence;
38
- (function (NthOccurrence) {
39
- NthOccurrence[NthOccurrence["First"] = 1] = "First";
40
- NthOccurrence[NthOccurrence["Second"] = 2] = "Second";
41
- NthOccurrence[NthOccurrence["Third"] = 3] = "Third";
42
- NthOccurrence[NthOccurrence["Fourth"] = 4] = "Fourth";
43
- NthOccurrence[NthOccurrence["Last"] = 5] = "Last";
44
- })(NthOccurrence = exports.NthOccurrence || (exports.NthOccurrence = {}));
45
- class RecurrencePattern {
46
- constructor(buffer) {
47
- this.buffer = buffer;
48
- const bufferEnd = buffer.length;
49
- let patternTypeOffset = 0;
50
- this.recurFrequency = this.readInt(OFFSETS.RecurFrequency, 1);
51
- this.patternType = this.readInt(OFFSETS.PatternType, 1);
52
- this.firstDateTime = winToJsDate(this.readInt(OFFSETS.FirstDateTime, 2));
53
- this.period = this.readInt(OFFSETS.Period, 2);
54
- this.patternTypeSpecific = this.readPatternTypeSpecific(this.patternType);
55
- switch (this.patternType) {
56
- case PatternType.Week:
57
- case PatternType.Month:
58
- case PatternType.MonthEnd:
59
- patternTypeOffset = 4;
60
- break;
61
- case PatternType.MonthNth:
62
- patternTypeOffset = 8;
63
- break;
64
- }
65
- this.endType = this.readInt(OFFSETS.EndType + patternTypeOffset, 2);
66
- this.occurrenceCount = this.readInt(OFFSETS.OccurrenceCount + patternTypeOffset, 2);
67
- this.firstDOW = this.readInt(OFFSETS.FirstDOW + patternTypeOffset, 2);
68
- this.startDate = winToJsDate(this.readInt(bufferEnd + OFFSETS.StartDate, 2));
69
- this.endDate = winToJsDate(this.readInt(bufferEnd + OFFSETS.EndDate, 2));
70
- }
71
- toJSON() {
72
- return {
73
- recurFrequency: RecurFrequency[this.recurFrequency],
74
- patternType: PatternType[this.patternType],
75
- firstDateTime: this.firstDateTime,
76
- period: this.period,
77
- patternTypeSpecific: this.patternTypeSpecific,
78
- endType: EndType[this.endType],
79
- occurrenceCount: this.occurrenceCount,
80
- firstDOW: this.firstDOW,
81
- startDate: this.startDate,
82
- endDate: this.endDate,
83
- };
84
- }
85
- readInt(offset, size) {
86
- switch (size) {
87
- case 1:
88
- return this.buffer.readInt16LE(offset);
89
- case 2:
90
- return this.buffer.readInt32LE(offset);
91
- }
92
- }
93
- readPatternTypeSpecific(type) {
94
- switch (type) {
95
- case PatternType.Day:
96
- return null;
97
- case PatternType.Week:
98
- return readWeekByte(this.buffer.readInt8(OFFSETS.PatternTypeSpecific));
99
- case PatternType.Month:
100
- case PatternType.MonthEnd:
101
- return this.readInt(OFFSETS.PatternTypeSpecific, 2);
102
- case PatternType.MonthNth:
103
- return {
104
- weekdays: readWeekByte(this.buffer.readInt8(OFFSETS.PatternTypeSpecific)),
105
- nth: this.readInt(OFFSETS.PatternTypeSpecific + 4, 2),
106
- };
107
- }
108
- }
109
- }
110
- exports.RecurrencePattern = RecurrencePattern;
111
- function winToJsDate(dateInt) {
112
- return new Date(dateInt * 60 * 1000 - 1.16444736e13); // subtract milliseconds between 1601-01-01 and 1970-01-01
113
- }
114
- function readWeekByte(byte) {
115
- const weekArr = [];
116
- for (let i = 0; i < 7; ++i) {
117
- weekArr.push(Boolean(byte & (1 << i)));
118
- }
119
- return weekArr;
120
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecurrencePattern = exports.NthOccurrence = exports.EndType = exports.PatternType = exports.RecurFrequency = void 0;
4
+ const OFFSETS = {
5
+ RecurFrequency: 4,
6
+ PatternType: 6,
7
+ FirstDateTime: 10,
8
+ Period: 14,
9
+ PatternTypeSpecific: 22,
10
+ EndType: 22,
11
+ OccurrenceCount: 26,
12
+ FirstDOW: 30,
13
+ StartDate: -8,
14
+ EndDate: -4,
15
+ };
16
+ var RecurFrequency;
17
+ (function (RecurFrequency) {
18
+ RecurFrequency[RecurFrequency["Daily"] = 8202] = "Daily";
19
+ RecurFrequency[RecurFrequency["Weekly"] = 8203] = "Weekly";
20
+ RecurFrequency[RecurFrequency["Monthly"] = 8204] = "Monthly";
21
+ RecurFrequency[RecurFrequency["Yearly"] = 8205] = "Yearly";
22
+ })(RecurFrequency || (exports.RecurFrequency = RecurFrequency = {}));
23
+ var PatternType;
24
+ (function (PatternType) {
25
+ PatternType[PatternType["Day"] = 0] = "Day";
26
+ PatternType[PatternType["Week"] = 1] = "Week";
27
+ PatternType[PatternType["Month"] = 2] = "Month";
28
+ PatternType[PatternType["MonthEnd"] = 4] = "MonthEnd";
29
+ PatternType[PatternType["MonthNth"] = 3] = "MonthNth";
30
+ })(PatternType || (exports.PatternType = PatternType = {}));
31
+ var EndType;
32
+ (function (EndType) {
33
+ EndType[EndType["AfterDate"] = 8225] = "AfterDate";
34
+ EndType[EndType["AfterNOccurrences"] = 8226] = "AfterNOccurrences";
35
+ EndType[EndType["NeverEnd"] = 8227] = "NeverEnd";
36
+ })(EndType || (exports.EndType = EndType = {}));
37
+ var NthOccurrence;
38
+ (function (NthOccurrence) {
39
+ NthOccurrence[NthOccurrence["First"] = 1] = "First";
40
+ NthOccurrence[NthOccurrence["Second"] = 2] = "Second";
41
+ NthOccurrence[NthOccurrence["Third"] = 3] = "Third";
42
+ NthOccurrence[NthOccurrence["Fourth"] = 4] = "Fourth";
43
+ NthOccurrence[NthOccurrence["Last"] = 5] = "Last";
44
+ })(NthOccurrence || (exports.NthOccurrence = NthOccurrence = {}));
45
+ class RecurrencePattern {
46
+ constructor(buffer) {
47
+ this.buffer = buffer;
48
+ const bufferEnd = buffer.length;
49
+ let patternTypeOffset = 0;
50
+ this.recurFrequency = this.readInt(OFFSETS.RecurFrequency, 1);
51
+ this.patternType = this.readInt(OFFSETS.PatternType, 1);
52
+ this.firstDateTime = winToJsDate(this.readInt(OFFSETS.FirstDateTime, 2));
53
+ this.period = this.readInt(OFFSETS.Period, 2);
54
+ this.patternTypeSpecific = this.readPatternTypeSpecific(this.patternType);
55
+ switch (this.patternType) {
56
+ case PatternType.Week:
57
+ case PatternType.Month:
58
+ case PatternType.MonthEnd:
59
+ patternTypeOffset = 4;
60
+ break;
61
+ case PatternType.MonthNth:
62
+ patternTypeOffset = 8;
63
+ break;
64
+ }
65
+ this.endType = this.readInt(OFFSETS.EndType + patternTypeOffset, 2);
66
+ this.occurrenceCount = this.readInt(OFFSETS.OccurrenceCount + patternTypeOffset, 2);
67
+ this.firstDOW = this.readInt(OFFSETS.FirstDOW + patternTypeOffset, 2);
68
+ this.startDate = winToJsDate(this.readInt(bufferEnd + OFFSETS.StartDate, 2));
69
+ this.endDate = winToJsDate(this.readInt(bufferEnd + OFFSETS.EndDate, 2));
70
+ }
71
+ toJSON() {
72
+ return {
73
+ recurFrequency: RecurFrequency[this.recurFrequency],
74
+ patternType: PatternType[this.patternType],
75
+ firstDateTime: this.firstDateTime,
76
+ period: this.period,
77
+ patternTypeSpecific: this.patternTypeSpecific,
78
+ endType: EndType[this.endType],
79
+ occurrenceCount: this.occurrenceCount,
80
+ firstDOW: this.firstDOW,
81
+ startDate: this.startDate,
82
+ endDate: this.endDate,
83
+ };
84
+ }
85
+ readInt(offset, size) {
86
+ switch (size) {
87
+ case 1:
88
+ return this.buffer.readInt16LE(offset);
89
+ case 2:
90
+ return this.buffer.readInt32LE(offset);
91
+ }
92
+ }
93
+ readPatternTypeSpecific(type) {
94
+ switch (type) {
95
+ case PatternType.Day:
96
+ return null;
97
+ case PatternType.Week:
98
+ return readWeekByte(this.buffer.readInt8(OFFSETS.PatternTypeSpecific));
99
+ case PatternType.Month:
100
+ case PatternType.MonthEnd:
101
+ return this.readInt(OFFSETS.PatternTypeSpecific, 2);
102
+ case PatternType.MonthNth:
103
+ return {
104
+ weekdays: readWeekByte(this.buffer.readInt8(OFFSETS.PatternTypeSpecific)),
105
+ nth: this.readInt(OFFSETS.PatternTypeSpecific + 4, 2),
106
+ };
107
+ }
108
+ }
109
+ }
110
+ exports.RecurrencePattern = RecurrencePattern;
111
+ function winToJsDate(dateInt) {
112
+ return new Date(dateInt * 60 * 1000 - 1.16444736e13); // subtract milliseconds between 1601-01-01 and 1970-01-01
113
+ }
114
+ function readWeekByte(byte) {
115
+ const weekArr = [];
116
+ for (let i = 0; i < 7; ++i) {
117
+ weekArr.push(Boolean(byte & (1 << i)));
118
+ }
119
+ return weekArr;
120
+ }
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { PSTFile } from './PSTFile.class';
2
- export { PSTTask } from './PSTTask.class';
3
- export { PSTRecipient } from './PSTRecipient.class';
4
- export { PSTAttachment } from './PSTAttachment.class';
5
- export { PSTMessage } from './PSTMessage.class';
6
- export { PSTFolder } from './PSTFolder.class';
1
+ export { PSTFile } from './PSTFile.class';
2
+ export { PSTTask } from './PSTTask.class';
3
+ export { PSTRecipient } from './PSTRecipient.class';
4
+ export { PSTAttachment } from './PSTAttachment.class';
5
+ export { PSTMessage } from './PSTMessage.class';
6
+ export { PSTFolder } from './PSTFolder.class';
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PSTFolder = exports.PSTMessage = exports.PSTAttachment = exports.PSTRecipient = exports.PSTTask = exports.PSTFile = void 0;
4
- var PSTFile_class_1 = require("./PSTFile.class");
5
- Object.defineProperty(exports, "PSTFile", { enumerable: true, get: function () { return PSTFile_class_1.PSTFile; } });
6
- var PSTTask_class_1 = require("./PSTTask.class");
7
- Object.defineProperty(exports, "PSTTask", { enumerable: true, get: function () { return PSTTask_class_1.PSTTask; } });
8
- var PSTRecipient_class_1 = require("./PSTRecipient.class");
9
- Object.defineProperty(exports, "PSTRecipient", { enumerable: true, get: function () { return PSTRecipient_class_1.PSTRecipient; } });
10
- var PSTAttachment_class_1 = require("./PSTAttachment.class");
11
- Object.defineProperty(exports, "PSTAttachment", { enumerable: true, get: function () { return PSTAttachment_class_1.PSTAttachment; } });
12
- var PSTMessage_class_1 = require("./PSTMessage.class");
13
- Object.defineProperty(exports, "PSTMessage", { enumerable: true, get: function () { return PSTMessage_class_1.PSTMessage; } });
14
- var PSTFolder_class_1 = require("./PSTFolder.class");
15
- Object.defineProperty(exports, "PSTFolder", { enumerable: true, get: function () { return PSTFolder_class_1.PSTFolder; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PSTFolder = exports.PSTMessage = exports.PSTAttachment = exports.PSTRecipient = exports.PSTTask = exports.PSTFile = void 0;
4
+ var PSTFile_class_1 = require("./PSTFile.class");
5
+ Object.defineProperty(exports, "PSTFile", { enumerable: true, get: function () { return PSTFile_class_1.PSTFile; } });
6
+ var PSTTask_class_1 = require("./PSTTask.class");
7
+ Object.defineProperty(exports, "PSTTask", { enumerable: true, get: function () { return PSTTask_class_1.PSTTask; } });
8
+ var PSTRecipient_class_1 = require("./PSTRecipient.class");
9
+ Object.defineProperty(exports, "PSTRecipient", { enumerable: true, get: function () { return PSTRecipient_class_1.PSTRecipient; } });
10
+ var PSTAttachment_class_1 = require("./PSTAttachment.class");
11
+ Object.defineProperty(exports, "PSTAttachment", { enumerable: true, get: function () { return PSTAttachment_class_1.PSTAttachment; } });
12
+ var PSTMessage_class_1 = require("./PSTMessage.class");
13
+ Object.defineProperty(exports, "PSTMessage", { enumerable: true, get: function () { return PSTMessage_class_1.PSTMessage; } });
14
+ var PSTFolder_class_1 = require("./PSTFolder.class");
15
+ Object.defineProperty(exports, "PSTFolder", { enumerable: true, get: function () { return PSTFolder_class_1.PSTFolder; } });
@@ -6,12 +6,12 @@
6
6
  "pst-extractor": "link:.."
7
7
  },
8
8
  "devDependencies": {
9
- "@types/node": "^17.0.23",
10
- "eslint-config-prettier": "^8.5.0",
11
- "eslint-plugin-prettier": "^4.0.0",
12
- "prettier": "^2.6.2",
13
- "ts-node": "^10.7.0",
14
- "typescript": "^4.6.3"
9
+ "@types/node": "^22.10.7",
10
+ "eslint-config-prettier": "^10.0.1",
11
+ "eslint-plugin-prettier": "^5.2.2",
12
+ "prettier": "^3.4.2",
13
+ "ts-node": "^10.9.2",
14
+ "typescript": "^5.7.3"
15
15
  },
16
16
  "scripts": {
17
17
  "start": "ts-node test-min.ts",