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,342 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FIBParser = exports.FIBParseError = void 0;
4
- const Constants_1 = require("../types/Constants");
5
- class FIBParseError extends Error {
6
- constructor(message) {
7
- super(message);
8
- this.name = 'FIBParseError';
9
- }
10
- }
11
- exports.FIBParseError = FIBParseError;
12
- const FIB_FCRLCB_FIELDS = [
13
- ['fcStshfOrig', 0],
14
- ['lcbStshfOrig', 4],
15
- ['fcStshf', 8],
16
- ['lcbStshf', 12],
17
- ['fcPlcffndRef', 16],
18
- ['lcbPlcffndRef', 20],
19
- ['fcPlcffndTxt', 24],
20
- ['lcbPlcffndTxt', 28],
21
- ['fcPlcfandRef', 32],
22
- ['lcbPlcfandRef', 36],
23
- ['fcPlcfandTxt', 40],
24
- ['lcbPlcfandTxt', 44],
25
- ['fcPlcfSed', 48],
26
- ['lcbPlcfSed', 52],
27
- ['fcPlcPad', 56],
28
- ['lcbPlcPad', 60],
29
- ['fcPlcfPhe', 64],
30
- ['lcbPlcfPhe', 68],
31
- ['fcSttbfGlsy', 72],
32
- ['lcbSttbfGlsy', 76],
33
- ['fcPlcfGlsy', 80],
34
- ['lcbPlcfGlsy', 84],
35
- ['fcPlcfHdd', 88],
36
- ['lcbPlcfHdd', 92],
37
- ['fcPlcfBteChpx', 96],
38
- ['lcbPlcfBteChpx', 100],
39
- ['fcPlcfBtePapx', 104],
40
- ['lcbPlcfBtePapx', 108],
41
- ['fcPlcfSea', 112],
42
- ['lcbPlcfSea', 116],
43
- ['fcSttbfFfn', 120],
44
- ['lcbSttbfFfn', 124],
45
- ['fcPlcfFldMom', 128],
46
- ['lcbPlcfFldMom', 132],
47
- ['fcPlcfFldHdr', 136],
48
- ['lcbPlcfFldHdr', 140],
49
- ['fcPlcfFldFtn', 144],
50
- ['lcbPlcfFldFtn', 148],
51
- ['fcPlcfFldAtn', 152],
52
- ['lcbPlcfFldAtn', 156],
53
- ['fcPlcfFldMcr', 160],
54
- ['lcbPlcfFldMcr', 164],
55
- ['fcSttbfBkmk', 168],
56
- ['lcbSttbfBkmk', 172],
57
- ['fcPlcfBkf', 176],
58
- ['lcbPlcfBkf', 180],
59
- ['fcPlcfBkl', 184],
60
- ['lcbPlcfBkl', 188],
61
- ['fcCmds', 192],
62
- ['lcbCmds', 196],
63
- ['fcUnused1', 200],
64
- ['lcbUnused1', 204],
65
- ['fcSttbfMcr', 208],
66
- ['lcbSttbfMcr', 212],
67
- ['fcPrDrvr', 216],
68
- ['lcbPrDrvr', 220],
69
- ['fcPrEnvPort', 224],
70
- ['lcbPrEnvPort', 228],
71
- ['fcPrEnvLand', 232],
72
- ['lcbPrEnvLand', 236],
73
- ['fcWss', 240],
74
- ['lcbWss', 244],
75
- ['fcDop', 248],
76
- ['lcbDop', 252],
77
- ['fcSttbfAssoc', 256],
78
- ['lcbSttbfAssoc', 260],
79
- ['fcClx', 264],
80
- ['lcbClx', 268],
81
- ['fcPlcfPgdFtn', 272],
82
- ['lcbPlcfPgdFtn', 276],
83
- ['fcAutosaveSource', 280],
84
- ['lcbAutosaveSource', 284],
85
- ['fcGrpXstAtnOwners', 288],
86
- ['lcbGrpXstAtnOwners', 292],
87
- ['fcSttbfAtnBkmk', 296],
88
- ['lcbSttbfAtnBkmk', 300],
89
- ['fcUnused2', 304],
90
- ['lcbUnused2', 308],
91
- ['fcUnused3', 312],
92
- ['lcbUnused3', 316],
93
- ['fcPlcSpaMom', 320],
94
- ['lcbPlcSpaMom', 324],
95
- ['fcPlcSpaHdr', 328],
96
- ['lcbPlcSpaHdr', 332],
97
- ['fcPlcfAtnBkf', 336],
98
- ['lcbPlcfAtnBkf', 340],
99
- ['fcPlcfAtnBkl', 344],
100
- ['lcbPlcfAtnBkl', 348],
101
- ['fcPms', 352],
102
- ['lcbPms', 356],
103
- ['fcFormFldSttbs', 360],
104
- ['lcbFormFldSttbs', 364],
105
- ['fcPlcfendRef', 368],
106
- ['lcbPlcfendRef', 372],
107
- ['fcPlcfendTxt', 376],
108
- ['lcbPlcfendTxt', 380],
109
- ['fcPlcfFldEdn', 384],
110
- ['lcbPlcfFldEdn', 388],
111
- ['fcUnused4', 392],
112
- ['lcbUnused4', 396],
113
- ['fcDggInfo', 400],
114
- ['lcbDggInfo', 404],
115
- ['fcSttbfRMark', 408],
116
- ['lcbSttbfRMark', 412],
117
- ['fcSttbfCaption', 416],
118
- ['lcbSttbfCaption', 420],
119
- ['fcSttbfAutoCaption', 424],
120
- ['lcbSttbfAutoCaption', 428],
121
- ['fcPlcfWkb', 432],
122
- ['lcbPlcfWkb', 436],
123
- ['fcPlcfSpl', 440],
124
- ['lcbPlcfSpl', 444],
125
- ['fcPlcftxbxTxt', 448],
126
- ['lcbPlcftxbxTxt', 452],
127
- ['fcPlcfFldTxbx', 456],
128
- ['lcbPlcfFldTxbx', 460],
129
- ['fcPlcfHdrtxbxTxt', 464],
130
- ['lcbPlcfHdrtxbxTxt', 468],
131
- ['fcPlcffldHdrTxbx', 472],
132
- ['lcbPlcffldHdrTxbx', 476],
133
- ['fcStwUser', 480],
134
- ['lcbStwUser', 484],
135
- ['fcSttbTtmbd', 488],
136
- ['lcbSttbTtmbd', 492],
137
- ['fcCookieData', 496],
138
- ['lcbCookieData', 500],
139
- ['fcPgdMotherDocPre10', 504],
140
- ['lcbPgdMotherDocPre10', 508],
141
- ['fcBkdMotherDocPre10', 512],
142
- ['lcbBkdMotherDocPre10', 516],
143
- ['fcPgdFtnDocPre10', 520],
144
- ['lcbPgdFtnDocPre10', 524],
145
- ['fcBkdFtnDocPre10', 528],
146
- ['lcbBkdFtnDocPre10', 532],
147
- ['fcPgdEdnDocPre10', 536],
148
- ['lcbPgdEdnDocPre10', 540],
149
- ['fcBkdEdnDocPre10', 544],
150
- ['lcbBkdEdnDocPre10', 548],
151
- ['fcSttbfIntlFld', 552],
152
- ['lcbSttbfIntlFld', 556],
153
- ['fcRouteSlip', 560],
154
- ['lcbRouteSlip', 564],
155
- ['fcSttbSavedBy', 568],
156
- ['lcbSttbSavedBy', 572],
157
- ['fcSttbFnm', 576],
158
- ['lcbSttbFnm', 580],
159
- ['fcPlfLst', 584],
160
- ['lcbPlfLst', 588],
161
- ['fcPlfLfo', 592],
162
- ['lcbPlfLfo', 596],
163
- ['fcPlcfTxbxBkd', 600],
164
- ['lcbPlcfTxbxBkd', 604],
165
- ['fcPlcfTxbxHdrBkd', 608],
166
- ['lcbPlcfTxbxHdrBkd', 612],
167
- ['fcDocUndoWord9', 616],
168
- ['lcbDocUndoWord9', 620],
169
- ['fcRgbUse', 624],
170
- ['lcbRgbUse', 628],
171
- ['fcUsp', 632],
172
- ['lcbUsp', 636],
173
- ['fcUskf', 640],
174
- ['lcbUskf', 644],
175
- ['fcPlcupcRgbUse', 648],
176
- ['lcbPlcupcRgbUse', 652],
177
- ['fcPlcupcUsp', 656],
178
- ['lcbPlcupcUsp', 660],
179
- ['fcSttbGlsyStyle', 664],
180
- ['lcbSttbGlsyStyle', 668],
181
- ['fcPlgosl', 672],
182
- ['lcbPlgosl', 676],
183
- ['fcPlcocx', 680],
184
- ['lcbPlcocx', 684],
185
- ['fcPlcfBteLvc', 688],
186
- ['lcbPlcfBteLvc', 692],
187
- ['dwLowDateTime', 696],
188
- ['dwHighDateTime', 700],
189
- ['fcPlcfLvcPre10', 704],
190
- ['lcbPlcfLvcPre10', 708],
191
- ['fcPlcfAsumy', 712],
192
- ['lcbPlcfAsumy', 716],
193
- ['fcPlcfGram', 720],
194
- ['lcbPlcfGram', 724],
195
- ['fcSttbListNames', 728],
196
- ['lcbSttbListNames', 732],
197
- ['fcSttbfUssr', 736],
198
- ['lcbSttbfUssr', 740],
199
- ];
200
- class FIBParser {
201
- data;
202
- view;
203
- constructor(wordDocumentStream) {
204
- this.data = wordDocumentStream;
205
- this.view = new DataView(this.data.buffer, this.data.byteOffset, this.data.byteLength);
206
- }
207
- parse() {
208
- this.validateFIB();
209
- const base = this.parseFibBase();
210
- const rgW97 = this.parseFibRgW97();
211
- const rgLw97 = this.parseFibRgLw97();
212
- const rgFcLcb = this.parseFibRgFcLcb(base.nFib);
213
- return {
214
- base,
215
- rgW97,
216
- rgLw97,
217
- rgFcLcb,
218
- tableStreamName: base.fWhichTblStm ? '1Table' : '0Table',
219
- };
220
- }
221
- validateFIB() {
222
- if (this.data.length < Constants_1.FIB_CONSTANTS.MIN_SIZE) {
223
- throw new FIBParseError(`WordDocument stream too small: ${this.data.length} bytes`);
224
- }
225
- const wIdent = this.view.getUint16(0, true);
226
- if (wIdent !== Constants_1.FIB_CONSTANTS.SIGNATURE) {
227
- throw new FIBParseError(`Invalid FIB signature: 0x${wIdent.toString(16).toUpperCase()} (expected 0x${Constants_1.FIB_CONSTANTS.SIGNATURE.toString(16).toUpperCase()})`);
228
- }
229
- }
230
- parseFibBase() {
231
- const wIdent = this.view.getUint16(0, true);
232
- const nFib = this.view.getUint16(2, true);
233
- const lid = this.view.getUint16(6, true);
234
- const pnNext = this.view.getUint16(8, true);
235
- const flags = this.view.getUint16(10, true);
236
- const nFibBack = this.view.getUint16(12, true);
237
- const fWhichTblStm = (flags & Constants_1.FIB_CONSTANTS.TABLE_STREAM_BIT) !== 0;
238
- return {
239
- wIdent,
240
- nFib,
241
- lid,
242
- pnNext,
243
- flags,
244
- nFibBack,
245
- fWhichTblStm,
246
- };
247
- }
248
- parseFibRgW97() {
249
- const offset = 32;
250
- return {
251
- reserved1: this.view.getUint16(offset, true),
252
- reserved2: this.view.getUint16(offset + 2, true),
253
- reserved3: this.view.getUint16(offset + 4, true),
254
- reserved4: this.view.getUint16(offset + 6, true),
255
- reserved5: this.view.getUint16(offset + 8, true),
256
- reserved6: this.view.getUint16(offset + 10, true),
257
- reserved7: this.view.getUint16(offset + 12, true),
258
- reserved8: this.view.getUint16(offset + 14, true),
259
- reserved9: this.view.getUint16(offset + 16, true),
260
- reserved10: this.view.getUint16(offset + 18, true),
261
- reserved11: this.view.getUint16(offset + 20, true),
262
- reserved12: this.view.getUint16(offset + 22, true),
263
- reserved13: this.view.getUint16(offset + 24, true),
264
- lidFE: this.view.getUint16(offset + 26, true),
265
- };
266
- }
267
- parseFibRgLw97() {
268
- const offset = 60;
269
- return {
270
- cbMac: this.view.getUint32(offset, true),
271
- reserved1: this.view.getUint32(offset + 4, true),
272
- reserved2: this.view.getUint32(offset + 8, true),
273
- ccpText: this.view.getUint32(offset + 12, true),
274
- ccpFtn: this.view.getUint32(offset + 16, true),
275
- ccpHdd: this.view.getUint32(offset + 20, true),
276
- reserved3: this.view.getUint32(offset + 24, true),
277
- ccpAtn: this.view.getUint32(offset + 28, true),
278
- ccpEdn: this.view.getUint32(offset + 32, true),
279
- ccpTxbx: this.view.getUint32(offset + 36, true),
280
- ccpHdrTxbx: this.view.getUint32(offset + 40, true),
281
- reserved4: this.view.getUint32(offset + 44, true),
282
- reserved5: this.view.getUint32(offset + 48, true),
283
- reserved6: this.view.getUint32(offset + 52, true),
284
- reserved7: this.view.getUint32(offset + 56, true),
285
- reserved8: this.view.getUint32(offset + 60, true),
286
- reserved9: this.view.getUint32(offset + 64, true),
287
- reserved10: this.view.getUint32(offset + 68, true),
288
- reserved11: this.view.getUint32(offset + 72, true),
289
- reserved12: this.view.getUint32(offset + 76, true),
290
- reserved13: this.view.getUint32(offset + 80, true),
291
- reserved14: this.view.getUint32(offset + 84, true),
292
- };
293
- }
294
- parseFibRgFcLcb(nFib) {
295
- const baseOffset = 154;
296
- let numPairs;
297
- if (nFib >= Constants_1.FIB_VERSIONS.WORD_2007) {
298
- numPairs = 274;
299
- }
300
- else if (nFib >= Constants_1.FIB_VERSIONS.WORD_2003) {
301
- numPairs = 164;
302
- }
303
- else if (nFib >= Constants_1.FIB_VERSIONS.WORD_2002) {
304
- numPairs = 136;
305
- }
306
- else if (nFib >= Constants_1.FIB_VERSIONS.WORD_2000) {
307
- numPairs = 108;
308
- }
309
- else {
310
- numPairs = 93;
311
- }
312
- const result = {};
313
- for (const [name, fieldOffset] of FIB_FCRLCB_FIELDS) {
314
- if (fieldOffset + 4 <= numPairs * 8) {
315
- const absoluteOffset = baseOffset + fieldOffset;
316
- if (absoluteOffset + 4 <= this.data.length) {
317
- result[name] = this.view.getUint32(absoluteOffset, true);
318
- }
319
- }
320
- }
321
- return result;
322
- }
323
- static getWordVersion(nFib) {
324
- if (nFib >= Constants_1.FIB_VERSIONS.WORD_2007)
325
- return 'Word 2007+';
326
- if (nFib >= Constants_1.FIB_VERSIONS.WORD_2003)
327
- return 'Word 2003';
328
- if (nFib >= Constants_1.FIB_VERSIONS.WORD_2002)
329
- return 'Word 2002';
330
- if (nFib >= Constants_1.FIB_VERSIONS.WORD_2000)
331
- return 'Word 2000';
332
- if (nFib >= Constants_1.FIB_VERSIONS.WORD_97)
333
- return 'Word 97';
334
- return 'Unknown';
335
- }
336
- static parse(wordDocumentStream) {
337
- const parser = new FIBParser(wordDocumentStream);
338
- return parser.parse();
339
- }
340
- }
341
- exports.FIBParser = FIBParser;
342
- //# sourceMappingURL=FIB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FIB.js","sourceRoot":"","sources":["../../../src/ms-doc/fib/FIB.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { FieldDefinition } from '../types/DocTypes';
2
- export declare class FieldParseError extends Error {
3
- constructor(message: string);
4
- }
5
- export interface ParsedField {
6
- type: string;
7
- normalizedType: string;
8
- instruction: string;
9
- result: string;
10
- cpStart: number;
11
- cpSeparator?: number;
12
- cpEnd: number;
13
- switches: string[];
14
- isNested: boolean;
15
- parentIndex?: number;
16
- }
17
- export declare class FieldParser {
18
- private text;
19
- private fields;
20
- constructor(documentText: string);
21
- parse(): ParsedField[];
22
- private parseFieldInstruction;
23
- private parseCompleteField;
24
- private tokenizeInstruction;
25
- getFieldsByType(type: string): ParsedField[];
26
- static hasFields(text: string): boolean;
27
- static extractFieldResults(text: string): string;
28
- static toFieldDefinition(field: ParsedField): FieldDefinition;
29
- static parse(text: string): ParsedField[];
30
- }
31
- //# sourceMappingURL=FieldParser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldParser.d.ts","sourceRoot":"","sources":["../../../src/ms-doc/fields/FieldParser.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AA0ED,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IAEb,cAAc,EAAE,MAAM,CAAC;IAEvB,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,QAAQ,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAqB;gBAEvB,YAAY,EAAE,MAAM;IAOhC,KAAK,IAAI,WAAW,EAAE;IAmDtB,OAAO,CAAC,qBAAqB;IAsC7B,OAAO,CAAC,kBAAkB;IAwD1B,OAAO,CAAC,mBAAmB;IAoC3B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE;IAQ5C,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQvC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IA2ChD,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe;IAa7D,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE;CAI1C"}
@@ -1,266 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FieldParser = exports.FieldParseError = void 0;
4
- class FieldParseError extends Error {
5
- constructor(message) {
6
- super(message);
7
- this.name = 'FieldParseError';
8
- }
9
- }
10
- exports.FieldParseError = FieldParseError;
11
- const FIELD_CHARS = {
12
- BEGIN: 0x13,
13
- SEPARATOR: 0x14,
14
- END: 0x15,
15
- };
16
- const FIELD_TYPES = {
17
- PAGE: 'page',
18
- NUMPAGES: 'numPages',
19
- DATE: 'date',
20
- TIME: 'time',
21
- AUTHOR: 'author',
22
- TITLE: 'title',
23
- SUBJECT: 'subject',
24
- KEYWORDS: 'keywords',
25
- FILENAME: 'filename',
26
- CREATEDATE: 'createDate',
27
- SAVEDATE: 'saveDate',
28
- PRINTDATE: 'printDate',
29
- TOC: 'toc',
30
- PAGEREF: 'pageRef',
31
- REF: 'ref',
32
- HYPERLINK: 'hyperlink',
33
- MERGEFIELD: 'mergeField',
34
- IF: 'if',
35
- SEQ: 'seq',
36
- SET: 'set',
37
- ASK: 'ask',
38
- FILLIN: 'fillIn',
39
- INCLUDETEXT: 'includeText',
40
- INCLUDEPICTURE: 'includePicture',
41
- SYMBOL: 'symbol',
42
- EMBED: 'embed',
43
- LINK: 'link',
44
- DOCPROPERTY: 'docProperty',
45
- DOCVARIABLE: 'docVariable',
46
- STYLEREF: 'styleRef',
47
- LISTNUM: 'listNum',
48
- AUTONUM: 'autoNum',
49
- AUTONUMLGL: 'autoNumLgl',
50
- AUTONUMOUT: 'autoNumOut',
51
- QUOTE: 'quote',
52
- EQ: 'equation',
53
- ADVANCE: 'advance',
54
- TC: 'tocEntry',
55
- XE: 'indexEntry',
56
- INDEX: 'index',
57
- RD: 'referencedDocument',
58
- TA: 'tableOfAuthoritiesEntry',
59
- TOA: 'tableOfAuthorities',
60
- COMMENTS: 'comments',
61
- LASTSAVEDBY: 'lastSavedBy',
62
- EDITTIME: 'editTime',
63
- NUMWORDS: 'numWords',
64
- NUMCHARS: 'numChars',
65
- REVNUM: 'revNum',
66
- SECTION: 'section',
67
- SECTIONPAGES: 'sectionPages',
68
- };
69
- class FieldParser {
70
- text;
71
- fields = [];
72
- constructor(documentText) {
73
- this.text = documentText;
74
- }
75
- parse() {
76
- this.fields = [];
77
- const fieldStack = [];
78
- for (let i = 0; i < this.text.length; i++) {
79
- const charCode = this.text.charCodeAt(i);
80
- switch (charCode) {
81
- case FIELD_CHARS.BEGIN:
82
- fieldStack.push({ cpStart: i, level: fieldStack.length });
83
- break;
84
- case FIELD_CHARS.SEPARATOR:
85
- if (fieldStack.length > 0) {
86
- const current = fieldStack[fieldStack.length - 1];
87
- if (current) {
88
- const partialField = this.parseFieldInstruction(current.cpStart, i);
89
- if (partialField) {
90
- partialField.cpSeparator = i;
91
- }
92
- }
93
- }
94
- break;
95
- case FIELD_CHARS.END:
96
- if (fieldStack.length > 0) {
97
- const current = fieldStack.pop();
98
- if (current) {
99
- const field = this.parseCompleteField(current.cpStart, i, current.level > 0);
100
- if (field) {
101
- if (current.level > 0 && this.fields.length > 0) {
102
- field.parentIndex = this.fields.length - 1;
103
- }
104
- this.fields.push(field);
105
- }
106
- }
107
- }
108
- break;
109
- }
110
- }
111
- return this.fields;
112
- }
113
- parseFieldInstruction(cpStart, cpEnd) {
114
- const instructionRaw = this.text.substring(cpStart + 1, cpEnd).trim();
115
- if (!instructionRaw) {
116
- return null;
117
- }
118
- const parts = this.tokenizeInstruction(instructionRaw);
119
- if (parts.length === 0) {
120
- return null;
121
- }
122
- const fieldType = parts[0]?.toUpperCase() ?? '';
123
- const normalizedType = FIELD_TYPES[fieldType] ?? fieldType.toLowerCase();
124
- const switches = [];
125
- for (let i = 1; i < parts.length; i++) {
126
- const part = parts[i];
127
- if (part?.startsWith('\\')) {
128
- switches.push(part);
129
- }
130
- }
131
- return {
132
- type: fieldType,
133
- normalizedType,
134
- instruction: instructionRaw,
135
- switches,
136
- cpStart,
137
- };
138
- }
139
- parseCompleteField(cpStart, cpEnd, isNested) {
140
- let cpSeparator;
141
- for (let i = cpStart + 1; i < cpEnd; i++) {
142
- if (this.text.charCodeAt(i) === FIELD_CHARS.SEPARATOR) {
143
- cpSeparator = i;
144
- break;
145
- }
146
- }
147
- const instructionEnd = cpSeparator ?? cpEnd;
148
- const instructionRaw = this.text.substring(cpStart + 1, instructionEnd).trim();
149
- let result = '';
150
- if (cpSeparator !== undefined) {
151
- result = this.text.substring(cpSeparator + 1, cpEnd).trim();
152
- result = result.replace(/[\x13\x14\x15]/g, '');
153
- }
154
- const parts = this.tokenizeInstruction(instructionRaw);
155
- if (parts.length === 0) {
156
- return null;
157
- }
158
- const fieldType = parts[0]?.toUpperCase() ?? '';
159
- const normalizedType = FIELD_TYPES[fieldType] ?? fieldType.toLowerCase();
160
- const switches = [];
161
- for (let i = 1; i < parts.length; i++) {
162
- const part = parts[i];
163
- if (part?.startsWith('\\')) {
164
- switches.push(part);
165
- }
166
- }
167
- return {
168
- type: fieldType,
169
- normalizedType,
170
- instruction: instructionRaw,
171
- result,
172
- cpStart,
173
- cpSeparator,
174
- cpEnd,
175
- switches,
176
- isNested,
177
- };
178
- }
179
- tokenizeInstruction(instruction) {
180
- const tokens = [];
181
- let current = '';
182
- let inQuotes = false;
183
- let quoteChar = '';
184
- for (let i = 0; i < instruction.length; i++) {
185
- const char = instruction[i];
186
- if ((char === '"' || char === "'") && !inQuotes) {
187
- inQuotes = true;
188
- quoteChar = char;
189
- current += char;
190
- }
191
- else if (char === quoteChar && inQuotes) {
192
- inQuotes = false;
193
- current += char;
194
- }
195
- else if (char === ' ' && !inQuotes) {
196
- if (current) {
197
- tokens.push(current);
198
- current = '';
199
- }
200
- }
201
- else {
202
- current += char;
203
- }
204
- }
205
- if (current) {
206
- tokens.push(current);
207
- }
208
- return tokens;
209
- }
210
- getFieldsByType(type) {
211
- const upperType = type.toUpperCase();
212
- return this.fields.filter((f) => f.type === upperType);
213
- }
214
- static hasFields(text) {
215
- const beginChar = String.fromCharCode(FIELD_CHARS.BEGIN);
216
- return text.includes(beginChar);
217
- }
218
- static extractFieldResults(text) {
219
- let result = '';
220
- let inInstruction = false;
221
- let depth = 0;
222
- for (let i = 0; i < text.length; i++) {
223
- const charCode = text.charCodeAt(i);
224
- switch (charCode) {
225
- case FIELD_CHARS.BEGIN:
226
- depth++;
227
- inInstruction = true;
228
- break;
229
- case FIELD_CHARS.SEPARATOR:
230
- if (depth > 0) {
231
- inInstruction = false;
232
- }
233
- break;
234
- case FIELD_CHARS.END:
235
- depth--;
236
- if (depth === 0) {
237
- inInstruction = false;
238
- }
239
- break;
240
- default:
241
- if (!inInstruction && depth === 0) {
242
- result += text[i];
243
- }
244
- else if (!inInstruction && depth > 0) {
245
- result += text[i];
246
- }
247
- }
248
- }
249
- return result;
250
- }
251
- static toFieldDefinition(field) {
252
- return {
253
- type: field.normalizedType,
254
- instruction: field.instruction,
255
- result: field.result,
256
- cpStart: field.cpStart,
257
- cpEnd: field.cpEnd,
258
- };
259
- }
260
- static parse(text) {
261
- const parser = new FieldParser(text);
262
- return parser.parse();
263
- }
264
- }
265
- exports.FieldParser = FieldParser;
266
- //# sourceMappingURL=FieldParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FieldParser.js","sourceRoot":"","sources":["../../../src/ms-doc/fields/FieldParser.ts"],"names":[],"mappings":"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"}