@usejunior/docx-core 0.10.0 → 0.11.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.
- package/LICENSE +202 -21
- package/NOTICE +2 -0
- package/README.md +2 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/atomizer.d.ts +13 -7
- package/dist/atomizer.d.ts.map +1 -1
- package/dist/atomizer.js +59 -24
- package/dist/atomizer.js.map +1 -1
- package/dist/baselines/atomizer/auxiliaryIdCollision.d.ts +99 -0
- package/dist/baselines/atomizer/auxiliaryIdCollision.d.ts.map +1 -0
- package/dist/baselines/atomizer/auxiliaryIdCollision.js +415 -0
- package/dist/baselines/atomizer/auxiliaryIdCollision.js.map +1 -0
- package/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
- package/dist/baselines/atomizer/documentReconstructor.js +120 -27
- package/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
- package/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts +9 -0
- package/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts.map +1 -1
- package/dist/baselines/atomizer/inPlaceModifier-wrappers.js +52 -4
- package/dist/baselines/atomizer/inPlaceModifier-wrappers.js.map +1 -1
- package/dist/baselines/atomizer/pipeline.d.ts +12 -53
- package/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
- package/dist/baselines/atomizer/pipeline.js +126 -231
- package/dist/baselines/atomizer/pipeline.js.map +1 -1
- package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -1
- package/dist/baselines/atomizer/trackChangesAcceptorAst.js +153 -23
- package/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -1
- package/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -1
- package/dist/baselines/wmlcomparer/DotnetCli.js +7 -0
- package/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -1
- package/dist/cli/compare-two.d.ts.map +1 -1
- package/dist/cli/compare-two.js +3 -1
- package/dist/cli/compare-two.js.map +1 -1
- package/dist/cli/conformance-adapter.d.ts +3 -0
- package/dist/cli/conformance-adapter.d.ts.map +1 -0
- package/dist/cli/conformance-adapter.js +93 -0
- package/dist/cli/conformance-adapter.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/compare-types.d.ts +46 -0
- package/dist/compare-types.d.ts.map +1 -1
- package/dist/generation/compile.d.ts +21 -0
- package/dist/generation/compile.d.ts.map +1 -0
- package/dist/generation/compile.js +46 -0
- package/dist/generation/compile.js.map +1 -0
- package/dist/generation/context.d.ts +42 -0
- package/dist/generation/context.d.ts.map +1 -0
- package/dist/generation/context.js +65 -0
- package/dist/generation/context.js.map +1 -0
- package/dist/generation/emit/comments-part.d.ts +36 -0
- package/dist/generation/emit/comments-part.d.ts.map +1 -0
- package/dist/generation/emit/comments-part.js +116 -0
- package/dist/generation/emit/comments-part.js.map +1 -0
- package/dist/generation/emit/document-part.d.ts +24 -0
- package/dist/generation/emit/document-part.d.ts.map +1 -0
- package/dist/generation/emit/document-part.js +60 -0
- package/dist/generation/emit/document-part.js.map +1 -0
- package/dist/generation/emit/emit-context.d.ts +26 -0
- package/dist/generation/emit/emit-context.d.ts.map +1 -0
- package/dist/generation/emit/emit-context.js +19 -0
- package/dist/generation/emit/emit-context.js.map +1 -0
- package/dist/generation/emit/header-footer-part.d.ts +23 -0
- package/dist/generation/emit/header-footer-part.d.ts.map +1 -0
- package/dist/generation/emit/header-footer-part.js +57 -0
- package/dist/generation/emit/header-footer-part.js.map +1 -0
- package/dist/generation/emit/numbering-part.d.ts +29 -0
- package/dist/generation/emit/numbering-part.d.ts.map +1 -0
- package/dist/generation/emit/numbering-part.js +100 -0
- package/dist/generation/emit/numbering-part.js.map +1 -0
- package/dist/generation/emit/package-parts.d.ts +24 -0
- package/dist/generation/emit/package-parts.d.ts.map +1 -0
- package/dist/generation/emit/package-parts.js +121 -0
- package/dist/generation/emit/package-parts.js.map +1 -0
- package/dist/generation/emit/paragraph.d.ts +24 -0
- package/dist/generation/emit/paragraph.d.ts.map +1 -0
- package/dist/generation/emit/paragraph.js +63 -0
- package/dist/generation/emit/paragraph.js.map +1 -0
- package/dist/generation/emit/properties.d.ts +34 -0
- package/dist/generation/emit/properties.d.ts.map +1 -0
- package/dist/generation/emit/properties.js +138 -0
- package/dist/generation/emit/properties.js.map +1 -0
- package/dist/generation/emit/run.d.ts +15 -0
- package/dist/generation/emit/run.d.ts.map +1 -0
- package/dist/generation/emit/run.js +71 -0
- package/dist/generation/emit/run.js.map +1 -0
- package/dist/generation/emit/section.d.ts +29 -0
- package/dist/generation/emit/section.d.ts.map +1 -0
- package/dist/generation/emit/section.js +117 -0
- package/dist/generation/emit/section.js.map +1 -0
- package/dist/generation/emit/settings-part.d.ts +13 -0
- package/dist/generation/emit/settings-part.d.ts.map +1 -0
- package/dist/generation/emit/settings-part.js +24 -0
- package/dist/generation/emit/settings-part.js.map +1 -0
- package/dist/generation/emit/styles-part.d.ts +16 -0
- package/dist/generation/emit/styles-part.d.ts.map +1 -0
- package/dist/generation/emit/styles-part.js +80 -0
- package/dist/generation/emit/styles-part.js.map +1 -0
- package/dist/generation/emit/table.d.ts +26 -0
- package/dist/generation/emit/table.d.ts.map +1 -0
- package/dist/generation/emit/table.js +196 -0
- package/dist/generation/emit/table.js.map +1 -0
- package/dist/generation/errors.d.ts +22 -0
- package/dist/generation/errors.d.ts.map +1 -0
- package/dist/generation/errors.js +29 -0
- package/dist/generation/errors.js.map +1 -0
- package/dist/generation/index.d.ts +13 -0
- package/dist/generation/index.d.ts.map +1 -0
- package/dist/generation/index.js +12 -0
- package/dist/generation/index.js.map +1 -0
- package/dist/generation/ordering.d.ts +46 -0
- package/dist/generation/ordering.d.ts.map +1 -0
- package/dist/generation/ordering.js +119 -0
- package/dist/generation/ordering.js.map +1 -0
- package/dist/generation/recipes.d.ts +47 -0
- package/dist/generation/recipes.d.ts.map +1 -0
- package/dist/generation/recipes.js +84 -0
- package/dist/generation/recipes.js.map +1 -0
- package/dist/generation/structural-checks.d.ts +24 -0
- package/dist/generation/structural-checks.d.ts.map +1 -0
- package/dist/generation/structural-checks.js +318 -0
- package/dist/generation/structural-checks.js.map +1 -0
- package/dist/generation/types.d.ts +217 -0
- package/dist/generation/types.d.ts.map +1 -0
- package/dist/generation/types.js +16 -0
- package/dist/generation/types.js.map +1 -0
- package/dist/generation/validate-spec.d.ts +27 -0
- package/dist/generation/validate-spec.d.ts.map +1 -0
- package/dist/generation/validate-spec.js +307 -0
- package/dist/generation/validate-spec.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/integration/generation-probes.d.ts +15 -0
- package/dist/integration/generation-probes.d.ts.map +1 -0
- package/dist/integration/generation-probes.js +84 -0
- package/dist/integration/generation-probes.js.map +1 -0
- package/dist/integration/libreoffice-oracle.d.ts +8 -0
- package/dist/integration/libreoffice-oracle.d.ts.map +1 -1
- package/dist/integration/libreoffice-oracle.js +14 -6
- package/dist/integration/libreoffice-oracle.js.map +1 -1
- package/dist/integration/synthetic-docx-fixture.d.ts +72 -0
- package/dist/integration/synthetic-docx-fixture.d.ts.map +1 -1
- package/dist/integration/synthetic-docx-fixture.js +131 -4
- package/dist/integration/synthetic-docx-fixture.js.map +1 -1
- package/dist/primitives/accept_changes.d.ts +2 -1
- package/dist/primitives/accept_changes.d.ts.map +1 -1
- package/dist/primitives/accept_changes.js +153 -12
- package/dist/primitives/accept_changes.js.map +1 -1
- package/dist/primitives/document.d.ts +38 -0
- package/dist/primitives/document.d.ts.map +1 -1
- package/dist/primitives/document.js +75 -9
- package/dist/primitives/document.js.map +1 -1
- package/dist/primitives/document_view-comments.d.ts.map +1 -1
- package/dist/primitives/document_view-comments.js +4 -3
- package/dist/primitives/document_view-comments.js.map +1 -1
- package/dist/primitives/document_view-types.d.ts +15 -0
- package/dist/primitives/document_view-types.d.ts.map +1 -1
- package/dist/primitives/document_view.d.ts.map +1 -1
- package/dist/primitives/document_view.js +21 -13
- package/dist/primitives/document_view.js.map +1 -1
- package/dist/primitives/formatting_tags.d.ts +1 -0
- package/dist/primitives/formatting_tags.d.ts.map +1 -1
- package/dist/primitives/formatting_tags.js +16 -10
- package/dist/primitives/formatting_tags.js.map +1 -1
- package/dist/primitives/index.d.ts +4 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +4 -0
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/layout.d.ts.map +1 -1
- package/dist/primitives/layout.js +13 -0
- package/dist/primitives/layout.js.map +1 -1
- package/dist/primitives/minimal_save.d.ts +38 -0
- package/dist/primitives/minimal_save.d.ts.map +1 -0
- package/dist/primitives/minimal_save.js +323 -0
- package/dist/primitives/minimal_save.js.map +1 -0
- package/dist/primitives/namespaces.d.ts +41 -0
- package/dist/primitives/namespaces.d.ts.map +1 -1
- package/dist/primitives/namespaces.js +43 -0
- package/dist/primitives/namespaces.js.map +1 -1
- package/dist/primitives/reject_changes.d.ts +4 -2
- package/dist/primitives/reject_changes.d.ts.map +1 -1
- package/dist/primitives/reject_changes.js +177 -24
- package/dist/primitives/reject_changes.js.map +1 -1
- package/dist/primitives/revision-parts.d.ts +7 -0
- package/dist/primitives/revision-parts.d.ts.map +1 -0
- package/dist/primitives/revision-parts.js +27 -0
- package/dist/primitives/revision-parts.js.map +1 -0
- package/dist/primitives/revision-vocabulary.d.ts +7 -0
- package/dist/primitives/revision-vocabulary.d.ts.map +1 -0
- package/dist/primitives/revision-vocabulary.js +39 -0
- package/dist/primitives/revision-vocabulary.js.map +1 -0
- package/dist/primitives/schema-corpus-capture.d.ts +19 -0
- package/dist/primitives/schema-corpus-capture.d.ts.map +1 -0
- package/dist/primitives/schema-corpus-capture.js +29 -0
- package/dist/primitives/schema-corpus-capture.js.map +1 -0
- package/dist/primitives/sectPrAudit.d.ts +19 -0
- package/dist/primitives/sectPrAudit.d.ts.map +1 -0
- package/dist/primitives/sectPrAudit.js +165 -0
- package/dist/primitives/sectPrAudit.js.map +1 -0
- package/dist/primitives/semantic_tags.d.ts.map +1 -1
- package/dist/primitives/semantic_tags.js +2 -1
- package/dist/primitives/semantic_tags.js.map +1 -1
- package/dist/primitives/serialize_html.d.ts +1 -0
- package/dist/primitives/serialize_html.d.ts.map +1 -1
- package/dist/primitives/serialize_html.js +4 -2
- package/dist/primitives/serialize_html.js.map +1 -1
- package/dist/primitives/styles.d.ts +15 -0
- package/dist/primitives/styles.d.ts.map +1 -1
- package/dist/primitives/styles.js +11 -0
- package/dist/primitives/styles.js.map +1 -1
- package/dist/primitives/track-changes-emitter.d.ts +9 -0
- package/dist/primitives/track-changes-emitter.d.ts.map +1 -1
- package/dist/primitives/track-changes-emitter.js +54 -4
- package/dist/primitives/track-changes-emitter.js.map +1 -1
- package/dist/primitives/validate_ai_revisions.d.ts +35 -0
- package/dist/primitives/validate_ai_revisions.d.ts.map +1 -0
- package/dist/primitives/validate_ai_revisions.js +323 -0
- package/dist/primitives/validate_ai_revisions.js.map +1 -0
- package/dist/primitives/xml.d.ts +5 -0
- package/dist/primitives/xml.d.ts.map +1 -1
- package/dist/primitives/xml.js +5 -0
- package/dist/primitives/xml.js.map +1 -1
- package/dist/primitives/zip.d.ts +1 -0
- package/dist/primitives/zip.d.ts.map +1 -1
- package/dist/primitives/zip.js +21 -3
- package/dist/primitives/zip.js.map +1 -1
- package/dist/shared/field-structure.d.ts +14 -0
- package/dist/shared/field-structure.d.ts.map +1 -0
- package/dist/shared/field-structure.js +166 -0
- package/dist/shared/field-structure.js.map +1 -0
- package/package.json +7 -4
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* minimal_save — restore untouched top-level body blocks from the original
|
|
3
|
+
* document.xml at save time.
|
|
4
|
+
*
|
|
5
|
+
* The in-memory session DOM is normalized at open (`mergeRuns` +
|
|
6
|
+
* `simplifyRedlines`) because text addressing, bookmarks, and comparison
|
|
7
|
+
* baselines all assume the normalized shape. Serializing that DOM wholesale
|
|
8
|
+
* persists the normalization for every paragraph, so a one-paragraph edit
|
|
9
|
+
* rewrites the whole document on disk (proofErr stripped, runs merged) and
|
|
10
|
+
* downstream diffs lie about the edit's blast radius.
|
|
11
|
+
*
|
|
12
|
+
* This module reconciles at save time instead: any body block (w:p, w:tbl,
|
|
13
|
+
* w:sectPr, ...) whose serialization equals the corresponding block of a
|
|
14
|
+
* freshly-normalized re-parse of the original XML was, by construction,
|
|
15
|
+
* untouched by edits — so it is replaced with the pristine original block.
|
|
16
|
+
* Edited blocks that are tables are descended into (rows → cells →
|
|
17
|
+
* paragraphs) so a one-cell edit doesn't churn the rest of the table.
|
|
18
|
+
* Edited or inserted leaves have no equal counterpart and are kept as-is.
|
|
19
|
+
* The output contract is element-for-element preservation of untouched
|
|
20
|
+
* blocks (the XML still passes through the serializer, so byte-identity
|
|
21
|
+
* with the original file is not guaranteed).
|
|
22
|
+
*
|
|
23
|
+
* @see https://github.com/UseJunior/safe-docx/issues/408
|
|
24
|
+
*/
|
|
25
|
+
import { XMLSerializer } from '@xmldom/xmldom';
|
|
26
|
+
import { parseXml } from './xml.js';
|
|
27
|
+
import { OOXML, W } from './namespaces.js';
|
|
28
|
+
import { childElements } from './dom-helpers.js';
|
|
29
|
+
import { mergeRuns } from './merge_runs.js';
|
|
30
|
+
import { simplifyRedlines } from './simplify_redlines.js';
|
|
31
|
+
/**
|
|
32
|
+
* Containers whose ELEMENT-CHILD structure normalization provably preserves
|
|
33
|
+
* (mergeRuns/simplifyRedlines mutate inside paragraphs only): an edited
|
|
34
|
+
* table can be descended into so its untouched rows/cells/paragraphs still
|
|
35
|
+
* restore. Paragraphs are deliberately absent — normalization adds/removes
|
|
36
|
+
* their children, so the original↔normalized index lockstep breaks there.
|
|
37
|
+
*/
|
|
38
|
+
const RECURSABLE_CONTAINER_LOCALS = new Set([W.tbl, W.tr, W.tc]);
|
|
39
|
+
function bodyElement(doc) {
|
|
40
|
+
return doc.getElementsByTagNameNS(OOXML.W_NS, W.body).item(0);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* DP cell budget (~16 MB of Int32). Edits touch few blocks, so the common
|
|
44
|
+
* prefix/suffix trim below collapses the DP to roughly the edited span;
|
|
45
|
+
* only a document with massive scattered edits exceeds this, and those
|
|
46
|
+
* blocks then simply stay normalized (conservative, never wrong).
|
|
47
|
+
*/
|
|
48
|
+
const MAX_LCS_DP_CELLS = 4_000_000;
|
|
49
|
+
/**
|
|
50
|
+
* Order-preserving alignment of two sequences by longest common subsequence,
|
|
51
|
+
* returning matched index pairs `[i, j]` with `a[i] === b[j]`.
|
|
52
|
+
*
|
|
53
|
+
* An LCS (rather than a serialization-keyed FIFO map) is required for
|
|
54
|
+
* correctness when two blocks normalize to identical serializations: if the
|
|
55
|
+
* earlier duplicate is edited, a FIFO would hand the untouched later block
|
|
56
|
+
* the earlier block's original (swapping rsid/paraId provenance). The
|
|
57
|
+
* backtrack below matches from the tail, so untouched trailing duplicates
|
|
58
|
+
* pair with their own originals.
|
|
59
|
+
*/
|
|
60
|
+
function lcsPairs(a, b) {
|
|
61
|
+
if (a.length === 0 || b.length === 0)
|
|
62
|
+
return [];
|
|
63
|
+
// Identical leading/trailing runs are LCS matches by construction; pairing
|
|
64
|
+
// them up front shrinks the DP to the edited middle span.
|
|
65
|
+
let start = 0;
|
|
66
|
+
while (start < a.length && start < b.length && a[start] === b[start])
|
|
67
|
+
start++;
|
|
68
|
+
let endA = a.length;
|
|
69
|
+
let endB = b.length;
|
|
70
|
+
while (endA > start && endB > start && a[endA - 1] === b[endB - 1]) {
|
|
71
|
+
endA--;
|
|
72
|
+
endB--;
|
|
73
|
+
}
|
|
74
|
+
const pairs = [];
|
|
75
|
+
for (let k = 0; k < start; k++)
|
|
76
|
+
pairs.push([k, k]);
|
|
77
|
+
const n = endA - start;
|
|
78
|
+
const m = endB - start;
|
|
79
|
+
if (n > 0 && m > 0 && n * m <= MAX_LCS_DP_CELLS) {
|
|
80
|
+
// Intern strings to integers so DP comparisons don't re-compare long XML.
|
|
81
|
+
const ids = new Map();
|
|
82
|
+
const intern = (s) => {
|
|
83
|
+
let id = ids.get(s);
|
|
84
|
+
if (id === undefined) {
|
|
85
|
+
id = ids.size;
|
|
86
|
+
ids.set(s, id);
|
|
87
|
+
}
|
|
88
|
+
return id;
|
|
89
|
+
};
|
|
90
|
+
const ai = a.slice(start, endA).map(intern);
|
|
91
|
+
const bi = b.slice(start, endB).map(intern);
|
|
92
|
+
// dp[(i, j)] = LCS length of ai[0..i) and bi[0..j), row-major stride m+1.
|
|
93
|
+
const stride = m + 1;
|
|
94
|
+
const dp = new Int32Array((n + 1) * stride);
|
|
95
|
+
for (let i = 1; i <= n; i++) {
|
|
96
|
+
for (let j = 1; j <= m; j++) {
|
|
97
|
+
dp[i * stride + j] =
|
|
98
|
+
ai[i - 1] === bi[j - 1]
|
|
99
|
+
? dp[(i - 1) * stride + (j - 1)] + 1
|
|
100
|
+
: Math.max(dp[(i - 1) * stride + j], dp[i * stride + (j - 1)]);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const middle = [];
|
|
104
|
+
let i = n;
|
|
105
|
+
let j = m;
|
|
106
|
+
while (i > 0 && j > 0) {
|
|
107
|
+
if (ai[i - 1] === bi[j - 1] &&
|
|
108
|
+
dp[i * stride + j] === dp[(i - 1) * stride + (j - 1)] + 1) {
|
|
109
|
+
middle.push([start + i - 1, start + j - 1]);
|
|
110
|
+
i--;
|
|
111
|
+
j--;
|
|
112
|
+
}
|
|
113
|
+
else if (dp[(i - 1) * stride + j] >= dp[i * stride + (j - 1)]) {
|
|
114
|
+
i--;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
j--;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
pairs.push(...middle.reverse());
|
|
121
|
+
}
|
|
122
|
+
for (let k = 0; endA + k < a.length; k++)
|
|
123
|
+
pairs.push([endA + k, endB + k]);
|
|
124
|
+
return pairs;
|
|
125
|
+
}
|
|
126
|
+
const serializer = new XMLSerializer();
|
|
127
|
+
function sameQualifiedName(a, b) {
|
|
128
|
+
return a.namespaceURI === b.namespaceURI && a.localName === b.localName;
|
|
129
|
+
}
|
|
130
|
+
function isWElement(node, localName) {
|
|
131
|
+
return (node.nodeType === 1 &&
|
|
132
|
+
node.namespaceURI === OOXML.W_NS &&
|
|
133
|
+
node.localName === localName);
|
|
134
|
+
}
|
|
135
|
+
function directChildElement(el, localName) {
|
|
136
|
+
let child = el.firstChild;
|
|
137
|
+
while (child) {
|
|
138
|
+
if (isWElement(child, localName))
|
|
139
|
+
return child;
|
|
140
|
+
child = child.nextSibling;
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
function clonedRunFormattingKey(run) {
|
|
145
|
+
const rPr = directChildElement(run, W.rPr);
|
|
146
|
+
return rPr ? serializer.serializeToString(rPr) : '';
|
|
147
|
+
}
|
|
148
|
+
function clonedRunContentChildren(run) {
|
|
149
|
+
const out = [];
|
|
150
|
+
let child = run.firstChild;
|
|
151
|
+
while (child) {
|
|
152
|
+
const next = child.nextSibling;
|
|
153
|
+
if (!isWElement(child, W.rPr))
|
|
154
|
+
out.push(child);
|
|
155
|
+
child = next;
|
|
156
|
+
}
|
|
157
|
+
return out;
|
|
158
|
+
}
|
|
159
|
+
function runHasOnlyTextContent(run) {
|
|
160
|
+
return clonedRunContentChildren(run).every((child) => {
|
|
161
|
+
if (child.nodeType === 3)
|
|
162
|
+
return !(child.textContent ?? '').trim();
|
|
163
|
+
return isWElement(child, W.t);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function consolidateAdjacentTextChildren(run) {
|
|
167
|
+
let child = run.firstChild;
|
|
168
|
+
while (child) {
|
|
169
|
+
if (!isWElement(child, W.t)) {
|
|
170
|
+
child = child.nextSibling;
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
const first = child;
|
|
174
|
+
let next = first.nextSibling;
|
|
175
|
+
while (next) {
|
|
176
|
+
if (next.nodeType === 3 && !(next.textContent ?? '').trim()) {
|
|
177
|
+
const whitespace = next;
|
|
178
|
+
next = whitespace.nextSibling;
|
|
179
|
+
whitespace.parentNode?.removeChild(whitespace);
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
if (!isWElement(next, W.t))
|
|
183
|
+
break;
|
|
184
|
+
const following = next.nextSibling;
|
|
185
|
+
first.textContent = (first.textContent ?? '') + (next.textContent ?? '');
|
|
186
|
+
next.parentNode?.removeChild(next);
|
|
187
|
+
next = following;
|
|
188
|
+
}
|
|
189
|
+
const text = first.textContent ?? '';
|
|
190
|
+
if (text.startsWith(' ') || text.endsWith(' ')) {
|
|
191
|
+
first.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
first.removeAttributeNS('http://www.w3.org/XML/1998/namespace', 'space');
|
|
195
|
+
}
|
|
196
|
+
child = first.nextSibling;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
function mergeAdjacentRunsForKey(container) {
|
|
200
|
+
let child = container.firstChild;
|
|
201
|
+
let currentRun = null;
|
|
202
|
+
while (child) {
|
|
203
|
+
const next = child.nextSibling;
|
|
204
|
+
if (!isWElement(child, W.r)) {
|
|
205
|
+
currentRun = null;
|
|
206
|
+
child = next;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
if (currentRun &&
|
|
210
|
+
runHasOnlyTextContent(currentRun) &&
|
|
211
|
+
runHasOnlyTextContent(child) &&
|
|
212
|
+
clonedRunFormattingKey(currentRun) === clonedRunFormattingKey(child)) {
|
|
213
|
+
for (const node of clonedRunContentChildren(child)) {
|
|
214
|
+
currentRun.appendChild(node);
|
|
215
|
+
}
|
|
216
|
+
consolidateAdjacentTextChildren(currentRun);
|
|
217
|
+
child.parentNode?.removeChild(child);
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
currentRun = child;
|
|
221
|
+
consolidateAdjacentTextChildren(currentRun);
|
|
222
|
+
}
|
|
223
|
+
child = next;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function canonicalizeHyperlinkRunsForKey(root) {
|
|
227
|
+
const hyperlinks = Array.from(root.getElementsByTagNameNS(OOXML.W_NS, W.hyperlink));
|
|
228
|
+
if (root.namespaceURI === OOXML.W_NS && root.localName === W.hyperlink) {
|
|
229
|
+
hyperlinks.unshift(root);
|
|
230
|
+
}
|
|
231
|
+
for (const hyperlink of hyperlinks) {
|
|
232
|
+
mergeAdjacentRunsForKey(hyperlink);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* The atomizer can reconstruct untouched hyperlink text as one run with
|
|
237
|
+
* multiple `w:t` children, while open-time `mergeRuns` leaves the original
|
|
238
|
+
* as adjacent runs inside `w:hyperlink`. Canonicalize that comparison-only
|
|
239
|
+
* shape so restore can still import the pristine original block.
|
|
240
|
+
*/
|
|
241
|
+
function restoreKey(el) {
|
|
242
|
+
const clone = el.cloneNode(true);
|
|
243
|
+
canonicalizeHyperlinkRunsForKey(clone);
|
|
244
|
+
return serializer.serializeToString(clone);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Reconcile the element children of one container: LCS-matched (untouched)
|
|
248
|
+
* children of `cur` are replaced with the corresponding pristine `orig`
|
|
249
|
+
* child; unmatched (edited) children that pair 1:1 with a same-named
|
|
250
|
+
* recursable container across an LCS gap are descended into, so e.g. the
|
|
251
|
+
* untouched cells and paragraphs of an edited table still restore.
|
|
252
|
+
*
|
|
253
|
+
* `orig` and `norm` children are index-lockstep (norm is orig with
|
|
254
|
+
* normalization applied, which never adds/removes container children);
|
|
255
|
+
* a count mismatch abandons this subtree.
|
|
256
|
+
*/
|
|
257
|
+
function reconcileChildren(orig, norm, cur, ownerDoc) {
|
|
258
|
+
const origChildren = childElements(orig);
|
|
259
|
+
const normChildren = childElements(norm);
|
|
260
|
+
const curChildren = childElements(cur);
|
|
261
|
+
if (origChildren.length !== normChildren.length)
|
|
262
|
+
return 0;
|
|
263
|
+
if (origChildren.length === 0 || curChildren.length === 0)
|
|
264
|
+
return 0;
|
|
265
|
+
const normKeys = normChildren.map(restoreKey);
|
|
266
|
+
const curKeys = curChildren.map(restoreKey);
|
|
267
|
+
const pairs = lcsPairs(normKeys, curKeys);
|
|
268
|
+
let restored = 0;
|
|
269
|
+
for (const [i, j] of pairs) {
|
|
270
|
+
const pristine = ownerDoc.importNode(origChildren[i], true);
|
|
271
|
+
cur.replaceChild(pristine, curChildren[j]);
|
|
272
|
+
restored++;
|
|
273
|
+
}
|
|
274
|
+
// Between consecutive LCS anchors, the leftovers on each side are the
|
|
275
|
+
// edited children. When they pair 1:1 in order and both sides are the
|
|
276
|
+
// same recursable container, descend — only serialization-equal
|
|
277
|
+
// descendants will restore, so a mispairing cannot corrupt content.
|
|
278
|
+
let prevI = -1;
|
|
279
|
+
let prevJ = -1;
|
|
280
|
+
for (const [ai, aj] of [...pairs, [normChildren.length, curChildren.length]]) {
|
|
281
|
+
const gapLen = ai - prevI - 1;
|
|
282
|
+
if (gapLen > 0 && gapLen === aj - prevJ - 1) {
|
|
283
|
+
for (let k = 1; k <= gapLen; k++) {
|
|
284
|
+
const normEl = normChildren[prevI + k];
|
|
285
|
+
const curEl = curChildren[prevJ + k];
|
|
286
|
+
if (sameQualifiedName(normEl, curEl) &&
|
|
287
|
+
normEl.namespaceURI === OOXML.W_NS &&
|
|
288
|
+
RECURSABLE_CONTAINER_LOCALS.has(normEl.localName)) {
|
|
289
|
+
restored += reconcileChildren(origChildren[prevI + k], normEl, curEl, ownerDoc);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
prevI = ai;
|
|
294
|
+
prevJ = aj;
|
|
295
|
+
}
|
|
296
|
+
return restored;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Replace every block of `currentDoc` that is untouched — i.e.
|
|
300
|
+
* serialization-equal to the same block of the original document.xml after
|
|
301
|
+
* open-time normalization — with the pristine original block, descending
|
|
302
|
+
* into edited tables so their untouched rows/cells/paragraphs restore too.
|
|
303
|
+
*
|
|
304
|
+
* `currentDoc` must already have internal bookmarks removed (untouched
|
|
305
|
+
* blocks otherwise never match the bookmark-free reference). Returns the
|
|
306
|
+
* number of elements restored; 0 means the document is fully edited or the
|
|
307
|
+
* reference could not be aligned (output then matches today's full
|
|
308
|
+
* re-serialization, never anything worse).
|
|
309
|
+
*/
|
|
310
|
+
export function restoreUntouchedBlocks(currentDoc, originalXmlText) {
|
|
311
|
+
const original = parseXml(originalXmlText);
|
|
312
|
+
const normRef = parseXml(originalXmlText);
|
|
313
|
+
// Mirror DocxDocument.normalize()'s document.xml steps, in order.
|
|
314
|
+
mergeRuns(normRef);
|
|
315
|
+
simplifyRedlines(normRef);
|
|
316
|
+
const originalBody = bodyElement(original);
|
|
317
|
+
const normRefBody = bodyElement(normRef);
|
|
318
|
+
const currentBody = bodyElement(currentDoc);
|
|
319
|
+
if (!originalBody || !normRefBody || !currentBody)
|
|
320
|
+
return 0;
|
|
321
|
+
return reconcileChildren(originalBody, normRefBody, currentBody, currentDoc);
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=minimal_save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimal_save.js","sourceRoot":"","sources":["../../src/primitives/minimal_save.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,8 @@ export declare const W: {
|
|
|
53
53
|
readonly abstractNumId: "abstractNumId";
|
|
54
54
|
readonly lvlOverride: "lvlOverride";
|
|
55
55
|
readonly startOverride: "startOverride";
|
|
56
|
+
readonly lvlJc: "lvlJc";
|
|
57
|
+
readonly multiLevelType: "multiLevelType";
|
|
56
58
|
readonly tbl: "tbl";
|
|
57
59
|
readonly tr: "tr";
|
|
58
60
|
readonly tc: "tc";
|
|
@@ -60,14 +62,53 @@ export declare const W: {
|
|
|
60
62
|
readonly tcPr: "tcPr";
|
|
61
63
|
readonly trHeight: "trHeight";
|
|
62
64
|
readonly tcMar: "tcMar";
|
|
65
|
+
readonly tblPr: "tblPr";
|
|
66
|
+
readonly tblGrid: "tblGrid";
|
|
67
|
+
readonly gridCol: "gridCol";
|
|
68
|
+
readonly tblW: "tblW";
|
|
69
|
+
readonly tblLayout: "tblLayout";
|
|
70
|
+
readonly tblBorders: "tblBorders";
|
|
71
|
+
readonly tcBorders: "tcBorders";
|
|
72
|
+
readonly tcW: "tcW";
|
|
73
|
+
readonly gridSpan: "gridSpan";
|
|
74
|
+
readonly vMerge: "vMerge";
|
|
75
|
+
readonly vAlign: "vAlign";
|
|
76
|
+
readonly shd: "shd";
|
|
77
|
+
readonly tblHeader: "tblHeader";
|
|
78
|
+
readonly insideH: "insideH";
|
|
79
|
+
readonly insideV: "insideV";
|
|
63
80
|
readonly top: "top";
|
|
64
81
|
readonly bottom: "bottom";
|
|
65
82
|
readonly left: "left";
|
|
66
83
|
readonly right: "right";
|
|
84
|
+
readonly end: "end";
|
|
67
85
|
readonly val: "val";
|
|
68
86
|
readonly hRule: "hRule";
|
|
69
87
|
readonly w: "w";
|
|
70
88
|
readonly type: "type";
|
|
89
|
+
readonly sectPr: "sectPr";
|
|
90
|
+
readonly pgSz: "pgSz";
|
|
91
|
+
readonly pgMar: "pgMar";
|
|
92
|
+
readonly pgNumType: "pgNumType";
|
|
93
|
+
readonly headerReference: "headerReference";
|
|
94
|
+
readonly footerReference: "footerReference";
|
|
95
|
+
readonly titlePg: "titlePg";
|
|
96
|
+
readonly hdr: "hdr";
|
|
97
|
+
readonly ftr: "ftr";
|
|
98
|
+
readonly settings: "settings";
|
|
99
|
+
readonly evenAndOddHeaders: "evenAndOddHeaders";
|
|
100
|
+
readonly docDefaults: "docDefaults";
|
|
101
|
+
readonly pPrDefault: "pPrDefault";
|
|
102
|
+
readonly rPrDefault: "rPrDefault";
|
|
103
|
+
readonly next: "next";
|
|
104
|
+
readonly qFormat: "qFormat";
|
|
105
|
+
readonly bCs: "bCs";
|
|
106
|
+
readonly iCs: "iCs";
|
|
107
|
+
readonly caps: "caps";
|
|
108
|
+
readonly smallCaps: "smallCaps";
|
|
109
|
+
readonly keepNext: "keepNext";
|
|
110
|
+
readonly pageBreakBefore: "pageBreakBefore";
|
|
111
|
+
readonly tabs: "tabs";
|
|
71
112
|
readonly fldChar: "fldChar";
|
|
72
113
|
readonly instrText: "instrText";
|
|
73
114
|
readonly fldSimple: "fldSimple";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../src/primitives/namespaces.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;CAiBR,CAAC;AAEX,eAAO,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../src/primitives/namespaces.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;;;;;;;;;CAiBR,CAAC;AAEX,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JJ,CAAC"}
|
|
@@ -65,6 +65,8 @@ export const W = {
|
|
|
65
65
|
abstractNumId: 'abstractNumId',
|
|
66
66
|
lvlOverride: 'lvlOverride',
|
|
67
67
|
startOverride: 'startOverride',
|
|
68
|
+
lvlJc: 'lvlJc',
|
|
69
|
+
multiLevelType: 'multiLevelType',
|
|
68
70
|
// Tables + layout
|
|
69
71
|
tbl: 'tbl',
|
|
70
72
|
tr: 'tr',
|
|
@@ -73,14 +75,55 @@ export const W = {
|
|
|
73
75
|
tcPr: 'tcPr',
|
|
74
76
|
trHeight: 'trHeight',
|
|
75
77
|
tcMar: 'tcMar',
|
|
78
|
+
tblPr: 'tblPr',
|
|
79
|
+
tblGrid: 'tblGrid',
|
|
80
|
+
gridCol: 'gridCol',
|
|
81
|
+
tblW: 'tblW',
|
|
82
|
+
tblLayout: 'tblLayout',
|
|
83
|
+
tblBorders: 'tblBorders',
|
|
84
|
+
tcBorders: 'tcBorders',
|
|
85
|
+
tcW: 'tcW',
|
|
86
|
+
gridSpan: 'gridSpan',
|
|
87
|
+
vMerge: 'vMerge',
|
|
88
|
+
vAlign: 'vAlign',
|
|
89
|
+
shd: 'shd',
|
|
90
|
+
tblHeader: 'tblHeader',
|
|
91
|
+
insideH: 'insideH',
|
|
92
|
+
insideV: 'insideV',
|
|
76
93
|
top: 'top',
|
|
77
94
|
bottom: 'bottom',
|
|
78
95
|
left: 'left',
|
|
79
96
|
right: 'right',
|
|
97
|
+
end: 'end',
|
|
80
98
|
val: 'val',
|
|
81
99
|
hRule: 'hRule',
|
|
82
100
|
w: 'w',
|
|
83
101
|
type: 'type',
|
|
102
|
+
// Sections + page setup (generation emitters)
|
|
103
|
+
sectPr: 'sectPr',
|
|
104
|
+
pgSz: 'pgSz',
|
|
105
|
+
pgMar: 'pgMar',
|
|
106
|
+
pgNumType: 'pgNumType',
|
|
107
|
+
headerReference: 'headerReference',
|
|
108
|
+
footerReference: 'footerReference',
|
|
109
|
+
titlePg: 'titlePg',
|
|
110
|
+
hdr: 'hdr',
|
|
111
|
+
ftr: 'ftr',
|
|
112
|
+
settings: 'settings',
|
|
113
|
+
evenAndOddHeaders: 'evenAndOddHeaders',
|
|
114
|
+
// Styles part + paragraph/run formatting (generation emitters)
|
|
115
|
+
docDefaults: 'docDefaults',
|
|
116
|
+
pPrDefault: 'pPrDefault',
|
|
117
|
+
rPrDefault: 'rPrDefault',
|
|
118
|
+
next: 'next',
|
|
119
|
+
qFormat: 'qFormat',
|
|
120
|
+
bCs: 'bCs',
|
|
121
|
+
iCs: 'iCs',
|
|
122
|
+
caps: 'caps',
|
|
123
|
+
smallCaps: 'smallCaps',
|
|
124
|
+
keepNext: 'keepNext',
|
|
125
|
+
pageBreakBefore: 'pageBreakBefore',
|
|
126
|
+
tabs: 'tabs',
|
|
84
127
|
// Fields + special runs
|
|
85
128
|
fldChar: 'fldChar',
|
|
86
129
|
instrText: 'instrText',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../src/primitives/namespaces.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,mCAAmC;IACnC,IAAI,EAAE,8DAA8D;IACpE,sDAAsD;IACtD,MAAM,EAAE,8DAA8D;IACtE,2EAA2E;IAC3E,IAAI,EAAE,qEAAqE;IAC3E,mCAAmC;IACnC,kBAAkB,EAAE,+EAA+E;IACnG,4CAA4C;IAC5C,MAAM,EAAE,sDAAsD;IAC9D,6DAA6D;IAC7D,MAAM,EAAE,sDAAsD;IAC9D,yBAAyB;IACzB,MAAM,EAAE,sDAAsD;IAC9D,gCAAgC;IAChC,KAAK,EAAE,8DAA8D;CAC7D,CAAC;AAEX,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAE1B,uBAAuB;IACvB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IAEpB,iBAAiB;IACjB,MAAM,EAAE,QAAQ;IAChB,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IAEpB,cAAc;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAElB,YAAY;IACZ,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../src/primitives/namespaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* - Unwrapping w:del elements and converting w:delText → w:t (deletions restored)
|
|
7
7
|
* - Unwrapping w:moveFrom (keep at original position), removing w:moveTo and content
|
|
8
8
|
* - Restoring original properties from *PrChange records
|
|
9
|
-
* - Preserving cross-paragraph bookmark boundaries when
|
|
10
|
-
* - Stripping paragraph-level revision markers
|
|
9
|
+
* - Preserving cross-paragraph bookmark boundaries when resolving inserted paragraph marks
|
|
10
|
+
* - Stripping paragraph-level revision markers, merging a paragraph whose
|
|
11
|
+
* mark was a tracked insertion into the following paragraph
|
|
12
|
+
* - Stripping rsidDel attributes
|
|
11
13
|
*
|
|
12
14
|
* Operates on the W3C DOM (`@xmldom/xmldom`).
|
|
13
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reject_changes.d.ts","sourceRoot":"","sources":["../../src/primitives/reject_changes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reject_changes.d.ts","sourceRoot":"","sources":["../../src/primitives/reject_changes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,MAAM,mBAAmB,GAAG;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAoTF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,mBAAmB,CA2JhE"}
|