docxmlater 9.7.7 → 9.7.9

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 (33) hide show
  1. package/dist/core/Document.d.ts.map +1 -1
  2. package/dist/core/Document.js +24 -0
  3. package/dist/core/Document.js.map +1 -1
  4. package/dist/core/DocumentParser.d.ts +2 -0
  5. package/dist/core/DocumentParser.d.ts.map +1 -1
  6. package/dist/core/DocumentParser.js +235 -7
  7. package/dist/core/DocumentParser.js.map +1 -1
  8. package/dist/elements/Section.d.ts +12 -0
  9. package/dist/elements/Section.d.ts.map +1 -1
  10. package/dist/elements/Section.js +183 -0
  11. package/dist/elements/Section.js.map +1 -1
  12. package/dist/elements/Table.d.ts +12 -0
  13. package/dist/elements/Table.d.ts.map +1 -1
  14. package/dist/elements/Table.js +271 -3
  15. package/dist/elements/Table.js.map +1 -1
  16. package/dist/elements/TableCell.d.ts +12 -0
  17. package/dist/elements/TableCell.d.ts.map +1 -1
  18. package/dist/elements/TableCell.js +181 -7
  19. package/dist/elements/TableCell.js.map +1 -1
  20. package/dist/elements/TableRow.d.ts +14 -0
  21. package/dist/elements/TableRow.d.ts.map +1 -1
  22. package/dist/elements/TableRow.js +157 -0
  23. package/dist/elements/TableRow.js.map +1 -1
  24. package/dist/tracking/DocumentTrackingContext.d.ts +7 -0
  25. package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
  26. package/dist/tracking/DocumentTrackingContext.js +173 -46
  27. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  28. package/dist/tracking/TrackingContext.d.ts +7 -1
  29. package/dist/tracking/TrackingContext.d.ts.map +1 -1
  30. package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
  31. package/dist/utils/InMemoryRevisionAcceptor.js +23 -0
  32. package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
  33. package/package.json +1 -1
@@ -137,5 +137,7 @@ export declare class DocumentParser {
137
137
  }>;
138
138
  private parseHeader;
139
139
  private parseFooter;
140
+ private parseGenericPreviousProperties;
141
+ private parsePreviousSectionProperties;
140
142
  }
141
143
  //# sourceMappingURL=DocumentParser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/core/DocumentParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/core/DocumentParser.ts"],"names":[],"mappings":"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"}
@@ -1767,6 +1767,9 @@ class DocumentParser {
1767
1767
  let fieldRevisions = [];
1768
1768
  let instructionRevisions = [];
1769
1769
  let fieldState = null;
1770
+ let nestingDepth = 0;
1771
+ let hasNestedFields = false;
1772
+ let fieldStartIndex = -1;
1770
1773
  for (let i = 0; i < content.length; i++) {
1771
1774
  const item = content[i];
1772
1775
  if (item instanceof Run_1.Run) {
@@ -1778,14 +1781,41 @@ class DocumentParser {
1778
1781
  if (fieldChar) {
1779
1782
  switch (fieldChar.fieldCharType) {
1780
1783
  case "begin":
1781
- fieldState = "begin";
1784
+ nestingDepth++;
1785
+ if (nestingDepth === 1) {
1786
+ fieldState = "begin";
1787
+ fieldStartIndex = i;
1788
+ }
1789
+ else {
1790
+ hasNestedFields = true;
1791
+ }
1782
1792
  break;
1783
1793
  case "separate":
1784
- fieldState = "separate";
1794
+ if (nestingDepth <= 1) {
1795
+ fieldState = "separate";
1796
+ }
1785
1797
  break;
1786
1798
  case "end":
1799
+ nestingDepth--;
1800
+ if (nestingDepth > 0) {
1801
+ break;
1802
+ }
1787
1803
  fieldState = "end";
1788
- if (fieldState === "end" && fieldRuns.length > 0) {
1804
+ if (fieldRuns.length > 0) {
1805
+ if (hasNestedFields) {
1806
+ for (let j = fieldStartIndex; j <= i; j++) {
1807
+ groupedContent.push(content[j]);
1808
+ }
1809
+ logger_1.defaultLogger.debug(`Preserved raw structure for nested field spanning ${i - fieldStartIndex + 1} content items`);
1810
+ fieldRuns = [];
1811
+ instructionRevisions = [];
1812
+ fieldRevisions = [];
1813
+ fieldState = null;
1814
+ hasNestedFields = false;
1815
+ fieldStartIndex = -1;
1816
+ nestingDepth = 0;
1817
+ break;
1818
+ }
1789
1819
  if (instructionRevisions.length > 0) {
1790
1820
  let hasSep = false;
1791
1821
  for (const run of fieldRuns) {
@@ -1939,7 +1969,10 @@ class DocumentParser {
1939
1969
  }
1940
1970
  }
1941
1971
  else {
1942
- if (fieldState === "separate" || fieldState === "result") {
1972
+ if (nestingDepth > 0) {
1973
+ fieldRuns.push(item);
1974
+ }
1975
+ else if (fieldState === "separate" || fieldState === "result") {
1943
1976
  fieldRuns.push(item);
1944
1977
  fieldState = "result";
1945
1978
  }
@@ -1966,7 +1999,10 @@ class DocumentParser {
1966
1999
  }
1967
2000
  }
1968
2001
  else if (item instanceof Revision_1.Revision) {
1969
- if (fieldState === "separate" || fieldState === "result") {
2002
+ if (nestingDepth > 0) {
2003
+ fieldRevisions.push(item);
2004
+ }
2005
+ else if (fieldState === "separate" || fieldState === "result") {
1970
2006
  item.setFieldContext({ position: 'result' });
1971
2007
  fieldRevisions.push(item);
1972
2008
  fieldState = "result";
@@ -1997,7 +2033,10 @@ class DocumentParser {
1997
2033
  }
1998
2034
  }
1999
2035
  else {
2000
- if (fieldRuns.length > 0) {
2036
+ if (nestingDepth > 0) {
2037
+ fieldRuns.push(item);
2038
+ }
2039
+ else if (fieldRuns.length > 0) {
2001
2040
  fieldRuns.forEach((run) => groupedContent.push(run));
2002
2041
  for (const revision of instructionRevisions) {
2003
2042
  groupedContent.push(revision);
@@ -4354,6 +4393,15 @@ class DocumentParser {
4354
4393
  table.setBorders(borders);
4355
4394
  }
4356
4395
  }
4396
+ if (tblPrObj["w:tblPrChange"]) {
4397
+ const changeObj = tblPrObj["w:tblPrChange"];
4398
+ table.setTblPrChange({
4399
+ id: String(changeObj["@_w:id"] || "0"),
4400
+ author: changeObj["@_w:author"] || "",
4401
+ date: changeObj["@_w:date"] || "",
4402
+ previousProperties: this.parseGenericPreviousProperties(changeObj["w:tblPr"]),
4403
+ });
4404
+ }
4357
4405
  }
4358
4406
  async parseTableRowFromObject(rowObj, relationshipManager, zipHandler, imageManager, rawRowXml) {
4359
4407
  try {
@@ -4456,6 +4504,15 @@ class DocumentParser {
4456
4504
  row.setCnfStyle(val);
4457
4505
  }
4458
4506
  }
4507
+ if (trPrObj["w:trPrChange"]) {
4508
+ const changeObj = trPrObj["w:trPrChange"];
4509
+ row.setTrPrChange({
4510
+ id: String(changeObj["@_w:id"] || "0"),
4511
+ author: changeObj["@_w:author"] || "",
4512
+ date: changeObj["@_w:date"] || "",
4513
+ previousProperties: this.parseGenericPreviousProperties(changeObj["w:trPr"]),
4514
+ });
4515
+ }
4459
4516
  }
4460
4517
  parseTablePropertyExceptionsFromObject(tblPrExObj) {
4461
4518
  if (!tblPrExObj)
@@ -4691,6 +4748,15 @@ class DocumentParser {
4691
4748
  });
4692
4749
  cell.setCellRevision(revision);
4693
4750
  }
4751
+ if (tcPr["w:tcPrChange"]) {
4752
+ const changeObj = tcPr["w:tcPrChange"];
4753
+ cell.setTcPrChange({
4754
+ id: String(changeObj["@_w:id"] || "0"),
4755
+ author: changeObj["@_w:author"] || "",
4756
+ date: changeObj["@_w:date"] || "",
4757
+ previousProperties: this.parseGenericPreviousProperties(changeObj["w:tcPr"]),
4758
+ });
4759
+ }
4694
4760
  }
4695
4761
  if (rawCellXml) {
4696
4762
  const cellContent = this.extractCellContentInOrder(rawCellXml);
@@ -5892,7 +5958,21 @@ class DocumentParser {
5892
5958
  sectionProps.printerSettingsId = rId;
5893
5959
  }
5894
5960
  }
5895
- return new Section_1.Section(sectionProps);
5961
+ const section = new Section_1.Section(sectionProps);
5962
+ const sectPrChangeElements = XMLParser_1.XMLParser.extractElements(sectPr, "w:sectPrChange");
5963
+ if (sectPrChangeElements.length > 0 && sectPrChangeElements[0]) {
5964
+ const changeXml = sectPrChangeElements[0];
5965
+ const id = XMLParser_1.XMLParser.extractAttribute(changeXml, "w:id") || "0";
5966
+ const author = XMLParser_1.XMLParser.extractAttribute(changeXml, "w:author") || "";
5967
+ const date = XMLParser_1.XMLParser.extractAttribute(changeXml, "w:date") || "";
5968
+ const prevSectPrElements = XMLParser_1.XMLParser.extractElements(changeXml, "w:sectPr");
5969
+ const prevSectPrXml = prevSectPrElements.length > 0 ? prevSectPrElements[0] : undefined;
5970
+ const prevProps = prevSectPrXml
5971
+ ? this.parsePreviousSectionProperties(prevSectPrXml)
5972
+ : {};
5973
+ section.setSectPrChange({ id, author, date, previousProperties: prevProps });
5974
+ }
5975
+ return section;
5896
5976
  }
5897
5977
  catch (error) {
5898
5978
  const err = error instanceof Error ? error : new Error(String(error));
@@ -6715,6 +6795,154 @@ class DocumentParser {
6715
6795
  return null;
6716
6796
  }
6717
6797
  }
6798
+ parseGenericPreviousProperties(propsObj) {
6799
+ if (!propsObj)
6800
+ return {};
6801
+ const result = {};
6802
+ if (propsObj["w:tblStyle"]) {
6803
+ result.style = propsObj["w:tblStyle"]["@_w:val"] || "";
6804
+ }
6805
+ if (propsObj["w:tblW"]) {
6806
+ result.width = parseInt(propsObj["w:tblW"]["@_w:w"] || "0", 10);
6807
+ result.widthType = propsObj["w:tblW"]["@_w:type"] || "dxa";
6808
+ }
6809
+ if (propsObj["w:tblLayout"]) {
6810
+ result.layout = propsObj["w:tblLayout"]["@_w:type"];
6811
+ }
6812
+ if (propsObj["w:tblInd"]) {
6813
+ result.indent = parseInt(propsObj["w:tblInd"]["@_w:w"] || "0", 10);
6814
+ }
6815
+ if (propsObj["w:tblCellSpacing"]) {
6816
+ result.cellSpacing = parseInt(propsObj["w:tblCellSpacing"]["@_w:w"] || "0", 10);
6817
+ }
6818
+ if (propsObj["w:tblBorders"]) {
6819
+ const borders = {};
6820
+ const bordersObj = propsObj["w:tblBorders"];
6821
+ for (const side of ['top', 'bottom', 'left', 'right', 'insideH', 'insideV']) {
6822
+ if (bordersObj[`w:${side}`]) {
6823
+ borders[side] = this.parseBorderElement(bordersObj[`w:${side}`]);
6824
+ }
6825
+ }
6826
+ if (Object.keys(borders).length > 0)
6827
+ result.borders = borders;
6828
+ }
6829
+ if (propsObj["w:trHeight"]) {
6830
+ result.height = parseInt(propsObj["w:trHeight"]["@_w:val"] || "0", 10);
6831
+ const rule = propsObj["w:trHeight"]["@_w:hRule"];
6832
+ if (rule)
6833
+ result.heightRule = rule;
6834
+ }
6835
+ if (propsObj["w:tblHeader"]) {
6836
+ result.isHeader = true;
6837
+ }
6838
+ if (propsObj["w:cantSplit"]) {
6839
+ result.cantSplit = true;
6840
+ }
6841
+ if (propsObj["w:hidden"]) {
6842
+ result.hidden = true;
6843
+ }
6844
+ if (propsObj["w:tcW"]) {
6845
+ result.width = parseInt(propsObj["w:tcW"]["@_w:w"] || "0", 10);
6846
+ result.widthType = propsObj["w:tcW"]["@_w:type"] || "dxa";
6847
+ }
6848
+ if (propsObj["w:vAlign"]) {
6849
+ result.verticalAlignment = propsObj["w:vAlign"]["@_w:val"];
6850
+ }
6851
+ if (propsObj["w:tcBorders"]) {
6852
+ const borders = {};
6853
+ const bordersObj = propsObj["w:tcBorders"];
6854
+ for (const side of ['top', 'bottom', 'left', 'right']) {
6855
+ if (bordersObj[`w:${side}`]) {
6856
+ borders[side] = this.parseBorderElement(bordersObj[`w:${side}`]);
6857
+ }
6858
+ }
6859
+ if (Object.keys(borders).length > 0)
6860
+ result.borders = borders;
6861
+ }
6862
+ if (propsObj["w:jc"]) {
6863
+ const val = propsObj["w:jc"]["@_w:val"];
6864
+ if (val) {
6865
+ result.alignment = val;
6866
+ result.justification = val;
6867
+ }
6868
+ }
6869
+ if (propsObj["w:shd"]) {
6870
+ const shd = propsObj["w:shd"];
6871
+ const shading = {};
6872
+ if (shd["@_w:val"])
6873
+ shading.pattern = shd["@_w:val"];
6874
+ if (shd["@_w:fill"])
6875
+ shading.fill = shd["@_w:fill"];
6876
+ if (shd["@_w:color"])
6877
+ shading.color = shd["@_w:color"];
6878
+ if (Object.keys(shading).length > 0)
6879
+ result.shading = shading;
6880
+ }
6881
+ return result;
6882
+ }
6883
+ parsePreviousSectionProperties(sectPrXml) {
6884
+ if (!sectPrXml)
6885
+ return {};
6886
+ const result = {};
6887
+ const pgSzElements = XMLParser_1.XMLParser.extractElements(sectPrXml, "w:pgSz");
6888
+ if (pgSzElements.length > 0 && pgSzElements[0]) {
6889
+ const pgSz = pgSzElements[0];
6890
+ const width = XMLParser_1.XMLParser.extractAttribute(pgSz, "w:w");
6891
+ const height = XMLParser_1.XMLParser.extractAttribute(pgSz, "w:h");
6892
+ const orient = XMLParser_1.XMLParser.extractAttribute(pgSz, "w:orient");
6893
+ if (width || height) {
6894
+ result.pageSize = {
6895
+ width: width ? parseInt(width, 10) : undefined,
6896
+ height: height ? parseInt(height, 10) : undefined,
6897
+ orientation: orient === "landscape" ? "landscape" : "portrait",
6898
+ };
6899
+ }
6900
+ }
6901
+ const pgMarElements = XMLParser_1.XMLParser.extractElements(sectPrXml, "w:pgMar");
6902
+ if (pgMarElements.length > 0 && pgMarElements[0]) {
6903
+ const pgMar = pgMarElements[0];
6904
+ const margins = {};
6905
+ const top = XMLParser_1.XMLParser.extractAttribute(pgMar, "w:top");
6906
+ if (top)
6907
+ margins.top = parseInt(top, 10);
6908
+ const bottom = XMLParser_1.XMLParser.extractAttribute(pgMar, "w:bottom");
6909
+ if (bottom)
6910
+ margins.bottom = parseInt(bottom, 10);
6911
+ const left = XMLParser_1.XMLParser.extractAttribute(pgMar, "w:left");
6912
+ if (left)
6913
+ margins.left = parseInt(left, 10);
6914
+ const right = XMLParser_1.XMLParser.extractAttribute(pgMar, "w:right");
6915
+ if (right)
6916
+ margins.right = parseInt(right, 10);
6917
+ const header = XMLParser_1.XMLParser.extractAttribute(pgMar, "w:header");
6918
+ if (header)
6919
+ margins.header = parseInt(header, 10);
6920
+ const footer = XMLParser_1.XMLParser.extractAttribute(pgMar, "w:footer");
6921
+ if (footer)
6922
+ margins.footer = parseInt(footer, 10);
6923
+ if (Object.keys(margins).length > 0)
6924
+ result.margins = margins;
6925
+ }
6926
+ const typeElements = XMLParser_1.XMLParser.extractElements(sectPrXml, "w:type");
6927
+ if (typeElements.length > 0 && typeElements[0]) {
6928
+ const val = XMLParser_1.XMLParser.extractAttribute(typeElements[0], "w:val");
6929
+ if (val)
6930
+ result.type = val;
6931
+ }
6932
+ const colsElements = XMLParser_1.XMLParser.extractElements(sectPrXml, "w:cols");
6933
+ if (colsElements.length > 0 && colsElements[0]) {
6934
+ const cols = colsElements[0];
6935
+ const num = XMLParser_1.XMLParser.extractAttribute(cols, "w:num");
6936
+ const space = XMLParser_1.XMLParser.extractAttribute(cols, "w:space");
6937
+ if (num) {
6938
+ result.columns = {
6939
+ count: parseInt(num, 10),
6940
+ space: space ? parseInt(space, 10) : undefined,
6941
+ };
6942
+ }
6943
+ }
6944
+ return result;
6945
+ }
6718
6946
  }
6719
6947
  exports.DocumentParser = DocumentParser;
6720
6948
  //# sourceMappingURL=DocumentParser.js.map