pst-extractor 1.8.0 → 1.10.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.
- package/dist/ColumnDescriptor.class.d.ts +26 -26
- package/dist/ColumnDescriptor.class.js +51 -48
- package/dist/DescriptorIndexNode.class.d.ts +25 -26
- package/dist/DescriptorIndexNode.class.js +53 -53
- package/dist/LZFu.class.d.ts +11 -12
- package/dist/LZFu.class.js +95 -95
- package/dist/NodeInfo.class.d.ts +33 -33
- package/dist/NodeInfo.class.js +52 -52
- package/dist/NodeMap.class.d.ts +35 -35
- package/dist/NodeMap.class.js +86 -83
- package/dist/OffsetIndexItem.class.d.ts +23 -24
- package/dist/OffsetIndexItem.class.js +45 -45
- package/dist/OutlookProperties.d.ts +275 -275
- package/dist/OutlookProperties.js +281 -281
- package/dist/PSTActivity.class.d.ts +103 -103
- package/dist/PSTActivity.class.js +144 -144
- package/dist/PSTAppointment.class.d.ts +270 -271
- package/dist/PSTAppointment.class.js +376 -376
- package/dist/PSTAttachment.class.d.ts +172 -172
- package/dist/PSTAttachment.class.js +317 -314
- package/dist/PSTContact.class.d.ts +884 -884
- package/dist/PSTContact.class.js +1227 -1227
- package/dist/PSTDescriptorItem.class.d.ts +45 -46
- package/dist/PSTDescriptorItem.class.js +99 -96
- package/dist/PSTFile.class.d.ts +215 -216
- package/dist/PSTFile.class.js +818 -792
- package/dist/PSTFolder.class.d.ts +129 -129
- package/dist/PSTFolder.class.js +318 -307
- package/dist/PSTMessage.class.d.ts +788 -789
- package/dist/PSTMessage.class.js +1321 -1318
- package/dist/PSTMessageStore.class.d.ts +13 -13
- package/dist/PSTMessageStore.class.js +17 -17
- package/dist/PSTNodeInputStream.class.d.ts +122 -123
- package/dist/PSTNodeInputStream.class.js +514 -488
- package/dist/PSTObject.class.d.ts +133 -134
- package/dist/PSTObject.class.js +326 -323
- package/dist/PSTRecipient.class.d.ts +65 -65
- package/dist/PSTRecipient.class.js +103 -103
- package/dist/PSTTable.class.d.ts +52 -52
- package/dist/PSTTable.class.js +175 -172
- package/dist/PSTTable7C.class.d.ts +45 -45
- package/dist/PSTTable7C.class.js +281 -278
- package/dist/PSTTableBC.class.d.ts +31 -31
- package/dist/PSTTableBC.class.js +111 -108
- package/dist/PSTTableItem.class.d.ts +47 -48
- package/dist/PSTTableItem.class.js +124 -121
- package/dist/PSTTask.class.d.ts +146 -146
- package/dist/PSTTask.class.js +205 -205
- package/dist/PSTUtil.class.d.ts +134 -135
- package/dist/PSTUtil.class.js +795 -790
- package/dist/RecurrencePattern.class.d.ts +49 -50
- package/dist/RecurrencePattern.class.js +120 -120
- package/dist/index.d.ts +6 -6
- package/dist/index.js +15 -15
- package/example/package.json +7 -7
- package/example/test-min.ts +31 -12
- package/example/{test-mem.ts → test.ts} +38 -30
- package/example/testdata/output.txt +278 -0
- package/example/testdata/outputBody.txt +3404 -0
- package/example/yarn.lock +112 -50
- package/junit.xml +36 -36
- package/package.json +28 -27
- package/readme.md +1 -3
- package/example/test-max.ts +0 -251
package/dist/PSTFile.class.d.ts
CHANGED
|
@@ -1,216 +1,215 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
static
|
|
11
|
-
static
|
|
12
|
-
static
|
|
13
|
-
static
|
|
14
|
-
static
|
|
15
|
-
static
|
|
16
|
-
static
|
|
17
|
-
static
|
|
18
|
-
static
|
|
19
|
-
static
|
|
20
|
-
static
|
|
21
|
-
static
|
|
22
|
-
static
|
|
23
|
-
static
|
|
24
|
-
static
|
|
25
|
-
static
|
|
26
|
-
static
|
|
27
|
-
|
|
28
|
-
private
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
private
|
|
36
|
-
private
|
|
37
|
-
private
|
|
38
|
-
private
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*
|
|
42
|
-
* @
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
constructor(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
*
|
|
54
|
-
* @
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
*
|
|
60
|
-
* @
|
|
61
|
-
* @param {
|
|
62
|
-
* @
|
|
63
|
-
* @
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
*
|
|
69
|
-
* @param {number}
|
|
70
|
-
* @
|
|
71
|
-
* @
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
*
|
|
77
|
-
* @
|
|
78
|
-
* @
|
|
79
|
-
* @
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
*
|
|
85
|
-
* @
|
|
86
|
-
* @param {
|
|
87
|
-
* @
|
|
88
|
-
* @
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
*
|
|
94
|
-
* @
|
|
95
|
-
* @
|
|
96
|
-
* @
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* @
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
*
|
|
109
|
-
* @
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
*
|
|
115
|
-
* @
|
|
116
|
-
* @
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
*
|
|
122
|
-
* @
|
|
123
|
-
* @
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
*
|
|
129
|
-
* @
|
|
130
|
-
* @
|
|
131
|
-
* @
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
*
|
|
137
|
-
* @
|
|
138
|
-
* @param {
|
|
139
|
-
* @
|
|
140
|
-
* @
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
*
|
|
146
|
-
* @
|
|
147
|
-
* @
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
*
|
|
153
|
-
* @
|
|
154
|
-
* @
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
*
|
|
160
|
-
* @
|
|
161
|
-
* @
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
getPSTDescriptorItems(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* @
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
*
|
|
175
|
-
* @
|
|
176
|
-
* @
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
*
|
|
182
|
-
* @
|
|
183
|
-
* @
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
*
|
|
189
|
-
* @param {
|
|
190
|
-
* @
|
|
191
|
-
* @
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
*
|
|
197
|
-
* @param {
|
|
198
|
-
* @param {number}
|
|
199
|
-
* @
|
|
200
|
-
* @
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
*
|
|
206
|
-
* @
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
*
|
|
212
|
-
* @
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
1
|
+
import Long from 'long';
|
|
2
|
+
import { DescriptorIndexNode } from './DescriptorIndexNode.class';
|
|
3
|
+
import { OffsetIndexItem } from './OffsetIndexItem.class';
|
|
4
|
+
import { PSTDescriptorItem } from './PSTDescriptorItem.class';
|
|
5
|
+
import { PSTFolder } from './PSTFolder.class';
|
|
6
|
+
import { PSTMessageStore } from './PSTMessageStore.class';
|
|
7
|
+
import { PSTNodeInputStream } from './PSTNodeInputStream.class';
|
|
8
|
+
export declare class PSTFile {
|
|
9
|
+
static ENCRYPTION_TYPE_NONE: number;
|
|
10
|
+
static ENCRYPTION_TYPE_COMPRESSIBLE: number;
|
|
11
|
+
static MESSAGE_STORE_DESCRIPTOR_IDENTIFIER: number;
|
|
12
|
+
static ROOT_FOLDER_DESCRIPTOR_IDENTIFIER: number;
|
|
13
|
+
static PST_TYPE_ANSI: number;
|
|
14
|
+
static PST_TYPE_ANSI_2: number;
|
|
15
|
+
static PST_TYPE_UNICODE: number;
|
|
16
|
+
static PST_TYPE_2013_UNICODE: number;
|
|
17
|
+
static PS_PUBLIC_STRINGS: number;
|
|
18
|
+
static PS_INTERNET_HEADERS: number;
|
|
19
|
+
static PSETID_Messaging: number;
|
|
20
|
+
static PSETID_Note: number;
|
|
21
|
+
static PSETID_PostRss: number;
|
|
22
|
+
static PSETID_Task: number;
|
|
23
|
+
static PSETID_UnifiedMessaging: number;
|
|
24
|
+
static PS_MAPI: number;
|
|
25
|
+
static PSETID_AirSync: number;
|
|
26
|
+
static PSETID_Sharing: number;
|
|
27
|
+
private guidMap;
|
|
28
|
+
private _encryptionType;
|
|
29
|
+
get encryptionType(): number;
|
|
30
|
+
private _pstFileType;
|
|
31
|
+
get pstFileType(): number;
|
|
32
|
+
private _pstFilename;
|
|
33
|
+
get pstFilename(): string;
|
|
34
|
+
private childrenDescriptorTree;
|
|
35
|
+
private static nodeMap;
|
|
36
|
+
private pstFD;
|
|
37
|
+
private pstBuffer;
|
|
38
|
+
private position;
|
|
39
|
+
/**
|
|
40
|
+
* Creates an instance of PSTFile. File is opened in constructor.
|
|
41
|
+
* @param {string} fileName
|
|
42
|
+
* @memberof PSTFile
|
|
43
|
+
*/
|
|
44
|
+
constructor(pstBuffer: Buffer);
|
|
45
|
+
constructor(fileName: string);
|
|
46
|
+
/**
|
|
47
|
+
* Close the file.
|
|
48
|
+
* @memberof PSTFile
|
|
49
|
+
*/
|
|
50
|
+
close(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Process name to ID map.
|
|
53
|
+
* @private
|
|
54
|
+
* @memberof PSTFile
|
|
55
|
+
*/
|
|
56
|
+
private processNameToIDMap;
|
|
57
|
+
/**
|
|
58
|
+
* Get data from a descriptor and store in buffer.
|
|
59
|
+
* @private
|
|
60
|
+
* @param {PSTTableItem} item
|
|
61
|
+
* @param {Map<number, PSTDescriptorItem>} localDescriptorItems
|
|
62
|
+
* @returns {Buffer}
|
|
63
|
+
* @memberof PSTFile
|
|
64
|
+
*/
|
|
65
|
+
private getData;
|
|
66
|
+
/**
|
|
67
|
+
* Get name to ID map item.
|
|
68
|
+
* @param {number} key
|
|
69
|
+
* @param {number} idx
|
|
70
|
+
* @returns {number}
|
|
71
|
+
* @memberof PSTFile
|
|
72
|
+
*/
|
|
73
|
+
getNameToIdMapItem(key: number, idx: number): number;
|
|
74
|
+
/**
|
|
75
|
+
* Get public string to id map item.
|
|
76
|
+
* @static
|
|
77
|
+
* @param {string} key
|
|
78
|
+
* @returns {number}
|
|
79
|
+
* @memberof PSTFile
|
|
80
|
+
*/
|
|
81
|
+
static getPublicStringToIdMapItem(key: string): number;
|
|
82
|
+
/**
|
|
83
|
+
* Get property name from id.
|
|
84
|
+
* @static
|
|
85
|
+
* @param {number} propertyId
|
|
86
|
+
* @param {boolean} bNamed
|
|
87
|
+
* @returns {string}
|
|
88
|
+
* @memberof PSTFile
|
|
89
|
+
*/
|
|
90
|
+
static getPropertyName(propertyId: number, bNamed: boolean): string | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Get name to id map key.
|
|
93
|
+
* @static
|
|
94
|
+
* @param {number} propId
|
|
95
|
+
* @returns {long}
|
|
96
|
+
* @memberof PSTFile
|
|
97
|
+
*/
|
|
98
|
+
static getNameToIdMapKey(propId: number): Long | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* Get the message store of the PST file. Note that this doesn't really
|
|
101
|
+
* have much information, better to look under the root folder.
|
|
102
|
+
* @returns {PSTMessageStore}
|
|
103
|
+
* @memberof PSTFile
|
|
104
|
+
*/
|
|
105
|
+
getMessageStore(): PSTMessageStore;
|
|
106
|
+
/**
|
|
107
|
+
* Get the root folder for the PST file
|
|
108
|
+
* @returns {PSTFolder}
|
|
109
|
+
* @memberof PSTFile
|
|
110
|
+
*/
|
|
111
|
+
getRootFolder(): PSTFolder;
|
|
112
|
+
/**
|
|
113
|
+
* Read a leaf in the b-tree.
|
|
114
|
+
* @param {long} bid
|
|
115
|
+
* @returns {PSTNodeInputStream}
|
|
116
|
+
* @memberof PSTFile
|
|
117
|
+
*/
|
|
118
|
+
readLeaf(bid: Long): PSTNodeInputStream;
|
|
119
|
+
/**
|
|
120
|
+
* Read the size of the specified leaf.
|
|
121
|
+
* @param {long} bid
|
|
122
|
+
* @returns {number}
|
|
123
|
+
* @memberof PSTFile
|
|
124
|
+
*/
|
|
125
|
+
getLeafSize(bid: Long): number;
|
|
126
|
+
/**
|
|
127
|
+
* Get file offset, which is sorted in 8 little endian bytes
|
|
128
|
+
* @private
|
|
129
|
+
* @param {long} startOffset
|
|
130
|
+
* @returns {long}
|
|
131
|
+
* @memberof PSTFile
|
|
132
|
+
*/
|
|
133
|
+
private extractLEFileOffset;
|
|
134
|
+
/**
|
|
135
|
+
* Navigate PST B-tree and find a specific item.
|
|
136
|
+
* @private
|
|
137
|
+
* @param {long} index
|
|
138
|
+
* @param {boolean} descTree
|
|
139
|
+
* @returns {Buffer}
|
|
140
|
+
* @memberof PSTFile
|
|
141
|
+
*/
|
|
142
|
+
private findBtreeItem;
|
|
143
|
+
/**
|
|
144
|
+
* Get a descriptor index node in the b-tree
|
|
145
|
+
* @param {long} id
|
|
146
|
+
* @returns {DescriptorIndexNode}
|
|
147
|
+
* @memberof PSTFile
|
|
148
|
+
*/
|
|
149
|
+
getDescriptorIndexNode(id: Long): DescriptorIndexNode;
|
|
150
|
+
/**
|
|
151
|
+
* Get an offset index node in the b-tree
|
|
152
|
+
* @param {long} id
|
|
153
|
+
* @returns {OffsetIndexItem}
|
|
154
|
+
* @memberof PSTFile
|
|
155
|
+
*/
|
|
156
|
+
getOffsetIndexNode(id: Long): OffsetIndexItem;
|
|
157
|
+
/**
|
|
158
|
+
* Parse a PSTDescriptor and get all of its items
|
|
159
|
+
* @param {long} localDescriptorsOffsetIndexIdentifier
|
|
160
|
+
* @returns {Map<number, PSTDescriptorItem>}
|
|
161
|
+
* @memberof PSTFile
|
|
162
|
+
*/
|
|
163
|
+
getPSTDescriptorItems(localDescriptorsOffsetIndexIdentifier: Long): Map<number, PSTDescriptorItem>;
|
|
164
|
+
getPSTDescriptorItems(inputStream: PSTNodeInputStream): Map<number, PSTDescriptorItem>;
|
|
165
|
+
/**
|
|
166
|
+
* Build the children descriptor tree, used as a fallback when the nodes
|
|
167
|
+
* that list file contents are broken.
|
|
168
|
+
* @returns
|
|
169
|
+
* @memberof PSTFile
|
|
170
|
+
*/
|
|
171
|
+
getChildDescriptorTree(): Map<number, DescriptorIndexNode[]>;
|
|
172
|
+
/**
|
|
173
|
+
* Recursively walk PST descriptor tree and create internal version.
|
|
174
|
+
* @private
|
|
175
|
+
* @param {long} btreeStartOffset
|
|
176
|
+
* @memberof PSTFile
|
|
177
|
+
*/
|
|
178
|
+
private processDescriptorBTree;
|
|
179
|
+
/**
|
|
180
|
+
* Read a single byte from the PST file.
|
|
181
|
+
* @param {number} [position]
|
|
182
|
+
* @returns {number}
|
|
183
|
+
* @memberof PSTFile
|
|
184
|
+
*/
|
|
185
|
+
read(position?: number): number;
|
|
186
|
+
/**
|
|
187
|
+
* Read a complete section from the file, storing in the supplied buffer.
|
|
188
|
+
* @param {Buffer} buffer
|
|
189
|
+
* @param {number} [position]
|
|
190
|
+
* @returns
|
|
191
|
+
* @memberof PSTFile
|
|
192
|
+
*/
|
|
193
|
+
readCompletely(buffer: Buffer, position?: number): void;
|
|
194
|
+
/**
|
|
195
|
+
* Read from either file system, or in memory buffer.
|
|
196
|
+
* @param {Buffer} buffer
|
|
197
|
+
* @param {number} length
|
|
198
|
+
* @param {number} position
|
|
199
|
+
* @returns {number} of bytes read
|
|
200
|
+
* @memberof PSTFile
|
|
201
|
+
*/
|
|
202
|
+
private readSync;
|
|
203
|
+
/**
|
|
204
|
+
* Seek to a specific position in PST file.
|
|
205
|
+
* @param {long} index
|
|
206
|
+
* @memberof PSTFile
|
|
207
|
+
*/
|
|
208
|
+
seek(index: Long): void;
|
|
209
|
+
/**
|
|
210
|
+
* JSON stringify the object properties.
|
|
211
|
+
* @returns {string}
|
|
212
|
+
* @memberof PSTFile
|
|
213
|
+
*/
|
|
214
|
+
toJSON(): any;
|
|
215
|
+
}
|