docxmlater 5.7.4 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +29 -2
  2. package/dist/core/Document.d.ts +22 -2
  3. package/dist/core/Document.d.ts.map +1 -1
  4. package/dist/core/Document.js +213 -7
  5. package/dist/core/Document.js.map +1 -1
  6. package/dist/core/DocumentGenerator.d.ts +4 -1
  7. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  8. package/dist/core/DocumentGenerator.js +46 -42
  9. package/dist/core/DocumentGenerator.js.map +1 -1
  10. package/dist/core/DocumentParser.d.ts.map +1 -1
  11. package/dist/core/DocumentParser.js +33 -16
  12. package/dist/core/DocumentParser.js.map +1 -1
  13. package/dist/elements/Hyperlink.d.ts +10 -1
  14. package/dist/elements/Hyperlink.d.ts.map +1 -1
  15. package/dist/elements/Hyperlink.js +73 -0
  16. package/dist/elements/Hyperlink.js.map +1 -1
  17. package/dist/elements/Image.d.ts +1 -1
  18. package/dist/elements/Image.d.ts.map +1 -1
  19. package/dist/elements/Image.js +51 -11
  20. package/dist/elements/Image.js.map +1 -1
  21. package/dist/elements/Paragraph.d.ts +3 -0
  22. package/dist/elements/Paragraph.d.ts.map +1 -1
  23. package/dist/elements/Paragraph.js +148 -3
  24. package/dist/elements/Paragraph.js.map +1 -1
  25. package/dist/elements/RevisionManager.d.ts +33 -0
  26. package/dist/elements/RevisionManager.d.ts.map +1 -1
  27. package/dist/elements/RevisionManager.js +149 -0
  28. package/dist/elements/RevisionManager.js.map +1 -1
  29. package/dist/elements/Run.d.ts +2 -0
  30. package/dist/elements/Run.d.ts.map +1 -1
  31. package/dist/elements/Run.js +152 -1
  32. package/dist/elements/Run.js.map +1 -1
  33. package/dist/formatting/NumberingManager.d.ts +3 -0
  34. package/dist/formatting/NumberingManager.d.ts.map +1 -1
  35. package/dist/formatting/NumberingManager.js +9 -0
  36. package/dist/formatting/NumberingManager.js.map +1 -1
  37. package/dist/formatting/StylesManager.d.ts +3 -0
  38. package/dist/formatting/StylesManager.d.ts.map +1 -1
  39. package/dist/formatting/StylesManager.js +8 -0
  40. package/dist/formatting/StylesManager.js.map +1 -1
  41. package/dist/index.d.ts +5 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +7 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/tracking/DocumentTrackingContext.d.ts +39 -0
  46. package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -0
  47. package/dist/tracking/DocumentTrackingContext.js +237 -0
  48. package/dist/tracking/DocumentTrackingContext.js.map +1 -0
  49. package/dist/tracking/TrackingContext.d.ts +26 -0
  50. package/dist/tracking/TrackingContext.d.ts.map +1 -0
  51. package/dist/tracking/TrackingContext.js +3 -0
  52. package/dist/tracking/TrackingContext.js.map +1 -0
  53. package/dist/tracking/index.d.ts +3 -0
  54. package/dist/tracking/index.d.ts.map +1 -0
  55. package/dist/tracking/index.js +6 -0
  56. package/dist/tracking/index.js.map +1 -0
  57. package/dist/utils/ChangelogGenerator.d.ts +82 -0
  58. package/dist/utils/ChangelogGenerator.d.ts.map +1 -0
  59. package/dist/utils/ChangelogGenerator.js +422 -0
  60. package/dist/utils/ChangelogGenerator.js.map +1 -0
  61. package/dist/utils/RevisionAwareProcessor.d.ts +60 -0
  62. package/dist/utils/RevisionAwareProcessor.d.ts.map +1 -0
  63. package/dist/utils/RevisionAwareProcessor.js +237 -0
  64. package/dist/utils/RevisionAwareProcessor.js.map +1 -0
  65. package/dist/utils/SelectiveRevisionAcceptor.d.ts +34 -0
  66. package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +1 -0
  67. package/dist/utils/SelectiveRevisionAcceptor.js +175 -0
  68. package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -0
  69. package/dist/utils/acceptRevisions.d.ts +22 -0
  70. package/dist/utils/acceptRevisions.d.ts.map +1 -0
  71. package/dist/utils/acceptRevisions.js +211 -0
  72. package/dist/utils/acceptRevisions.js.map +1 -0
  73. package/dist/utils/corruptionDetection.js +1 -1
  74. package/dist/utils/corruptionDetection.js.map +1 -1
  75. package/dist/utils/stripTrackedChanges.d.ts +22 -0
  76. package/dist/utils/stripTrackedChanges.d.ts.map +1 -0
  77. package/dist/utils/stripTrackedChanges.js +196 -0
  78. package/dist/utils/stripTrackedChanges.js.map +1 -0
  79. package/dist/xml/XMLParser.d.ts.map +1 -1
  80. package/dist/xml/XMLParser.js +7 -0
  81. package/dist/xml/XMLParser.js.map +1 -1
  82. package/package.json +1 -1
package/README.md CHANGED
@@ -227,8 +227,35 @@ doc.dispose();
227
227
  **Creation & Loading:**
228
228
 
229
229
  - `Document.create(options?)` - Create new document
230
- - `Document.load(filepath)` - Load from file
231
- - `Document.loadFromBuffer(buffer)` - Load from memory
230
+ - `Document.load(filepath, options?)` - Load from file
231
+ - `Document.loadFromBuffer(buffer, options?)` - Load from memory
232
+
233
+ **Handling Tracked Changes:**
234
+
235
+ By default, docXMLater accepts all tracked changes during document loading to prevent corruption:
236
+
237
+ ```typescript
238
+ // Default: Accepts all changes (recommended)
239
+ const doc = await Document.load('document.docx');
240
+
241
+ // Explicit control
242
+ const doc = await Document.load('document.docx', {
243
+ revisionHandling: 'accept' // Accept all changes (default)
244
+ // OR
245
+ revisionHandling: 'strip' // Remove all revision markup
246
+ // OR
247
+ revisionHandling: 'preserve' // Keep tracked changes (may cause corruption)
248
+ });
249
+ ```
250
+
251
+ **Revision Handling Options:**
252
+ - `'accept'` (default): Removes revision markup, keeps inserted content, removes deleted content
253
+ - `'strip'`: Removes all revision markup completely
254
+ - `'preserve'`: Keeps tracked changes as-is (may cause Word "unreadable content" errors)
255
+
256
+ **Why Accept By Default?**
257
+
258
+ Documents with tracked changes can cause Word corruption errors during round-trip processing due to revision ID conflicts. Accepting changes automatically prevents this issue while preserving document content.
232
259
 
233
260
  **Content Management:**
234
261
 
@@ -24,6 +24,7 @@ import { StylesManager } from "../formatting/StylesManager";
24
24
  import { StyleApplyOptions } from "../types/formatting";
25
25
  import { ApplyStylesOptions } from "../types/styleConfig";
26
26
  import { ILogger } from "../utils/logger";
27
+ import type { TrackingContext } from "../tracking/TrackingContext";
27
28
  import { ZipHandler } from "../zip/ZipHandler";
28
29
  import { RelationshipManager } from "./RelationshipManager";
29
30
  export interface DocumentProperties {
@@ -64,6 +65,9 @@ export interface DocumentOptions {
64
65
  maxSingleImageSizeMB?: number;
65
66
  logger?: ILogger;
66
67
  }
68
+ export interface DocumentLoadOptions extends DocumentOptions {
69
+ revisionHandling?: 'preserve' | 'accept' | 'strip';
70
+ }
67
71
  type BodyElement = Paragraph | Table | TableOfContentsElement | StructuredDocumentTag;
68
72
  export declare class Document {
69
73
  constructor(zipHandler?: ZipHandler, options?: DocumentOptions, initDefaults?: boolean);
@@ -80,6 +84,7 @@ export declare class Document {
80
84
  private bookmarkManager;
81
85
  private revisionManager;
82
86
  private commentManager;
87
+ private trackingContext;
83
88
  private _footnoteManager?;
84
89
  private _endnoteManager?;
85
90
  private parser;
@@ -91,20 +96,26 @@ export declare class Document {
91
96
  private revisionViewSettings;
92
97
  private autoPopulateTOCs;
93
98
  private autoSyncTOCStyles;
99
+ private skipDocumentXmlRegeneration;
100
+ private _originalContentTypes?;
101
+ private _originalStylesXml?;
102
+ private _originalNumberingXml?;
94
103
  private rsidRoot?;
95
104
  private rsids;
96
105
  private documentProtection?;
97
106
  static create(options?: DocumentOptions): Document;
98
- static load(filePath: string, options?: DocumentOptions): Promise<Document>;
99
- static loadFromBuffer(buffer: Buffer, options?: DocumentOptions): Promise<Document>;
107
+ static load(filePath: string, options?: DocumentLoadOptions): Promise<Document>;
108
+ static loadFromBuffer(buffer: Buffer, options?: DocumentLoadOptions): Promise<Document>;
100
109
  private parseDocument;
101
110
  private initializeRequiredFiles;
102
111
  addParagraph(paragraph: Paragraph): this;
103
112
  createParagraph(text?: string): Paragraph;
104
113
  addTable(table: Table): this;
114
+ addStructuredDocumentTag(sdt: StructuredDocumentTag): this;
105
115
  createTable(rows: number, columns: number): Table;
106
116
  getTables(): Table[];
107
117
  getAllParagraphs(): Paragraph[];
118
+ getParagraphs(): Paragraph[];
108
119
  getAllTables(): Table[];
109
120
  getTableOfContentsElements(): TableOfContentsElement[];
110
121
  addBodyElement(element: BodyElement): this;
@@ -370,6 +381,7 @@ export declare class Document {
370
381
  private updateRelationships;
371
382
  private saveComments;
372
383
  private saveCustomProperties;
384
+ private parseContentTypes;
373
385
  private updateContentTypesWithImagesHeadersFootersAndComments;
374
386
  getBookmarkManager(): BookmarkManager;
375
387
  createBookmark(name: string): Bookmark;
@@ -403,6 +415,7 @@ export declare class Document {
403
415
  nextId: number;
404
416
  };
405
417
  enableTrackChanges(options?: {
418
+ author?: string;
406
419
  trackFormatting?: boolean;
407
420
  showInsertionsAndDeletions?: boolean;
408
421
  showFormatting?: boolean;
@@ -416,6 +429,10 @@ export declare class Document {
416
429
  showFormatting: boolean;
417
430
  showInkAnnotations: boolean;
418
431
  };
432
+ getTrackingContext(): TrackingContext;
433
+ flushPendingChanges(): Revision[];
434
+ private bindTrackingToAllElements;
435
+ private bindTrackingToElement;
419
436
  setRsidRoot(rsidRoot: string): this;
420
437
  addRsid(rsid: string): this;
421
438
  generateRsid(): string;
@@ -494,6 +511,9 @@ export declare class Document {
494
511
  totalEstimatedMB: number;
495
512
  warning?: string;
496
513
  };
514
+ stripTrackedChanges(): Promise<this>;
515
+ acceptAllRevisions(): Promise<this>;
516
+ private clearRevisionsFromAllParagraphs;
497
517
  dispose(): void;
498
518
  getSizeStats(): {
499
519
  elements: {
@@ -1 +1 @@
1
- {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/core/Document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/core/Document.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,10 @@ const NumberingManager_1 = require("../formatting/NumberingManager");
55
55
  const Style_1 = require("../formatting/Style");
56
56
  const StylesManager_1 = require("../formatting/StylesManager");
57
57
  const logger_1 = require("../utils/logger");
58
+ const acceptRevisions_1 = require("../utils/acceptRevisions");
59
+ const stripTrackedChanges_1 = require("../utils/stripTrackedChanges");
58
60
  const XMLParser_1 = require("../xml/XMLParser");
61
+ const DocumentTrackingContext_1 = require("../tracking/DocumentTrackingContext");
59
62
  const ZipHandler_1 = require("../zip/ZipHandler");
60
63
  const types_1 = require("../zip/types");
61
64
  const DocumentGenerator_1 = require("./DocumentGenerator");
@@ -77,6 +80,7 @@ class Document {
77
80
  this.bookmarkManager = BookmarkManager_1.BookmarkManager.create();
78
81
  this.revisionManager = RevisionManager_1.RevisionManager.create();
79
82
  this.commentManager = CommentManager_1.CommentManager.create();
83
+ this.trackingContext = new DocumentTrackingContext_1.DocumentTrackingContext(this.revisionManager);
80
84
  this.parser = new DocumentParser_1.DocumentParser();
81
85
  this.generator = new DocumentGenerator_1.DocumentGenerator();
82
86
  this.validator = new DocumentValidator_1.DocumentValidator();
@@ -107,6 +111,7 @@ class Document {
107
111
  bookmarkManager;
108
112
  revisionManager;
109
113
  commentManager;
114
+ trackingContext;
110
115
  _footnoteManager;
111
116
  _endnoteManager;
112
117
  parser;
@@ -122,6 +127,10 @@ class Document {
122
127
  };
123
128
  autoPopulateTOCs = false;
124
129
  autoSyncTOCStyles = false;
130
+ skipDocumentXmlRegeneration = false;
131
+ _originalContentTypes;
132
+ _originalStylesXml;
133
+ _originalNumberingXml;
125
134
  rsidRoot;
126
135
  rsids = new Set();
127
136
  documentProtection;
@@ -133,14 +142,70 @@ class Document {
133
142
  static async load(filePath, options) {
134
143
  const zipHandler = new ZipHandler_1.ZipHandler();
135
144
  await zipHandler.load(filePath);
145
+ const revisionHandling = options?.revisionHandling ?? 'accept';
146
+ if (revisionHandling === 'accept') {
147
+ await (0, acceptRevisions_1.acceptAllRevisions)(zipHandler);
148
+ }
149
+ else if (revisionHandling === 'strip') {
150
+ await (0, stripTrackedChanges_1.stripTrackedChanges)(zipHandler);
151
+ }
152
+ else if (revisionHandling === 'preserve') {
153
+ const documentXml = zipHandler.getFileAsString('word/document.xml');
154
+ if (documentXml && (documentXml.includes('<w:ins') || documentXml.includes('<w:del') ||
155
+ documentXml.includes('<w:moveFrom') || documentXml.includes('<w:moveTo'))) {
156
+ logger_1.defaultLogger.warn('[Document] Loading document with tracked changes in preserve mode. ' +
157
+ 'This may cause corruption if the document is saved. ' +
158
+ 'Consider using { revisionHandling: "accept" } to prevent corruption.');
159
+ }
160
+ }
136
161
  const doc = new Document(zipHandler, options, false);
162
+ const contentTypesXml = zipHandler.getFileAsString('[Content_Types].xml');
163
+ if (contentTypesXml) {
164
+ doc._originalContentTypes = doc.parseContentTypes(contentTypesXml);
165
+ }
166
+ const stylesXml = zipHandler.getFileAsString(types_1.DOCX_PATHS.STYLES);
167
+ if (stylesXml) {
168
+ doc._originalStylesXml = stylesXml;
169
+ }
170
+ const numberingXml = zipHandler.getFileAsString(types_1.DOCX_PATHS.NUMBERING);
171
+ if (numberingXml) {
172
+ doc._originalNumberingXml = numberingXml;
173
+ }
137
174
  await doc.parseDocument();
138
175
  return doc;
139
176
  }
140
177
  static async loadFromBuffer(buffer, options) {
141
178
  const zipHandler = new ZipHandler_1.ZipHandler();
142
179
  await zipHandler.loadFromBuffer(buffer);
180
+ const revisionHandling = options?.revisionHandling ?? 'accept';
181
+ if (revisionHandling === 'accept') {
182
+ await (0, acceptRevisions_1.acceptAllRevisions)(zipHandler);
183
+ }
184
+ else if (revisionHandling === 'strip') {
185
+ await (0, stripTrackedChanges_1.stripTrackedChanges)(zipHandler);
186
+ }
187
+ else if (revisionHandling === 'preserve') {
188
+ const documentXml = zipHandler.getFileAsString('word/document.xml');
189
+ if (documentXml && (documentXml.includes('<w:ins') || documentXml.includes('<w:del') ||
190
+ documentXml.includes('<w:moveFrom') || documentXml.includes('<w:moveTo'))) {
191
+ logger_1.defaultLogger.warn('[Document] Loading document with tracked changes in preserve mode. ' +
192
+ 'This may cause corruption if the document is saved. ' +
193
+ 'Consider using { revisionHandling: "accept" } to prevent corruption.');
194
+ }
195
+ }
143
196
  const doc = new Document(zipHandler, options, false);
197
+ const contentTypesXml = zipHandler.getFileAsString('[Content_Types].xml');
198
+ if (contentTypesXml) {
199
+ doc._originalContentTypes = doc.parseContentTypes(contentTypesXml);
200
+ }
201
+ const stylesXml = zipHandler.getFileAsString(types_1.DOCX_PATHS.STYLES);
202
+ if (stylesXml) {
203
+ doc._originalStylesXml = stylesXml;
204
+ }
205
+ const numberingXml = zipHandler.getFileAsString(types_1.DOCX_PATHS.NUMBERING);
206
+ if (numberingXml) {
207
+ doc._originalNumberingXml = numberingXml;
208
+ }
144
209
  await doc.parseDocument();
145
210
  return doc;
146
211
  }
@@ -149,6 +214,7 @@ class Document {
149
214
  this.bodyElements = result.bodyElements;
150
215
  this.relationshipManager = result.relationshipManager;
151
216
  this.namespaces = result.namespaces;
217
+ this.properties = result.properties;
152
218
  for (const style of result.styles) {
153
219
  this.stylesManager.addStyle(style);
154
220
  }
@@ -168,6 +234,8 @@ class Document {
168
234
  for (const { footer, relationshipId } of headersFooters.footers) {
169
235
  this.headerFooterManager.registerFooter(footer, relationshipId);
170
236
  }
237
+ this.stylesManager.resetModified();
238
+ this.numberingManager.resetModified();
171
239
  }
172
240
  initializeRequiredFiles() {
173
241
  this.zipHandler.addFile(types_1.DOCX_PATHS.CONTENT_TYPES, this.generator.generateContentTypes());
@@ -205,6 +273,10 @@ class Document {
205
273
  this.bodyElements.push(table);
206
274
  return this;
207
275
  }
276
+ addStructuredDocumentTag(sdt) {
277
+ this.bodyElements.push(sdt);
278
+ return this;
279
+ }
208
280
  createTable(rows, columns) {
209
281
  const table = new Table_1.Table(rows, columns);
210
282
  this.bodyElements.push(table);
@@ -243,6 +315,9 @@ class Document {
243
315
  }
244
316
  return result;
245
317
  }
318
+ getParagraphs() {
319
+ return this.getAllParagraphs();
320
+ }
246
321
  getAllTables() {
247
322
  const result = [];
248
323
  for (const element of this.bodyElements) {
@@ -367,7 +442,9 @@ class Document {
367
442
  }
368
443
  this.clearAllPreserveFlags();
369
444
  this.processHyperlinks();
370
- this.updateDocumentXml();
445
+ if (!this.skipDocumentXmlRegeneration) {
446
+ this.updateDocumentXml();
447
+ }
371
448
  this.updateStylesXml();
372
449
  this.updateNumberingXml();
373
450
  this.updateCoreProps();
@@ -416,7 +493,9 @@ class Document {
416
493
  }
417
494
  this.clearAllPreserveFlags();
418
495
  this.processHyperlinks();
419
- this.updateDocumentXml();
496
+ if (!this.skipDocumentXmlRegeneration) {
497
+ this.updateDocumentXml();
498
+ }
420
499
  this.updateStylesXml();
421
500
  this.updateNumberingXml();
422
501
  this.updateCoreProps();
@@ -456,12 +535,22 @@ class Document {
456
535
  this.zipHandler.updateFile(types_1.DOCX_PATHS.APP_PROPS, xml);
457
536
  }
458
537
  updateStylesXml() {
459
- const xml = this.stylesManager.generateStylesXml();
460
- this.zipHandler.updateFile(types_1.DOCX_PATHS.STYLES, xml);
538
+ if (this._originalStylesXml && !this.stylesManager.isModified()) {
539
+ this.zipHandler.updateFile(types_1.DOCX_PATHS.STYLES, this._originalStylesXml);
540
+ }
541
+ else {
542
+ const xml = this.stylesManager.generateStylesXml();
543
+ this.zipHandler.updateFile(types_1.DOCX_PATHS.STYLES, xml);
544
+ }
461
545
  }
462
546
  updateNumberingXml() {
463
- const xml = this.numberingManager.generateNumberingXml();
464
- this.zipHandler.updateFile(types_1.DOCX_PATHS.NUMBERING, xml);
547
+ if (this._originalNumberingXml && !this.numberingManager.isModified()) {
548
+ this.zipHandler.updateFile(types_1.DOCX_PATHS.NUMBERING, this._originalNumberingXml);
549
+ }
550
+ else {
551
+ const xml = this.numberingManager.generateNumberingXml();
552
+ this.zipHandler.updateFile(types_1.DOCX_PATHS.NUMBERING, xml);
553
+ }
465
554
  }
466
555
  getStylesManager() {
467
556
  return this.stylesManager;
@@ -1766,6 +1855,9 @@ class Document {
1766
1855
  continue;
1767
1856
  }
1768
1857
  const para = element;
1858
+ if (para.isPreserved()) {
1859
+ continue;
1860
+ }
1769
1861
  const isBlank = this.isParagraphBlank(para);
1770
1862
  if (isBlank) {
1771
1863
  indicesToRemove.push(i);
@@ -3228,10 +3320,23 @@ class Document {
3228
3320
  }
3229
3321
  }
3230
3322
  }
3323
+ parseContentTypes(xml) {
3324
+ const defaults = new Set();
3325
+ const overrides = new Set();
3326
+ const defaultMatches = xml.matchAll(/<Default\s+Extension="([^"]+)"\s+ContentType="([^"]+)"\s*\/>/g);
3327
+ for (const match of defaultMatches) {
3328
+ defaults.add(`${match[1]}|${match[2]}`);
3329
+ }
3330
+ const overrideMatches = xml.matchAll(/<Override\s+PartName="([^"]+)"\s+ContentType="([^"]+)"\s*\/>/g);
3331
+ for (const match of overrideMatches) {
3332
+ overrides.add(`${match[1]}|${match[2]}`);
3333
+ }
3334
+ return { defaults, overrides };
3335
+ }
3231
3336
  updateContentTypesWithImagesHeadersFootersAndComments() {
3232
3337
  const hasCustomProps = this.properties.customProperties &&
3233
3338
  Object.keys(this.properties.customProperties).length > 0;
3234
- const contentTypes = this.generator.generateContentTypesWithImagesHeadersFootersAndComments(this.imageManager, this.headerFooterManager, this.commentManager, this.zipHandler, undefined, hasCustomProps);
3339
+ const contentTypes = this.generator.generateContentTypesWithImagesHeadersFootersAndComments(this.imageManager, this.headerFooterManager, this.commentManager, this.zipHandler, undefined, hasCustomProps, this._originalContentTypes);
3235
3340
  this.zipHandler.updateFile(types_1.DOCX_PATHS.CONTENT_TYPES, contentTypes);
3236
3341
  }
3237
3342
  getBookmarkManager() {
@@ -3348,10 +3453,16 @@ class Document {
3348
3453
  options.showInkAnnotations;
3349
3454
  }
3350
3455
  }
3456
+ this.trackingContext.enable({
3457
+ author: options?.author,
3458
+ trackFormatting: this.trackFormatting,
3459
+ });
3460
+ this.bindTrackingToAllElements();
3351
3461
  return this;
3352
3462
  }
3353
3463
  disableTrackChanges() {
3354
3464
  this.trackChangesEnabled = false;
3465
+ this.trackingContext.disable();
3355
3466
  return this;
3356
3467
  }
3357
3468
  isTrackChangesEnabled() {
@@ -3363,6 +3474,47 @@ class Document {
3363
3474
  getRevisionViewSettings() {
3364
3475
  return { ...this.revisionViewSettings };
3365
3476
  }
3477
+ getTrackingContext() {
3478
+ return this.trackingContext;
3479
+ }
3480
+ flushPendingChanges() {
3481
+ return this.trackingContext.flushPendingChanges();
3482
+ }
3483
+ bindTrackingToAllElements() {
3484
+ for (const element of this.bodyElements) {
3485
+ this.bindTrackingToElement(element);
3486
+ }
3487
+ }
3488
+ bindTrackingToElement(element) {
3489
+ if (element && typeof element._setTrackingContext === 'function') {
3490
+ element._setTrackingContext(this.trackingContext);
3491
+ }
3492
+ if (element && typeof element.getRuns === 'function') {
3493
+ for (const run of element.getRuns()) {
3494
+ this.bindTrackingToElement(run);
3495
+ }
3496
+ }
3497
+ if (element && typeof element.getHyperlinks === 'function') {
3498
+ for (const link of element.getHyperlinks()) {
3499
+ this.bindTrackingToElement(link);
3500
+ }
3501
+ }
3502
+ if (element && typeof element.getRows === 'function') {
3503
+ for (const row of element.getRows()) {
3504
+ this.bindTrackingToElement(row);
3505
+ if (typeof row.getCells === 'function') {
3506
+ for (const cell of row.getCells()) {
3507
+ this.bindTrackingToElement(cell);
3508
+ if (typeof cell.getParagraphs === 'function') {
3509
+ for (const para of cell.getParagraphs()) {
3510
+ this.bindTrackingToElement(para);
3511
+ }
3512
+ }
3513
+ }
3514
+ }
3515
+ }
3516
+ }
3517
+ }
3366
3518
  setRsidRoot(rsidRoot) {
3367
3519
  if (!/^[0-9A-Fa-f]{8}$/.test(rsidRoot)) {
3368
3520
  throw new Error("RSID must be an 8-character hexadecimal value");
@@ -3573,6 +3725,42 @@ class Document {
3573
3725
  estimateSize() {
3574
3726
  return this.validator.estimateSize(this.bodyElements, this.imageManager);
3575
3727
  }
3728
+ async stripTrackedChanges() {
3729
+ return this.acceptAllRevisions();
3730
+ }
3731
+ async acceptAllRevisions() {
3732
+ const { acceptAllRevisions } = await Promise.resolve().then(() => __importStar(require('../utils/acceptRevisions')));
3733
+ await acceptAllRevisions(this.zipHandler);
3734
+ this.clearRevisionsFromAllParagraphs();
3735
+ this.skipDocumentXmlRegeneration = true;
3736
+ return this;
3737
+ }
3738
+ clearRevisionsFromAllParagraphs() {
3739
+ let clearedCount = 0;
3740
+ for (const para of this.getAllParagraphs()) {
3741
+ const revisions = para.getRevisions();
3742
+ if (revisions.length > 0) {
3743
+ const content = para.getContent();
3744
+ const nonRevisionContent = content.filter(item => !(item instanceof Revision_1.Revision));
3745
+ para.clearContent();
3746
+ for (const item of nonRevisionContent) {
3747
+ if (item instanceof Run_1.Run || item instanceof ImageRun_1.ImageRun) {
3748
+ para.addRun(item);
3749
+ }
3750
+ else if (item instanceof Hyperlink_1.Hyperlink) {
3751
+ para.addHyperlink(item);
3752
+ }
3753
+ else if (item.constructor.name === 'Field') {
3754
+ para.addField(item);
3755
+ }
3756
+ }
3757
+ clearedCount += revisions.length;
3758
+ }
3759
+ }
3760
+ if (clearedCount > 0) {
3761
+ this.logger.info(`Cleared ${clearedCount} Revision object(s) from in-memory document model`);
3762
+ }
3763
+ }
3576
3764
  dispose() {
3577
3765
  this.bodyElements = [];
3578
3766
  this.parser.clearParseErrors();
@@ -3825,11 +4013,13 @@ class Document {
3825
4013
  const caseSensitive = options?.caseSensitive ?? false;
3826
4014
  const wholeWord = options?.wholeWord ?? false;
3827
4015
  const searchText = caseSensitive ? text : text.toLowerCase();
4016
+ const searchedParagraphs = new Set();
3828
4017
  const paragraphs = this.getAllParagraphs();
3829
4018
  for (let pIndex = 0; pIndex < paragraphs.length; pIndex++) {
3830
4019
  const paragraph = paragraphs[pIndex];
3831
4020
  if (!paragraph)
3832
4021
  continue;
4022
+ searchedParagraphs.add(paragraph);
3833
4023
  const runs = paragraph.getRuns();
3834
4024
  for (let rIndex = 0; rIndex < runs.length; rIndex++) {
3835
4025
  const run = runs[rIndex];
@@ -3876,6 +4066,10 @@ class Document {
3876
4066
  const paragraph = cellParagraphs[pIndex];
3877
4067
  if (!paragraph)
3878
4068
  continue;
4069
+ if (searchedParagraphs.has(paragraph)) {
4070
+ continue;
4071
+ }
4072
+ searchedParagraphs.add(paragraph);
3879
4073
  const runs = paragraph.getRuns();
3880
4074
  for (let rIndex = 0; rIndex < runs.length; rIndex++) {
3881
4075
  const run = runs[rIndex];
@@ -3995,8 +4189,10 @@ class Document {
3995
4189
  }
3996
4190
  getWordCount() {
3997
4191
  let totalWords = 0;
4192
+ const countedParagraphs = new Set();
3998
4193
  const paragraphs = this.getAllParagraphs();
3999
4194
  for (const paragraph of paragraphs) {
4195
+ countedParagraphs.add(paragraph);
4000
4196
  const text = paragraph.getText().trim();
4001
4197
  if (text) {
4002
4198
  const words = text.split(/\s+/).filter((word) => word.length > 0);
@@ -4011,6 +4207,10 @@ class Document {
4011
4207
  for (const cell of cells) {
4012
4208
  const cellParas = cell.getParagraphs();
4013
4209
  for (const para of cellParas) {
4210
+ if (countedParagraphs.has(para)) {
4211
+ continue;
4212
+ }
4213
+ countedParagraphs.add(para);
4014
4214
  const text = para.getText().trim();
4015
4215
  if (text) {
4016
4216
  const words = text.split(/\s+/).filter((word) => word.length > 0);
@@ -4024,8 +4224,10 @@ class Document {
4024
4224
  }
4025
4225
  getCharacterCount(includeSpaces = true) {
4026
4226
  let totalChars = 0;
4227
+ const countedParagraphs = new Set();
4027
4228
  const paragraphs = this.getAllParagraphs();
4028
4229
  for (const paragraph of paragraphs) {
4230
+ countedParagraphs.add(paragraph);
4029
4231
  const text = paragraph.getText();
4030
4232
  if (includeSpaces) {
4031
4233
  totalChars += text.length;
@@ -4042,6 +4244,10 @@ class Document {
4042
4244
  for (const cell of cells) {
4043
4245
  const cellParas = cell.getParagraphs();
4044
4246
  for (const para of cellParas) {
4247
+ if (countedParagraphs.has(para)) {
4248
+ continue;
4249
+ }
4250
+ countedParagraphs.add(para);
4045
4251
  const text = para.getText();
4046
4252
  if (includeSpaces) {
4047
4253
  totalChars += text.length;