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.
- package/README.md +3 -2
- package/dist/constants/legacyCompatFlags.d.ts.map +1 -1
- package/dist/constants/legacyCompatFlags.js.map +1 -1
- package/dist/constants/limits.d.ts +0 -27
- package/dist/constants/limits.d.ts.map +1 -1
- package/dist/constants/limits.js +13 -13
- package/dist/constants/limits.js.map +1 -1
- package/dist/core/Document.d.ts +24 -19
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +272 -71
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentContent.d.ts.map +1 -1
- package/dist/core/DocumentContent.js.map +1 -1
- package/dist/core/DocumentGenerator.d.ts.map +1 -1
- package/dist/core/DocumentGenerator.js +59 -24
- package/dist/core/DocumentGenerator.js.map +1 -1
- package/dist/core/DocumentIdManager.d.ts.map +1 -1
- package/dist/core/DocumentIdManager.js.map +1 -1
- package/dist/core/DocumentParser.d.ts +6 -6
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +60 -54
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/core/DocumentValidator.d.ts.map +1 -1
- package/dist/core/DocumentValidator.js.map +1 -1
- package/dist/core/Relationship.d.ts.map +1 -1
- package/dist/core/Relationship.js +1 -1
- package/dist/core/Relationship.js.map +1 -1
- package/dist/core/RelationshipManager.js +3 -3
- package/dist/core/RelationshipManager.js.map +1 -1
- package/dist/elements/AlternateContent.js.map +1 -1
- package/dist/elements/Bookmark.d.ts.map +1 -1
- package/dist/elements/Bookmark.js.map +1 -1
- package/dist/elements/BookmarkManager.d.ts.map +1 -1
- package/dist/elements/BookmarkManager.js.map +1 -1
- package/dist/elements/Comment.js +1 -1
- package/dist/elements/Comment.js.map +1 -1
- package/dist/elements/CommentManager.d.ts.map +1 -1
- package/dist/elements/CommentManager.js +8 -2
- package/dist/elements/CommentManager.js.map +1 -1
- package/dist/elements/CommonTypes.d.ts.map +1 -1
- package/dist/elements/CommonTypes.js +1 -2
- package/dist/elements/CommonTypes.js.map +1 -1
- package/dist/elements/CustomXml.js.map +1 -1
- package/dist/elements/Endnote.d.ts.map +1 -1
- package/dist/elements/Endnote.js.map +1 -1
- package/dist/elements/EndnoteManager.d.ts.map +1 -1
- package/dist/elements/EndnoteManager.js.map +1 -1
- package/dist/elements/Field.d.ts.map +1 -1
- package/dist/elements/Field.js +31 -28
- package/dist/elements/Field.js.map +1 -1
- package/dist/elements/FieldHelpers.d.ts.map +1 -1
- package/dist/elements/FieldHelpers.js +6 -6
- package/dist/elements/FieldHelpers.js.map +1 -1
- package/dist/elements/FontManager.d.ts.map +1 -1
- package/dist/elements/FontManager.js.map +1 -1
- package/dist/elements/Footer.js.map +1 -1
- package/dist/elements/Footnote.d.ts.map +1 -1
- package/dist/elements/Footnote.js.map +1 -1
- package/dist/elements/FootnoteManager.d.ts.map +1 -1
- package/dist/elements/FootnoteManager.js.map +1 -1
- package/dist/elements/Header.js.map +1 -1
- package/dist/elements/HeaderFooterManager.js.map +1 -1
- package/dist/elements/Hyperlink.d.ts.map +1 -1
- package/dist/elements/Hyperlink.js +5 -5
- package/dist/elements/Hyperlink.js.map +1 -1
- package/dist/elements/Image.d.ts +2 -2
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +21 -5
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/ImageManager.d.ts.map +1 -1
- package/dist/elements/ImageManager.js +2 -2
- package/dist/elements/ImageManager.js.map +1 -1
- package/dist/elements/ImageRun.js.map +1 -1
- package/dist/elements/MathElement.js.map +1 -1
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +128 -117
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/PreservedElement.js.map +1 -1
- package/dist/elements/PropertyChangeTypes.js.map +1 -1
- package/dist/elements/RangeMarker.js.map +1 -1
- package/dist/elements/Revision.d.ts +1 -0
- package/dist/elements/Revision.d.ts.map +1 -1
- package/dist/elements/Revision.js +44 -5
- package/dist/elements/Revision.js.map +1 -1
- package/dist/elements/RevisionContent.js.map +1 -1
- package/dist/elements/RevisionManager.d.ts.map +1 -1
- package/dist/elements/RevisionManager.js.map +1 -1
- package/dist/elements/Run.d.ts.map +1 -1
- package/dist/elements/Run.js +1 -3
- package/dist/elements/Run.js.map +1 -1
- package/dist/elements/Section.d.ts.map +1 -1
- package/dist/elements/Section.js +127 -118
- package/dist/elements/Section.js.map +1 -1
- package/dist/elements/Shape.d.ts.map +1 -1
- package/dist/elements/Shape.js +21 -0
- package/dist/elements/Shape.js.map +1 -1
- package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
- package/dist/elements/StructuredDocumentTag.js +20 -8
- package/dist/elements/StructuredDocumentTag.js.map +1 -1
- package/dist/elements/Table.d.ts +2 -2
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +29 -35
- package/dist/elements/Table.js.map +1 -1
- package/dist/elements/TableCell.d.ts +2 -2
- package/dist/elements/TableCell.d.ts.map +1 -1
- package/dist/elements/TableCell.js +63 -67
- package/dist/elements/TableCell.js.map +1 -1
- package/dist/elements/TableGridChange.js.map +1 -1
- package/dist/elements/TableOfContents.d.ts +6 -6
- package/dist/elements/TableOfContents.d.ts.map +1 -1
- package/dist/elements/TableOfContents.js.map +1 -1
- package/dist/elements/TableOfContentsElement.js.map +1 -1
- package/dist/elements/TableRow.d.ts.map +1 -1
- package/dist/elements/TableRow.js +65 -47
- package/dist/elements/TableRow.js.map +1 -1
- package/dist/elements/TextBox.d.ts.map +1 -1
- package/dist/elements/TextBox.js +1 -1
- package/dist/elements/TextBox.js.map +1 -1
- package/dist/formatting/AbstractNumbering.d.ts +1 -1
- package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
- package/dist/formatting/AbstractNumbering.js +11 -11
- package/dist/formatting/AbstractNumbering.js.map +1 -1
- package/dist/formatting/NumberingInstance.d.ts.map +1 -1
- package/dist/formatting/NumberingInstance.js +4 -4
- package/dist/formatting/NumberingInstance.js.map +1 -1
- package/dist/formatting/NumberingLevel.d.ts.map +1 -1
- package/dist/formatting/NumberingLevel.js +26 -26
- package/dist/formatting/NumberingLevel.js.map +1 -1
- package/dist/formatting/NumberingManager.d.ts +1 -1
- package/dist/formatting/NumberingManager.d.ts.map +1 -1
- package/dist/formatting/NumberingManager.js.map +1 -1
- package/dist/formatting/Style.d.ts.map +1 -1
- package/dist/formatting/Style.js +87 -95
- package/dist/formatting/Style.js.map +1 -1
- package/dist/formatting/StylesManager.d.ts +3 -3
- package/dist/formatting/StylesManager.d.ts.map +1 -1
- package/dist/formatting/StylesManager.js.map +1 -1
- package/dist/helpers/CleanupHelper.d.ts.map +1 -1
- package/dist/helpers/CleanupHelper.js +1 -7
- package/dist/helpers/CleanupHelper.js.map +1 -1
- package/dist/images/ImageOptimizer.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/managers/DrawingManager.d.ts.map +1 -1
- package/dist/managers/DrawingManager.js.map +1 -1
- package/dist/tracking/DocumentTrackingContext.js.map +1 -1
- package/dist/tracking/TrackingContext.js.map +1 -1
- package/dist/types/compatibility-types.js.map +1 -1
- package/dist/types/formatting.js.map +1 -1
- package/dist/types/list-types.d.ts +4 -4
- package/dist/types/list-types.d.ts.map +1 -1
- package/dist/types/list-types.js.map +1 -1
- package/dist/types/settings-types.js.map +1 -1
- package/dist/types/styleConfig.js.map +1 -1
- package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
- package/dist/utils/ChangelogGenerator.js.map +1 -1
- package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
- package/dist/utils/CompatibilityUpgrader.js +7 -7
- package/dist/utils/CompatibilityUpgrader.js.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.js +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
- package/dist/utils/MoveOperationHelper.js.map +1 -1
- package/dist/utils/RevisionAwareProcessor.js.map +1 -1
- package/dist/utils/RevisionWalker.js.map +1 -1
- package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
- package/dist/utils/ShadingResolver.js +1 -1
- package/dist/utils/ShadingResolver.js.map +1 -1
- package/dist/utils/acceptRevisions.d.ts +0 -28
- package/dist/utils/acceptRevisions.d.ts.map +1 -1
- package/dist/utils/acceptRevisions.js +5 -7
- package/dist/utils/acceptRevisions.js.map +1 -1
- package/dist/utils/cnfStyleDecoder.js +1 -1
- package/dist/utils/cnfStyleDecoder.js.map +1 -1
- package/dist/utils/corruptionDetection.js.map +1 -1
- package/dist/utils/dateFormatting.js.map +1 -1
- package/dist/utils/deepClone.d.ts +0 -1
- package/dist/utils/deepClone.d.ts.map +1 -1
- package/dist/utils/deepClone.js +0 -7
- package/dist/utils/deepClone.js.map +1 -1
- package/dist/utils/diagnostics.d.ts +2 -2
- package/dist/utils/diagnostics.d.ts.map +1 -1
- package/dist/utils/diagnostics.js.map +1 -1
- package/dist/utils/errorHandling.js.map +1 -1
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/list-detection.d.ts +2 -2
- package/dist/utils/list-detection.d.ts.map +1 -1
- package/dist/utils/list-detection.js +3 -3
- package/dist/utils/list-detection.js.map +1 -1
- package/dist/utils/logger.d.ts +2 -4
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +0 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/parsingHelpers.js.map +1 -1
- package/dist/utils/stripTrackedChanges.d.ts +0 -19
- package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
- package/dist/utils/stripTrackedChanges.js +0 -2
- package/dist/utils/stripTrackedChanges.js.map +1 -1
- package/dist/utils/textDiff.js.map +1 -1
- package/dist/utils/units.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/xmlSanitization.js.map +1 -1
- package/dist/validation/RevisionAutoFixer.js.map +1 -1
- package/dist/validation/RevisionValidator.js.map +1 -1
- package/dist/validation/ValidationRules.js.map +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/xml/XMLBuilder.d.ts.map +1 -1
- package/dist/xml/XMLBuilder.js +10 -0
- package/dist/xml/XMLBuilder.js.map +1 -1
- package/dist/xml/XMLParser.d.ts.map +1 -1
- package/dist/xml/XMLParser.js +4 -5
- package/dist/xml/XMLParser.js.map +1 -1
- package/dist/zip/ZipHandler.js.map +1 -1
- package/dist/zip/ZipReader.js.map +1 -1
- package/dist/zip/ZipWriter.js.map +1 -1
- package/dist/zip/errors.js.map +1 -1
- package/dist/zip/types.js.map +1 -1
- package/package.json +34 -4
- package/src/__tests__/helper-methods.test.ts +512 -0
- package/src/constants/legacyCompatFlags.ts +138 -0
- package/src/constants/limits.ts +50 -0
- package/src/core/CLAUDE.md +109 -0
- package/src/core/Document.ts +15569 -0
- package/src/core/DocumentContent.ts +467 -0
- package/src/core/DocumentGenerator.ts +1104 -0
- package/src/core/DocumentIdManager.ts +158 -0
- package/src/core/DocumentParser.ts +10107 -0
- package/src/core/DocumentValidator.ts +372 -0
- package/src/core/Relationship.ts +367 -0
- package/src/core/RelationshipManager.ts +428 -0
- package/src/elements/AlternateContent.ts +42 -0
- package/src/elements/Bookmark.ts +210 -0
- package/src/elements/BookmarkManager.ts +250 -0
- package/src/elements/CLAUDE.md +126 -0
- package/src/elements/Comment.ts +359 -0
- package/src/elements/CommentManager.ts +502 -0
- package/src/elements/CommonTypes.ts +549 -0
- package/src/elements/CustomXml.ts +36 -0
- package/src/elements/Endnote.ts +217 -0
- package/src/elements/EndnoteManager.ts +249 -0
- package/src/elements/Field.ts +1233 -0
- package/src/elements/FieldHelpers.ts +333 -0
- package/src/elements/FontManager.ts +339 -0
- package/src/elements/Footer.ts +269 -0
- package/src/elements/Footnote.ts +217 -0
- package/src/elements/FootnoteManager.ts +249 -0
- package/src/elements/Header.ts +269 -0
- package/src/elements/HeaderFooterManager.ts +219 -0
- package/src/elements/Hyperlink.ts +1146 -0
- package/src/elements/Image.ts +1756 -0
- package/src/elements/ImageManager.ts +432 -0
- package/src/elements/ImageRun.ts +59 -0
- package/src/elements/MathElement.ts +65 -0
- package/src/elements/Paragraph.ts +4227 -0
- package/src/elements/PreservedElement.ts +53 -0
- package/src/elements/PropertyChangeTypes.ts +442 -0
- package/src/elements/RangeMarker.ts +400 -0
- package/src/elements/Revision.ts +1217 -0
- package/src/elements/RevisionContent.ts +73 -0
- package/src/elements/RevisionManager.ts +1070 -0
- package/src/elements/Run.ts +3068 -0
- package/src/elements/Section.ts +1421 -0
- package/src/elements/Shape.ts +873 -0
- package/src/elements/StructuredDocumentTag.ts +978 -0
- package/src/elements/Table.ts +2524 -0
- package/src/elements/TableCell.ts +1586 -0
- package/src/elements/TableGridChange.ts +151 -0
- package/src/elements/TableOfContents.ts +691 -0
- package/src/elements/TableOfContentsElement.ts +89 -0
- package/src/elements/TableRow.ts +906 -0
- package/src/elements/TextBox.ts +768 -0
- package/src/formatting/AbstractNumbering.ts +548 -0
- package/src/formatting/CLAUDE.md +74 -0
- package/src/formatting/NumberingInstance.ts +212 -0
- package/src/formatting/NumberingLevel.ts +1006 -0
- package/src/formatting/NumberingManager.ts +827 -0
- package/src/formatting/Style.ts +1833 -0
- package/src/formatting/StylesManager.ts +1005 -0
- package/src/helpers/CleanupHelper.ts +524 -0
- package/src/images/ImageOptimizer.ts +274 -0
- package/src/index.ts +554 -0
- package/src/managers/CLAUDE.md +47 -0
- package/src/managers/DrawingManager.ts +319 -0
- package/src/tracking/DocumentTrackingContext.ts +643 -0
- package/src/tracking/TrackingContext.ts +173 -0
- package/src/types/compatibility-types.ts +49 -0
- package/src/types/formatting.ts +210 -0
- package/src/types/list-types.ts +152 -0
- package/src/types/settings-types.ts +59 -0
- package/src/types/styleConfig.ts +189 -0
- package/src/utils/CLAUDE.md +153 -0
- package/src/utils/ChangelogGenerator.ts +1581 -0
- package/src/utils/CompatibilityUpgrader.ts +237 -0
- package/src/utils/InMemoryRevisionAcceptor.ts +668 -0
- package/src/utils/MoveOperationHelper.ts +238 -0
- package/src/utils/RevisionAwareProcessor.ts +526 -0
- package/src/utils/RevisionWalker.ts +457 -0
- package/src/utils/SelectiveRevisionAcceptor.ts +613 -0
- package/src/utils/ShadingResolver.ts +107 -0
- package/src/utils/acceptRevisions.ts +714 -0
- package/src/utils/cnfStyleDecoder.ts +217 -0
- package/src/utils/corruptionDetection.ts +345 -0
- package/src/utils/dateFormatting.ts +20 -0
- package/src/utils/deepClone.ts +78 -0
- package/src/utils/diagnostics.ts +129 -0
- package/src/utils/errorHandling.ts +80 -0
- package/src/utils/formatting.ts +213 -0
- package/src/utils/list-detection.ts +274 -0
- package/src/utils/logger.ts +404 -0
- package/src/utils/parsingHelpers.ts +190 -0
- package/src/utils/stripTrackedChanges.ts +353 -0
- package/src/utils/textDiff.ts +100 -0
- package/src/utils/units.ts +421 -0
- package/src/utils/validation.ts +542 -0
- package/src/utils/xmlSanitization.ts +182 -0
- package/src/validation/RevisionAutoFixer.ts +542 -0
- package/src/validation/RevisionValidator.ts +460 -0
- package/src/validation/ValidationRules.ts +338 -0
- package/src/validation/index.ts +30 -0
- package/src/xml/CLAUDE.md +65 -0
- package/src/xml/XMLBuilder.ts +871 -0
- package/src/xml/XMLParser.ts +919 -0
- package/src/zip/CLAUDE.md +55 -0
- package/src/zip/ZipHandler.ts +637 -0
- package/src/zip/ZipReader.ts +299 -0
- package/src/zip/ZipWriter.ts +390 -0
- package/src/zip/errors.ts +69 -0
- package/src/zip/types.ts +116 -0
- package/dist/core/ListNormalizer.d.ts +0 -23
- package/dist/core/ListNormalizer.d.ts.map +0 -1
- package/dist/core/ListNormalizer.js +0 -624
- package/dist/core/ListNormalizer.js.map +0 -1
- package/dist/images/index.d.ts +0 -2
- package/dist/images/index.d.ts.map +0 -1
- package/dist/images/index.js +0 -8
- package/dist/images/index.js.map +0 -1
- package/dist/ms-doc/cfb/CFBReader.d.ts +0 -35
- package/dist/ms-doc/cfb/CFBReader.d.ts.map +0 -1
- package/dist/ms-doc/cfb/CFBReader.js +0 -360
- package/dist/ms-doc/cfb/CFBReader.js.map +0 -1
- package/dist/ms-doc/converter/DocToDocxConverter.d.ts +0 -55
- package/dist/ms-doc/converter/DocToDocxConverter.d.ts.map +0 -1
- package/dist/ms-doc/converter/DocToDocxConverter.js +0 -324
- package/dist/ms-doc/converter/DocToDocxConverter.js.map +0 -1
- package/dist/ms-doc/fib/FIB.d.ts +0 -18
- package/dist/ms-doc/fib/FIB.d.ts.map +0 -1
- package/dist/ms-doc/fib/FIB.js +0 -342
- package/dist/ms-doc/fib/FIB.js.map +0 -1
- package/dist/ms-doc/fields/FieldParser.d.ts +0 -31
- package/dist/ms-doc/fields/FieldParser.d.ts.map +0 -1
- package/dist/ms-doc/fields/FieldParser.js +0 -266
- package/dist/ms-doc/fields/FieldParser.js.map +0 -1
- package/dist/ms-doc/images/PictureExtractor.d.ts +0 -22
- package/dist/ms-doc/images/PictureExtractor.d.ts.map +0 -1
- package/dist/ms-doc/images/PictureExtractor.js +0 -233
- package/dist/ms-doc/images/PictureExtractor.js.map +0 -1
- package/dist/ms-doc/index.d.ts +0 -20
- package/dist/ms-doc/index.d.ts.map +0 -1
- package/dist/ms-doc/index.js +0 -59
- package/dist/ms-doc/index.js.map +0 -1
- package/dist/ms-doc/properties/SPRM.d.ts +0 -210
- package/dist/ms-doc/properties/SPRM.d.ts.map +0 -1
- package/dist/ms-doc/properties/SPRM.js +0 -633
- package/dist/ms-doc/properties/SPRM.js.map +0 -1
- package/dist/ms-doc/sections/SectionParser.d.ts +0 -25
- package/dist/ms-doc/sections/SectionParser.d.ts.map +0 -1
- package/dist/ms-doc/sections/SectionParser.js +0 -214
- package/dist/ms-doc/sections/SectionParser.js.map +0 -1
- package/dist/ms-doc/styles/StyleSheet.d.ts +0 -23
- package/dist/ms-doc/styles/StyleSheet.d.ts.map +0 -1
- package/dist/ms-doc/styles/StyleSheet.js +0 -268
- package/dist/ms-doc/styles/StyleSheet.js.map +0 -1
- package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts +0 -61
- package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts.map +0 -1
- package/dist/ms-doc/subdocuments/SubdocumentParser.js +0 -208
- package/dist/ms-doc/subdocuments/SubdocumentParser.js.map +0 -1
- package/dist/ms-doc/tables/TableParser.d.ts +0 -29
- package/dist/ms-doc/tables/TableParser.d.ts.map +0 -1
- package/dist/ms-doc/tables/TableParser.js +0 -176
- package/dist/ms-doc/tables/TableParser.js.map +0 -1
- package/dist/ms-doc/text/PieceTable.d.ts +0 -21
- package/dist/ms-doc/text/PieceTable.d.ts.map +0 -1
- package/dist/ms-doc/text/PieceTable.js +0 -171
- package/dist/ms-doc/text/PieceTable.js.map +0 -1
- package/dist/ms-doc/types/Constants.d.ts +0 -99
- package/dist/ms-doc/types/Constants.d.ts.map +0 -1
- package/dist/ms-doc/types/Constants.js +0 -102
- package/dist/ms-doc/types/Constants.js.map +0 -1
- package/dist/ms-doc/types/DocTypes.d.ts +0 -368
- package/dist/ms-doc/types/DocTypes.d.ts.map +0 -1
- package/dist/ms-doc/types/DocTypes.js +0 -3
- package/dist/ms-doc/types/DocTypes.js.map +0 -1
- package/dist/tracking/index.d.ts +0 -3
- package/dist/tracking/index.d.ts.map +0 -1
- package/dist/tracking/index.js +0 -6
- package/dist/tracking/index.js.map +0 -1
|
@@ -1052,7 +1052,7 @@ class DocumentParser {
|
|
|
1052
1052
|
for (const runXml of runXmls) {
|
|
1053
1053
|
const runObj = XMLParser_1.XMLParser.parseToObject(runXml, { trimValues: false });
|
|
1054
1054
|
const runElement = runObj["w:r"];
|
|
1055
|
-
if (runElement
|
|
1055
|
+
if (runElement?.["w:drawing"]) {
|
|
1056
1056
|
if (zipHandler && imageManager) {
|
|
1057
1057
|
const imageRun = await this.parseDrawingFromObject(runElement["w:drawing"], zipHandler, relationshipManager, imageManager);
|
|
1058
1058
|
if (imageRun) {
|
|
@@ -1129,8 +1129,10 @@ class DocumentParser {
|
|
|
1129
1129
|
const author = XMLParser_1.XMLParser.extractAttribute(commentXml, "w:author") || "Unknown";
|
|
1130
1130
|
const dateAttr = XMLParser_1.XMLParser.extractAttribute(commentXml, "w:date");
|
|
1131
1131
|
const initials = XMLParser_1.XMLParser.extractAttribute(commentXml, "w:initials");
|
|
1132
|
-
const parentIdAttr = XMLParser_1.XMLParser.extractAttribute(commentXml, "
|
|
1133
|
-
|
|
1132
|
+
const parentIdAttr = XMLParser_1.XMLParser.extractAttribute(commentXml, "w15:parentId")
|
|
1133
|
+
|| XMLParser_1.XMLParser.extractAttribute(commentXml, "w:parentId");
|
|
1134
|
+
const doneAttr = XMLParser_1.XMLParser.extractAttribute(commentXml, "w15:done")
|
|
1135
|
+
|| XMLParser_1.XMLParser.extractAttribute(commentXml, "w:done");
|
|
1134
1136
|
if (!idAttr) {
|
|
1135
1137
|
return null;
|
|
1136
1138
|
}
|
|
@@ -1333,7 +1335,7 @@ class DocumentParser {
|
|
|
1333
1335
|
paragraph.formatting.paraId = paraId;
|
|
1334
1336
|
}
|
|
1335
1337
|
this.parseParagraphPropertiesFromObject(paraObj["w:pPr"], paragraph);
|
|
1336
|
-
const orderedChildren = paraObj
|
|
1338
|
+
const orderedChildren = paraObj._orderedChildren;
|
|
1337
1339
|
if (orderedChildren && orderedChildren.length > 0) {
|
|
1338
1340
|
for (const childInfo of orderedChildren) {
|
|
1339
1341
|
const elementType = childInfo.type;
|
|
@@ -2660,8 +2662,8 @@ class DocumentParser {
|
|
|
2660
2662
|
}
|
|
2661
2663
|
return Object.keys(ffd).length > 0 ? ffd : undefined;
|
|
2662
2664
|
};
|
|
2663
|
-
if (runObj
|
|
2664
|
-
for (const child of runObj
|
|
2665
|
+
if (runObj._orderedChildren) {
|
|
2666
|
+
for (const child of runObj._orderedChildren) {
|
|
2665
2667
|
const elementType = child.type;
|
|
2666
2668
|
const elementIndex = child.index;
|
|
2667
2669
|
switch (elementType) {
|
|
@@ -3134,7 +3136,7 @@ class DocumentParser {
|
|
|
3134
3136
|
logger_1.defaultLogger.debug(`[DocumentParser] Skipping self-closing external hyperlink with no display text. URL: "${url}"`);
|
|
3135
3137
|
return result;
|
|
3136
3138
|
}
|
|
3137
|
-
|
|
3139
|
+
const displayText = text || url || "[Link]";
|
|
3138
3140
|
if (!text && finalAnchor) {
|
|
3139
3141
|
logger_1.defaultLogger.warn(`[DocumentParser] Hyperlink to anchor "${finalAnchor}" has no display text. ` +
|
|
3140
3142
|
`Using placeholder "[Link]" to prevent bookmark ID from appearing as visible text. ` +
|
|
@@ -4293,7 +4295,7 @@ class DocumentParser {
|
|
|
4293
4295
|
if (tableObj["w:tblPr"]) {
|
|
4294
4296
|
this.parseTablePropertiesFromObject(tableObj["w:tblPr"], table);
|
|
4295
4297
|
}
|
|
4296
|
-
if (tableObj["w:tblGrid"]
|
|
4298
|
+
if (tableObj["w:tblGrid"]?.["w:gridCol"]) {
|
|
4297
4299
|
const gridCols = tableObj["w:tblGrid"]["w:gridCol"];
|
|
4298
4300
|
const gridColArray = Array.isArray(gridCols) ? gridCols : [gridCols];
|
|
4299
4301
|
const widths = gridColArray.map((col) => {
|
|
@@ -4402,14 +4404,14 @@ class DocumentParser {
|
|
|
4402
4404
|
position.x = parseInt(tblpPr["@_w:tblpX"], 10);
|
|
4403
4405
|
if (tblpPr["@_w:tblpY"])
|
|
4404
4406
|
position.y = parseInt(tblpPr["@_w:tblpY"], 10);
|
|
4407
|
+
if (tblpPr["@_w:horzAnchor"])
|
|
4408
|
+
position.horizontalAnchor = tblpPr["@_w:horzAnchor"];
|
|
4409
|
+
if (tblpPr["@_w:vertAnchor"])
|
|
4410
|
+
position.verticalAnchor = tblpPr["@_w:vertAnchor"];
|
|
4405
4411
|
if (tblpPr["@_w:tblpXSpec"])
|
|
4406
|
-
position.
|
|
4412
|
+
position.horizontalAlignment = tblpPr["@_w:tblpXSpec"];
|
|
4407
4413
|
if (tblpPr["@_w:tblpYSpec"])
|
|
4408
|
-
position.
|
|
4409
|
-
if (tblpPr["@_w:tblpXAlign"])
|
|
4410
|
-
position.horizontalAlignment = tblpPr["@_w:tblpXAlign"];
|
|
4411
|
-
if (tblpPr["@_w:tblpYAlign"])
|
|
4412
|
-
position.verticalAlignment = tblpPr["@_w:tblpYAlign"];
|
|
4414
|
+
position.verticalAlignment = tblpPr["@_w:tblpYSpec"];
|
|
4413
4415
|
if (tblpPr["@_w:leftFromText"])
|
|
4414
4416
|
position.leftFromText = parseInt(tblpPr["@_w:leftFromText"], 10);
|
|
4415
4417
|
if (tblpPr["@_w:rightFromText"])
|
|
@@ -4862,6 +4864,7 @@ class DocumentParser {
|
|
|
4862
4864
|
const date = dateAttr ? new Date(dateAttr) : new Date();
|
|
4863
4865
|
const vMergeAttr = cellMerge["@_w:vMerge"];
|
|
4864
4866
|
const vMergeOrigAttr = cellMerge["@_w:vMergeOrig"];
|
|
4867
|
+
const mergeRevMap = { rest: "restart", cont: "continue" };
|
|
4865
4868
|
const revision = new Revision_1.Revision({
|
|
4866
4869
|
id,
|
|
4867
4870
|
author,
|
|
@@ -4869,8 +4872,8 @@ class DocumentParser {
|
|
|
4869
4872
|
type: "tableCellMerge",
|
|
4870
4873
|
content: [],
|
|
4871
4874
|
previousProperties: {
|
|
4872
|
-
vMerge: vMergeAttr,
|
|
4873
|
-
vMergeOrig: vMergeOrigAttr,
|
|
4875
|
+
vMerge: (vMergeAttr && mergeRevMap[vMergeAttr]) || vMergeAttr,
|
|
4876
|
+
vMergeOrig: (vMergeOrigAttr && mergeRevMap[vMergeOrigAttr]) || vMergeOrigAttr,
|
|
4874
4877
|
},
|
|
4875
4878
|
});
|
|
4876
4879
|
cell.setCellRevision(revision);
|
|
@@ -5053,19 +5056,19 @@ class DocumentParser {
|
|
|
5053
5056
|
const sdtPr = sdtObj["w:sdtPr"];
|
|
5054
5057
|
if (sdtPr) {
|
|
5055
5058
|
const idElement = sdtPr["w:id"];
|
|
5056
|
-
if (idElement
|
|
5059
|
+
if (idElement?.["@_w:val"]) {
|
|
5057
5060
|
properties.id = parseInt(idElement["@_w:val"], 10);
|
|
5058
5061
|
}
|
|
5059
5062
|
const tagElement = sdtPr["w:tag"];
|
|
5060
|
-
if (tagElement
|
|
5063
|
+
if (tagElement?.["@_w:val"]) {
|
|
5061
5064
|
properties.tag = tagElement["@_w:val"];
|
|
5062
5065
|
}
|
|
5063
5066
|
const lockElement = sdtPr["w:lock"];
|
|
5064
|
-
if (lockElement
|
|
5067
|
+
if (lockElement?.["@_w:val"]) {
|
|
5065
5068
|
properties.lock = lockElement["@_w:val"];
|
|
5066
5069
|
}
|
|
5067
5070
|
const aliasElement = sdtPr["w:alias"];
|
|
5068
|
-
if (aliasElement
|
|
5071
|
+
if (aliasElement?.["@_w:val"]) {
|
|
5069
5072
|
properties.alias = aliasElement["@_w:val"];
|
|
5070
5073
|
}
|
|
5071
5074
|
if (sdtPr["w:richText"]) {
|
|
@@ -5129,7 +5132,7 @@ class DocumentParser {
|
|
|
5129
5132
|
const content = [];
|
|
5130
5133
|
const sdtContent = sdtObj["w:sdtContent"];
|
|
5131
5134
|
if (sdtContent) {
|
|
5132
|
-
const orderedChildren = sdtContent
|
|
5135
|
+
const orderedChildren = sdtContent._orderedChildren;
|
|
5133
5136
|
if (orderedChildren && orderedChildren.length > 0) {
|
|
5134
5137
|
for (const childInfo of orderedChildren) {
|
|
5135
5138
|
const elementType = childInfo.type;
|
|
@@ -5358,7 +5361,7 @@ class DocumentParser {
|
|
|
5358
5361
|
}
|
|
5359
5362
|
const headingLevels = styles
|
|
5360
5363
|
.map((style) => {
|
|
5361
|
-
const match = style.styleName
|
|
5364
|
+
const match = standardHeadingPattern.exec(style.styleName);
|
|
5362
5365
|
return match ? parseInt(match[1], 10) : 0;
|
|
5363
5366
|
})
|
|
5364
5367
|
.filter((level) => level > 0)
|
|
@@ -5409,7 +5412,7 @@ class DocumentParser {
|
|
|
5409
5412
|
.replace(/>/g, ">")
|
|
5410
5413
|
.replace(/&/g, "&");
|
|
5411
5414
|
logger_1.defaultLogger.debug(`[TOC Parser] Decoded instruction: "${decodedInstruction}"`);
|
|
5412
|
-
|
|
5415
|
+
const normalizedInstruction = this.normalizeTOCFieldInstruction(decodedInstruction);
|
|
5413
5416
|
const tocOptions = {
|
|
5414
5417
|
title,
|
|
5415
5418
|
originalFieldInstruction: normalizedInstruction.trim(),
|
|
@@ -5423,7 +5426,7 @@ class DocumentParser {
|
|
|
5423
5426
|
if (normalizedInstruction.includes("\\z")) {
|
|
5424
5427
|
tocOptions.hideInWebLayout = true;
|
|
5425
5428
|
}
|
|
5426
|
-
const outlineMatch =
|
|
5429
|
+
const outlineMatch = /\\o\s+(?:"(\d+)-(\d+)"|'(\d+)-(\d+)'|(\d+)-(\d+))/.exec(normalizedInstruction);
|
|
5427
5430
|
if (outlineMatch) {
|
|
5428
5431
|
const minLevel = outlineMatch[1] || outlineMatch[3] || outlineMatch[5];
|
|
5429
5432
|
const maxLevel = outlineMatch[2] || outlineMatch[4] || outlineMatch[6];
|
|
@@ -5432,8 +5435,8 @@ class DocumentParser {
|
|
|
5432
5435
|
tocOptions.maxLevel = parseInt(maxLevel, 10);
|
|
5433
5436
|
}
|
|
5434
5437
|
}
|
|
5435
|
-
const stylesMatch =
|
|
5436
|
-
if (stylesMatch
|
|
5438
|
+
const stylesMatch = /\\t\s+"([^"]+)"/.exec(normalizedInstruction);
|
|
5439
|
+
if (stylesMatch?.[1]) {
|
|
5437
5440
|
const stylesStr = stylesMatch[1];
|
|
5438
5441
|
const styles = [];
|
|
5439
5442
|
const parts = stylesStr.split(",").filter((p) => p.trim());
|
|
@@ -5504,16 +5507,16 @@ class DocumentParser {
|
|
|
5504
5507
|
const hasChildren = element &&
|
|
5505
5508
|
typeof element === "object" &&
|
|
5506
5509
|
Object.keys(element).some((k) => !k.startsWith("@_") && k !== "#text" && k !== "_orderedChildren");
|
|
5507
|
-
if (!hasChildren && (!element
|
|
5510
|
+
if (!hasChildren && (!element?.["#text"])) {
|
|
5508
5511
|
xml += "/>";
|
|
5509
5512
|
}
|
|
5510
5513
|
else {
|
|
5511
5514
|
xml += ">";
|
|
5512
|
-
if (element
|
|
5515
|
+
if (element?.["#text"]) {
|
|
5513
5516
|
xml += element["#text"];
|
|
5514
5517
|
}
|
|
5515
5518
|
if (element && typeof element === "object") {
|
|
5516
|
-
const orderedChildren = element
|
|
5519
|
+
const orderedChildren = element._orderedChildren;
|
|
5517
5520
|
if (orderedChildren && orderedChildren.length > 0) {
|
|
5518
5521
|
for (const childInfo of orderedChildren) {
|
|
5519
5522
|
const childType = childInfo.type;
|
|
@@ -5617,8 +5620,8 @@ class DocumentParser {
|
|
|
5617
5620
|
const customProps = {};
|
|
5618
5621
|
const propertyElements = XMLParser_1.XMLParser.extractElements(xml, "property");
|
|
5619
5622
|
for (const propXml of propertyElements) {
|
|
5620
|
-
const nameMatch =
|
|
5621
|
-
if (!nameMatch
|
|
5623
|
+
const nameMatch = /name="([^"]+)"/.exec(propXml);
|
|
5624
|
+
if (!nameMatch?.[1])
|
|
5622
5625
|
continue;
|
|
5623
5626
|
const name = XMLBuilder_1.XMLBuilder.unescapeXml(nameMatch[1]);
|
|
5624
5627
|
if (propXml.includes("<vt:lpwstr>")) {
|
|
@@ -5981,7 +5984,10 @@ class DocumentParser {
|
|
|
5981
5984
|
if (textDir) {
|
|
5982
5985
|
const val = XMLParser_1.XMLParser.extractAttribute(textDir, "w:val");
|
|
5983
5986
|
if (val) {
|
|
5984
|
-
|
|
5987
|
+
const reverseTextDirMap = {
|
|
5988
|
+
lrTb: "ltr",
|
|
5989
|
+
};
|
|
5990
|
+
sectionProps.textDirection = (reverseTextDirMap[val] || val);
|
|
5985
5991
|
}
|
|
5986
5992
|
}
|
|
5987
5993
|
}
|
|
@@ -6151,12 +6157,12 @@ class DocumentParser {
|
|
|
6151
6157
|
const numPrXml = XMLParser_1.XMLParser.extractBetweenTags(pPrXml, "<w:numPr>", "</w:numPr>");
|
|
6152
6158
|
if (numPrXml) {
|
|
6153
6159
|
styleNumPr = {};
|
|
6154
|
-
const numIdMatch =
|
|
6155
|
-
if (numIdMatch
|
|
6160
|
+
const numIdMatch = /<w:numId[^>]*w:val="(\d+)"/.exec(numPrXml);
|
|
6161
|
+
if (numIdMatch?.[1]) {
|
|
6156
6162
|
styleNumPr.numId = parseInt(numIdMatch[1], 10);
|
|
6157
6163
|
}
|
|
6158
|
-
const ilvlMatch =
|
|
6159
|
-
if (ilvlMatch
|
|
6164
|
+
const ilvlMatch = /<w:ilvl[^>]*w:val="(\d+)"/.exec(numPrXml);
|
|
6165
|
+
if (ilvlMatch?.[1]) {
|
|
6160
6166
|
styleNumPr.ilvl = parseInt(ilvlMatch[1], 10);
|
|
6161
6167
|
}
|
|
6162
6168
|
}
|
|
@@ -6759,10 +6765,10 @@ class DocumentParser {
|
|
|
6759
6765
|
if (!attrs)
|
|
6760
6766
|
continue;
|
|
6761
6767
|
const rel = {};
|
|
6762
|
-
const idMatch =
|
|
6763
|
-
const typeMatch =
|
|
6764
|
-
const targetMatch =
|
|
6765
|
-
const modeMatch =
|
|
6768
|
+
const idMatch = /Id="([^"]+)"/.exec(attrs);
|
|
6769
|
+
const typeMatch = /Type="([^"]+)"/.exec(attrs);
|
|
6770
|
+
const targetMatch = /Target="([^"]+)"/.exec(attrs);
|
|
6771
|
+
const modeMatch = /TargetMode="([^"]+)"/.exec(attrs);
|
|
6766
6772
|
if (idMatch)
|
|
6767
6773
|
rel.id = idMatch[1];
|
|
6768
6774
|
if (typeMatch)
|
|
@@ -6781,8 +6787,8 @@ class DocumentParser {
|
|
|
6781
6787
|
}
|
|
6782
6788
|
parseNamespaces(docXml) {
|
|
6783
6789
|
const namespaces = {};
|
|
6784
|
-
const docTagMatch =
|
|
6785
|
-
if (docTagMatch
|
|
6790
|
+
const docTagMatch = /<w:document([^>]+)>/.exec(docXml);
|
|
6791
|
+
if (docTagMatch?.[1]) {
|
|
6786
6792
|
const attributes = docTagMatch[1];
|
|
6787
6793
|
const nsPattern = /xmlns:([^=]+)="([^"]+)"/g;
|
|
6788
6794
|
let match;
|
|
@@ -6791,30 +6797,30 @@ class DocumentParser {
|
|
|
6791
6797
|
namespaces[`xmlns:${match[1]}`] = match[2];
|
|
6792
6798
|
}
|
|
6793
6799
|
}
|
|
6794
|
-
const ignorableMatch =
|
|
6795
|
-
if (ignorableMatch
|
|
6800
|
+
const ignorableMatch = /mc:Ignorable="([^"]+)"/.exec(attributes);
|
|
6801
|
+
if (ignorableMatch?.[1]) {
|
|
6796
6802
|
namespaces["mc:Ignorable"] = ignorableMatch[1];
|
|
6797
6803
|
}
|
|
6798
6804
|
}
|
|
6799
6805
|
return namespaces;
|
|
6800
6806
|
}
|
|
6801
6807
|
parseDocumentBackground(docXml) {
|
|
6802
|
-
const bgMatch =
|
|
6803
|
-
if (!bgMatch
|
|
6808
|
+
const bgMatch = /<w:background([^>]*?)\/>/.exec(docXml);
|
|
6809
|
+
if (!bgMatch?.[1])
|
|
6804
6810
|
return undefined;
|
|
6805
6811
|
const attrStr = bgMatch[1];
|
|
6806
6812
|
const result = {};
|
|
6807
|
-
const colorMatch =
|
|
6808
|
-
if (colorMatch
|
|
6813
|
+
const colorMatch = /w:color="([^"]+)"/.exec(attrStr);
|
|
6814
|
+
if (colorMatch?.[1])
|
|
6809
6815
|
result.color = colorMatch[1];
|
|
6810
|
-
const themeColorMatch =
|
|
6811
|
-
if (themeColorMatch
|
|
6816
|
+
const themeColorMatch = /w:themeColor="([^"]+)"/.exec(attrStr);
|
|
6817
|
+
if (themeColorMatch?.[1])
|
|
6812
6818
|
result.themeColor = themeColorMatch[1];
|
|
6813
|
-
const themeTintMatch =
|
|
6814
|
-
if (themeTintMatch
|
|
6819
|
+
const themeTintMatch = /w:themeTint="([^"]+)"/.exec(attrStr);
|
|
6820
|
+
if (themeTintMatch?.[1])
|
|
6815
6821
|
result.themeTint = themeTintMatch[1];
|
|
6816
|
-
const themeShadeMatch =
|
|
6817
|
-
if (themeShadeMatch
|
|
6822
|
+
const themeShadeMatch = /w:themeShade="([^"]+)"/.exec(attrStr);
|
|
6823
|
+
if (themeShadeMatch?.[1])
|
|
6818
6824
|
result.themeShade = themeShadeMatch[1];
|
|
6819
6825
|
return Object.keys(result).length > 0 ? result : undefined;
|
|
6820
6826
|
}
|