docxmlater 10.2.4 → 10.2.6
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/DocumentParser.d.ts +1 -0
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +32 -1
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/elements/RevisionContent.js.map +1 -1
- package/package.json +1 -1
- package/src/core/DocumentParser.ts +54 -2
- package/src/elements/RevisionContent.ts +3 -3
|
@@ -71,6 +71,7 @@ export declare class DocumentParser {
|
|
|
71
71
|
private collectAllParagraphs;
|
|
72
72
|
private processMultiParagraphField;
|
|
73
73
|
private processMultiParagraphFieldAsComplexField;
|
|
74
|
+
private tryPromoteRevisionFieldCode;
|
|
74
75
|
private createComplexFieldFromRuns;
|
|
75
76
|
private parseRunFromObject;
|
|
76
77
|
private parseHyperlinkFromObject;
|
|
@@ -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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"}
|
|
@@ -2248,7 +2248,13 @@ class DocumentParser {
|
|
|
2248
2248
|
groupedContent.push(item);
|
|
2249
2249
|
}
|
|
2250
2250
|
else {
|
|
2251
|
-
|
|
2251
|
+
const promoted = this.tryPromoteRevisionFieldCode(item);
|
|
2252
|
+
if (promoted) {
|
|
2253
|
+
groupedContent.push(promoted);
|
|
2254
|
+
}
|
|
2255
|
+
else {
|
|
2256
|
+
groupedContent.push(item);
|
|
2257
|
+
}
|
|
2252
2258
|
}
|
|
2253
2259
|
}
|
|
2254
2260
|
else {
|
|
@@ -2544,6 +2550,31 @@ class DocumentParser {
|
|
|
2544
2550
|
}
|
|
2545
2551
|
logger_1.defaultLogger.debug(`Processed multi-paragraph field spanning paragraphs ${fieldTracker.startParagraphIndex} to ${affectedParagraphIndices[affectedParagraphIndices.length - 1]}`);
|
|
2546
2552
|
}
|
|
2553
|
+
tryPromoteRevisionFieldCode(revision) {
|
|
2554
|
+
const content = revision.getContent();
|
|
2555
|
+
const runs = content.filter((c) => c instanceof Run_1.Run);
|
|
2556
|
+
if (runs.length < 3)
|
|
2557
|
+
return null;
|
|
2558
|
+
let hasBegin = false;
|
|
2559
|
+
let hasEnd = false;
|
|
2560
|
+
for (const run of runs) {
|
|
2561
|
+
const rc = run.getContent();
|
|
2562
|
+
const fc = rc.find((c) => c.type === 'fieldChar');
|
|
2563
|
+
if (fc?.fieldCharType === 'begin')
|
|
2564
|
+
hasBegin = true;
|
|
2565
|
+
if (fc?.fieldCharType === 'end')
|
|
2566
|
+
hasEnd = true;
|
|
2567
|
+
}
|
|
2568
|
+
if (!hasBegin || !hasEnd)
|
|
2569
|
+
return null;
|
|
2570
|
+
const complexField = this.createComplexFieldFromRuns(runs);
|
|
2571
|
+
if (!complexField)
|
|
2572
|
+
return null;
|
|
2573
|
+
if (!complexField.isHyperlinkField())
|
|
2574
|
+
return null;
|
|
2575
|
+
logger_1.defaultLogger.debug(`Promoted HYPERLINK field code from inside ${revision.getType()} revision (id=${revision.getId()}) to ComplexField`);
|
|
2576
|
+
return complexField;
|
|
2577
|
+
}
|
|
2547
2578
|
createComplexFieldFromRuns(fieldRuns) {
|
|
2548
2579
|
if (fieldRuns.length < 2) {
|
|
2549
2580
|
logger_1.defaultLogger.debug('Skipping ComplexField assembly: insufficient runs (minimum 2: begin and instr)');
|