@usejunior/docx-core 0.16.0 → 0.18.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/README.md +18 -83
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/conformance-adapter.d.ts +14 -0
- package/dist/cli/conformance-adapter.d.ts.map +1 -1
- package/dist/cli/conformance-adapter.js +104 -12
- package/dist/cli/conformance-adapter.js.map +1 -1
- package/dist/core-types.d.ts +46 -0
- package/dist/core-types.d.ts.map +1 -1
- package/dist/core-types.js.map +1 -1
- package/dist/footnotes.d.ts +7 -5
- package/dist/footnotes.d.ts.map +1 -1
- package/dist/footnotes.js +7 -5
- package/dist/footnotes.js.map +1 -1
- package/dist/generated/ecma-376-vocabulary.d.ts +93 -0
- package/dist/generated/ecma-376-vocabulary.d.ts.map +1 -0
- package/dist/generated/ecma-376-vocabulary.js +87 -0
- package/dist/generated/ecma-376-vocabulary.js.map +1 -0
- package/dist/generation/compile.js +2 -2
- package/dist/generation/compile.js.map +1 -1
- package/dist/generation/emit/comments-part.d.ts +2 -0
- package/dist/generation/emit/comments-part.d.ts.map +1 -1
- package/dist/generation/emit/comments-part.js +2 -0
- package/dist/generation/emit/comments-part.js.map +1 -1
- package/dist/generation/emit/paragraph.d.ts +3 -0
- package/dist/generation/emit/paragraph.d.ts.map +1 -1
- package/dist/generation/emit/paragraph.js +3 -0
- package/dist/generation/emit/paragraph.js.map +1 -1
- package/dist/generation/emit/run.d.ts.map +1 -1
- package/dist/generation/emit/run.js +6 -1
- package/dist/generation/emit/run.js.map +1 -1
- package/dist/generation/emit/settings-part.d.ts +12 -3
- package/dist/generation/emit/settings-part.d.ts.map +1 -1
- package/dist/generation/emit/settings-part.js +23 -5
- package/dist/generation/emit/settings-part.js.map +1 -1
- package/dist/generation/ordering.d.ts +3 -1
- package/dist/generation/ordering.d.ts.map +1 -1
- package/dist/generation/ordering.js +3 -1
- package/dist/generation/ordering.js.map +1 -1
- package/dist/generation/schema-enum-domains.d.ts +27 -0
- package/dist/generation/schema-enum-domains.d.ts.map +1 -0
- package/dist/generation/schema-enum-domains.js +69 -0
- package/dist/generation/schema-enum-domains.js.map +1 -0
- package/dist/generation/structural-checks.js +7 -1
- package/dist/generation/structural-checks.js.map +1 -1
- package/dist/generation/validate-spec.d.ts.map +1 -1
- package/dist/generation/validate-spec.js +149 -31
- package/dist/generation/validate-spec.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/primitives/accept_changes.d.ts +23 -2
- package/dist/primitives/accept_changes.d.ts.map +1 -1
- package/dist/primitives/accept_changes.js +23 -2
- package/dist/primitives/accept_changes.js.map +1 -1
- package/dist/primitives/bookmarks.d.ts +55 -1
- package/dist/primitives/bookmarks.d.ts.map +1 -1
- package/dist/primitives/bookmarks.js +160 -12
- package/dist/primitives/bookmarks.js.map +1 -1
- package/dist/primitives/document.d.ts +3 -1
- package/dist/primitives/document.d.ts.map +1 -1
- package/dist/primitives/document.js +20 -4
- package/dist/primitives/document.js.map +1 -1
- package/dist/primitives/document_view-headings.d.ts +14 -3
- package/dist/primitives/document_view-headings.d.ts.map +1 -1
- package/dist/primitives/document_view-headings.js +29 -4
- package/dist/primitives/document_view-headings.js.map +1 -1
- package/dist/primitives/document_view-toon.d.ts +20 -0
- package/dist/primitives/document_view-toon.d.ts.map +1 -1
- package/dist/primitives/document_view-toon.js +16 -0
- package/dist/primitives/document_view-toon.js.map +1 -1
- package/dist/primitives/document_view-types.d.ts +5 -3
- package/dist/primitives/document_view-types.d.ts.map +1 -1
- package/dist/primitives/document_view.d.ts +3 -2
- package/dist/primitives/document_view.d.ts.map +1 -1
- package/dist/primitives/document_view.js +23 -4
- package/dist/primitives/document_view.js.map +1 -1
- package/dist/primitives/dom-helpers.d.ts.map +1 -1
- package/dist/primitives/dom-helpers.js +7 -2
- package/dist/primitives/dom-helpers.js.map +1 -1
- package/dist/primitives/footnotes.d.ts +50 -2
- package/dist/primitives/footnotes.d.ts.map +1 -1
- package/dist/primitives/footnotes.js +88 -19
- package/dist/primitives/footnotes.js.map +1 -1
- package/dist/primitives/heading_styles.d.ts +14 -0
- package/dist/primitives/heading_styles.d.ts.map +1 -0
- package/dist/primitives/heading_styles.js +33 -0
- package/dist/primitives/heading_styles.js.map +1 -0
- package/dist/primitives/index.d.ts +1 -1
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +1 -1
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/layout.d.ts.map +1 -1
- package/dist/primitives/layout.js +41 -1
- package/dist/primitives/layout.js.map +1 -1
- package/dist/primitives/namespaces.d.ts +3 -0
- package/dist/primitives/namespaces.d.ts.map +1 -1
- package/dist/primitives/namespaces.js +3 -0
- package/dist/primitives/namespaces.js.map +1 -1
- package/dist/primitives/numbering.d.ts +9 -0
- package/dist/primitives/numbering.d.ts.map +1 -1
- package/dist/primitives/numbering.js +14 -4
- package/dist/primitives/numbering.js.map +1 -1
- package/dist/primitives/reject_changes.d.ts +17 -1
- package/dist/primitives/reject_changes.d.ts.map +1 -1
- package/dist/primitives/reject_changes.js +17 -1
- package/dist/primitives/reject_changes.js.map +1 -1
- package/dist/primitives/sectPrAudit.d.ts +11 -2
- package/dist/primitives/sectPrAudit.d.ts.map +1 -1
- package/dist/primitives/sectPrAudit.js +148 -23
- package/dist/primitives/sectPrAudit.js.map +1 -1
- package/dist/primitives/styles.d.ts +2 -0
- package/dist/primitives/styles.d.ts.map +1 -1
- package/dist/primitives/styles.js +18 -0
- package/dist/primitives/styles.js.map +1 -1
- package/dist/primitives/track-changes-emitter.d.ts +4 -0
- package/dist/primitives/track-changes-emitter.d.ts.map +1 -1
- package/dist/primitives/track-changes-emitter.js +5 -2
- package/dist/primitives/track-changes-emitter.js.map +1 -1
- package/dist/primitives/validate_ai_revisions.d.ts.map +1 -1
- package/dist/primitives/validate_ai_revisions.js +13 -5
- package/dist/primitives/validate_ai_revisions.js.map +1 -1
- package/dist/primitives/zip.d.ts.map +1 -1
- package/dist/primitives/zip.js +6 -2
- package/dist/primitives/zip.js.map +1 -1
- package/dist/shared/docx/DocxArchive.d.ts +3 -1
- package/dist/shared/docx/DocxArchive.d.ts.map +1 -1
- package/dist/shared/docx/DocxArchive.js +7 -0
- package/dist/shared/docx/DocxArchive.js.map +1 -1
- package/dist/shared/field-structure.d.ts +6 -0
- package/dist/shared/field-structure.d.ts.map +1 -1
- package/dist/shared/field-structure.js +6 -0
- package/dist/shared/field-structure.js.map +1 -1
- package/package.json +2 -2
|
@@ -23,16 +23,56 @@
|
|
|
23
23
|
* surface never saw.
|
|
24
24
|
*/
|
|
25
25
|
import { GenerationSpecError } from './errors.js';
|
|
26
|
+
import { WML_SCHEMA_ENUM_SETS } from './schema-enum-domains.js';
|
|
26
27
|
import { HIGHLIGHT_COLORS, NUMBERING_LEVEL_JUSTIFICATIONS, THEME_COLOR_SLOTS } from './types.js';
|
|
27
28
|
const COLOR_HEX_RE = /^[0-9A-Fa-f]{6}$/;
|
|
28
29
|
const TWO_HEX_RE = /^[0-9A-Fa-f]{2}$/;
|
|
29
30
|
const HIGHLIGHT_COLOR_SET = new Set(HIGHLIGHT_COLORS);
|
|
30
31
|
const LVL_JC_SET = new Set(NUMBERING_LEVEL_JUSTIFICATIONS);
|
|
31
32
|
const THEME_COLOR_SLOT_SET = new Set(THEME_COLOR_SLOTS);
|
|
33
|
+
const ALIGNMENTS = new Set(['left', 'center', 'right', 'justify']);
|
|
34
|
+
const UNDERLINES = new Set(['single', 'double', 'none']);
|
|
35
|
+
const TAB_ALIGNMENTS = new Set(['left', 'center', 'right']);
|
|
36
|
+
const TAB_LEADERS = new Set(['none', 'dot', 'underscore']);
|
|
37
|
+
const LINE_RULES = new Set(['auto', 'exact', 'atLeast']);
|
|
38
|
+
const TABLE_LAYOUTS = new Set(['fixed', 'autofit']);
|
|
39
|
+
const BORDER_STYLES = new Set(['single', 'double', 'none']);
|
|
40
|
+
const ROW_HEIGHT_RULES = new Set(['atLeast', 'exact']);
|
|
41
|
+
const CELL_VERTICAL_ALIGNMENTS = new Set(['top', 'center', 'bottom']);
|
|
42
|
+
const VERTICAL_MERGES = new Set(['restart', 'continue']);
|
|
43
|
+
const STYLE_TYPES = new Set(['paragraph', 'character']);
|
|
44
|
+
const NUMBER_FORMATS = new Set(['decimal', 'lowerLetter', 'upperLetter', 'lowerRoman', 'upperRoman', 'bullet', 'none']);
|
|
45
|
+
const NUMBER_SUFFIXES = new Set(['tab', 'space', 'nothing']);
|
|
46
|
+
function requireInteger(value, path, description, minimum, maximum) {
|
|
47
|
+
if (typeof value !== 'number' ||
|
|
48
|
+
!Number.isSafeInteger(value) ||
|
|
49
|
+
(minimum !== undefined && value < minimum) ||
|
|
50
|
+
(maximum !== undefined && value > maximum)) {
|
|
51
|
+
throw new GenerationSpecError('invalid_value', path, description);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
32
54
|
function unsupported(path, feature) {
|
|
33
55
|
throw new GenerationSpecError('unsupported_feature', path, `Spec feature '${feature}' is declared in the DocumentSpec type surface but its emitter has not shipped yet; ` +
|
|
34
56
|
'it is rejected rather than silently ignored');
|
|
35
57
|
}
|
|
58
|
+
function unsupportedApiValue(path, value, schemaType) {
|
|
59
|
+
throw new GenerationSpecError('unsupported_feature', path, `Value '${String(value)}' is valid in ${schemaType} but is outside the DocumentSpec API-supported subset`);
|
|
60
|
+
}
|
|
61
|
+
function requireSupportedSchemaEnum(value, path, schemaType, supportedValues) {
|
|
62
|
+
if (typeof value === 'string' && supportedValues.has(value))
|
|
63
|
+
return;
|
|
64
|
+
if (typeof value === 'string' && WML_SCHEMA_ENUM_SETS[schemaType].has(value)) {
|
|
65
|
+
unsupportedApiValue(path, value, schemaType);
|
|
66
|
+
}
|
|
67
|
+
throw new GenerationSpecError('invalid_value', path, `Value '${String(value)}' is outside the ${schemaType} schema domain`);
|
|
68
|
+
}
|
|
69
|
+
function requireSupportedHexColor(value, path) {
|
|
70
|
+
if (typeof value === 'string' && COLOR_HEX_RE.test(value))
|
|
71
|
+
return;
|
|
72
|
+
if (value === 'auto')
|
|
73
|
+
unsupportedApiValue(path, value, 'ST_HexColor');
|
|
74
|
+
throw new GenerationSpecError('invalid_value', path, `Value '${String(value)}' is outside the ST_HexColor schema domain`);
|
|
75
|
+
}
|
|
36
76
|
export function validateSpec(spec) {
|
|
37
77
|
if (!Array.isArray(spec.sections) || spec.sections.length === 0) {
|
|
38
78
|
throw new GenerationSpecError('empty_sections', '/sections', 'DocumentSpec.sections must contain at least one section');
|
|
@@ -56,7 +96,12 @@ function validateTheme(spec) {
|
|
|
56
96
|
}
|
|
57
97
|
}
|
|
58
98
|
}
|
|
59
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* Returns numId handle -> set of declared levels, for list-reference checks.
|
|
101
|
+
*
|
|
102
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.9.17
|
|
103
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.9.28
|
|
104
|
+
*/
|
|
60
105
|
function validateNumbering(definitions) {
|
|
61
106
|
const declared = new Map();
|
|
62
107
|
definitions.forEach((definition, index) => {
|
|
@@ -83,20 +128,36 @@ function validateNumbering(definitions) {
|
|
|
83
128
|
if (typeof level.lvlText !== 'string' || level.lvlText.length === 0) {
|
|
84
129
|
throw new GenerationSpecError('invalid_value', `${levelPath}/lvlText`, 'Numbering levels require a lvlText pattern');
|
|
85
130
|
}
|
|
86
|
-
|
|
87
|
-
|
|
131
|
+
requireSupportedSchemaEnum(level.numFmt, `${levelPath}/numFmt`, 'ST_NumberFormat', NUMBER_FORMATS);
|
|
132
|
+
if (level.suff !== undefined) {
|
|
133
|
+
requireSupportedSchemaEnum(level.suff, `${levelPath}/suff`, 'ST_LevelSuffix', NUMBER_SUFFIXES);
|
|
134
|
+
}
|
|
135
|
+
if (level.start !== undefined) {
|
|
136
|
+
requireInteger(level.start, `${levelPath}/start`, 'Level start must be a signed safe integer in the API-representable subset of ST_DecimalNumber');
|
|
88
137
|
}
|
|
89
|
-
if (level.lvlJc !== undefined
|
|
90
|
-
|
|
138
|
+
if (level.lvlJc !== undefined) {
|
|
139
|
+
requireSupportedSchemaEnum(level.lvlJc, `${levelPath}/lvlJc`, 'ST_Jc', LVL_JC_SET);
|
|
91
140
|
}
|
|
92
141
|
if (level.runProps)
|
|
93
142
|
validateRunProps(level.runProps, `${levelPath}/runProps`);
|
|
143
|
+
if (level.indentTwips) {
|
|
144
|
+
if (level.indentTwips.left !== undefined) {
|
|
145
|
+
requireInteger(level.indentTwips.left, `${levelPath}/indentTwips/left`, 'Numbering left indentation must be a signed safe integer in the API-representable subset of ST_SignedTwipsMeasure');
|
|
146
|
+
}
|
|
147
|
+
if (level.indentTwips.hanging !== undefined) {
|
|
148
|
+
requireInteger(level.indentTwips.hanging, `${levelPath}/indentTwips/hanging`, 'Numbering hanging indentation must be a non-negative safe integer in the API-representable subset of ST_TwipsMeasure', 0);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
94
151
|
});
|
|
95
152
|
declared.set(definition.numId, levels);
|
|
96
153
|
});
|
|
97
154
|
return declared;
|
|
98
155
|
}
|
|
99
|
-
/**
|
|
156
|
+
/**
|
|
157
|
+
* Returns the set of resolvable style ids (declared styles + implicit Normal).
|
|
158
|
+
*
|
|
159
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.7.4.17
|
|
160
|
+
*/
|
|
100
161
|
function validateStyles(styles) {
|
|
101
162
|
const ids = new Set(['Normal']);
|
|
102
163
|
styles.forEach((style, index) => {
|
|
@@ -104,10 +165,13 @@ function validateStyles(styles) {
|
|
|
104
165
|
if (!style.styleId || !style.name) {
|
|
105
166
|
throw new GenerationSpecError('invalid_value', path, 'StyleSpec requires styleId and name');
|
|
106
167
|
}
|
|
168
|
+
requireSupportedSchemaEnum(style.type, `${path}/type`, 'ST_StyleType', STYLE_TYPES);
|
|
107
169
|
if (ids.has(style.styleId)) {
|
|
108
170
|
throw new GenerationSpecError('invalid_value', `${path}/styleId`, `Duplicate styleId '${style.styleId}'`);
|
|
109
171
|
}
|
|
110
172
|
ids.add(style.styleId);
|
|
173
|
+
if (style.paragraph)
|
|
174
|
+
validateParagraphProps(style.paragraph, `${path}/paragraph`);
|
|
111
175
|
if (style.run)
|
|
112
176
|
validateRunProps(style.run, `${path}/run`);
|
|
113
177
|
});
|
|
@@ -179,16 +243,24 @@ function validateBlock(block, path, styleIds, numbering, story) {
|
|
|
179
243
|
* vertical-merge continuation must sit at exactly the grid position and
|
|
180
244
|
* span of a merge cell in the previous row — otherwise readers either show
|
|
181
245
|
* a recovery dialog or silently reflow the table.
|
|
246
|
+
*
|
|
247
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.4.37
|
|
248
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.4.48
|
|
182
249
|
*/
|
|
183
250
|
function validateTable(table, path, styleIds, numbering, story) {
|
|
251
|
+
if (table.layout !== undefined) {
|
|
252
|
+
requireSupportedSchemaEnum(table.layout, `${path}/layout`, 'ST_TblLayoutType', TABLE_LAYOUTS);
|
|
253
|
+
}
|
|
184
254
|
if (!Array.isArray(table.columnWidthsTwips) || table.columnWidthsTwips.length === 0) {
|
|
185
255
|
throw new GenerationSpecError('invalid_value', `${path}/columnWidthsTwips`, 'Tables require at least one column width');
|
|
186
256
|
}
|
|
187
257
|
table.columnWidthsTwips.forEach((width, i) => {
|
|
188
|
-
|
|
189
|
-
throw new GenerationSpecError('invalid_value', `${path}/columnWidthsTwips/${i}`, 'Column widths must be positive finite twips');
|
|
190
|
-
}
|
|
258
|
+
requireInteger(width, `${path}/columnWidthsTwips/${i}`, 'Column widths must be non-negative safe integers in the API-representable integer branch of ST_TwipsMeasure', 0);
|
|
191
259
|
});
|
|
260
|
+
const totalWidth = table.columnWidthsTwips.reduce((sum, width) => sum + width, 0);
|
|
261
|
+
if (!Number.isSafeInteger(totalWidth)) {
|
|
262
|
+
throw new GenerationSpecError('invalid_value', `${path}/columnWidthsTwips`, 'The table width sum must remain a safe integer so w:tblW serializes exactly');
|
|
263
|
+
}
|
|
192
264
|
if (table.borders)
|
|
193
265
|
validateBorders(table.borders, `${path}/borders`);
|
|
194
266
|
if (!Array.isArray(table.rows) || table.rows.length === 0) {
|
|
@@ -202,8 +274,11 @@ function validateTable(table, path, styleIds, numbering, story) {
|
|
|
202
274
|
if (!Array.isArray(row.cells) || row.cells.length === 0) {
|
|
203
275
|
throw new GenerationSpecError('invalid_value', `${rowPath}/cells`, 'Rows require at least one cell');
|
|
204
276
|
}
|
|
205
|
-
if (row.heightTwips !== undefined
|
|
206
|
-
|
|
277
|
+
if (row.heightTwips !== undefined) {
|
|
278
|
+
requireInteger(row.heightTwips, `${rowPath}/heightTwips`, 'Row height must be a non-negative safe integer in the ST_TwipsMeasure domain', 0);
|
|
279
|
+
}
|
|
280
|
+
if (row.heightRule !== undefined) {
|
|
281
|
+
requireSupportedSchemaEnum(row.heightRule, `${rowPath}/heightRule`, 'ST_HeightRule', ROW_HEIGHT_RULES);
|
|
207
282
|
}
|
|
208
283
|
const currentMerges = new Map();
|
|
209
284
|
let gridOffset = 0;
|
|
@@ -221,16 +296,21 @@ function validateTable(table, path, styleIds, numbering, story) {
|
|
|
221
296
|
throw new GenerationSpecError('grid_mismatch', `${cellPath}/vMerge`, `vMerge continuation at grid column ${gridOffset} (span ${span}) has no matching merge cell in the previous row`);
|
|
222
297
|
}
|
|
223
298
|
}
|
|
299
|
+
if (cell.vMerge !== undefined) {
|
|
300
|
+
requireSupportedSchemaEnum(cell.vMerge, `${cellPath}/vMerge`, 'ST_Merge', VERTICAL_MERGES);
|
|
301
|
+
}
|
|
224
302
|
if (cell.vMerge !== undefined)
|
|
225
303
|
currentMerges.set(gridOffset, span);
|
|
226
|
-
if (cell.widthTwips !== undefined
|
|
227
|
-
|
|
304
|
+
if (cell.widthTwips !== undefined) {
|
|
305
|
+
requireInteger(cell.widthTwips, `${cellPath}/widthTwips`, 'Cell width must be a signed safe integer in the API-representable integer branch of ST_MeasurementOrPercent');
|
|
228
306
|
}
|
|
229
307
|
if (cell.borders)
|
|
230
308
|
validateBorders(cell.borders, `${cellPath}/borders`);
|
|
231
|
-
if (cell.
|
|
232
|
-
|
|
309
|
+
if (cell.vAlign !== undefined) {
|
|
310
|
+
requireSupportedSchemaEnum(cell.vAlign, `${cellPath}/vAlign`, 'ST_VerticalJc', CELL_VERTICAL_ALIGNMENTS);
|
|
233
311
|
}
|
|
312
|
+
if (cell.shadingHex !== undefined)
|
|
313
|
+
requireSupportedHexColor(cell.shadingHex, `${cellPath}/shadingHex`);
|
|
234
314
|
if (cell.themeFill !== undefined) {
|
|
235
315
|
validateThemeColorSlot(cell.themeFill, `${cellPath}/themeFill`, 'themeFill');
|
|
236
316
|
}
|
|
@@ -244,8 +324,8 @@ function validateTable(table, path, styleIds, numbering, story) {
|
|
|
244
324
|
}
|
|
245
325
|
if (cell.marginsTwips) {
|
|
246
326
|
for (const [key, value] of Object.entries(cell.marginsTwips)) {
|
|
247
|
-
if (value !== undefined
|
|
248
|
-
|
|
327
|
+
if (value !== undefined) {
|
|
328
|
+
requireInteger(value, `${cellPath}/marginsTwips/${key}`, 'Cell margins must be signed safe integers in the API-representable integer branch of ST_MeasurementOrPercent');
|
|
249
329
|
}
|
|
250
330
|
}
|
|
251
331
|
}
|
|
@@ -267,11 +347,11 @@ function validateBorders(borders, path) {
|
|
|
267
347
|
for (const [edge, spec] of Object.entries(borders)) {
|
|
268
348
|
if (!spec)
|
|
269
349
|
continue;
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
if (spec.sizeEighthPt !== undefined
|
|
274
|
-
|
|
350
|
+
requireSupportedSchemaEnum(spec.style, `${path}/${edge}/style`, 'ST_Border', BORDER_STYLES);
|
|
351
|
+
if (spec.colorHex !== undefined)
|
|
352
|
+
requireSupportedHexColor(spec.colorHex, `${path}/${edge}/colorHex`);
|
|
353
|
+
if (spec.sizeEighthPt !== undefined) {
|
|
354
|
+
requireInteger(spec.sizeEighthPt, `${path}/${edge}/sizeEighthPt`, 'Border size must be a non-negative safe integer in the ST_EighthPointMeasure domain', 0);
|
|
275
355
|
}
|
|
276
356
|
}
|
|
277
357
|
}
|
|
@@ -296,13 +376,7 @@ function validateParagraph(paragraph, path, styleIds, numbering, story) {
|
|
|
296
376
|
if (paragraph.styleId !== undefined && !styleIds.has(paragraph.styleId)) {
|
|
297
377
|
throw new GenerationSpecError('dangling_style_reference', `${path}/styleId`, `Paragraph references undeclared style '${paragraph.styleId}'`);
|
|
298
378
|
}
|
|
299
|
-
|
|
300
|
-
paragraph.tabs.forEach((stop, i) => {
|
|
301
|
-
if (!(stop.posTwips >= 0) || !Number.isFinite(stop.posTwips)) {
|
|
302
|
-
throw new GenerationSpecError('invalid_value', `${path}/tabs/${i}/posTwips`, 'Tab stop position must be a non-negative finite twips value');
|
|
303
|
-
}
|
|
304
|
-
});
|
|
305
|
-
}
|
|
379
|
+
validateParagraphProps(paragraph, path);
|
|
306
380
|
if (!Array.isArray(paragraph.runs)) {
|
|
307
381
|
throw new GenerationSpecError('invalid_value', `${path}/runs`, 'Paragraph runs must be an array');
|
|
308
382
|
}
|
|
@@ -310,6 +384,48 @@ function validateParagraph(paragraph, path, styleIds, numbering, story) {
|
|
|
310
384
|
validateInline(run, `${path}/runs/${runIndex}`);
|
|
311
385
|
});
|
|
312
386
|
}
|
|
387
|
+
/** Validate the paragraph-property subset shared by body paragraphs and styles. */
|
|
388
|
+
function validateParagraphProps(props, path) {
|
|
389
|
+
if (props.tabs) {
|
|
390
|
+
props.tabs.forEach((stop, i) => {
|
|
391
|
+
requireInteger(stop.posTwips, `${path}/tabs/${i}/posTwips`, 'Tab stop position must be a non-negative safe integer in twips', 0);
|
|
392
|
+
if (!TAB_ALIGNMENTS.has(stop.align))
|
|
393
|
+
throw new GenerationSpecError('invalid_value', `${path}/tabs/${i}/align`, `Unsupported tab alignment '${stop.align}'`);
|
|
394
|
+
if (stop.leader !== undefined && !TAB_LEADERS.has(stop.leader))
|
|
395
|
+
throw new GenerationSpecError('invalid_value', `${path}/tabs/${i}/leader`, `Unsupported tab leader '${stop.leader}'`);
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
if (props.alignment !== undefined && !ALIGNMENTS.has(props.alignment)) {
|
|
399
|
+
throw new GenerationSpecError('invalid_value', `${path}/alignment`, `Unsupported paragraph alignment '${props.alignment}'`);
|
|
400
|
+
}
|
|
401
|
+
if (props.spacing) {
|
|
402
|
+
for (const key of ['beforeTwips', 'afterTwips']) {
|
|
403
|
+
const value = props.spacing[key];
|
|
404
|
+
if (value !== undefined)
|
|
405
|
+
requireInteger(value, `${path}/spacing/${key}`, `${key} must be a non-negative safe integer`, 0);
|
|
406
|
+
}
|
|
407
|
+
if (props.spacing.lineTwips !== undefined)
|
|
408
|
+
requireInteger(props.spacing.lineTwips, `${path}/spacing/lineTwips`, 'lineTwips must be a safe integer');
|
|
409
|
+
if (props.spacing.lineRule !== undefined && !LINE_RULES.has(props.spacing.lineRule)) {
|
|
410
|
+
throw new GenerationSpecError('invalid_value', `${path}/spacing/lineRule`, `Unsupported line rule '${props.spacing.lineRule}'`);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
if (props.indent) {
|
|
414
|
+
for (const key of ['leftTwips', 'rightTwips']) {
|
|
415
|
+
const value = props.indent[key];
|
|
416
|
+
if (value !== undefined)
|
|
417
|
+
requireInteger(value, `${path}/indent/${key}`, `${key} must be a safe integer`);
|
|
418
|
+
}
|
|
419
|
+
for (const key of ['firstLineTwips', 'hangingTwips']) {
|
|
420
|
+
const value = props.indent[key];
|
|
421
|
+
if (value !== undefined)
|
|
422
|
+
requireInteger(value, `${path}/indent/${key}`, `${key} must be a non-negative safe integer`, 0);
|
|
423
|
+
}
|
|
424
|
+
if (props.indent.firstLineTwips !== undefined && props.indent.hangingTwips !== undefined) {
|
|
425
|
+
throw new GenerationSpecError('invalid_value', `${path}/indent`, 'firstLineTwips and hangingTwips are mutually exclusive');
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
}
|
|
313
429
|
function validateInline(run, path) {
|
|
314
430
|
if (run.kind !== 'tab' && run.kind !== 'break' && run.kind !== 'field' && run.kind !== 'text') {
|
|
315
431
|
unsupported(path, `inline kind '${run.kind}'`);
|
|
@@ -329,9 +445,11 @@ function validateInline(run, path) {
|
|
|
329
445
|
validateRunProps(run, path);
|
|
330
446
|
}
|
|
331
447
|
function validateRunProps(props, path) {
|
|
332
|
-
if (props.
|
|
333
|
-
|
|
448
|
+
if (props.underline !== undefined) {
|
|
449
|
+
requireSupportedSchemaEnum(props.underline, `${path}/underline`, 'ST_Underline', UNDERLINES);
|
|
334
450
|
}
|
|
451
|
+
if (props.colorHex !== undefined)
|
|
452
|
+
requireSupportedHexColor(props.colorHex, `${path}/colorHex`);
|
|
335
453
|
if (props.themeColor !== undefined) {
|
|
336
454
|
validateThemeColorSlot(props.themeColor, `${path}/themeColor`, 'themeColor');
|
|
337
455
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-spec.js","sourceRoot":"","sources":["../../src/generation/validate-spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-spec.js","sourceRoot":"","sources":["../../src/generation/validate-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,0BAA0B,CAAC;AAcxF,OAAO,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEjG,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC3E,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAChF,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACnE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACpD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AACxD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACxH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAE7D,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY,EAAE,WAAmB,EAAE,OAAgB,EAAE,OAAgB;IAC3G,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAC5B,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC;QAC1C,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,EAC1C,CAAC;QACD,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe;IAChD,MAAM,IAAI,mBAAmB,CAC3B,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,OAAO,sFAAsF;QAC5G,6CAA6C,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAc,EAAE,UAAkB;IAC3E,MAAM,IAAI,mBAAmB,CAC3B,qBAAqB,EACrB,IAAI,EACJ,UAAU,MAAM,CAAC,KAAK,CAAC,iBAAiB,UAAU,uDAAuD,CAC1G,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAc,EACd,IAAY,EACZ,UAA6B,EAC7B,eAAoC;IAEpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7E,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,IAAI,EACJ,UAAU,MAAM,CAAC,KAAK,CAAC,oBAAoB,UAAU,gBAAgB,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc,EAAE,IAAY;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO;IAClE,IAAI,KAAK,KAAK,MAAM;QAAE,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACtE,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,IAAI,EACJ,UAAU,MAAM,CAAC,KAAK,CAAC,4CAA4C,CACpE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,WAAW,EAAE,yDAAyD,CAAC,CAAC;IAC1H,CAAC;IAED,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;QAC9C,eAAe,CAAC,OAAO,EAAE,aAAa,YAAY,EAAE,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,IAAkB;IACvC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO;IAChC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,iBAAiB,IAAI,EAAE,EAAE,mEAAmE,IAAI,GAAG,CAAC,CAAC;QACtJ,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,iBAAiB,IAAI,EAAE,EAAE,8DAA8D,GAAG,GAAG,CAAC,CAAC;QAChJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,WAA4B;IACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,cAAc,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,QAAQ,EAAE,uCAAuC,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,QAAQ,EAAE,+BAA+B,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;QACtH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,SAAS,EAAE,kDAAkD,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC9C,MAAM,SAAS,GAAG,GAAG,IAAI,WAAW,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,SAAS,OAAO,EAAE,yCAAyC,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,SAAS,OAAO,EAAE,kBAAkB,KAAK,CAAC,IAAI,kBAAkB,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;YACzI,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,SAAS,UAAU,EAAE,4CAA4C,CAAC,CAAC;YACvH,CAAC;YACD,0BAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,SAAS,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;YACnG,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7B,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;YACjG,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,cAAc,CACZ,KAAK,CAAC,KAAK,EACX,GAAG,SAAS,QAAQ,EACpB,+FAA+F,CAChG,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,0BAA0B,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ;gBAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;YAC9E,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACzC,cAAc,CACZ,KAAK,CAAC,WAAW,CAAC,IAAI,EACtB,GAAG,SAAS,mBAAmB,EAC/B,mHAAmH,CACpH,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC5C,cAAc,CACZ,KAAK,CAAC,WAAW,CAAC,OAAO,EACzB,GAAG,SAAS,sBAAsB,EAClC,sHAAsH,EACtH,CAAC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAmB;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,WAAW,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;QAC9F,CAAC;QACD,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QACpF,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,UAAU,EAAE,sBAAsB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5G,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,SAAS;YAAE,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,GAAG;YAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,oFAAoF;IACpF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,WAAW,KAAK,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAU,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,mBAAmB,CAC3B,0BAA0B,EAC1B,GAAG,IAAI,IAAI,GAAG,EAAE,EAChB,UAAU,KAAK,CAAC,OAAO,kCAAkC,GAAG,SAAS,GAAG,EAAE,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,OAAoB,EAAE,IAAY,EAAE,QAAqB,EAAE,SAAmC;IACrH,IAAI,OAAO,CAAC,aAAa,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,sBAAsB,EAAE,iDAAiD,CAAC,CAAC;QACnI,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAU,EAAE,CAAC;QAChG,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAU,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,QAAQ,SAAS,EAAE,gDAAgD,CAAC,CAAC;YACzH,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBAC3C,aAAa,CAAC,KAAK,EAAE,GAAG,QAAQ,WAAW,UAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;IACrC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,iBAAiB,EAAE,6CAA6C,CAAC,CAAC;IAC1H,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;IAC3C,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC/F,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,sBAAsB,GAAG,EAAE,EAAE,2CAA2C,CAAC,CAAC;YAClI,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,SAAS,EAAE,iCAAiC,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC3C,aAAa,CAAC,KAAK,EAAE,GAAG,IAAI,WAAW,UAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC;AAKD,SAAS,aAAa,CACpB,KAAgB,EAChB,IAAY,EACZ,QAAqB,EACrB,SAAmC,EACnC,KAAmB;IAEnB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SAC9E,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;QAAE,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;;QAC3F,WAAW,CAAC,IAAI,EAAE,eAAgB,KAA0B,CAAC,IAAI,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,KAAgB,EAAE,IAAY,EAAE,QAAqB,EAAE,SAAmC,EAAE,KAAmB;IACpI,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,0BAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,oBAAoB,EAAE,0CAA0C,CAAC,CAAC;IAC1H,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3C,cAAc,CACZ,KAAK,EACL,GAAG,IAAI,sBAAsB,CAAC,EAAE,EAChC,6GAA6G,EAC7G,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,GAAG,IAAI,oBAAoB,EAC3B,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO;QAAE,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,OAAO,EAAE,iCAAiC,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACnD,2EAA2E;IAC3E,IAAI,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,GAAG,IAAI,SAAS,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,OAAO,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAClC,cAAc,CACZ,GAAG,CAAC,WAAW,EACf,GAAG,OAAO,cAAc,EACxB,8EAA8E,EAC9E,CAAC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACjC,0BAA0B,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,OAAO,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;QACzG,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,GAAG,OAAO,UAAU,SAAS,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC3F,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,QAAQ,WAAW,EAAE,qCAAqC,CAAC,CAAC;YAChH,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACnB,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,QAAQ,SAAS,EAAE,mDAAmD,CAAC,CAAC;gBAC5H,CAAC;gBACD,IAAI,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC5C,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,GAAG,QAAQ,SAAS,EACpB,sCAAsC,UAAU,UAAU,IAAI,kDAAkD,CACjH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAClC,cAAc,CACZ,IAAI,CAAC,UAAU,EACf,GAAG,QAAQ,aAAa,EACxB,6GAA6G,CAC9G,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,OAAO;gBAAE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,UAAU,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;YAC3G,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,aAAa,CAAC,CAAC;YACvG,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,QAAQ,YAAY,EAAE,qDAAqD,CAAC,CAAC;YACjI,CAAC;YACD,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,QAAQ,gBAAgB,EAAE,eAAe,CAAC,CAAC;YACzF,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,QAAQ,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;YAC5F,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5G,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,QAAQ,YAAY,EAAE,mEAAmE,CAAC,CAAC;YAC/I,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,cAAc,CACZ,KAAK,EACL,GAAG,QAAQ,iBAAiB,GAAG,EAAE,EACjC,8GAA8G,CAC/G,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,QAAQ,SAAS,EAAE,4FAA4F,CAAC,CAAC;YACrK,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBACxC,aAAa,CAAC,KAAK,EAAE,GAAG,QAAQ,WAAW,UAAU,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YACH,UAAU,IAAI,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,OAAO,EACP,aAAa,UAAU,0CAA0C,WAAW,EAAE,CAC/E,CAAC;QACJ,CAAC;QACD,cAAc,GAAG,aAAa,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,OAAqB,EAAE,IAAY;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAA4C,EAAE,CAAC;QAC9F,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,IAAI,WAAW,CAAC,CAAC;QACrG,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,cAAc,CACZ,IAAI,CAAC,YAAY,EACjB,GAAG,IAAI,IAAI,IAAI,eAAe,EAC9B,qFAAqF,EACrF,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAwB,EACxB,IAAY,EACZ,QAAqB,EACrB,SAAmC,EACnC,KAAmB;IAEnB,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YAC7B,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,GAAG,IAAI,OAAO,EACd,wFAAwF,CACzF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,YAAY,EAAE,uCAAuC,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,EAC9B,GAAG,IAAI,aAAa,EACpB,8CAA8C,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,CACtE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,EAC9B,GAAG,IAAI,YAAY,EACnB,cAAc,SAAS,CAAC,IAAI,CAAC,KAAK,uBAAuB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,mBAAmB,CAC3B,0BAA0B,EAC1B,GAAG,IAAI,UAAU,EACjB,0CAA0C,SAAS,CAAC,OAAO,GAAG,CAC/D,CAAC;IACJ,CAAC;IACD,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,OAAO,EAAE,iCAAiC,CAAC,CAAC;IACpG,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;QACvC,cAAc,CAAC,GAAG,EAAE,GAAG,IAAI,SAAS,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAID,mFAAmF;AACnF,SAAS,sBAAsB,CAAC,KAA0B,EAAE,IAAY;IACtE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAC7B,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,gEAAgE,EAAE,CAAC,CAAC,CAAC;YACjI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,8BAA8B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAC5J,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,2BAA2B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACxL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,YAAY,EAAE,oCAAoC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAU,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS;gBAAE,cAAc,CAAC,KAAK,EAAE,GAAG,IAAI,YAAY,GAAG,EAAE,EAAE,GAAG,GAAG,sCAAsC,EAAE,CAAC,CAAC,CAAC;QAC5H,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,oBAAoB,EAAE,kCAAkC,CAAC,CAAC;QACpJ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,mBAAmB,EAAE,0BAA0B,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClI,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAU,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,SAAS;gBAAE,cAAc,CAAC,KAAK,EAAE,GAAG,IAAI,WAAW,GAAG,EAAE,EAAE,GAAG,GAAG,yBAAyB,CAAC,CAAC;QAC3G,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAU,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,SAAS;gBAAE,cAAc,CAAC,KAAK,EAAE,GAAG,IAAI,WAAW,GAAG,EAAE,EAAE,GAAG,GAAG,sCAAsC,EAAE,CAAC,CAAC,CAAC;QAC3H,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACzF,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,SAAS,EAAE,wDAAwD,CAAC,CAAC;QAC7H,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAe,EAAE,IAAY;IACnD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9F,WAAW,CAAC,IAAI,EAAE,gBAAiB,GAAwB,CAAC,IAAI,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO;IACvD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,GAAG,IAAI,eAAe,EACtB,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,OAAO,EAAE,+BAA+B,CAAC,CAAC;IAClG,CAAC;IACD,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe,EAAE,IAAY;IACrD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,YAAY,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IAC/F,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,YAAY,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,aAAa,EAAE,oDAAoD,CAAC,CAAC;IAC7H,CAAC;IACD,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1E,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,YAAY,CAAC,CAAC;IAC7E,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACxG,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,aAAa,EAAE,4DAA4D,CAAC,CAAC;IACrI,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,GAAG,IAAI,SAAS,EAAE,yCAAyC,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,mBAAmB,CAC3B,eAAe,EACf,GAAG,IAAI,YAAY,EACnB,qEAAqE,KAAK,CAAC,SAAS,GAAG,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,IAAY,EAAE,SAAiB;IAC5E,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,SAAS,mDAAmD,KAAK,GAAG,CAAC,CAAC;IAChI,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAyB,EAAE,IAAY,EAAE,SAAiB;IACxF,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,SAAS,6CAA6C,KAAK,GAAG,CAAC,CAAC;IAC1H,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAGlD,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAK/H,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAGlD,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAK/H,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAElD,mCAAmC;AACnC,cAAc,iBAAiB,CAAC;AAEhC,gCAAgC;AAChC,cAAc,gBAAgB,CAAC;AAE/B,+BAA+B;AAC/B,cAAc,gBAAgB,CAAC;AAE/B,mEAAmE;AACnE,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAO/C,2FAA2F;AAC3F,2FAA2F;AAC3F,oGAAoG;AACpG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAkB,MAAM,qCAAqC,CAAC;AAE/H,mFAAmF;AACnF,wFAAwF;AACxF,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,yCAAyC,CAAC;AAEjD,+EAA+E;AAC/E,6EAA6E;AAC7E,6CAA6C;AAC7C,OAAO,EACL,YAAY,EAEZ,mBAAmB,EACnB,uBAAuB,EAEvB,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAElD,mCAAmC;AACnC,cAAc,iBAAiB,CAAC;AAEhC,gCAAgC;AAChC,cAAc,gBAAgB,CAAC;AAE/B,+BAA+B;AAC/B,cAAc,gBAAgB,CAAC;AAE/B,mEAAmE;AACnE,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAO/C,2FAA2F;AAC3F,2FAA2F;AAC3F,oGAAoG;AACpG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAkB,MAAM,qCAAqC,CAAC;AAE/H,mFAAmF;AACnF,wFAAwF;AACxF,8EAA8E;AAC9E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,yCAAyC,CAAC;AAEjD,+EAA+E;AAC/E,6EAA6E;AAC7E,6CAA6C;AAC7C,OAAO,EACL,YAAY,EAEZ,mBAAmB,EACnB,uBAAuB,EAEvB,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* accept_changes — accept all tracked changes in a OOXML document body.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Resolves the supported revision subset by:
|
|
5
5
|
* - Removing w:del elements and their content
|
|
6
6
|
* - Unwrapping w:ins elements (promoting children)
|
|
7
7
|
* - Removing w:moveFrom (source), unwrapping w:moveTo (destination)
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
* mark was a tracked deletion into the following paragraph
|
|
11
11
|
* - Cleaning up move range markers and rsidDel attributes
|
|
12
12
|
*
|
|
13
|
+
* Numbering, table-grid/exception, cell-topology, custom XML, and extension
|
|
14
|
+
* conflict records are not semantically resolved here; see the advanced
|
|
15
|
+
* revision classification manifest.
|
|
16
|
+
*
|
|
13
17
|
* Operates on the W3C DOM (`@xmldom/xmldom`) — the same API used
|
|
14
18
|
* throughout docx-primitives-ts (contrast with docx-comparison's
|
|
15
19
|
* custom WmlElement AST).
|
|
@@ -32,10 +36,27 @@ export type RevisionFilter = (el: Element) => boolean;
|
|
|
32
36
|
export declare function revisionElementId(el: Element): string | null;
|
|
33
37
|
/**
|
|
34
38
|
* Accept all tracked changes in the document body or story root, producing a
|
|
35
|
-
*
|
|
39
|
+
* document with supported revision records resolved.
|
|
36
40
|
*
|
|
37
41
|
* Mutates the Document in place (same convention as simplifyRedlines
|
|
38
42
|
* and mergeRuns).
|
|
43
|
+
*
|
|
44
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.21
|
|
45
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.22
|
|
46
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.25
|
|
47
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.26
|
|
48
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.29
|
|
49
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.30
|
|
50
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.31
|
|
51
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.32
|
|
52
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.34
|
|
53
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.36
|
|
54
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.37
|
|
55
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.moves
|
|
56
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.run-properties-paragraph-mark
|
|
57
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.section-properties
|
|
58
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.table-properties
|
|
59
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.table-cell-properties
|
|
39
60
|
*/
|
|
40
61
|
export declare function acceptChanges(doc: Document, opts?: {
|
|
41
62
|
filter?: RevisionFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept_changes.d.ts","sourceRoot":"","sources":["../../src/primitives/accept_changes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"accept_changes.d.ts","sourceRoot":"","sources":["../../src/primitives/accept_changes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,MAAM,MAAM,mBAAmB,GAAG;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAC;AAItD,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE5D;AA2OD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,QAAQ,EACb,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,GACjC,mBAAmB,CAwGrB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* accept_changes — accept all tracked changes in a OOXML document body.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Resolves the supported revision subset by:
|
|
5
5
|
* - Removing w:del elements and their content
|
|
6
6
|
* - Unwrapping w:ins elements (promoting children)
|
|
7
7
|
* - Removing w:moveFrom (source), unwrapping w:moveTo (destination)
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
* mark was a tracked deletion into the following paragraph
|
|
11
11
|
* - Cleaning up move range markers and rsidDel attributes
|
|
12
12
|
*
|
|
13
|
+
* Numbering, table-grid/exception, cell-topology, custom XML, and extension
|
|
14
|
+
* conflict records are not semantically resolved here; see the advanced
|
|
15
|
+
* revision classification manifest.
|
|
16
|
+
*
|
|
13
17
|
* Operates on the W3C DOM (`@xmldom/xmldom`) — the same API used
|
|
14
18
|
* throughout docx-primitives-ts (contrast with docx-comparison's
|
|
15
19
|
* custom WmlElement AST).
|
|
@@ -236,10 +240,27 @@ function resolveParagraphMarkRevision(p) {
|
|
|
236
240
|
// ── Public API ──────────────────────────────────────────────────────
|
|
237
241
|
/**
|
|
238
242
|
* Accept all tracked changes in the document body or story root, producing a
|
|
239
|
-
*
|
|
243
|
+
* document with supported revision records resolved.
|
|
240
244
|
*
|
|
241
245
|
* Mutates the Document in place (same convention as simplifyRedlines
|
|
242
246
|
* and mergeRuns).
|
|
247
|
+
*
|
|
248
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.21
|
|
249
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.22
|
|
250
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.25
|
|
251
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.26
|
|
252
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.29
|
|
253
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.30
|
|
254
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.31
|
|
255
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.32
|
|
256
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.34
|
|
257
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.36
|
|
258
|
+
* @conformance ECMA-376 edition 5, Part 1 § 17.13.5.37
|
|
259
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.moves
|
|
260
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.run-properties-paragraph-mark
|
|
261
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.section-properties
|
|
262
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.table-properties
|
|
263
|
+
* @ooxmlSpec ooxml.ecma376.5ed.part1.revisions.table-cell-properties
|
|
243
264
|
*/
|
|
244
265
|
export function acceptChanges(doc, opts) {
|
|
245
266
|
const filter = opts?.filter ?? ACCEPT_ALL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept_changes.js","sourceRoot":"","sources":["../../src/primitives/accept_changes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"accept_changes.js","sourceRoot":"","sources":["../../src/primitives/accept_changes.ts"],"names":[],"mappings":"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"}
|