pst-extractor 1.6.0 → 1.9.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.js +9 -4
- package/dist/DescriptorIndexNode.class.d.ts +3 -3
- package/dist/DescriptorIndexNode.class.js +1 -0
- package/dist/LZFu.class.js +2 -0
- package/dist/NodeInfo.class.d.ts +2 -2
- package/dist/NodeInfo.class.js +2 -0
- package/dist/NodeMap.class.d.ts +2 -2
- package/dist/NodeMap.class.js +7 -2
- package/dist/OffsetIndexItem.class.d.ts +3 -3
- package/dist/OffsetIndexItem.class.js +1 -0
- package/dist/OutlookProperties.d.ts +2 -0
- package/dist/OutlookProperties.js +3 -0
- package/dist/PSTActivity.class.js +1 -0
- package/dist/PSTAppointment.class.js +1 -0
- package/dist/PSTAttachment.class.js +7 -2
- package/dist/PSTContact.class.js +1 -0
- package/dist/PSTDescriptorItem.class.js +9 -4
- package/dist/PSTFile.class.d.ts +8 -8
- package/dist/PSTFile.class.js +43 -20
- package/dist/PSTFolder.class.js +10 -5
- package/dist/PSTMessage.class.d.ts +2 -2
- package/dist/PSTMessage.class.js +9 -4
- package/dist/PSTMessageStore.class.js +1 -0
- package/dist/PSTNodeInputStream.class.d.ts +5 -5
- package/dist/PSTNodeInputStream.class.js +52 -25
- package/dist/PSTObject.class.d.ts +3 -3
- package/dist/PSTObject.class.js +11 -6
- package/dist/PSTRecipient.class.js +2 -0
- package/dist/PSTTable.class.d.ts +2 -2
- package/dist/PSTTable.class.js +16 -11
- package/dist/PSTTable7C.class.js +24 -19
- package/dist/PSTTableBC.class.js +9 -4
- package/dist/PSTTableItem.class.d.ts +4 -4
- package/dist/PSTTableItem.class.js +7 -2
- package/dist/PSTTask.class.d.ts +13 -0
- package/dist/PSTTask.class.js +19 -0
- package/dist/PSTUtil.class.d.ts +5 -5
- package/dist/PSTUtil.class.js +16 -7
- package/dist/RecurrencePattern.class.d.ts +50 -0
- package/dist/RecurrencePattern.class.js +120 -0
- package/dist/index.js +7 -6
- package/example/package.json +8 -8
- package/example/test-min.ts +32 -7
- package/example/{test-mem.ts → test.ts} +43 -32
- package/example/testdata/attachments/Clinometer Usage.pdf +0 -0
- package/example/testdata/attachments/primoz-roglic-of-slovenia-and-team-jumbo-visma-red-leader-news-photo-1628610563.jpg +0 -0
- package/example/testdata/attachments/text.txt +1 -0
- package/example/testdata/output.txt +278 -0
- package/example/testdata/outputBody.txt +3404 -0
- package/example/testdata/pstextractortest@outlook.com.ost +0 -0
- package/example/testdata/pstextractortestpdf@outlook.com.ost +0 -0
- package/example/yarn.lock +85 -45
- package/junit.xml +37 -31
- package/package.json +28 -27
- package/readme.md +13 -6
- package/example/test-max.ts +0 -247
|
Binary file
|
|
Binary file
|
package/example/yarn.lock
CHANGED
|
@@ -2,32 +2,77 @@
|
|
|
2
2
|
# yarn lockfile v1
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
"@cspotcode/source-map-consumer@0.8.0":
|
|
6
|
+
version "0.8.0"
|
|
7
|
+
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
|
|
8
|
+
integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==
|
|
9
|
+
|
|
10
|
+
"@cspotcode/source-map-support@0.7.0":
|
|
11
|
+
version "0.7.0"
|
|
12
|
+
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5"
|
|
13
|
+
integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==
|
|
14
|
+
dependencies:
|
|
15
|
+
"@cspotcode/source-map-consumer" "0.8.0"
|
|
16
|
+
|
|
17
|
+
"@tsconfig/node10@^1.0.7":
|
|
18
|
+
version "1.0.8"
|
|
19
|
+
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
|
|
20
|
+
integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
|
|
21
|
+
|
|
22
|
+
"@tsconfig/node12@^1.0.7":
|
|
23
|
+
version "1.0.9"
|
|
24
|
+
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
|
|
25
|
+
integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
|
|
26
|
+
|
|
27
|
+
"@tsconfig/node14@^1.0.0":
|
|
28
|
+
version "1.0.1"
|
|
29
|
+
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
|
|
30
|
+
integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
|
|
31
|
+
|
|
32
|
+
"@tsconfig/node16@^1.0.2":
|
|
33
|
+
version "1.0.2"
|
|
34
|
+
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
|
|
35
|
+
integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
|
|
36
|
+
|
|
37
|
+
"@types/node@^17.0.22":
|
|
38
|
+
version "17.0.22"
|
|
39
|
+
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.22.tgz#38b6c4b9b2f3ed9f2e376cce42a298fb2375251e"
|
|
40
|
+
integrity sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw==
|
|
41
|
+
|
|
42
|
+
acorn-walk@^8.1.1:
|
|
43
|
+
version "8.2.0"
|
|
44
|
+
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
|
|
45
|
+
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
|
46
|
+
|
|
47
|
+
acorn@^8.4.1:
|
|
48
|
+
version "8.7.0"
|
|
49
|
+
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
|
|
50
|
+
integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
|
|
51
|
+
|
|
5
52
|
arg@^4.1.0:
|
|
6
53
|
version "4.1.3"
|
|
7
54
|
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
|
8
55
|
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
|
9
56
|
|
|
10
|
-
|
|
57
|
+
create-require@^1.1.0:
|
|
11
58
|
version "1.1.1"
|
|
12
|
-
resolved "https://registry.yarnpkg.com/
|
|
13
|
-
integrity sha512-
|
|
59
|
+
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
|
|
60
|
+
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
|
|
14
61
|
|
|
15
62
|
diff@^4.0.1:
|
|
16
63
|
version "4.0.2"
|
|
17
64
|
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
|
18
65
|
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
|
19
66
|
|
|
20
|
-
eslint-config-prettier@^
|
|
21
|
-
version "
|
|
22
|
-
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-
|
|
23
|
-
integrity sha512-
|
|
24
|
-
dependencies:
|
|
25
|
-
get-stdin "^6.0.0"
|
|
67
|
+
eslint-config-prettier@^8.5.0:
|
|
68
|
+
version "8.5.0"
|
|
69
|
+
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
|
|
70
|
+
integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
|
|
26
71
|
|
|
27
|
-
eslint-plugin-prettier@^
|
|
28
|
-
version "
|
|
29
|
-
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-
|
|
30
|
-
integrity sha512
|
|
72
|
+
eslint-plugin-prettier@^4.0.0:
|
|
73
|
+
version "4.0.0"
|
|
74
|
+
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0"
|
|
75
|
+
integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==
|
|
31
76
|
dependencies:
|
|
32
77
|
prettier-linter-helpers "^1.0.0"
|
|
33
78
|
|
|
@@ -36,11 +81,6 @@ fast-diff@^1.1.2:
|
|
|
36
81
|
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
|
|
37
82
|
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
|
|
38
83
|
|
|
39
|
-
get-stdin@^6.0.0:
|
|
40
|
-
version "6.0.0"
|
|
41
|
-
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
|
|
42
|
-
integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==
|
|
43
|
-
|
|
44
84
|
long@^4.0.0:
|
|
45
85
|
version "4.0.0"
|
|
46
86
|
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
|
|
@@ -58,49 +98,49 @@ prettier-linter-helpers@^1.0.0:
|
|
|
58
98
|
dependencies:
|
|
59
99
|
fast-diff "^1.1.2"
|
|
60
100
|
|
|
61
|
-
prettier@^2.0
|
|
62
|
-
version "2.0
|
|
63
|
-
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.
|
|
64
|
-
integrity sha512-
|
|
101
|
+
prettier@^2.6.0:
|
|
102
|
+
version "2.6.0"
|
|
103
|
+
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4"
|
|
104
|
+
integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==
|
|
65
105
|
|
|
66
106
|
"pst-extractor@link:..":
|
|
67
107
|
version "0.0.0"
|
|
68
108
|
uid ""
|
|
69
109
|
|
|
70
|
-
|
|
71
|
-
version "
|
|
72
|
-
resolved "https://registry.yarnpkg.com/
|
|
73
|
-
integrity sha512-
|
|
74
|
-
dependencies:
|
|
75
|
-
buffer-from "^1.0.0"
|
|
76
|
-
source-map "^0.6.0"
|
|
77
|
-
|
|
78
|
-
source-map@^0.6.0:
|
|
79
|
-
version "0.6.1"
|
|
80
|
-
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
|
81
|
-
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
|
82
|
-
|
|
83
|
-
ts-node@^8.9.0:
|
|
84
|
-
version "8.9.0"
|
|
85
|
-
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.9.0.tgz#d7bf7272dcbecd3a2aa18bd0b96c7d2f270c15d4"
|
|
86
|
-
integrity sha512-rwkXfOs9zmoHrV8xE++dmNd6ZIS+nmHHCxcV53ekGJrxFLMbp+pizpPS07ARvhwneCIECPppOwbZHvw9sQtU4w==
|
|
110
|
+
ts-node@^10.7.0:
|
|
111
|
+
version "10.7.0"
|
|
112
|
+
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5"
|
|
113
|
+
integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==
|
|
87
114
|
dependencies:
|
|
115
|
+
"@cspotcode/source-map-support" "0.7.0"
|
|
116
|
+
"@tsconfig/node10" "^1.0.7"
|
|
117
|
+
"@tsconfig/node12" "^1.0.7"
|
|
118
|
+
"@tsconfig/node14" "^1.0.0"
|
|
119
|
+
"@tsconfig/node16" "^1.0.2"
|
|
120
|
+
acorn "^8.4.1"
|
|
121
|
+
acorn-walk "^8.1.1"
|
|
88
122
|
arg "^4.1.0"
|
|
123
|
+
create-require "^1.1.0"
|
|
89
124
|
diff "^4.0.1"
|
|
90
125
|
make-error "^1.1.1"
|
|
91
|
-
|
|
126
|
+
v8-compile-cache-lib "^3.0.0"
|
|
92
127
|
yn "3.1.1"
|
|
93
128
|
|
|
94
|
-
typescript@^
|
|
95
|
-
version "
|
|
96
|
-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-
|
|
97
|
-
integrity sha512-
|
|
129
|
+
typescript@^4.6.2:
|
|
130
|
+
version "4.6.2"
|
|
131
|
+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4"
|
|
132
|
+
integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==
|
|
98
133
|
|
|
99
|
-
uuid-parse@^1.
|
|
134
|
+
uuid-parse@^1.1.0:
|
|
100
135
|
version "1.1.0"
|
|
101
136
|
resolved "https://registry.yarnpkg.com/uuid-parse/-/uuid-parse-1.1.0.tgz#7061c5a1384ae0e1f943c538094597e1b5f3a65b"
|
|
102
137
|
integrity sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==
|
|
103
138
|
|
|
139
|
+
v8-compile-cache-lib@^3.0.0:
|
|
140
|
+
version "3.0.0"
|
|
141
|
+
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8"
|
|
142
|
+
integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==
|
|
143
|
+
|
|
104
144
|
yn@3.1.1:
|
|
105
145
|
version "3.1.1"
|
|
106
146
|
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
package/junit.xml
CHANGED
|
@@ -1,63 +1,69 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<testsuites name="jest tests" tests="
|
|
3
|
-
<testsuite name="PSTfile tests" errors="0" failures="0" skipped="0" timestamp="
|
|
4
|
-
<testcase classname="PSTfile tests should open the file" name="PSTfile tests should open the file" time="0.
|
|
2
|
+
<testsuites name="jest tests" tests="22" failures="0" errors="0" time="7.714">
|
|
3
|
+
<testsuite name="PSTfile tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.376" tests="1">
|
|
4
|
+
<testcase classname="PSTfile tests should open the file" name="PSTfile tests should open the file" time="0.015">
|
|
5
5
|
</testcase>
|
|
6
6
|
</testsuite>
|
|
7
|
-
<testsuite name="PSTObject tests" errors="0" failures="0" skipped="0" timestamp="
|
|
8
|
-
<testcase classname="PSTObject tests should have basic attributes" name="PSTObject tests should have basic attributes" time="0.
|
|
7
|
+
<testsuite name="PSTObject tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.487" tests="1">
|
|
8
|
+
<testcase classname="PSTObject tests should have basic attributes" name="PSTObject tests should have basic attributes" time="0.144">
|
|
9
9
|
</testcase>
|
|
10
10
|
</testsuite>
|
|
11
|
-
<testsuite name="PSTFolder tests" errors="0" failures="0" skipped="0" timestamp="
|
|
12
|
-
<testcase classname="PSTFolder tests should have a root folder" name="PSTFolder tests should have a root folder" time="0.
|
|
11
|
+
<testsuite name="PSTFolder tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.482" tests="2">
|
|
12
|
+
<testcase classname="PSTFolder tests should have a root folder" name="PSTFolder tests should have a root folder" time="0.012">
|
|
13
13
|
</testcase>
|
|
14
|
-
<testcase classname="PSTFolder tests root folder should have sub folders" name="PSTFolder tests root folder should have sub folders" time="0.
|
|
14
|
+
<testcase classname="PSTFolder tests root folder should have sub folders" name="PSTFolder tests root folder should have sub folders" time="0.114">
|
|
15
15
|
</testcase>
|
|
16
16
|
</testsuite>
|
|
17
|
-
<testsuite name="
|
|
18
|
-
<testcase classname="
|
|
19
|
-
</testcase>
|
|
20
|
-
<testcase classname="PSTMessage tests should have email message which uses block skip points" name="PSTMessage tests should have email message which uses block skip points" time="0.018">
|
|
17
|
+
<testsuite name="PSTRecipient tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.533" tests="1">
|
|
18
|
+
<testcase classname="PSTRecipient tests should have email messages" name="PSTRecipient tests should have email messages" time="0.179">
|
|
21
19
|
</testcase>
|
|
22
20
|
</testsuite>
|
|
23
|
-
<testsuite name="
|
|
24
|
-
<testcase classname="
|
|
21
|
+
<testsuite name="PSTMessage tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.625" tests="2">
|
|
22
|
+
<testcase classname="PSTMessage tests should have email messages" name="PSTMessage tests should have email messages" time="0.098">
|
|
23
|
+
</testcase>
|
|
24
|
+
<testcase classname="PSTMessage tests should have email message which uses block skip points" name="PSTMessage tests should have email message which uses block skip points" time="0.055">
|
|
25
25
|
</testcase>
|
|
26
26
|
</testsuite>
|
|
27
|
-
<testsuite name="PSTActivity tests" errors="0" failures="0" skipped="0" timestamp="
|
|
28
|
-
<testcase classname="PSTActivity tests should have a Journal folder" name="PSTActivity tests should have a Journal folder" time="0.
|
|
27
|
+
<testsuite name="PSTActivity tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.827" tests="2">
|
|
28
|
+
<testcase classname="PSTActivity tests should have a Journal folder" name="PSTActivity tests should have a Journal folder" time="0.002">
|
|
29
29
|
</testcase>
|
|
30
|
-
<testcase classname="PSTActivity tests root folder should have a journal entry" name="PSTActivity tests root folder should have a journal entry" time="0.
|
|
30
|
+
<testcase classname="PSTActivity tests root folder should have a journal entry" name="PSTActivity tests root folder should have a journal entry" time="0.015">
|
|
31
31
|
</testcase>
|
|
32
32
|
</testsuite>
|
|
33
|
-
<testsuite name="PSTTask tests" errors="0" failures="0" skipped="0" timestamp="
|
|
33
|
+
<testsuite name="PSTTask tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.833" tests="2">
|
|
34
34
|
<testcase classname="PSTTask tests should have a Tasks folder" name="PSTTask tests should have a Tasks folder" time="0.002">
|
|
35
35
|
</testcase>
|
|
36
|
-
<testcase classname="PSTTask tests should have two tasks" name="PSTTask tests should have two tasks" time="0.
|
|
36
|
+
<testcase classname="PSTTask tests should have two tasks" name="PSTTask tests should have two tasks" time="0.026">
|
|
37
|
+
</testcase>
|
|
38
|
+
</testsuite>
|
|
39
|
+
<testsuite name="PSTAppointment tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.835" tests="2">
|
|
40
|
+
<testcase classname="PSTAppointment tests should have a Calendar folder" name="PSTAppointment tests should have a Calendar folder" time="0.003">
|
|
41
|
+
</testcase>
|
|
42
|
+
<testcase classname="PSTAppointment tests should have two calendar items" name="PSTAppointment tests should have two calendar items" time="0.024">
|
|
37
43
|
</testcase>
|
|
38
44
|
</testsuite>
|
|
39
|
-
<testsuite name="
|
|
40
|
-
<testcase classname="
|
|
45
|
+
<testsuite name="PSTContact tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.85" tests="2">
|
|
46
|
+
<testcase classname="PSTContact tests should have a Contact folder" name="PSTContact tests should have a Contact folder" time="0.002">
|
|
41
47
|
</testcase>
|
|
42
|
-
<testcase classname="
|
|
48
|
+
<testcase classname="PSTContact tests should have a contact with several fields" name="PSTContact tests should have a contact with several fields" time="0.041">
|
|
43
49
|
</testcase>
|
|
44
50
|
</testsuite>
|
|
45
|
-
<testsuite name="
|
|
46
|
-
<testcase classname="
|
|
51
|
+
<testsuite name="RecurrencePattern tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="4.864" tests="2">
|
|
52
|
+
<testcase classname="RecurrencePattern tests should have a Calendar folder" name="RecurrencePattern tests should have a Calendar folder" time="0.002">
|
|
47
53
|
</testcase>
|
|
48
|
-
<testcase classname="
|
|
54
|
+
<testcase classname="RecurrencePattern tests should have repeating events" name="RecurrencePattern tests should have repeating events" time="0.046">
|
|
49
55
|
</testcase>
|
|
50
56
|
</testsuite>
|
|
51
|
-
<testsuite name="PSTAttachment tests" errors="0" failures="0" skipped="0" timestamp="
|
|
52
|
-
<testcase classname="PSTAttachment tests should have a contact with an attachment" name="PSTAttachment tests should have a contact with an attachment" time="0.
|
|
57
|
+
<testsuite name="PSTAttachment tests" errors="0" failures="0" skipped="0" timestamp="2022-04-06T14:15:05" time="5.325" tests="5">
|
|
58
|
+
<testcase classname="PSTAttachment tests should have a contact with an attachment" name="PSTAttachment tests should have a contact with an attachment" time="0.246">
|
|
53
59
|
</testcase>
|
|
54
|
-
<testcase classname="PSTAttachment tests should have a task with an attachment" name="PSTAttachment tests should have a task with an attachment" time="0.
|
|
60
|
+
<testcase classname="PSTAttachment tests should have a task with an attachment" name="PSTAttachment tests should have a task with an attachment" time="0.115">
|
|
55
61
|
</testcase>
|
|
56
|
-
<testcase classname="PSTAttachment tests should have email with word attachment" name="PSTAttachment tests should have email with word attachment" time="0.
|
|
62
|
+
<testcase classname="PSTAttachment tests should have email with word attachment" name="PSTAttachment tests should have email with word attachment" time="0.119">
|
|
57
63
|
</testcase>
|
|
58
|
-
<testcase classname="PSTAttachment tests should have email with excel attachment" name="PSTAttachment tests should have email with excel attachment" time="0.
|
|
64
|
+
<testcase classname="PSTAttachment tests should have email with excel attachment" name="PSTAttachment tests should have email with excel attachment" time="0.123">
|
|
59
65
|
</testcase>
|
|
60
|
-
<testcase classname="PSTAttachment tests should have email with jpg attachment" name="PSTAttachment tests should have email with jpg attachment" time="0.
|
|
66
|
+
<testcase classname="PSTAttachment tests should have email with jpg attachment" name="PSTAttachment tests should have email with jpg attachment" time="0.123">
|
|
61
67
|
</testcase>
|
|
62
68
|
</testsuite>
|
|
63
69
|
</testsuites>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pst-extractor",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Extract objects from MS Outlook/Exchange PST files",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,39 +18,40 @@
|
|
|
18
18
|
"author": "Ed Pfromer (epfromer@gmail.com)",
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@babel/core": "^7.
|
|
22
|
-
"@babel/plugin-proposal-class-properties": "^7.
|
|
23
|
-
"@babel/preset-env": "^7.
|
|
24
|
-
"@babel/preset-typescript": "^7.
|
|
25
|
-
"@types/debug": "4.1.
|
|
26
|
-
"@types/jest": "^
|
|
21
|
+
"@babel/core": "^7.17.8",
|
|
22
|
+
"@babel/plugin-proposal-class-properties": "^7.16.7",
|
|
23
|
+
"@babel/preset-env": "^7.16.11",
|
|
24
|
+
"@babel/preset-typescript": "^7.16.7",
|
|
25
|
+
"@types/debug": "4.1.7",
|
|
26
|
+
"@types/jest": "^27.4.1",
|
|
27
27
|
"@types/long": "^4.0.1",
|
|
28
|
-
"@types/node": "^
|
|
29
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
30
|
-
"@typescript-eslint/parser": "^
|
|
28
|
+
"@types/node": "^17.0.23",
|
|
29
|
+
"@typescript-eslint/eslint-plugin": "^5.18.0",
|
|
30
|
+
"@typescript-eslint/parser": "^5.18.0",
|
|
31
31
|
"babel-eslint": "^10.1.0",
|
|
32
|
-
"babel-jest": "^
|
|
33
|
-
"cross-env": "^7.0.
|
|
34
|
-
"debug": "^4.
|
|
35
|
-
"eslint": "^
|
|
36
|
-
"eslint-config-prettier": "^
|
|
37
|
-
"eslint-config-standard": "^
|
|
38
|
-
"eslint-plugin-import": "^2.
|
|
32
|
+
"babel-jest": "^27.5.1",
|
|
33
|
+
"cross-env": "^7.0.3",
|
|
34
|
+
"debug": "^4.3.4",
|
|
35
|
+
"eslint": "^8.12.0",
|
|
36
|
+
"eslint-config-prettier": "^8.5.0",
|
|
37
|
+
"eslint-config-standard": "^16.0.3",
|
|
38
|
+
"eslint-plugin-import": "^2.26.0",
|
|
39
39
|
"eslint-plugin-node": "^11.1.0",
|
|
40
|
-
"eslint-plugin-prettier": "^
|
|
41
|
-
"eslint-plugin-promise": "^
|
|
42
|
-
"eslint-plugin-standard": "^
|
|
43
|
-
"jest": "^
|
|
44
|
-
"jest-junit": "^
|
|
40
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
41
|
+
"eslint-plugin-promise": "^6.0.0",
|
|
42
|
+
"eslint-plugin-standard": "^5.0.0",
|
|
43
|
+
"jest": "^27.5.1",
|
|
44
|
+
"jest-junit": "^13.1.0",
|
|
45
45
|
"npm-run-all": "^4.1.5",
|
|
46
|
-
"prettier": "^2.
|
|
46
|
+
"prettier": "^2.6.2",
|
|
47
47
|
"rimraf": "^3.0.2",
|
|
48
|
-
"source-map-support": "^0.5.
|
|
49
|
-
"ts-node": "^
|
|
50
|
-
"typescript": "^
|
|
48
|
+
"source-map-support": "^0.5.21",
|
|
49
|
+
"ts-node": "^10.7.0",
|
|
50
|
+
"typescript": "^4.6.3"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"
|
|
53
|
+
"iconv-lite": "^0.6.3",
|
|
54
|
+
"long": "^5.2.0",
|
|
54
55
|
"uuid-parse": "^1.1.0"
|
|
55
56
|
},
|
|
56
57
|
"eslintConfig": {
|
package/readme.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# pst-extractor
|
|
2
2
|
|
|
3
|
-
  [](https://travis-ci.org/epfromer/pst-extractor)     [](https://codecov.io/gh/epfromer/pst-extractor)
|
|
3
|
+
[](https://www.npmjs.com/package/pst-extractor)  [](https://travis-ci.org/epfromer/pst-extractor)     [](https://codecov.io/gh/epfromer/pst-extractor)
|
|
4
4
|
|
|
5
5
|
Extract objects from MS Outlook/Exchange PST files
|
|
6
6
|
|
|
7
|
-

|
|
7
|
+
[](https://www.npmjs.com/package/pst-extractor)
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
@@ -17,27 +17,32 @@ A spec from Microsoft on the PST file format is at https://msdn.microsoft.com/en
|
|
|
17
17
|
## Install
|
|
18
18
|
|
|
19
19
|
```npm install --save pst-extractor```
|
|
20
|
+
|
|
20
21
|
or
|
|
22
|
+
|
|
21
23
|
```yarn add pst-extractor```
|
|
22
24
|
|
|
23
25
|
## Usage
|
|
24
26
|
|
|
25
27
|
Start with the example app to walk the PST and print out the folder structure to the console. Also, most of the major objects have Jest test specs which show how the object attributes can be accessed.
|
|
26
28
|
|
|
27
|
-
```
|
|
29
|
+
```bash
|
|
28
30
|
cd example
|
|
29
31
|
npm start
|
|
30
32
|
```
|
|
33
|
+
|
|
31
34
|
or
|
|
32
|
-
|
|
35
|
+
|
|
36
|
+
```bash
|
|
33
37
|
cd example
|
|
34
38
|
yarn start
|
|
35
39
|
```
|
|
40
|
+
|
|
36
41
|
This runs on a sample Enron dataset that you can replace with your own PST file.
|
|
37
42
|
|
|
38
43
|
A simple script looks like this:
|
|
39
44
|
|
|
40
|
-
```
|
|
45
|
+
```javascript
|
|
41
46
|
import { PSTMessage } from 'pst-extractor';
|
|
42
47
|
import { PSTFile } from 'pst-extractor';
|
|
43
48
|
import { PSTFolder } from 'pst-extractor';
|
|
@@ -103,8 +108,10 @@ function getDepth(depth: number): string {
|
|
|
103
108
|
return sdepth;
|
|
104
109
|
}
|
|
105
110
|
```
|
|
111
|
+
|
|
106
112
|
and will generate the following output:
|
|
107
|
-
|
|
113
|
+
|
|
114
|
+
```text
|
|
108
115
|
Personal folders
|
|
109
116
|
|- Top of Personal Folders
|
|
110
117
|
| |- Deleted Items
|