docxmlater 10.0.1 → 10.0.3

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 (395) hide show
  1. package/README.md +3 -2
  2. package/dist/constants/legacyCompatFlags.d.ts.map +1 -1
  3. package/dist/constants/legacyCompatFlags.js.map +1 -1
  4. package/dist/constants/limits.d.ts +0 -27
  5. package/dist/constants/limits.d.ts.map +1 -1
  6. package/dist/constants/limits.js +13 -13
  7. package/dist/constants/limits.js.map +1 -1
  8. package/dist/core/Document.d.ts +24 -19
  9. package/dist/core/Document.d.ts.map +1 -1
  10. package/dist/core/Document.js +272 -71
  11. package/dist/core/Document.js.map +1 -1
  12. package/dist/core/DocumentContent.d.ts.map +1 -1
  13. package/dist/core/DocumentContent.js.map +1 -1
  14. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  15. package/dist/core/DocumentGenerator.js +59 -24
  16. package/dist/core/DocumentGenerator.js.map +1 -1
  17. package/dist/core/DocumentIdManager.d.ts.map +1 -1
  18. package/dist/core/DocumentIdManager.js.map +1 -1
  19. package/dist/core/DocumentParser.d.ts +6 -6
  20. package/dist/core/DocumentParser.d.ts.map +1 -1
  21. package/dist/core/DocumentParser.js +60 -54
  22. package/dist/core/DocumentParser.js.map +1 -1
  23. package/dist/core/DocumentValidator.d.ts.map +1 -1
  24. package/dist/core/DocumentValidator.js.map +1 -1
  25. package/dist/core/Relationship.d.ts.map +1 -1
  26. package/dist/core/Relationship.js +1 -1
  27. package/dist/core/Relationship.js.map +1 -1
  28. package/dist/core/RelationshipManager.js +3 -3
  29. package/dist/core/RelationshipManager.js.map +1 -1
  30. package/dist/elements/AlternateContent.js.map +1 -1
  31. package/dist/elements/Bookmark.d.ts.map +1 -1
  32. package/dist/elements/Bookmark.js.map +1 -1
  33. package/dist/elements/BookmarkManager.d.ts.map +1 -1
  34. package/dist/elements/BookmarkManager.js.map +1 -1
  35. package/dist/elements/Comment.js +1 -1
  36. package/dist/elements/Comment.js.map +1 -1
  37. package/dist/elements/CommentManager.d.ts.map +1 -1
  38. package/dist/elements/CommentManager.js +8 -2
  39. package/dist/elements/CommentManager.js.map +1 -1
  40. package/dist/elements/CommonTypes.d.ts.map +1 -1
  41. package/dist/elements/CommonTypes.js +1 -2
  42. package/dist/elements/CommonTypes.js.map +1 -1
  43. package/dist/elements/CustomXml.js.map +1 -1
  44. package/dist/elements/Endnote.d.ts.map +1 -1
  45. package/dist/elements/Endnote.js.map +1 -1
  46. package/dist/elements/EndnoteManager.d.ts.map +1 -1
  47. package/dist/elements/EndnoteManager.js.map +1 -1
  48. package/dist/elements/Field.d.ts.map +1 -1
  49. package/dist/elements/Field.js +31 -28
  50. package/dist/elements/Field.js.map +1 -1
  51. package/dist/elements/FieldHelpers.d.ts.map +1 -1
  52. package/dist/elements/FieldHelpers.js +6 -6
  53. package/dist/elements/FieldHelpers.js.map +1 -1
  54. package/dist/elements/FontManager.d.ts.map +1 -1
  55. package/dist/elements/FontManager.js.map +1 -1
  56. package/dist/elements/Footer.js.map +1 -1
  57. package/dist/elements/Footnote.d.ts.map +1 -1
  58. package/dist/elements/Footnote.js.map +1 -1
  59. package/dist/elements/FootnoteManager.d.ts.map +1 -1
  60. package/dist/elements/FootnoteManager.js.map +1 -1
  61. package/dist/elements/Header.js.map +1 -1
  62. package/dist/elements/HeaderFooterManager.js.map +1 -1
  63. package/dist/elements/Hyperlink.d.ts.map +1 -1
  64. package/dist/elements/Hyperlink.js +5 -5
  65. package/dist/elements/Hyperlink.js.map +1 -1
  66. package/dist/elements/Image.d.ts +2 -2
  67. package/dist/elements/Image.d.ts.map +1 -1
  68. package/dist/elements/Image.js +21 -5
  69. package/dist/elements/Image.js.map +1 -1
  70. package/dist/elements/ImageManager.d.ts.map +1 -1
  71. package/dist/elements/ImageManager.js +2 -2
  72. package/dist/elements/ImageManager.js.map +1 -1
  73. package/dist/elements/ImageRun.js.map +1 -1
  74. package/dist/elements/MathElement.js.map +1 -1
  75. package/dist/elements/Paragraph.d.ts.map +1 -1
  76. package/dist/elements/Paragraph.js +128 -117
  77. package/dist/elements/Paragraph.js.map +1 -1
  78. package/dist/elements/PreservedElement.js.map +1 -1
  79. package/dist/elements/PropertyChangeTypes.js.map +1 -1
  80. package/dist/elements/RangeMarker.js.map +1 -1
  81. package/dist/elements/Revision.d.ts +1 -0
  82. package/dist/elements/Revision.d.ts.map +1 -1
  83. package/dist/elements/Revision.js +44 -5
  84. package/dist/elements/Revision.js.map +1 -1
  85. package/dist/elements/RevisionContent.js.map +1 -1
  86. package/dist/elements/RevisionManager.d.ts.map +1 -1
  87. package/dist/elements/RevisionManager.js.map +1 -1
  88. package/dist/elements/Run.d.ts.map +1 -1
  89. package/dist/elements/Run.js +1 -3
  90. package/dist/elements/Run.js.map +1 -1
  91. package/dist/elements/Section.d.ts.map +1 -1
  92. package/dist/elements/Section.js +127 -118
  93. package/dist/elements/Section.js.map +1 -1
  94. package/dist/elements/Shape.d.ts.map +1 -1
  95. package/dist/elements/Shape.js +21 -0
  96. package/dist/elements/Shape.js.map +1 -1
  97. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
  98. package/dist/elements/StructuredDocumentTag.js +20 -8
  99. package/dist/elements/StructuredDocumentTag.js.map +1 -1
  100. package/dist/elements/Table.d.ts +2 -2
  101. package/dist/elements/Table.d.ts.map +1 -1
  102. package/dist/elements/Table.js +29 -35
  103. package/dist/elements/Table.js.map +1 -1
  104. package/dist/elements/TableCell.d.ts +2 -2
  105. package/dist/elements/TableCell.d.ts.map +1 -1
  106. package/dist/elements/TableCell.js +63 -67
  107. package/dist/elements/TableCell.js.map +1 -1
  108. package/dist/elements/TableGridChange.js.map +1 -1
  109. package/dist/elements/TableOfContents.d.ts +6 -6
  110. package/dist/elements/TableOfContents.d.ts.map +1 -1
  111. package/dist/elements/TableOfContents.js.map +1 -1
  112. package/dist/elements/TableOfContentsElement.js.map +1 -1
  113. package/dist/elements/TableRow.d.ts.map +1 -1
  114. package/dist/elements/TableRow.js +65 -47
  115. package/dist/elements/TableRow.js.map +1 -1
  116. package/dist/elements/TextBox.d.ts.map +1 -1
  117. package/dist/elements/TextBox.js +1 -1
  118. package/dist/elements/TextBox.js.map +1 -1
  119. package/dist/formatting/AbstractNumbering.d.ts +1 -1
  120. package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
  121. package/dist/formatting/AbstractNumbering.js +11 -11
  122. package/dist/formatting/AbstractNumbering.js.map +1 -1
  123. package/dist/formatting/NumberingInstance.d.ts.map +1 -1
  124. package/dist/formatting/NumberingInstance.js +4 -4
  125. package/dist/formatting/NumberingInstance.js.map +1 -1
  126. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  127. package/dist/formatting/NumberingLevel.js +26 -26
  128. package/dist/formatting/NumberingLevel.js.map +1 -1
  129. package/dist/formatting/NumberingManager.d.ts +1 -1
  130. package/dist/formatting/NumberingManager.d.ts.map +1 -1
  131. package/dist/formatting/NumberingManager.js.map +1 -1
  132. package/dist/formatting/Style.d.ts.map +1 -1
  133. package/dist/formatting/Style.js +87 -95
  134. package/dist/formatting/Style.js.map +1 -1
  135. package/dist/formatting/StylesManager.d.ts +3 -3
  136. package/dist/formatting/StylesManager.d.ts.map +1 -1
  137. package/dist/formatting/StylesManager.js.map +1 -1
  138. package/dist/helpers/CleanupHelper.d.ts.map +1 -1
  139. package/dist/helpers/CleanupHelper.js +1 -7
  140. package/dist/helpers/CleanupHelper.js.map +1 -1
  141. package/dist/images/ImageOptimizer.js.map +1 -1
  142. package/dist/index.js.map +1 -1
  143. package/dist/managers/DrawingManager.d.ts.map +1 -1
  144. package/dist/managers/DrawingManager.js.map +1 -1
  145. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  146. package/dist/tracking/TrackingContext.js.map +1 -1
  147. package/dist/types/compatibility-types.js.map +1 -1
  148. package/dist/types/formatting.js.map +1 -1
  149. package/dist/types/list-types.d.ts +4 -4
  150. package/dist/types/list-types.d.ts.map +1 -1
  151. package/dist/types/list-types.js.map +1 -1
  152. package/dist/types/settings-types.js.map +1 -1
  153. package/dist/types/styleConfig.js.map +1 -1
  154. package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
  155. package/dist/utils/ChangelogGenerator.js.map +1 -1
  156. package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
  157. package/dist/utils/CompatibilityUpgrader.js +7 -7
  158. package/dist/utils/CompatibilityUpgrader.js.map +1 -1
  159. package/dist/utils/InMemoryRevisionAcceptor.js +1 -1
  160. package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
  161. package/dist/utils/MoveOperationHelper.js.map +1 -1
  162. package/dist/utils/RevisionAwareProcessor.js.map +1 -1
  163. package/dist/utils/RevisionWalker.js.map +1 -1
  164. package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
  165. package/dist/utils/ShadingResolver.js +1 -1
  166. package/dist/utils/ShadingResolver.js.map +1 -1
  167. package/dist/utils/acceptRevisions.d.ts +0 -28
  168. package/dist/utils/acceptRevisions.d.ts.map +1 -1
  169. package/dist/utils/acceptRevisions.js +5 -7
  170. package/dist/utils/acceptRevisions.js.map +1 -1
  171. package/dist/utils/cnfStyleDecoder.js +1 -1
  172. package/dist/utils/cnfStyleDecoder.js.map +1 -1
  173. package/dist/utils/corruptionDetection.js.map +1 -1
  174. package/dist/utils/dateFormatting.js.map +1 -1
  175. package/dist/utils/deepClone.d.ts +0 -1
  176. package/dist/utils/deepClone.d.ts.map +1 -1
  177. package/dist/utils/deepClone.js +0 -7
  178. package/dist/utils/deepClone.js.map +1 -1
  179. package/dist/utils/diagnostics.d.ts +2 -2
  180. package/dist/utils/diagnostics.d.ts.map +1 -1
  181. package/dist/utils/diagnostics.js.map +1 -1
  182. package/dist/utils/errorHandling.js.map +1 -1
  183. package/dist/utils/formatting.js.map +1 -1
  184. package/dist/utils/list-detection.d.ts +2 -2
  185. package/dist/utils/list-detection.d.ts.map +1 -1
  186. package/dist/utils/list-detection.js +3 -3
  187. package/dist/utils/list-detection.js.map +1 -1
  188. package/dist/utils/logger.d.ts +2 -4
  189. package/dist/utils/logger.d.ts.map +1 -1
  190. package/dist/utils/logger.js +0 -2
  191. package/dist/utils/logger.js.map +1 -1
  192. package/dist/utils/parsingHelpers.js.map +1 -1
  193. package/dist/utils/stripTrackedChanges.d.ts +0 -19
  194. package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
  195. package/dist/utils/stripTrackedChanges.js +0 -2
  196. package/dist/utils/stripTrackedChanges.js.map +1 -1
  197. package/dist/utils/textDiff.js.map +1 -1
  198. package/dist/utils/units.js.map +1 -1
  199. package/dist/utils/validation.d.ts.map +1 -1
  200. package/dist/utils/validation.js.map +1 -1
  201. package/dist/utils/xmlSanitization.js.map +1 -1
  202. package/dist/validation/RevisionAutoFixer.js.map +1 -1
  203. package/dist/validation/RevisionValidator.js.map +1 -1
  204. package/dist/validation/ValidationRules.js.map +1 -1
  205. package/dist/validation/index.js.map +1 -1
  206. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  207. package/dist/xml/XMLBuilder.js +10 -0
  208. package/dist/xml/XMLBuilder.js.map +1 -1
  209. package/dist/xml/XMLParser.d.ts.map +1 -1
  210. package/dist/xml/XMLParser.js +4 -5
  211. package/dist/xml/XMLParser.js.map +1 -1
  212. package/dist/zip/ZipHandler.js.map +1 -1
  213. package/dist/zip/ZipReader.js.map +1 -1
  214. package/dist/zip/ZipWriter.js.map +1 -1
  215. package/dist/zip/errors.js.map +1 -1
  216. package/dist/zip/types.js.map +1 -1
  217. package/package.json +34 -4
  218. package/src/__tests__/helper-methods.test.ts +512 -0
  219. package/src/constants/legacyCompatFlags.ts +138 -0
  220. package/src/constants/limits.ts +50 -0
  221. package/src/core/CLAUDE.md +109 -0
  222. package/src/core/Document.ts +15569 -0
  223. package/src/core/DocumentContent.ts +467 -0
  224. package/src/core/DocumentGenerator.ts +1104 -0
  225. package/src/core/DocumentIdManager.ts +158 -0
  226. package/src/core/DocumentParser.ts +10107 -0
  227. package/src/core/DocumentValidator.ts +372 -0
  228. package/src/core/Relationship.ts +367 -0
  229. package/src/core/RelationshipManager.ts +428 -0
  230. package/src/elements/AlternateContent.ts +42 -0
  231. package/src/elements/Bookmark.ts +210 -0
  232. package/src/elements/BookmarkManager.ts +250 -0
  233. package/src/elements/CLAUDE.md +126 -0
  234. package/src/elements/Comment.ts +359 -0
  235. package/src/elements/CommentManager.ts +502 -0
  236. package/src/elements/CommonTypes.ts +549 -0
  237. package/src/elements/CustomXml.ts +36 -0
  238. package/src/elements/Endnote.ts +217 -0
  239. package/src/elements/EndnoteManager.ts +249 -0
  240. package/src/elements/Field.ts +1233 -0
  241. package/src/elements/FieldHelpers.ts +333 -0
  242. package/src/elements/FontManager.ts +339 -0
  243. package/src/elements/Footer.ts +269 -0
  244. package/src/elements/Footnote.ts +217 -0
  245. package/src/elements/FootnoteManager.ts +249 -0
  246. package/src/elements/Header.ts +269 -0
  247. package/src/elements/HeaderFooterManager.ts +219 -0
  248. package/src/elements/Hyperlink.ts +1146 -0
  249. package/src/elements/Image.ts +1756 -0
  250. package/src/elements/ImageManager.ts +432 -0
  251. package/src/elements/ImageRun.ts +59 -0
  252. package/src/elements/MathElement.ts +65 -0
  253. package/src/elements/Paragraph.ts +4227 -0
  254. package/src/elements/PreservedElement.ts +53 -0
  255. package/src/elements/PropertyChangeTypes.ts +442 -0
  256. package/src/elements/RangeMarker.ts +400 -0
  257. package/src/elements/Revision.ts +1217 -0
  258. package/src/elements/RevisionContent.ts +73 -0
  259. package/src/elements/RevisionManager.ts +1070 -0
  260. package/src/elements/Run.ts +3068 -0
  261. package/src/elements/Section.ts +1421 -0
  262. package/src/elements/Shape.ts +873 -0
  263. package/src/elements/StructuredDocumentTag.ts +978 -0
  264. package/src/elements/Table.ts +2524 -0
  265. package/src/elements/TableCell.ts +1586 -0
  266. package/src/elements/TableGridChange.ts +151 -0
  267. package/src/elements/TableOfContents.ts +691 -0
  268. package/src/elements/TableOfContentsElement.ts +89 -0
  269. package/src/elements/TableRow.ts +906 -0
  270. package/src/elements/TextBox.ts +768 -0
  271. package/src/formatting/AbstractNumbering.ts +548 -0
  272. package/src/formatting/CLAUDE.md +74 -0
  273. package/src/formatting/NumberingInstance.ts +212 -0
  274. package/src/formatting/NumberingLevel.ts +1006 -0
  275. package/src/formatting/NumberingManager.ts +827 -0
  276. package/src/formatting/Style.ts +1833 -0
  277. package/src/formatting/StylesManager.ts +1005 -0
  278. package/src/helpers/CleanupHelper.ts +524 -0
  279. package/src/images/ImageOptimizer.ts +274 -0
  280. package/src/index.ts +554 -0
  281. package/src/managers/CLAUDE.md +47 -0
  282. package/src/managers/DrawingManager.ts +319 -0
  283. package/src/tracking/DocumentTrackingContext.ts +643 -0
  284. package/src/tracking/TrackingContext.ts +173 -0
  285. package/src/types/compatibility-types.ts +49 -0
  286. package/src/types/formatting.ts +210 -0
  287. package/src/types/list-types.ts +152 -0
  288. package/src/types/settings-types.ts +59 -0
  289. package/src/types/styleConfig.ts +189 -0
  290. package/src/utils/CLAUDE.md +153 -0
  291. package/src/utils/ChangelogGenerator.ts +1581 -0
  292. package/src/utils/CompatibilityUpgrader.ts +237 -0
  293. package/src/utils/InMemoryRevisionAcceptor.ts +668 -0
  294. package/src/utils/MoveOperationHelper.ts +238 -0
  295. package/src/utils/RevisionAwareProcessor.ts +526 -0
  296. package/src/utils/RevisionWalker.ts +457 -0
  297. package/src/utils/SelectiveRevisionAcceptor.ts +613 -0
  298. package/src/utils/ShadingResolver.ts +107 -0
  299. package/src/utils/acceptRevisions.ts +714 -0
  300. package/src/utils/cnfStyleDecoder.ts +217 -0
  301. package/src/utils/corruptionDetection.ts +345 -0
  302. package/src/utils/dateFormatting.ts +20 -0
  303. package/src/utils/deepClone.ts +78 -0
  304. package/src/utils/diagnostics.ts +129 -0
  305. package/src/utils/errorHandling.ts +80 -0
  306. package/src/utils/formatting.ts +213 -0
  307. package/src/utils/list-detection.ts +274 -0
  308. package/src/utils/logger.ts +404 -0
  309. package/src/utils/parsingHelpers.ts +190 -0
  310. package/src/utils/stripTrackedChanges.ts +353 -0
  311. package/src/utils/textDiff.ts +100 -0
  312. package/src/utils/units.ts +421 -0
  313. package/src/utils/validation.ts +542 -0
  314. package/src/utils/xmlSanitization.ts +182 -0
  315. package/src/validation/RevisionAutoFixer.ts +542 -0
  316. package/src/validation/RevisionValidator.ts +460 -0
  317. package/src/validation/ValidationRules.ts +338 -0
  318. package/src/validation/index.ts +30 -0
  319. package/src/xml/CLAUDE.md +65 -0
  320. package/src/xml/XMLBuilder.ts +871 -0
  321. package/src/xml/XMLParser.ts +919 -0
  322. package/src/zip/CLAUDE.md +55 -0
  323. package/src/zip/ZipHandler.ts +637 -0
  324. package/src/zip/ZipReader.ts +299 -0
  325. package/src/zip/ZipWriter.ts +390 -0
  326. package/src/zip/errors.ts +69 -0
  327. package/src/zip/types.ts +116 -0
  328. package/dist/core/ListNormalizer.d.ts +0 -23
  329. package/dist/core/ListNormalizer.d.ts.map +0 -1
  330. package/dist/core/ListNormalizer.js +0 -624
  331. package/dist/core/ListNormalizer.js.map +0 -1
  332. package/dist/images/index.d.ts +0 -2
  333. package/dist/images/index.d.ts.map +0 -1
  334. package/dist/images/index.js +0 -8
  335. package/dist/images/index.js.map +0 -1
  336. package/dist/ms-doc/cfb/CFBReader.d.ts +0 -35
  337. package/dist/ms-doc/cfb/CFBReader.d.ts.map +0 -1
  338. package/dist/ms-doc/cfb/CFBReader.js +0 -360
  339. package/dist/ms-doc/cfb/CFBReader.js.map +0 -1
  340. package/dist/ms-doc/converter/DocToDocxConverter.d.ts +0 -55
  341. package/dist/ms-doc/converter/DocToDocxConverter.d.ts.map +0 -1
  342. package/dist/ms-doc/converter/DocToDocxConverter.js +0 -324
  343. package/dist/ms-doc/converter/DocToDocxConverter.js.map +0 -1
  344. package/dist/ms-doc/fib/FIB.d.ts +0 -18
  345. package/dist/ms-doc/fib/FIB.d.ts.map +0 -1
  346. package/dist/ms-doc/fib/FIB.js +0 -342
  347. package/dist/ms-doc/fib/FIB.js.map +0 -1
  348. package/dist/ms-doc/fields/FieldParser.d.ts +0 -31
  349. package/dist/ms-doc/fields/FieldParser.d.ts.map +0 -1
  350. package/dist/ms-doc/fields/FieldParser.js +0 -266
  351. package/dist/ms-doc/fields/FieldParser.js.map +0 -1
  352. package/dist/ms-doc/images/PictureExtractor.d.ts +0 -22
  353. package/dist/ms-doc/images/PictureExtractor.d.ts.map +0 -1
  354. package/dist/ms-doc/images/PictureExtractor.js +0 -233
  355. package/dist/ms-doc/images/PictureExtractor.js.map +0 -1
  356. package/dist/ms-doc/index.d.ts +0 -20
  357. package/dist/ms-doc/index.d.ts.map +0 -1
  358. package/dist/ms-doc/index.js +0 -59
  359. package/dist/ms-doc/index.js.map +0 -1
  360. package/dist/ms-doc/properties/SPRM.d.ts +0 -210
  361. package/dist/ms-doc/properties/SPRM.d.ts.map +0 -1
  362. package/dist/ms-doc/properties/SPRM.js +0 -633
  363. package/dist/ms-doc/properties/SPRM.js.map +0 -1
  364. package/dist/ms-doc/sections/SectionParser.d.ts +0 -25
  365. package/dist/ms-doc/sections/SectionParser.d.ts.map +0 -1
  366. package/dist/ms-doc/sections/SectionParser.js +0 -214
  367. package/dist/ms-doc/sections/SectionParser.js.map +0 -1
  368. package/dist/ms-doc/styles/StyleSheet.d.ts +0 -23
  369. package/dist/ms-doc/styles/StyleSheet.d.ts.map +0 -1
  370. package/dist/ms-doc/styles/StyleSheet.js +0 -268
  371. package/dist/ms-doc/styles/StyleSheet.js.map +0 -1
  372. package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts +0 -61
  373. package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts.map +0 -1
  374. package/dist/ms-doc/subdocuments/SubdocumentParser.js +0 -208
  375. package/dist/ms-doc/subdocuments/SubdocumentParser.js.map +0 -1
  376. package/dist/ms-doc/tables/TableParser.d.ts +0 -29
  377. package/dist/ms-doc/tables/TableParser.d.ts.map +0 -1
  378. package/dist/ms-doc/tables/TableParser.js +0 -176
  379. package/dist/ms-doc/tables/TableParser.js.map +0 -1
  380. package/dist/ms-doc/text/PieceTable.d.ts +0 -21
  381. package/dist/ms-doc/text/PieceTable.d.ts.map +0 -1
  382. package/dist/ms-doc/text/PieceTable.js +0 -171
  383. package/dist/ms-doc/text/PieceTable.js.map +0 -1
  384. package/dist/ms-doc/types/Constants.d.ts +0 -99
  385. package/dist/ms-doc/types/Constants.d.ts.map +0 -1
  386. package/dist/ms-doc/types/Constants.js +0 -102
  387. package/dist/ms-doc/types/Constants.js.map +0 -1
  388. package/dist/ms-doc/types/DocTypes.d.ts +0 -368
  389. package/dist/ms-doc/types/DocTypes.d.ts.map +0 -1
  390. package/dist/ms-doc/types/DocTypes.js +0 -3
  391. package/dist/ms-doc/types/DocTypes.js.map +0 -1
  392. package/dist/tracking/index.d.ts +0 -3
  393. package/dist/tracking/index.d.ts.map +0 -1
  394. package/dist/tracking/index.js +0 -6
  395. package/dist/tracking/index.js.map +0 -1
@@ -1,208 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SubdocumentParser = exports.SubdocumentParseError = void 0;
4
- class SubdocumentParseError extends Error {
5
- constructor(message) {
6
- super(message);
7
- this.name = 'SubdocumentParseError';
8
- }
9
- }
10
- exports.SubdocumentParseError = SubdocumentParseError;
11
- class SubdocumentParser {
12
- fib;
13
- fullText;
14
- constructor(fib, fullText) {
15
- this.fib = fib;
16
- this.fullText = fullText;
17
- }
18
- getSubdocumentRanges() {
19
- const rgLw = this.fib.rgLw97;
20
- const mainEnd = rgLw.ccpText;
21
- const footnotesStart = mainEnd;
22
- const footnotesEnd = footnotesStart + rgLw.ccpFtn;
23
- const headersStart = footnotesEnd;
24
- const headersEnd = headersStart + rgLw.ccpHdd;
25
- const commentsStart = headersEnd;
26
- const commentsEnd = commentsStart + rgLw.ccpAtn;
27
- const endnotesStart = commentsEnd;
28
- const endnotesEnd = endnotesStart + rgLw.ccpEdn;
29
- const textboxesStart = endnotesEnd;
30
- const textboxesEnd = textboxesStart + rgLw.ccpTxbx;
31
- const headerTextboxesStart = textboxesEnd;
32
- const headerTextboxesEnd = headerTextboxesStart + rgLw.ccpHdrTxbx;
33
- const result = {
34
- main: { cpStart: 0, cpEnd: mainEnd },
35
- };
36
- if (rgLw.ccpFtn > 0) {
37
- result.footnotes = { cpStart: footnotesStart, cpEnd: footnotesEnd };
38
- }
39
- if (rgLw.ccpHdd > 0) {
40
- result.headers = { cpStart: headersStart, cpEnd: headersEnd };
41
- }
42
- if (rgLw.ccpAtn > 0) {
43
- result.comments = { cpStart: commentsStart, cpEnd: commentsEnd };
44
- }
45
- if (rgLw.ccpEdn > 0) {
46
- result.endnotes = { cpStart: endnotesStart, cpEnd: endnotesEnd };
47
- }
48
- if (rgLw.ccpTxbx > 0) {
49
- result.textboxes = { cpStart: textboxesStart, cpEnd: textboxesEnd };
50
- }
51
- if (rgLw.ccpHdrTxbx > 0) {
52
- result.headerTextboxes = { cpStart: headerTextboxesStart, cpEnd: headerTextboxesEnd };
53
- }
54
- return result;
55
- }
56
- getMainDocumentText() {
57
- const ranges = this.getSubdocumentRanges();
58
- return this.fullText.substring(0, ranges.main.cpEnd);
59
- }
60
- getFootnotesText() {
61
- const ranges = this.getSubdocumentRanges();
62
- if (!ranges.footnotes)
63
- return null;
64
- return this.fullText.substring(ranges.footnotes.cpStart, ranges.footnotes.cpEnd);
65
- }
66
- getHeadersFootersText() {
67
- const ranges = this.getSubdocumentRanges();
68
- if (!ranges.headers)
69
- return null;
70
- return this.fullText.substring(ranges.headers.cpStart, ranges.headers.cpEnd);
71
- }
72
- getCommentsText() {
73
- const ranges = this.getSubdocumentRanges();
74
- if (!ranges.comments)
75
- return null;
76
- return this.fullText.substring(ranges.comments.cpStart, ranges.comments.cpEnd);
77
- }
78
- getEndnotesText() {
79
- const ranges = this.getSubdocumentRanges();
80
- if (!ranges.endnotes)
81
- return null;
82
- return this.fullText.substring(ranges.endnotes.cpStart, ranges.endnotes.cpEnd);
83
- }
84
- parseHeadersFooters() {
85
- const results = [];
86
- const hfText = this.getHeadersFootersText();
87
- if (!hfText)
88
- return results;
89
- const entries = hfText.split('\r');
90
- let entryIndex = 0;
91
- let sectionIndex = 0;
92
- const entriesPerSection = 6;
93
- const types = [
94
- { type: 'header', subtype: 'even' },
95
- { type: 'header', subtype: 'odd' },
96
- { type: 'footer', subtype: 'even' },
97
- { type: 'footer', subtype: 'odd' },
98
- { type: 'header', subtype: 'first' },
99
- { type: 'footer', subtype: 'first' },
100
- ];
101
- const ranges = this.getSubdocumentRanges();
102
- let cpOffset = ranges.headers?.cpStart ?? 0;
103
- for (const entry of entries) {
104
- const slotIndex = entryIndex % entriesPerSection;
105
- const typeInfo = types[slotIndex];
106
- if (entry.length > 0 && typeInfo) {
107
- results.push({
108
- type: typeInfo.type === 'header' ? 'header' : 'footer',
109
- cpStart: cpOffset,
110
- cpEnd: cpOffset + entry.length,
111
- text: entry,
112
- sectionIndex,
113
- headerFooterType: typeInfo.subtype,
114
- });
115
- }
116
- cpOffset += entry.length + 1;
117
- entryIndex++;
118
- if (entryIndex % entriesPerSection === 0) {
119
- sectionIndex++;
120
- }
121
- }
122
- return results;
123
- }
124
- parseFootnotes() {
125
- const results = [];
126
- const fnText = this.getFootnotesText();
127
- if (!fnText)
128
- return results;
129
- const entries = fnText.split('\r');
130
- const ranges = this.getSubdocumentRanges();
131
- let cpOffset = ranges.footnotes?.cpStart ?? 0;
132
- for (const entry of entries) {
133
- if (entry.length > 0) {
134
- results.push({
135
- type: 'footnote',
136
- cpStart: cpOffset,
137
- cpEnd: cpOffset + entry.length,
138
- text: entry,
139
- });
140
- }
141
- cpOffset += entry.length + 1;
142
- }
143
- return results;
144
- }
145
- parseEndnotes() {
146
- const results = [];
147
- const enText = this.getEndnotesText();
148
- if (!enText)
149
- return results;
150
- const entries = enText.split('\r');
151
- const ranges = this.getSubdocumentRanges();
152
- let cpOffset = ranges.endnotes?.cpStart ?? 0;
153
- for (const entry of entries) {
154
- if (entry.length > 0) {
155
- results.push({
156
- type: 'endnote',
157
- cpStart: cpOffset,
158
- cpEnd: cpOffset + entry.length,
159
- text: entry,
160
- });
161
- }
162
- cpOffset += entry.length + 1;
163
- }
164
- return results;
165
- }
166
- parseComments() {
167
- const results = [];
168
- const cmtText = this.getCommentsText();
169
- if (!cmtText)
170
- return results;
171
- const entries = cmtText.split('\r');
172
- const ranges = this.getSubdocumentRanges();
173
- let cpOffset = ranges.comments?.cpStart ?? 0;
174
- for (const entry of entries) {
175
- if (entry.length > 0) {
176
- results.push({
177
- type: 'comment',
178
- cpStart: cpOffset,
179
- cpEnd: cpOffset + entry.length,
180
- text: entry,
181
- });
182
- }
183
- cpOffset += entry.length + 1;
184
- }
185
- return results;
186
- }
187
- parseAll() {
188
- const results = [];
189
- const mainText = this.getMainDocumentText();
190
- results.push({
191
- type: 'main',
192
- cpStart: 0,
193
- cpEnd: mainText.length,
194
- text: mainText,
195
- });
196
- results.push(...this.parseHeadersFooters());
197
- results.push(...this.parseFootnotes());
198
- results.push(...this.parseEndnotes());
199
- results.push(...this.parseComments());
200
- return results;
201
- }
202
- static parse(fib, fullText) {
203
- const parser = new SubdocumentParser(fib, fullText);
204
- return parser.parseAll();
205
- }
206
- }
207
- exports.SubdocumentParser = SubdocumentParser;
208
- //# sourceMappingURL=SubdocumentParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SubdocumentParser.js","sourceRoot":"","sources":["../../../src/ms-doc/subdocuments/SubdocumentParser.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { TableDefinition, TableProperties } from '../types/DocTypes';
2
- export declare class TableParseError extends Error {
3
- constructor(message: string);
4
- }
5
- export interface TableBoundary {
6
- cpStart: number;
7
- cpEnd: number;
8
- rowCount: number;
9
- maxColumns: number;
10
- }
11
- export declare class TableParser {
12
- private text;
13
- private paragraphs;
14
- constructor(documentText: string);
15
- findTables(): TableBoundary[];
16
- parseTable(boundary: TableBoundary): TableDefinition;
17
- parseAllTables(): TableDefinition[];
18
- static hasTableContent(text: string): boolean;
19
- static extractRows(text: string): string[][];
20
- }
21
- export declare class TAPParser {
22
- private data;
23
- private view;
24
- constructor(tapData: Uint8Array);
25
- parse(): TableProperties;
26
- parseCellWidths(cellCount: number): number[];
27
- static isTableRow(papxData: Uint8Array): boolean;
28
- }
29
- //# sourceMappingURL=TableParser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableParser.d.ts","sourceRoot":"","sources":["../../../src/ms-doc/tables/TableParser.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAA2C,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAK9G,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAmBD,MAAM,WAAW,aAAa;IAE5B,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,UAAU,CAAW;gBAEjB,YAAY,EAAE,MAAM;IAShC,UAAU,IAAI,aAAa,EAAE;IAgD7B,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,eAAe;IAiDpD,cAAc,IAAI,eAAe,EAAE;IAQnC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ7C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE;CAc7C;AAQD,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAW;gBAEX,OAAO,EAAE,UAAU;IAQ/B,KAAK,IAAI,eAAe;IAiDxB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAsB5C,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO;CAejD"}
@@ -1,176 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TAPParser = exports.TableParser = exports.TableParseError = void 0;
4
- const Constants_1 = require("../types/Constants");
5
- class TableParseError extends Error {
6
- constructor(message) {
7
- super(message);
8
- this.name = 'TableParseError';
9
- }
10
- }
11
- exports.TableParseError = TableParseError;
12
- class TableParser {
13
- text;
14
- paragraphs;
15
- constructor(documentText) {
16
- this.text = documentText;
17
- this.paragraphs = documentText.split(/[\r\n\x0D]/);
18
- }
19
- findTables() {
20
- const tables = [];
21
- const cellMark = String.fromCharCode(Constants_1.SPECIAL_CHARS.CELL);
22
- let currentTable = null;
23
- let cpPosition = 0;
24
- for (const para of this.paragraphs) {
25
- const hasCell = para.includes(cellMark);
26
- if (hasCell) {
27
- const cellCount = (para.match(new RegExp(cellMark, 'g')) ?? []).length;
28
- if (!currentTable) {
29
- currentTable = {
30
- cpStart: cpPosition,
31
- cpEnd: cpPosition + para.length,
32
- rowCount: 1,
33
- maxColumns: cellCount,
34
- };
35
- }
36
- else {
37
- currentTable.cpEnd = cpPosition + para.length;
38
- currentTable.rowCount++;
39
- currentTable.maxColumns = Math.max(currentTable.maxColumns, cellCount);
40
- }
41
- }
42
- else if (currentTable) {
43
- tables.push(currentTable);
44
- currentTable = null;
45
- }
46
- cpPosition += para.length + 1;
47
- }
48
- if (currentTable) {
49
- tables.push(currentTable);
50
- }
51
- return tables;
52
- }
53
- parseTable(boundary) {
54
- const cellMark = String.fromCharCode(Constants_1.SPECIAL_CHARS.CELL);
55
- const rows = [];
56
- let cpPosition = 0;
57
- let rowIndex = 0;
58
- for (const para of this.paragraphs) {
59
- if (cpPosition >= boundary.cpStart && cpPosition <= boundary.cpEnd) {
60
- if (para.includes(cellMark)) {
61
- const cellTexts = para.split(cellMark).filter((_, idx, arr) => idx < arr.length - 1);
62
- const cells = cellTexts.map((text, colIndex) => ({
63
- text: text.trim(),
64
- rowIndex,
65
- colIndex,
66
- rowSpan: 1,
67
- colSpan: 1,
68
- }));
69
- rows.push({
70
- index: rowIndex,
71
- cells,
72
- isHeader: rowIndex === 0,
73
- });
74
- rowIndex++;
75
- }
76
- }
77
- if (cpPosition > boundary.cpEnd) {
78
- break;
79
- }
80
- cpPosition += para.length + 1;
81
- }
82
- return {
83
- rows,
84
- rowCount: rows.length,
85
- columnCount: boundary.maxColumns,
86
- cpStart: boundary.cpStart,
87
- cpEnd: boundary.cpEnd,
88
- };
89
- }
90
- parseAllTables() {
91
- const boundaries = this.findTables();
92
- return boundaries.map((b) => this.parseTable(b));
93
- }
94
- static hasTableContent(text) {
95
- const cellMark = String.fromCharCode(Constants_1.SPECIAL_CHARS.CELL);
96
- return text.includes(cellMark);
97
- }
98
- static extractRows(text) {
99
- const cellMark = String.fromCharCode(Constants_1.SPECIAL_CHARS.CELL);
100
- const paragraphs = text.split(/[\r\n\x0D]/);
101
- const rows = [];
102
- for (const para of paragraphs) {
103
- if (para.includes(cellMark)) {
104
- const cells = para.split(cellMark).filter((_, idx, arr) => idx < arr.length - 1);
105
- rows.push(cells.map((c) => c.trim()));
106
- }
107
- }
108
- return rows;
109
- }
110
- }
111
- exports.TableParser = TableParser;
112
- class TAPParser {
113
- data;
114
- view;
115
- constructor(tapData) {
116
- this.data = tapData;
117
- this.view = new DataView(this.data.buffer, this.data.byteOffset, this.data.byteLength);
118
- }
119
- parse() {
120
- const props = {};
121
- if (this.data.length < 4) {
122
- return props;
123
- }
124
- let offset = 0;
125
- if (offset + 2 <= this.data.length) {
126
- const jc = this.view.getInt16(offset, true);
127
- switch (jc) {
128
- case 0:
129
- props.alignment = 'left';
130
- break;
131
- case 1:
132
- props.alignment = 'center';
133
- break;
134
- case 2:
135
- props.alignment = 'right';
136
- break;
137
- }
138
- offset += 2;
139
- }
140
- if (offset + 2 <= this.data.length) {
141
- props.cellSpacing = this.view.getInt16(offset, true);
142
- offset += 2;
143
- }
144
- if (offset + 2 <= this.data.length) {
145
- const height = this.view.getInt16(offset, true);
146
- props.rowHeight = Math.abs(height);
147
- props.rowHeightRule = height < 0 ? 'atLeast' : 'exact';
148
- offset += 2;
149
- }
150
- return props;
151
- }
152
- parseCellWidths(cellCount) {
153
- const widths = [];
154
- const widthsOffset = 24;
155
- if (widthsOffset + cellCount * 2 > this.data.length) {
156
- return widths;
157
- }
158
- for (let i = 0; i < cellCount; i++) {
159
- const width = this.view.getInt16(widthsOffset + i * 2, true);
160
- widths.push(width);
161
- }
162
- return widths;
163
- }
164
- static isTableRow(papxData) {
165
- const view = new DataView(papxData.buffer, papxData.byteOffset, papxData.byteLength);
166
- for (let i = 0; i < papxData.length - 2; i++) {
167
- const sprm = view.getUint16(i, true);
168
- if (sprm === 0x2416) {
169
- return true;
170
- }
171
- }
172
- return false;
173
- }
174
- }
175
- exports.TAPParser = TAPParser;
176
- //# sourceMappingURL=TableParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableParser.js","sourceRoot":"","sources":["../../../src/ms-doc/tables/TableParser.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { PieceTable, TextRange } from '../types/DocTypes';
2
- export declare class PieceTableError extends Error {
3
- constructor(message: string);
4
- }
5
- export declare class PieceTableParser {
6
- private data;
7
- private view;
8
- private wordDocumentStream;
9
- constructor(clxData: Uint8Array, wordDocumentStream: Uint8Array);
10
- parse(): PieceTable;
11
- private parsePcdt;
12
- private parsePlcPcd;
13
- private parsePcd;
14
- extractText(): TextRange[];
15
- private extractPieceText;
16
- private decodeANSI;
17
- private decodeUTF16LE;
18
- getFullText(): string;
19
- static extractText(clxData: Uint8Array, wordDocumentStream: Uint8Array): TextRange[];
20
- }
21
- //# sourceMappingURL=PieceTable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PieceTable.d.ts","sourceRoot":"","sources":["../../../src/ms-doc/text/PieceTable.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAmB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK3E,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAeD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,kBAAkB,CAAa;gBAM3B,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU;IAS/D,KAAK,IAAI,UAAU;IA2BnB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,QAAQ;IA2BhB,WAAW,IAAI,SAAS,EAAE;IAmB1B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,UAAU;IAiDlB,OAAO,CAAC,aAAa;IAcrB,WAAW,IAAI,MAAM;IAQrB,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,GAAG,SAAS,EAAE;CAIrF"}
@@ -1,171 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PieceTableParser = exports.PieceTableError = void 0;
4
- class PieceTableError extends Error {
5
- constructor(message) {
6
- super(message);
7
- this.name = 'PieceTableError';
8
- }
9
- }
10
- exports.PieceTableError = PieceTableError;
11
- const CLX_TYPES = {
12
- PRC: 0x01,
13
- PCDT: 0x02,
14
- };
15
- class PieceTableParser {
16
- data;
17
- view;
18
- wordDocumentStream;
19
- constructor(clxData, wordDocumentStream) {
20
- this.data = clxData;
21
- this.view = new DataView(this.data.buffer, this.data.byteOffset, this.data.byteLength);
22
- this.wordDocumentStream = wordDocumentStream;
23
- }
24
- parse() {
25
- let offset = 0;
26
- while (offset < this.data.length) {
27
- const clxType = this.data[offset];
28
- if (clxType === CLX_TYPES.PRC) {
29
- offset++;
30
- const prcLen = this.view.getInt16(offset, true);
31
- offset += 2 + prcLen;
32
- }
33
- else if (clxType === CLX_TYPES.PCDT) {
34
- offset++;
35
- return this.parsePcdt(offset);
36
- }
37
- else {
38
- throw new PieceTableError(`Unknown Clx type: 0x${clxType?.toString(16)}`);
39
- }
40
- }
41
- throw new PieceTableError('No Pcdt found in Clx structure');
42
- }
43
- parsePcdt(offset) {
44
- const pcdtLen = this.view.getUint32(offset, true);
45
- offset += 4;
46
- return this.parsePlcPcd(offset, pcdtLen);
47
- }
48
- parsePlcPcd(offset, length) {
49
- const PCD_SIZE = 8;
50
- const numPieces = (length - 4) / 12;
51
- if (!Number.isInteger(numPieces) || numPieces < 0) {
52
- throw new PieceTableError(`Invalid PlcPcd length: ${length}`);
53
- }
54
- const cps = [];
55
- for (let i = 0; i <= numPieces; i++) {
56
- cps.push(this.view.getUint32(offset + i * 4, true));
57
- }
58
- const pcdOffset = offset + (numPieces + 1) * 4;
59
- const pieces = [];
60
- for (let i = 0; i < numPieces; i++) {
61
- const pcd = this.parsePcd(pcdOffset + i * PCD_SIZE, cps[i] ?? 0, cps[i + 1] ?? 0);
62
- pieces.push(pcd);
63
- }
64
- return { cps, pieces };
65
- }
66
- parsePcd(offset, cpStart, cpEnd) {
67
- const fcRaw = this.view.getUint32(offset + 2, true);
68
- const prm = this.view.getUint16(offset + 6, true);
69
- const fCompressed = (fcRaw & 0x40000000) !== 0;
70
- let fc = fcRaw & 0x3fffffff;
71
- if (fCompressed) {
72
- fc = fc >> 1;
73
- }
74
- return {
75
- fc,
76
- fCompressed,
77
- prm,
78
- cpStart,
79
- cpEnd,
80
- };
81
- }
82
- extractText() {
83
- const pieceTable = this.parse();
84
- const ranges = [];
85
- for (const piece of pieceTable.pieces) {
86
- const text = this.extractPieceText(piece);
87
- ranges.push({
88
- cpStart: piece.cpStart,
89
- cpEnd: piece.cpEnd,
90
- text,
91
- });
92
- }
93
- return ranges;
94
- }
95
- extractPieceText(piece) {
96
- const charCount = piece.cpEnd - piece.cpStart;
97
- if (piece.fCompressed) {
98
- const bytes = this.wordDocumentStream.slice(piece.fc, piece.fc + charCount);
99
- return this.decodeANSI(bytes);
100
- }
101
- else {
102
- const bytes = this.wordDocumentStream.slice(piece.fc, piece.fc + charCount * 2);
103
- return this.decodeUTF16LE(bytes);
104
- }
105
- }
106
- decodeANSI(bytes) {
107
- const cp1252Map = {
108
- 0x80: 0x20ac,
109
- 0x82: 0x201a,
110
- 0x83: 0x0192,
111
- 0x84: 0x201e,
112
- 0x85: 0x2026,
113
- 0x86: 0x2020,
114
- 0x87: 0x2021,
115
- 0x88: 0x02c6,
116
- 0x89: 0x2030,
117
- 0x8a: 0x0160,
118
- 0x8b: 0x2039,
119
- 0x8c: 0x0152,
120
- 0x8e: 0x017d,
121
- 0x91: 0x2018,
122
- 0x92: 0x2019,
123
- 0x93: 0x201c,
124
- 0x94: 0x201d,
125
- 0x95: 0x2022,
126
- 0x96: 0x2013,
127
- 0x97: 0x2014,
128
- 0x98: 0x02dc,
129
- 0x99: 0x2122,
130
- 0x9a: 0x0161,
131
- 0x9b: 0x203a,
132
- 0x9c: 0x0153,
133
- 0x9e: 0x017e,
134
- 0x9f: 0x0178,
135
- };
136
- const chars = [];
137
- for (let i = 0; i < bytes.length; i++) {
138
- const byte = bytes[i];
139
- if (byte === undefined)
140
- continue;
141
- if (byte >= 0x80 && byte <= 0x9f && cp1252Map[byte] !== undefined) {
142
- chars.push(String.fromCharCode(cp1252Map[byte]));
143
- }
144
- else {
145
- chars.push(String.fromCharCode(byte));
146
- }
147
- }
148
- return chars.join('');
149
- }
150
- decodeUTF16LE(bytes) {
151
- const chars = [];
152
- for (let i = 0; i < bytes.length - 1; i += 2) {
153
- const low = bytes[i];
154
- const high = bytes[i + 1];
155
- if (low === undefined || high === undefined)
156
- break;
157
- chars.push(String.fromCharCode(low | (high << 8)));
158
- }
159
- return chars.join('');
160
- }
161
- getFullText() {
162
- const ranges = this.extractText();
163
- return ranges.map((r) => r.text).join('');
164
- }
165
- static extractText(clxData, wordDocumentStream) {
166
- const parser = new PieceTableParser(clxData, wordDocumentStream);
167
- return parser.extractText();
168
- }
169
- }
170
- exports.PieceTableParser = PieceTableParser;
171
- //# sourceMappingURL=PieceTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PieceTable.js","sourceRoot":"","sources":["../../../src/ms-doc/text/PieceTable.ts"],"names":[],"mappings":"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"}