docxmlater 7.7.1 → 7.7.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/dist/core/Document.d.ts +7 -0
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +83 -0
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentParser.d.ts +3 -0
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +122 -34
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +12 -2
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/TableCell.d.ts +12 -0
- package/dist/elements/TableCell.d.ts.map +1 -1
- package/dist/elements/TableCell.js +59 -3
- package/dist/elements/TableCell.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.d.ts +1 -0
- package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.js +97 -0
- package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
- package/package.json +1 -1
|
@@ -66,6 +66,9 @@ export declare class DocumentParser {
|
|
|
66
66
|
private parseTablePropertyExceptionsFromObject;
|
|
67
67
|
private parseTableBordersFromObject;
|
|
68
68
|
private parseTableCellFromObject;
|
|
69
|
+
private extractCellContentInOrder;
|
|
70
|
+
private isExactTag;
|
|
71
|
+
private findClosingTag;
|
|
69
72
|
private parseSDTFromObject;
|
|
70
73
|
private extractInstructionFromContent;
|
|
71
74
|
private extractInstructionFromRawXML;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/core/DocumentParser.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,SAAS,EAAyC,MAAM,uBAAuB,CAAC;AAGzF,OAAO,EAEL,OAAO,EAGR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,EAA8B,MAAM,qBAAqB,CAAC;AAcxE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd;AAKD,KAAK,WAAW,GACZ,SAAS,GACT,KAAK,GACL,sBAAsB,GACtB,qBAAqB,CAAC;AAK1B,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,aAAa,CAAU;gBAEnB,aAAa,GAAE,OAAe;IAO1C,cAAc,IAAI,UAAU,EAAE;IAO9B,gBAAgB,IAAI,IAAI;IAWlB,aAAa,CACjB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC;QACT,YAAY,EAAE,WAAW,EAAE,CAAC;QAC5B,UAAU,EAAE,kBAAkB,CAAC;QAC/B,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;QACxC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;YAsFY,iBAAiB;IAoH/B,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,qBAAqB;YAwEf,uBAAuB;YA4FvB,6BAA6B;YA+S7B,oBAAoB;YAkHpB,wBAAwB;IAsKtC,OAAO,CAAC,kCAAkC;
|
|
1
|
+
{"version":3,"file":"DocumentParser.d.ts","sourceRoot":"","sources":["../../src/core/DocumentParser.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,SAAS,EAAyC,MAAM,uBAAuB,CAAC;AAGzF,OAAO,EAEL,OAAO,EAGR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,EAA8B,MAAM,qBAAqB,CAAC;AAcxE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd;AAKD,KAAK,WAAW,GACZ,SAAS,GACT,KAAK,GACL,sBAAsB,GACtB,qBAAqB,CAAC;AAK1B,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,aAAa,CAAU;gBAEnB,aAAa,GAAE,OAAe;IAO1C,cAAc,IAAI,UAAU,EAAE;IAO9B,gBAAgB,IAAI,IAAI;IAWlB,aAAa,CACjB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC;QACT,YAAY,EAAE,WAAW,EAAE,CAAC;QAC5B,UAAU,EAAE,kBAAkB,CAAC;QAC/B,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;QACxC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;YAsFY,iBAAiB;IAoH/B,OAAO,CAAC,WAAW;IAmCnB,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,qBAAqB;YAwEf,uBAAuB;YA4FvB,6BAA6B;YA+S7B,oBAAoB;YAkHpB,wBAAwB;IAsKtC,OAAO,CAAC,kCAAkC;IA6Y1C,OAAO,CAAC,qBAAqB;IAsP7B,OAAO,CAAC,4BAA4B;IAiHpC,OAAO,CAAC,oBAAoB;IAiC5B,OAAO,CAAC,0BAA0B;IA8IlC,OAAO,CAAC,wCAAwC;IA0EhD,OAAO,CAAC,0BAA0B;IAmHlC,OAAO,CAAC,kBAAkB;IAsN1B,OAAO,CAAC,wBAAwB;IAgIhC,OAAO,CAAC,0BAA0B;IAiIlC,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,0BAA0B;IAwClC,OAAO,CAAC,4BAA4B;YAwLtB,sBAAsB;IAqNpC,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,kBAAkB;IA6D1B,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;YAuBX,oBAAoB;IA2ElC,OAAO,CAAC,8BAA8B;YAuFxB,uBAAuB;IAyErC,OAAO,CAAC,iCAAiC;IAyDzC,OAAO,CAAC,sCAAsC;IA4D9C,OAAO,CAAC,2BAA2B;YAgCrB,wBAAwB;IAwNtC,OAAO,CAAC,yBAAyB;IAmFjC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;YAsCR,kBAAkB;IAqPhC,OAAO,CAAC,6BAA6B;IAwCrC,OAAO,CAAC,4BAA4B;IA6JpC,OAAO,CAAC,4BAA4B;IA6FpC,OAAO,CAAC,sBAAsB;IAmI9B,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,WAAW;IAgHnB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,eAAe;IAuEvB,OAAO,CAAC,qBAAqB;IA8D7B,OAAO,CAAC,WAAW;IA8CnB,OAAO,CAAC,cAAc;IAqEtB,OAAO,CAAC,sBAAsB;IAoP9B,OAAO,CAAC,UAAU;IAwMlB,OAAO,CAAC,+BAA+B;IAqHvC,OAAO,CAAC,yBAAyB;IAyJjC,OAAO,CAAC,yBAAyB;IA+EjC,OAAO,CAAC,2BAA2B;IAqEnC,OAAO,CAAC,+BAA+B;IAmDvC,OAAO,CAAC,8BAA8B;IA8CtC,OAAO,CAAC,iCAAiC;IA6FzC,OAAO,CAAC,mBAAmB;IAqF3B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,uBAAuB;IA6B/B,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA+BzE,MAAM,CAAC,SAAS,CACd,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO;IAwBV,MAAM,CAAC,gBAAgB,CACrB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAmFF,OAAO,CAAC,eAAe;IA4BjB,sBAAsB,CAC1B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC;QACT,OAAO,EAAE,KAAK,CAAC;YACb,MAAM,EAAE,OAAO,oBAAoB,EAAE,MAAM,CAAC;YAC5C,cAAc,EAAE,MAAM,CAAC;YACvB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,CAAC;YACb,MAAM,EAAE,OAAO,oBAAoB,EAAE,MAAM,CAAC;YAC5C,cAAc,EAAE,MAAM,CAAC;YACvB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;KACJ,CAAC;YA4FY,WAAW;YA6DX,WAAW;CAmD1B"}
|
|
@@ -770,12 +770,12 @@ class DocumentParser {
|
|
|
770
770
|
}
|
|
771
771
|
if (pPrObj["w:ind"]) {
|
|
772
772
|
const ind = pPrObj["w:ind"];
|
|
773
|
-
if (ind["@_w:left"])
|
|
774
|
-
paragraph.setLeftIndent(parseInt(ind["@_w:left"], 10));
|
|
775
|
-
if (ind["@_w:right"])
|
|
776
|
-
paragraph.setRightIndent(parseInt(ind["@_w:right"], 10));
|
|
777
|
-
if (ind["@_w:firstLine"])
|
|
778
|
-
paragraph.setFirstLineIndent(parseInt(ind["@_w:firstLine"], 10));
|
|
773
|
+
if (ind["@_w:left"] !== undefined)
|
|
774
|
+
paragraph.setLeftIndent(parseInt(String(ind["@_w:left"]), 10));
|
|
775
|
+
if (ind["@_w:right"] !== undefined)
|
|
776
|
+
paragraph.setRightIndent(parseInt(String(ind["@_w:right"]), 10));
|
|
777
|
+
if (ind["@_w:firstLine"] !== undefined)
|
|
778
|
+
paragraph.setFirstLineIndent(parseInt(String(ind["@_w:firstLine"]), 10));
|
|
779
779
|
}
|
|
780
780
|
if (pPrObj["w:spacing"]) {
|
|
781
781
|
const spacing = pPrObj["w:spacing"];
|
|
@@ -800,9 +800,6 @@ class DocumentParser {
|
|
|
800
800
|
const numPr = Array.isArray(numPrRaw) ? numPrRaw[0] : numPrRaw;
|
|
801
801
|
const numId = numPr?.["w:numId"]?.["@_w:val"];
|
|
802
802
|
const ilvl = numPr?.["w:ilvl"]?.["@_w:val"] || "0";
|
|
803
|
-
console.log('[DEBUG] numPrRaw:', JSON.stringify(numPrRaw).substring(0, 100));
|
|
804
|
-
console.log('[DEBUG] numPr:', JSON.stringify(numPr).substring(0, 100));
|
|
805
|
-
console.log('[DEBUG] numId:', numId, 'ilvl:', ilvl);
|
|
806
803
|
if (numId) {
|
|
807
804
|
paragraph.setNumbering(parseInt(numId, 10), parseInt(ilvl, 10));
|
|
808
805
|
}
|
|
@@ -2728,35 +2725,34 @@ class DocumentParser {
|
|
|
2728
2725
|
}
|
|
2729
2726
|
}
|
|
2730
2727
|
}
|
|
2731
|
-
const paragraphs = cellObj["w:p"];
|
|
2732
|
-
const paraChildren = Array.isArray(paragraphs)
|
|
2733
|
-
? paragraphs
|
|
2734
|
-
: paragraphs
|
|
2735
|
-
? [paragraphs]
|
|
2736
|
-
: [];
|
|
2737
|
-
let paraXmls = [];
|
|
2738
2728
|
if (rawCellXml) {
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
if (
|
|
2743
|
-
|
|
2729
|
+
const cellContent = this.extractCellContentInOrder(rawCellXml);
|
|
2730
|
+
let paragraphIndex = 0;
|
|
2731
|
+
for (const item of cellContent) {
|
|
2732
|
+
if (item.type === "paragraph") {
|
|
2733
|
+
const paragraph = await this.parseParagraphWithOrder(item.xml, relationshipManager, zipHandler, imageManager);
|
|
2734
|
+
if (paragraph) {
|
|
2735
|
+
cell.addParagraph(paragraph);
|
|
2736
|
+
paragraphIndex++;
|
|
2737
|
+
}
|
|
2738
|
+
}
|
|
2739
|
+
else if (item.type === "table" || item.type === "sdt") {
|
|
2740
|
+
cell.addRawNestedContent(paragraphIndex, item.xml, item.type);
|
|
2744
2741
|
}
|
|
2745
2742
|
}
|
|
2746
|
-
paraXmls = XMLParser_1.XMLParser.extractElements(rawCellXml, "w:p");
|
|
2747
2743
|
}
|
|
2748
|
-
|
|
2749
|
-
const
|
|
2750
|
-
const
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
paragraph = await this.parseParagraphFromObject(paraObj, relationshipManager, zipHandler, imageManager);
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2744
|
+
else {
|
|
2745
|
+
const paragraphs = cellObj["w:p"];
|
|
2746
|
+
const paraChildren = Array.isArray(paragraphs)
|
|
2747
|
+
? paragraphs
|
|
2748
|
+
: paragraphs
|
|
2749
|
+
? [paragraphs]
|
|
2750
|
+
: [];
|
|
2751
|
+
for (const paraObj of paraChildren) {
|
|
2752
|
+
const paragraph = await this.parseParagraphFromObject(paraObj, relationshipManager, zipHandler, imageManager);
|
|
2753
|
+
if (paragraph) {
|
|
2754
|
+
cell.addParagraph(paragraph);
|
|
2755
|
+
}
|
|
2760
2756
|
}
|
|
2761
2757
|
}
|
|
2762
2758
|
return cell;
|
|
@@ -2768,6 +2764,98 @@ class DocumentParser {
|
|
|
2768
2764
|
return null;
|
|
2769
2765
|
}
|
|
2770
2766
|
}
|
|
2767
|
+
extractCellContentInOrder(cellXml) {
|
|
2768
|
+
const result = [];
|
|
2769
|
+
let contentStart = 0;
|
|
2770
|
+
const tcPrStart = cellXml.indexOf("<w:tcPr");
|
|
2771
|
+
if (tcPrStart !== -1) {
|
|
2772
|
+
const tcPrEnd = this.findClosingTag(cellXml, "w:tcPr", tcPrStart);
|
|
2773
|
+
if (tcPrEnd !== -1) {
|
|
2774
|
+
contentStart = tcPrEnd;
|
|
2775
|
+
}
|
|
2776
|
+
}
|
|
2777
|
+
const contentEnd = cellXml.lastIndexOf("</w:tc>");
|
|
2778
|
+
if (contentEnd === -1)
|
|
2779
|
+
return result;
|
|
2780
|
+
const content = cellXml.substring(contentStart, contentEnd);
|
|
2781
|
+
let pos = 0;
|
|
2782
|
+
while (pos < content.length) {
|
|
2783
|
+
const pStart = content.indexOf("<w:p", pos);
|
|
2784
|
+
const tblStart = content.indexOf("<w:tbl", pos);
|
|
2785
|
+
const sdtStart = content.indexOf("<w:sdt", pos);
|
|
2786
|
+
let nextStart = -1;
|
|
2787
|
+
let nextType = null;
|
|
2788
|
+
let nextTag = "";
|
|
2789
|
+
if (pStart !== -1 &&
|
|
2790
|
+
this.isExactTag(content, pStart, "w:p") &&
|
|
2791
|
+
(nextStart === -1 || pStart < nextStart)) {
|
|
2792
|
+
nextStart = pStart;
|
|
2793
|
+
nextType = "paragraph";
|
|
2794
|
+
nextTag = "w:p";
|
|
2795
|
+
}
|
|
2796
|
+
if (tblStart !== -1 &&
|
|
2797
|
+
this.isExactTag(content, tblStart, "w:tbl") &&
|
|
2798
|
+
(nextStart === -1 || tblStart < nextStart)) {
|
|
2799
|
+
nextStart = tblStart;
|
|
2800
|
+
nextType = "table";
|
|
2801
|
+
nextTag = "w:tbl";
|
|
2802
|
+
}
|
|
2803
|
+
if (sdtStart !== -1 &&
|
|
2804
|
+
this.isExactTag(content, sdtStart, "w:sdt") &&
|
|
2805
|
+
(nextStart === -1 || sdtStart < nextStart)) {
|
|
2806
|
+
nextStart = sdtStart;
|
|
2807
|
+
nextType = "sdt";
|
|
2808
|
+
nextTag = "w:sdt";
|
|
2809
|
+
}
|
|
2810
|
+
if (nextStart === -1 || nextType === null)
|
|
2811
|
+
break;
|
|
2812
|
+
const elementEnd = this.findClosingTag(content, nextTag, nextStart);
|
|
2813
|
+
if (elementEnd === -1) {
|
|
2814
|
+
pos = nextStart + 1;
|
|
2815
|
+
continue;
|
|
2816
|
+
}
|
|
2817
|
+
const elementXml = content.substring(nextStart, elementEnd);
|
|
2818
|
+
result.push({ type: nextType, xml: elementXml });
|
|
2819
|
+
pos = elementEnd;
|
|
2820
|
+
}
|
|
2821
|
+
return result;
|
|
2822
|
+
}
|
|
2823
|
+
isExactTag(content, position, tagName) {
|
|
2824
|
+
const afterTag = content[position + 1 + tagName.length];
|
|
2825
|
+
return (afterTag === ">" ||
|
|
2826
|
+
afterTag === "/" ||
|
|
2827
|
+
afterTag === " " ||
|
|
2828
|
+
afterTag === "\t" ||
|
|
2829
|
+
afterTag === "\n" ||
|
|
2830
|
+
afterTag === "\r");
|
|
2831
|
+
}
|
|
2832
|
+
findClosingTag(content, tagName, startPos) {
|
|
2833
|
+
const openTag = `<${tagName}`;
|
|
2834
|
+
const closeTag = `</${tagName}>`;
|
|
2835
|
+
const openTagEnd = content.indexOf(">", startPos);
|
|
2836
|
+
if (openTagEnd !== -1 && content[openTagEnd - 1] === "/") {
|
|
2837
|
+
return openTagEnd + 1;
|
|
2838
|
+
}
|
|
2839
|
+
let depth = 1;
|
|
2840
|
+
let pos = openTagEnd + 1;
|
|
2841
|
+
while (pos < content.length && depth > 0) {
|
|
2842
|
+
const nextOpen = content.indexOf(openTag, pos);
|
|
2843
|
+
const nextClose = content.indexOf(closeTag, pos);
|
|
2844
|
+
if (nextClose === -1)
|
|
2845
|
+
break;
|
|
2846
|
+
if (nextOpen !== -1 && nextOpen < nextClose) {
|
|
2847
|
+
if (this.isExactTag(content, nextOpen, tagName)) {
|
|
2848
|
+
depth++;
|
|
2849
|
+
}
|
|
2850
|
+
pos = nextOpen + openTag.length;
|
|
2851
|
+
}
|
|
2852
|
+
else {
|
|
2853
|
+
depth--;
|
|
2854
|
+
pos = nextClose + closeTag.length;
|
|
2855
|
+
}
|
|
2856
|
+
}
|
|
2857
|
+
return depth === 0 ? pos : -1;
|
|
2858
|
+
}
|
|
2771
2859
|
async parseSDTFromObject(sdtObj, relationshipManager, zipHandler, imageManager) {
|
|
2772
2860
|
try {
|
|
2773
2861
|
if (!sdtObj)
|