@usejunior/docx-core 0.1.2 → 0.3.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/dist/.tsbuildinfo +1 -1
- package/dist/baselines/atomizer/consumerCompatibility.d.ts +2 -0
- package/dist/baselines/atomizer/consumerCompatibility.d.ts.map +1 -0
- package/dist/baselines/atomizer/consumerCompatibility.js +188 -0
- package/dist/baselines/atomizer/consumerCompatibility.js.map +1 -0
- package/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
- package/dist/baselines/atomizer/documentReconstructor.js +82 -42
- package/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
- package/dist/baselines/atomizer/inPlaceModifier.d.ts +15 -1
- package/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
- package/dist/baselines/atomizer/inPlaceModifier.js +111 -16
- package/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
- package/dist/baselines/atomizer/pipeline.d.ts +4 -0
- package/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
- package/dist/baselines/atomizer/pipeline.js +335 -4
- package/dist/baselines/atomizer/pipeline.js.map +1 -1
- package/dist/benchmark/gates.d.ts +17 -0
- package/dist/benchmark/gates.d.ts.map +1 -0
- package/dist/benchmark/gates.js +260 -0
- package/dist/benchmark/gates.js.map +1 -0
- package/dist/benchmark/metrics.d.ts +5 -62
- package/dist/benchmark/metrics.d.ts.map +1 -1
- package/dist/benchmark/metrics.js +7 -28
- package/dist/benchmark/metrics.js.map +1 -1
- package/dist/benchmark/reporter.d.ts +6 -19
- package/dist/benchmark/reporter.d.ts.map +1 -1
- package/dist/benchmark/reporter.js +63 -116
- package/dist/benchmark/reporter.js.map +1 -1
- package/dist/benchmark/runner.d.ts +11 -26
- package/dist/benchmark/runner.d.ts.map +1 -1
- package/dist/benchmark/runner.js +191 -183
- package/dist/benchmark/runner.js.map +1 -1
- package/dist/benchmark/scores.d.ts +24 -0
- package/dist/benchmark/scores.d.ts.map +1 -0
- package/dist/benchmark/scores.js +103 -0
- package/dist/benchmark/scores.js.map +1 -0
- package/dist/benchmark/types.d.ts +81 -0
- package/dist/benchmark/types.d.ts.map +1 -0
- package/dist/benchmark/types.js +7 -0
- package/dist/benchmark/types.js.map +1 -0
- package/dist/primitives/document.d.ts +12 -0
- package/dist/primitives/document.d.ts.map +1 -1
- package/dist/primitives/document.js +17 -2
- package/dist/primitives/document.js.map +1 -1
- package/dist/primitives/document_view.d.ts +5 -1
- package/dist/primitives/document_view.d.ts.map +1 -1
- package/dist/primitives/document_view.js +46 -19
- package/dist/primitives/document_view.js.map +1 -1
- package/dist/primitives/formatting_tags.d.ts +22 -9
- package/dist/primitives/formatting_tags.d.ts.map +1 -1
- package/dist/primitives/formatting_tags.js +166 -92
- package/dist/primitives/formatting_tags.js.map +1 -1
- package/dist/primitives/matching.d.ts +16 -2
- package/dist/primitives/matching.d.ts.map +1 -1
- package/dist/primitives/matching.js +93 -14
- package/dist/primitives/matching.js.map +1 -1
- package/dist/primitives/merge_runs.d.ts.map +1 -1
- package/dist/primitives/merge_runs.js +48 -0
- package/dist/primitives/merge_runs.js.map +1 -1
- package/dist/primitives/namespaces.d.ts +1 -0
- package/dist/primitives/namespaces.d.ts.map +1 -1
- package/dist/primitives/namespaces.js +1 -0
- package/dist/primitives/namespaces.js.map +1 -1
- package/dist/primitives/semantic_tags.d.ts +10 -25
- package/dist/primitives/semantic_tags.d.ts.map +1 -1
- package/dist/primitives/semantic_tags.js +34 -115
- package/dist/primitives/semantic_tags.js.map +1 -1
- package/dist/primitives/styles.d.ts.map +1 -1
- package/dist/primitives/styles.js +21 -6
- package/dist/primitives/styles.js.map +1 -1
- package/dist/primitives/text.d.ts +3 -0
- package/dist/primitives/text.d.ts.map +1 -1
- package/dist/primitives/text.js +65 -20
- package/dist/primitives/text.js.map +1 -1
- package/dist/shared/validators/structural.d.ts +31 -0
- package/dist/shared/validators/structural.d.ts.map +1 -0
- package/dist/shared/validators/structural.js +110 -0
- package/dist/shared/validators/structural.js.map +1 -0
- package/package.json +1 -1
package/dist/primitives/text.js
CHANGED
|
@@ -265,24 +265,31 @@ function ensureRPr(doc, run) {
|
|
|
265
265
|
run.insertBefore(rPr, run.firstChild);
|
|
266
266
|
return rPr;
|
|
267
267
|
}
|
|
268
|
-
function ensureBoolProp(doc, rPr, localName) {
|
|
268
|
+
function ensureBoolProp(doc, rPr, localName, val) {
|
|
269
269
|
let el = rPr.getElementsByTagNameNS(OOXML.W_NS, localName).item(0);
|
|
270
|
-
if (
|
|
271
|
-
|
|
272
|
-
|
|
270
|
+
if (val) {
|
|
271
|
+
if (!el) {
|
|
272
|
+
el = doc.createElementNS(OOXML.W_NS, `w:${localName}`);
|
|
273
|
+
rPr.insertBefore(el, rPr.firstChild);
|
|
274
|
+
}
|
|
275
|
+
el.setAttribute('w:val', '1');
|
|
276
|
+
}
|
|
277
|
+
else if (el) {
|
|
278
|
+
el.parentNode?.removeChild(el);
|
|
273
279
|
}
|
|
274
|
-
// Ensure truthy by removing any explicit false.
|
|
275
|
-
el.removeAttributeNS(OOXML.W_NS, 'val');
|
|
276
|
-
el.removeAttribute('w:val');
|
|
277
|
-
el.removeAttribute('val');
|
|
278
280
|
}
|
|
279
281
|
function ensureUnderline(doc, rPr, val) {
|
|
280
282
|
let el = rPr.getElementsByTagNameNS(OOXML.W_NS, W.u).item(0);
|
|
283
|
+
if (val === false) {
|
|
284
|
+
if (el)
|
|
285
|
+
el.parentNode?.removeChild(el);
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
281
288
|
if (!el) {
|
|
282
289
|
el = doc.createElementNS(OOXML.W_NS, `w:${W.u}`);
|
|
283
|
-
rPr.
|
|
290
|
+
rPr.insertBefore(el, rPr.firstChild);
|
|
284
291
|
}
|
|
285
|
-
const v = val
|
|
292
|
+
const v = typeof val === 'string' ? val : 'single';
|
|
286
293
|
el.setAttribute('w:val', v);
|
|
287
294
|
}
|
|
288
295
|
function clearHighlightProp(rPr) {
|
|
@@ -291,12 +298,44 @@ function clearHighlightProp(rPr) {
|
|
|
291
298
|
h.parentNode?.removeChild(h);
|
|
292
299
|
}
|
|
293
300
|
function ensureHighlight(doc, rPr, val) {
|
|
301
|
+
if (val === false) {
|
|
302
|
+
clearHighlightProp(rPr);
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
294
305
|
let el = rPr.getElementsByTagNameNS(OOXML.W_NS, W.highlight).item(0);
|
|
295
306
|
if (!el) {
|
|
296
307
|
el = doc.createElementNS(OOXML.W_NS, `w:${W.highlight}`);
|
|
297
|
-
rPr.
|
|
308
|
+
rPr.insertBefore(el, rPr.firstChild);
|
|
309
|
+
}
|
|
310
|
+
el.setAttribute('w:val', typeof val === 'string' ? val : 'yellow');
|
|
311
|
+
}
|
|
312
|
+
function ensureSz(doc, rPr, halfPoints) {
|
|
313
|
+
for (const localName of [W.sz, W.szCs]) {
|
|
314
|
+
let el = rPr.getElementsByTagNameNS(OOXML.W_NS, localName).item(0);
|
|
315
|
+
if (!el) {
|
|
316
|
+
el = doc.createElementNS(OOXML.W_NS, `w:${localName}`);
|
|
317
|
+
rPr.insertBefore(el, rPr.firstChild);
|
|
318
|
+
}
|
|
319
|
+
el.setAttributeNS(OOXML.W_NS, 'w:val', Math.round(halfPoints).toString());
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
function ensureColor(doc, rPr, hex) {
|
|
323
|
+
let el = rPr.getElementsByTagNameNS(OOXML.W_NS, W.color).item(0);
|
|
324
|
+
if (!el) {
|
|
325
|
+
el = doc.createElementNS(OOXML.W_NS, `w:${W.color}`);
|
|
326
|
+
rPr.insertBefore(el, rPr.firstChild);
|
|
327
|
+
}
|
|
328
|
+
el.setAttributeNS(OOXML.W_NS, 'w:val', hex.replace('#', ''));
|
|
329
|
+
}
|
|
330
|
+
function ensureFont(doc, rPr, name) {
|
|
331
|
+
let el = rPr.getElementsByTagNameNS(OOXML.W_NS, W.rFonts).item(0);
|
|
332
|
+
if (!el) {
|
|
333
|
+
el = doc.createElementNS(OOXML.W_NS, `w:${W.rFonts}`);
|
|
334
|
+
rPr.insertBefore(el, rPr.firstChild);
|
|
298
335
|
}
|
|
299
|
-
el.
|
|
336
|
+
el.setAttributeNS(OOXML.W_NS, 'w:ascii', name);
|
|
337
|
+
el.setAttributeNS(OOXML.W_NS, 'w:hAnsi', name);
|
|
338
|
+
el.setAttributeNS(OOXML.W_NS, 'w:cs', name);
|
|
300
339
|
}
|
|
301
340
|
function applyRunProps(doc, run, add, clearHighlight) {
|
|
302
341
|
if (!add && !clearHighlight)
|
|
@@ -306,14 +345,20 @@ function applyRunProps(doc, run, add, clearHighlight) {
|
|
|
306
345
|
clearHighlightProp(rPr);
|
|
307
346
|
if (!add)
|
|
308
347
|
return;
|
|
309
|
-
if (add.bold)
|
|
310
|
-
ensureBoolProp(doc, rPr, W.b);
|
|
311
|
-
if (add.italic)
|
|
312
|
-
ensureBoolProp(doc, rPr, W.i);
|
|
313
|
-
if (add.underline)
|
|
314
|
-
ensureUnderline(doc, rPr,
|
|
315
|
-
if (add.highlight)
|
|
316
|
-
ensureHighlight(doc, rPr,
|
|
348
|
+
if (add.bold !== undefined)
|
|
349
|
+
ensureBoolProp(doc, rPr, W.b, add.bold);
|
|
350
|
+
if (add.italic !== undefined)
|
|
351
|
+
ensureBoolProp(doc, rPr, W.i, add.italic);
|
|
352
|
+
if (add.underline !== undefined)
|
|
353
|
+
ensureUnderline(doc, rPr, add.underline);
|
|
354
|
+
if (add.highlight !== undefined)
|
|
355
|
+
ensureHighlight(doc, rPr, add.highlight);
|
|
356
|
+
if (add.fontSize !== undefined)
|
|
357
|
+
ensureSz(doc, rPr, add.fontSize);
|
|
358
|
+
if (add.color !== undefined)
|
|
359
|
+
ensureColor(doc, rPr, add.color);
|
|
360
|
+
if (add.fontName !== undefined)
|
|
361
|
+
ensureFont(doc, rPr, add.fontName);
|
|
317
362
|
}
|
|
318
363
|
export function replaceParagraphTextRange(p, start, end, replacement) {
|
|
319
364
|
// Replace visible text in [start, end) in paragraph by operating on w:t nodes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/primitives/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,IAAK,UAIJ;IAJD,WAAK,UAAU;QACb,6DAAiB,CAAA;QACjB,6DAAiB,CAAA;QACjB,iEAAmB,CAAA;IACrB,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;IAED,SAAS,QAAQ,CAAC,EAAW,EAAE,SAAiB;QAC9C,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACrH,CAAC;IAED,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,KAAK,GAAe,UAAU,CAAC,aAAa,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,GAAG,KAAK,KAAK,UAAU,CAAC,eAAe,CAAC;QAErD,mFAAmF;QACnF,0BAA0B;QAC1B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,EAAE,GAAG,KAAgB,CAAC;YAC5B,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI;gBAAE,SAAS;YAE7C,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,GAAG,KAAK,OAAO;oBAAE,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC;qBACjD,IAAI,GAAG,KAAK,UAAU;oBAAE,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC;qBAC3D,IAAI,GAAG,KAAK,KAAK;oBAAE,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC;gBACzD,SAAS;YACX,CAAC;YAED,IAAI,KAAK,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;gBACvC,oCAAoC;gBACpC,SAAS;YACX,CAAC;YAED,IAAI,KAAK,KAAK,UAAU,CAAC,eAAe;gBAAE,SAAS,GAAG,IAAI,CAAC;YAE3D,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;gBAClC,OAAO,IAAI,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACjC,OAAO,IAAI,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,OAAO,gBAAgB,CAAC,CAAC,CAAC;SACvB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;SACpB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAe,EAAE,KAAa,EAAE,GAAW;IAMnE,iEAAiE;IACjE,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YAC7D,WAAW,GAAG,CAAC,CAAC;YAChB,WAAW,GAAG,KAAK,GAAG,GAAG,CAAC;QAC5B,CAAC;QACD,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACvD,SAAS,GAAG,CAAC,CAAC;YACd,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC;YACtB,MAAM;QACR,CAAC;QACD,GAAG,IAAI,GAAG,CAAC;IACb,CAAC;IAED,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,GAAG,CAAC,EAAkB,EAAE,SAAiB;IAChD,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,2BAA2B,CAAC,CAAU,EAAE,IAAY;IAC3D,uEAAuE;IACvE,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,CAAC,CAAC,cAAc,CAAC,sCAAsC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAa,EAAE,SAAkB;IAC/D,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,sCAAsC;IACtC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,EAAE,GAAG,KAAgB,CAAC;QAC5B,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,eAAe,CAAC,GAAa,EAAE,GAAY,EAAE,IAAY;IAChE,yDAAyD;IACzD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,2BAA2B,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnB,GAAG,GAAG,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,KAAK,EAAE,CAAC;YACR,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,GAAG,IAAI,EAAE,CAAC;IACZ,CAAC;IACD,KAAK,EAAE,CAAC;AACV,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAAC,EAAW;IAC5C,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/D,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,6FAA6F;IAC7F,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,EAAE,GAAG,KAAgB,CAAC;QAC5B,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI;YAAE,SAAS;QAC7C,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,GAAG;YAAE,SAAS;QACrC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAY,EAAE,MAAc;IAClE,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;IAC9B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAY,CAAC;IAC7C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAErD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,oGAAoG;YACpG,8CAA8C;YAC9C,IAAI,GAAG,GAAG,MAAM;gBAAE,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;;gBAC9C,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAEtB,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,kCAAkC;YAClC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YACjC,GAAG,IAAI,GAAG,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,iCAAiC;YACjC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YACjC,GAAG,IAAI,GAAG,CAAC;YACX,SAAS;QACX,CAAC;QAED,6BAA6B;QAC7B,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;YAE7C,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC3B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;YAC5B,2BAA2B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC3C,2BAA2B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAE5C,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS;gBAAE,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,GAAG,IAAI,GAAG,CAAC;IACb,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAY;IACpC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,EAAE,GAAG,KAAgB,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAE5B,mDAAmD;QACnD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC;gBAAE,SAAS;YAC/B,MAAM,GAAG,GAAG,CAAY,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAkBD,SAAS,cAAc,CAAC,MAAe,EAAE,SAAiB;IACxD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YAAE,SAAS;QACnC,MAAM,EAAE,GAAG,KAAgB,CAAC;QAC5B,IAAI,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;YAAE,OAAO,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,GAAa,EAAE,GAAY;IAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,GAAa,EAAE,GAAY,EAAE,SAAiB;IACpE,IAAI,EAAE,GAAG,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAmB,CAAC;IACrF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,gDAAgD;IAChD,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5B,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,GAAa,EAAE,GAAY,EAAE,GAAkB;IACtE,IAAI,EAAE,GAAG,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAmB,CAAC;IAC/E,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjD,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,IAAI,QAAQ,CAAC;IAC1B,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY;IACtC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,eAAe,CAAC,GAAa,EAAE,GAAY,EAAE,GAAkB;IACtE,IAAI,EAAE,GAAG,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAmB,CAAC;IACvF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,GAAa,EAAE,GAAY,EAAE,GAA4B,EAAE,cAAmC;IACnH,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc;QAAE,OAAO;IACpC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,IAAI,cAAc;QAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAI,GAAG,CAAC,IAAI;QAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,GAAG,CAAC,MAAM;QAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,GAAG,CAAC,SAAS;QAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvG,IAAI,GAAG,CAAC,SAAS;QAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,CAAU,EACV,KAAa,EACb,GAAW,EACX,WAAuC;IAEvC,+EAA+E;IAC/E,YAAY;IACZ,2EAA2E;IAC3E,wCAAwC;IACxC,wEAAwE;IACxE,mFAAmF;IACnF,2CAA2C;IAC3C,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,KAAK,GAAG,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAE,CAAC;IAEhC,6EAA6E;IAC7E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;gBAC3B,MAAM,IAAI,aAAa,CACrB,kBAAkB,EAClB,wGAAwG,EACxG,wGAAwG,CACzG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,IAAI,WAAW,GAAY,QAAQ,CAAC,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;QAC/C,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;YACnB,IAAI,GAAG,OAAO,CAAC;YACf,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAsB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAEzG,2DAA2D;IAC3D,IAAI,eAAe,GAAY,QAAQ,CAAC,CAAC,CAAC;IAC1C,IAAI,aAAa,GAAY,MAAM,CAAC,CAAC,CAAC;IAEtC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,uDAAuD;QACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACrE,eAAe,GAAG,IAAI,CAAC;YACvB,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK,EAAE,GAAG,uBAAuB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YACxE,eAAe,GAAG,KAAK,CAAC;YACxB,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK,EAAE,GAAG,uBAAuB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YACxE,eAAe,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACnE,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClD,IAAI,aAAa,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,aAAa,CACrB,2BAA2B,EAC3B,2DAA2D,EAC3D,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC;IAEnD,iFAAiF;IACjF,IAAI,GAAG,GAAgB,eAAe,CAAC;IACvC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,QAAQ,GAAgB,GAAG,CAAC,WAA0B,CAAC;QAC7D,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,GAAc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAe,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,GAAG,KAAK,aAAa;YAAE,MAAM;QACjC,GAAG,GAAG,QAAQ,CAAC;IACjB,CAAC;IAED,2BAA2B;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC;QAC7C,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/primitives/text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural OOXML validators.
|
|
3
|
+
*
|
|
4
|
+
* General-purpose integrity checks for numbering, footnotes/endnotes,
|
|
5
|
+
* and bookmarks. Used by both integration tests and the quality benchmark.
|
|
6
|
+
*/
|
|
7
|
+
export interface NumberingDiagnostics {
|
|
8
|
+
missingNumIds: string[];
|
|
9
|
+
missingAbstractNumIds: string[];
|
|
10
|
+
invalidLevels: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface NoteDiagnostics {
|
|
13
|
+
missingFootnoteRefs: string[];
|
|
14
|
+
missingEndnoteRefs: string[];
|
|
15
|
+
duplicateFootnoteIds: string[];
|
|
16
|
+
duplicateEndnoteIds: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface BookmarkDiagnostics {
|
|
19
|
+
unmatchedStartIds: string[];
|
|
20
|
+
unmatchedEndIds: string[];
|
|
21
|
+
duplicateStartIds: string[];
|
|
22
|
+
duplicateEndIds: string[];
|
|
23
|
+
}
|
|
24
|
+
export declare function collectIds(root: Element, tagName: string, attributeName: string): {
|
|
25
|
+
values: Set<string>;
|
|
26
|
+
duplicates: string[];
|
|
27
|
+
};
|
|
28
|
+
export declare function validateNumberingIntegrity(documentXml: string, numberingXml: string | null): NumberingDiagnostics;
|
|
29
|
+
export declare function validateNoteIntegrity(documentXml: string, footnotesXml: string | null, endnotesXml: string | null): NoteDiagnostics;
|
|
30
|
+
export declare function validateBookmarkIntegrity(documentXml: string): BookmarkDiagnostics;
|
|
31
|
+
//# sourceMappingURL=structural.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structural.d.ts","sourceRoot":"","sources":["../../../src/shared/validators/structural.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAID,wBAAgB,UAAU,CACxB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAiB/C;AAID,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,oBAAoB,CAmDtB;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,eAAe,CAyBjB;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAclF"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural OOXML validators.
|
|
3
|
+
*
|
|
4
|
+
* General-purpose integrity checks for numbering, footnotes/endnotes,
|
|
5
|
+
* and bookmarks. Used by both integration tests and the quality benchmark.
|
|
6
|
+
*/
|
|
7
|
+
import { parseXml } from '../../primitives/xml.js';
|
|
8
|
+
import { findAllByTagName, childElements } from '../../primitives/dom-helpers.js';
|
|
9
|
+
// ── Helpers ─────────────────────────────────────────────────────────
|
|
10
|
+
export function collectIds(root, tagName, attributeName) {
|
|
11
|
+
const values = new Set();
|
|
12
|
+
const duplicateValues = new Set();
|
|
13
|
+
for (const node of findAllByTagName(root, tagName)) {
|
|
14
|
+
const value = node.getAttribute(attributeName);
|
|
15
|
+
if (!value) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (values.has(value)) {
|
|
19
|
+
duplicateValues.add(value);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
values.add(value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return { values, duplicates: Array.from(duplicateValues).sort() };
|
|
26
|
+
}
|
|
27
|
+
// ── Validators ──────────────────────────────────────────────────────
|
|
28
|
+
export function validateNumberingIntegrity(documentXml, numberingXml) {
|
|
29
|
+
const documentRoot = parseXml(documentXml).documentElement;
|
|
30
|
+
const numRefIds = collectIds(documentRoot, 'w:numId', 'w:val').values;
|
|
31
|
+
const ilvlNodes = findAllByTagName(documentRoot, 'w:ilvl');
|
|
32
|
+
const invalidLevels = [];
|
|
33
|
+
for (const node of ilvlNodes) {
|
|
34
|
+
const rawLevel = node.getAttribute('w:val');
|
|
35
|
+
if (!rawLevel) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const parsed = Number.parseInt(rawLevel, 10);
|
|
39
|
+
if (!Number.isFinite(parsed) || parsed < 0 || parsed > 8) {
|
|
40
|
+
invalidLevels.push(rawLevel);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (!numberingXml) {
|
|
44
|
+
return {
|
|
45
|
+
missingNumIds: Array.from(numRefIds).sort(),
|
|
46
|
+
missingAbstractNumIds: [],
|
|
47
|
+
invalidLevels: invalidLevels.sort(),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const numberingRoot = parseXml(numberingXml).documentElement;
|
|
51
|
+
const numDefinitions = collectIds(numberingRoot, 'w:num', 'w:numId').values;
|
|
52
|
+
const abstractDefinitions = collectIds(numberingRoot, 'w:abstractNum', 'w:abstractNumId').values;
|
|
53
|
+
const abstractRefs = new Set();
|
|
54
|
+
for (const numNode of findAllByTagName(numberingRoot, 'w:num')) {
|
|
55
|
+
const abstractNode = childElements(numNode).find((child) => child.tagName === 'w:abstractNumId');
|
|
56
|
+
const abstractId = abstractNode?.getAttribute('w:val');
|
|
57
|
+
if (abstractId) {
|
|
58
|
+
abstractRefs.add(abstractId);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// In WordprocessingML, numId="0" is a sentinel that means "no numbering".
|
|
62
|
+
const missingNumIds = Array.from(numRefIds)
|
|
63
|
+
.filter((id) => id !== '0' && !numDefinitions.has(id))
|
|
64
|
+
.sort();
|
|
65
|
+
const missingAbstractNumIds = Array.from(abstractRefs)
|
|
66
|
+
.filter((id) => !abstractDefinitions.has(id))
|
|
67
|
+
.sort();
|
|
68
|
+
return {
|
|
69
|
+
missingNumIds,
|
|
70
|
+
missingAbstractNumIds,
|
|
71
|
+
invalidLevels: invalidLevels.sort(),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function validateNoteIntegrity(documentXml, footnotesXml, endnotesXml) {
|
|
75
|
+
const documentRoot = parseXml(documentXml).documentElement;
|
|
76
|
+
const footnoteRefs = collectIds(documentRoot, 'w:footnoteReference', 'w:id').values;
|
|
77
|
+
const endnoteRefs = collectIds(documentRoot, 'w:endnoteReference', 'w:id').values;
|
|
78
|
+
const footnoteIds = footnotesXml
|
|
79
|
+
? collectIds(parseXml(footnotesXml).documentElement, 'w:footnote', 'w:id')
|
|
80
|
+
: { values: new Set(), duplicates: [] };
|
|
81
|
+
const endnoteIds = endnotesXml
|
|
82
|
+
? collectIds(parseXml(endnotesXml).documentElement, 'w:endnote', 'w:id')
|
|
83
|
+
: { values: new Set(), duplicates: [] };
|
|
84
|
+
const missingFootnoteRefs = Array.from(footnoteRefs)
|
|
85
|
+
.filter((id) => !footnoteIds.values.has(id))
|
|
86
|
+
.sort();
|
|
87
|
+
const missingEndnoteRefs = Array.from(endnoteRefs)
|
|
88
|
+
.filter((id) => !endnoteIds.values.has(id))
|
|
89
|
+
.sort();
|
|
90
|
+
return {
|
|
91
|
+
missingFootnoteRefs,
|
|
92
|
+
missingEndnoteRefs,
|
|
93
|
+
duplicateFootnoteIds: footnoteIds.duplicates,
|
|
94
|
+
duplicateEndnoteIds: endnoteIds.duplicates,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export function validateBookmarkIntegrity(documentXml) {
|
|
98
|
+
const root = parseXml(documentXml).documentElement;
|
|
99
|
+
const starts = collectIds(root, 'w:bookmarkStart', 'w:id');
|
|
100
|
+
const ends = collectIds(root, 'w:bookmarkEnd', 'w:id');
|
|
101
|
+
const unmatchedStartIds = Array.from(starts.values).filter((id) => !ends.values.has(id)).sort();
|
|
102
|
+
const unmatchedEndIds = Array.from(ends.values).filter((id) => !starts.values.has(id)).sort();
|
|
103
|
+
return {
|
|
104
|
+
unmatchedStartIds,
|
|
105
|
+
unmatchedEndIds,
|
|
106
|
+
duplicateStartIds: starts.duplicates,
|
|
107
|
+
duplicateEndIds: ends.duplicates,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=structural.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structural.js","sourceRoot":"","sources":["../../../src/shared/validators/structural.ts"],"names":[],"mappings":"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"}
|