docxmlater 5.7.3 → 6.0.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 +29 -2
- package/dist/core/Document.d.ts +15 -2
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +163 -7
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentGenerator.d.ts +4 -1
- package/dist/core/DocumentGenerator.d.ts.map +1 -1
- package/dist/core/DocumentGenerator.js +46 -42
- package/dist/core/DocumentGenerator.js.map +1 -1
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +33 -16
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/elements/Hyperlink.d.ts +8 -1
- package/dist/elements/Hyperlink.d.ts.map +1 -1
- package/dist/elements/Hyperlink.js +33 -0
- package/dist/elements/Hyperlink.js.map +1 -1
- package/dist/elements/Image.d.ts +1 -1
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +51 -8
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/Paragraph.d.ts +1 -0
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +15 -3
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/RevisionManager.d.ts +33 -0
- package/dist/elements/RevisionManager.d.ts.map +1 -1
- package/dist/elements/RevisionManager.js +149 -0
- package/dist/elements/RevisionManager.js.map +1 -1
- package/dist/formatting/NumberingManager.d.ts +3 -0
- package/dist/formatting/NumberingManager.d.ts.map +1 -1
- package/dist/formatting/NumberingManager.js +9 -0
- package/dist/formatting/NumberingManager.js.map +1 -1
- package/dist/formatting/StylesManager.d.ts +3 -0
- package/dist/formatting/StylesManager.d.ts.map +1 -1
- package/dist/formatting/StylesManager.js +8 -0
- package/dist/formatting/StylesManager.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/ChangelogGenerator.d.ts +82 -0
- package/dist/utils/ChangelogGenerator.d.ts.map +1 -0
- package/dist/utils/ChangelogGenerator.js +422 -0
- package/dist/utils/ChangelogGenerator.js.map +1 -0
- package/dist/utils/RevisionAwareProcessor.d.ts +60 -0
- package/dist/utils/RevisionAwareProcessor.d.ts.map +1 -0
- package/dist/utils/RevisionAwareProcessor.js +237 -0
- package/dist/utils/RevisionAwareProcessor.js.map +1 -0
- package/dist/utils/SelectiveRevisionAcceptor.d.ts +34 -0
- package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +1 -0
- package/dist/utils/SelectiveRevisionAcceptor.js +175 -0
- package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -0
- package/dist/utils/acceptRevisions.d.ts +22 -0
- package/dist/utils/acceptRevisions.d.ts.map +1 -0
- package/dist/utils/acceptRevisions.js +211 -0
- package/dist/utils/acceptRevisions.js.map +1 -0
- package/dist/utils/corruptionDetection.js +1 -1
- package/dist/utils/corruptionDetection.js.map +1 -1
- package/dist/utils/stripTrackedChanges.d.ts +22 -0
- package/dist/utils/stripTrackedChanges.d.ts.map +1 -0
- package/dist/utils/stripTrackedChanges.js +196 -0
- package/dist/utils/stripTrackedChanges.js.map +1 -0
- package/dist/xml/XMLParser.d.ts.map +1 -1
- package/dist/xml/XMLParser.js +7 -0
- package/dist/xml/XMLParser.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RevisionAwareProcessor = void 0;
|
|
4
|
+
const Revision_1 = require("../elements/Revision");
|
|
5
|
+
const acceptRevisions_1 = require("./acceptRevisions");
|
|
6
|
+
class RevisionAwareProcessor {
|
|
7
|
+
static async prepare(doc, options) {
|
|
8
|
+
const log = [];
|
|
9
|
+
const acceptedRevisions = [];
|
|
10
|
+
const preservedRevisions = [];
|
|
11
|
+
const newRevisions = [];
|
|
12
|
+
const conflicts = [];
|
|
13
|
+
const addLog = (action, details, revisionId) => {
|
|
14
|
+
log.push({
|
|
15
|
+
timestamp: new Date(),
|
|
16
|
+
action,
|
|
17
|
+
details,
|
|
18
|
+
revisionId,
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
addLog('start', `Starting revision processing with mode: ${options.mode}`);
|
|
22
|
+
try {
|
|
23
|
+
const revisionManager = doc.getRevisionManager();
|
|
24
|
+
if (!revisionManager || !revisionManager.hasRevisions()) {
|
|
25
|
+
addLog('complete', 'No revisions found in document');
|
|
26
|
+
return {
|
|
27
|
+
success: true,
|
|
28
|
+
acceptedRevisions,
|
|
29
|
+
preservedRevisions,
|
|
30
|
+
newRevisions,
|
|
31
|
+
conflicts,
|
|
32
|
+
log,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const allRevisions = revisionManager.getAllRevisions();
|
|
36
|
+
addLog('info', `Found ${allRevisions.length} revisions in document`);
|
|
37
|
+
switch (options.mode) {
|
|
38
|
+
case 'accept_all':
|
|
39
|
+
await this.acceptAllRevisions(doc, allRevisions, acceptedRevisions, addLog);
|
|
40
|
+
break;
|
|
41
|
+
case 'preserve':
|
|
42
|
+
for (const rev of allRevisions) {
|
|
43
|
+
preservedRevisions.push(rev.getId().toString());
|
|
44
|
+
}
|
|
45
|
+
addLog('complete', `Preserved ${preservedRevisions.length} revisions`);
|
|
46
|
+
break;
|
|
47
|
+
case 'preserve_and_wrap':
|
|
48
|
+
for (const rev of allRevisions) {
|
|
49
|
+
preservedRevisions.push(rev.getId().toString());
|
|
50
|
+
}
|
|
51
|
+
addLog('info', `Will preserve and wrap conflicts for ${preservedRevisions.length} revisions`);
|
|
52
|
+
addLog('info', `New revisions will be authored by: ${options.author || 'Unknown'}`);
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
addLog('error', `Unknown processing mode: ${options.mode}`);
|
|
56
|
+
return {
|
|
57
|
+
success: false,
|
|
58
|
+
acceptedRevisions,
|
|
59
|
+
preservedRevisions,
|
|
60
|
+
newRevisions,
|
|
61
|
+
conflicts,
|
|
62
|
+
log,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
addLog('complete', 'Revision processing completed successfully');
|
|
66
|
+
return {
|
|
67
|
+
success: true,
|
|
68
|
+
acceptedRevisions,
|
|
69
|
+
preservedRevisions,
|
|
70
|
+
newRevisions,
|
|
71
|
+
conflicts,
|
|
72
|
+
log,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
77
|
+
addLog('error', `Processing failed: ${errorMessage}`);
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
acceptedRevisions,
|
|
81
|
+
preservedRevisions,
|
|
82
|
+
newRevisions,
|
|
83
|
+
conflicts,
|
|
84
|
+
log,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
static async acceptAllRevisions(doc, revisions, acceptedIds, addLog) {
|
|
89
|
+
addLog('info', 'Accepting all revisions');
|
|
90
|
+
const zipHandler = doc.getZipHandler();
|
|
91
|
+
if (!zipHandler) {
|
|
92
|
+
addLog('error', 'No zip handler available');
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const acceptor = new acceptRevisions_1.RevisionAcceptor(zipHandler);
|
|
96
|
+
await acceptor.acceptAllRevisions();
|
|
97
|
+
for (const rev of revisions) {
|
|
98
|
+
acceptedIds.push(rev.getId().toString());
|
|
99
|
+
addLog('accept', `Accepted revision ${rev.getId()}`, rev.getId().toString());
|
|
100
|
+
}
|
|
101
|
+
addLog('complete', `Accepted ${acceptedIds.length} revisions`);
|
|
102
|
+
}
|
|
103
|
+
static acceptSelective(doc, criteria) {
|
|
104
|
+
const revisionManager = doc.getRevisionManager();
|
|
105
|
+
if (!revisionManager) {
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
const allRevisions = revisionManager.getAllRevisions();
|
|
109
|
+
const matchingRevisions = this.filterRevisions(allRevisions, criteria);
|
|
110
|
+
const acceptedIds = [];
|
|
111
|
+
for (const rev of matchingRevisions) {
|
|
112
|
+
acceptedIds.push(rev.getId().toString());
|
|
113
|
+
}
|
|
114
|
+
return acceptedIds;
|
|
115
|
+
}
|
|
116
|
+
static filterRevisions(revisions, criteria) {
|
|
117
|
+
return revisions.filter(rev => {
|
|
118
|
+
if (criteria.ids && !criteria.ids.includes(rev.getId())) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
if (criteria.types && !criteria.types.includes(rev.getType())) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
if (criteria.authors && !criteria.authors.includes(rev.getAuthor())) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
if (criteria.dateRange) {
|
|
128
|
+
const date = rev.getDate();
|
|
129
|
+
if (date < criteria.dateRange.start || date > criteria.dateRange.end) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (criteria.categories) {
|
|
134
|
+
const category = this.getRevisionCategory(rev);
|
|
135
|
+
if (!criteria.categories.includes(category)) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (criteria.custom && !criteria.custom(rev)) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
return true;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
static getRevisionCategory(revision) {
|
|
146
|
+
const type = revision.getType();
|
|
147
|
+
if (type === 'insert' || type === 'delete') {
|
|
148
|
+
return 'content';
|
|
149
|
+
}
|
|
150
|
+
if (type === 'runPropertiesChange' ||
|
|
151
|
+
type === 'paragraphPropertiesChange' ||
|
|
152
|
+
type === 'numberingChange') {
|
|
153
|
+
return 'formatting';
|
|
154
|
+
}
|
|
155
|
+
if (type === 'moveFrom' ||
|
|
156
|
+
type === 'moveTo' ||
|
|
157
|
+
type === 'sectionPropertiesChange') {
|
|
158
|
+
return 'structural';
|
|
159
|
+
}
|
|
160
|
+
if (type === 'tablePropertiesChange' ||
|
|
161
|
+
type === 'tableExceptionPropertiesChange' ||
|
|
162
|
+
type === 'tableRowPropertiesChange' ||
|
|
163
|
+
type === 'tableCellPropertiesChange' ||
|
|
164
|
+
type === 'tableCellInsert' ||
|
|
165
|
+
type === 'tableCellDelete' ||
|
|
166
|
+
type === 'tableCellMerge') {
|
|
167
|
+
return 'table';
|
|
168
|
+
}
|
|
169
|
+
return 'content';
|
|
170
|
+
}
|
|
171
|
+
static checkConflict(doc, paragraphIndex, runIndex) {
|
|
172
|
+
const revisionManager = doc.getRevisionManager();
|
|
173
|
+
if (!revisionManager) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
const revisions = revisionManager.getRevisionsForParagraph(paragraphIndex);
|
|
177
|
+
return revisions.length > 0 ? revisions[0] : null;
|
|
178
|
+
}
|
|
179
|
+
static getAffectedRevisions(doc, paragraphIndex, runIndex) {
|
|
180
|
+
const revisionManager = doc.getRevisionManager();
|
|
181
|
+
if (!revisionManager) {
|
|
182
|
+
return [];
|
|
183
|
+
}
|
|
184
|
+
return revisionManager.getRevisionsForParagraph(paragraphIndex);
|
|
185
|
+
}
|
|
186
|
+
static wrapInRevision(doc, paragraphIndex, runIndex, author, type) {
|
|
187
|
+
const revisionManager = doc.getRevisionManager();
|
|
188
|
+
if (!revisionManager) {
|
|
189
|
+
throw new Error('Document does not have a revision manager');
|
|
190
|
+
}
|
|
191
|
+
const paragraphs = doc.getParagraphs();
|
|
192
|
+
if (paragraphIndex < 0 || paragraphIndex >= paragraphs.length) {
|
|
193
|
+
throw new Error(`Invalid paragraph index: ${paragraphIndex}`);
|
|
194
|
+
}
|
|
195
|
+
const paragraph = paragraphs[paragraphIndex];
|
|
196
|
+
if (!paragraph) {
|
|
197
|
+
throw new Error(`Paragraph at index ${paragraphIndex} not found`);
|
|
198
|
+
}
|
|
199
|
+
const runs = paragraph.getRuns();
|
|
200
|
+
if (runIndex < 0 || runIndex >= runs.length) {
|
|
201
|
+
throw new Error(`Invalid run index: ${runIndex}`);
|
|
202
|
+
}
|
|
203
|
+
const run = runs[runIndex];
|
|
204
|
+
if (!run) {
|
|
205
|
+
throw new Error(`Run at index ${runIndex} not found`);
|
|
206
|
+
}
|
|
207
|
+
const revision = new Revision_1.Revision({
|
|
208
|
+
author,
|
|
209
|
+
type,
|
|
210
|
+
content: run,
|
|
211
|
+
date: new Date(),
|
|
212
|
+
});
|
|
213
|
+
revisionManager.register(revision);
|
|
214
|
+
return revision.getId().toString();
|
|
215
|
+
}
|
|
216
|
+
static hasTrackedChanges(doc) {
|
|
217
|
+
const revisionManager = doc.getRevisionManager();
|
|
218
|
+
return revisionManager ? revisionManager.hasRevisions() : false;
|
|
219
|
+
}
|
|
220
|
+
static getTrackedChangesSummary(doc) {
|
|
221
|
+
const revisionManager = doc.getRevisionManager();
|
|
222
|
+
if (!revisionManager) {
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
const summary = revisionManager.getSummary();
|
|
226
|
+
return {
|
|
227
|
+
total: summary.total,
|
|
228
|
+
insertions: summary.byType.insertions,
|
|
229
|
+
deletions: summary.byType.deletions,
|
|
230
|
+
formatting: summary.byType.propertyChanges,
|
|
231
|
+
moves: summary.byType.moves,
|
|
232
|
+
authors: summary.authors,
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
exports.RevisionAwareProcessor = RevisionAwareProcessor;
|
|
237
|
+
//# sourceMappingURL=RevisionAwareProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RevisionAwareProcessor.js","sourceRoot":"","sources":["../../src/utils/RevisionAwareProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Document } from '../core/Document';
|
|
2
|
+
import { RevisionType } from '../elements/Revision';
|
|
3
|
+
import { SelectionCriteria } from './RevisionAwareProcessor';
|
|
4
|
+
export interface SelectiveAcceptResult {
|
|
5
|
+
accepted: string[];
|
|
6
|
+
rejected: string[];
|
|
7
|
+
remaining: string[];
|
|
8
|
+
summary: {
|
|
9
|
+
totalProcessed: number;
|
|
10
|
+
acceptedCount: number;
|
|
11
|
+
rejectedCount: number;
|
|
12
|
+
remainingCount: number;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare class SelectiveRevisionAcceptor {
|
|
16
|
+
static accept(doc: Document, criteria: SelectionCriteria): SelectiveAcceptResult;
|
|
17
|
+
static reject(doc: Document, criteria: SelectionCriteria): SelectiveAcceptResult;
|
|
18
|
+
static preview(doc: Document, criteria: SelectionCriteria, action: 'accept' | 'reject'): SelectiveAcceptResult;
|
|
19
|
+
static acceptByAuthor(doc: Document, author: string): SelectiveAcceptResult;
|
|
20
|
+
static rejectByAuthor(doc: Document, author: string): SelectiveAcceptResult;
|
|
21
|
+
static acceptByType(doc: Document, types: RevisionType[]): SelectiveAcceptResult;
|
|
22
|
+
static rejectByType(doc: Document, types: RevisionType[]): SelectiveAcceptResult;
|
|
23
|
+
static acceptBeforeDate(doc: Document, date: Date): SelectiveAcceptResult;
|
|
24
|
+
static acceptAfterDate(doc: Document, date: Date): SelectiveAcceptResult;
|
|
25
|
+
static acceptInsertionsOnly(doc: Document): SelectiveAcceptResult;
|
|
26
|
+
static acceptDeletionsOnly(doc: Document): SelectiveAcceptResult;
|
|
27
|
+
static rejectFormattingChanges(doc: Document): SelectiveAcceptResult;
|
|
28
|
+
static acceptContentChangesOnly(doc: Document): SelectiveAcceptResult;
|
|
29
|
+
private static partitionRevisions;
|
|
30
|
+
private static matchesCriteria;
|
|
31
|
+
private static getRevisionCategory;
|
|
32
|
+
private static emptyResult;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=SelectiveRevisionAcceptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectiveRevisionAcceptor.d.ts","sourceRoot":"","sources":["../../src/utils/SelectiveRevisionAcceptor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAY,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAMD,qBAAa,yBAAyB;IASpC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,iBAAiB,GAC1B,qBAAqB;IAoCxB,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,iBAAiB,GAC1B,qBAAqB;IAoCxB,MAAM,CAAC,OAAO,CACZ,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAC1B,qBAAqB;IAcxB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB;IAW3E,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB;IAW3E,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,qBAAqB;IAWhF,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,qBAAqB;IAWhF,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,qBAAqB;IAazE,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,qBAAqB;IAYxE,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,qBAAqB;IAUjE,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,GAAG,qBAAqB;IAUhE,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,qBAAqB;IAUpE,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,QAAQ,GAAG,qBAAqB;IAOrE,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAqBjC,OAAO,CAAC,MAAM,CAAC,eAAe;IA0D9B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAsClC,OAAO,CAAC,MAAM,CAAC,WAAW;CAa3B"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectiveRevisionAcceptor = void 0;
|
|
4
|
+
class SelectiveRevisionAcceptor {
|
|
5
|
+
static accept(doc, criteria) {
|
|
6
|
+
const revisionManager = doc.getRevisionManager();
|
|
7
|
+
if (!revisionManager) {
|
|
8
|
+
return this.emptyResult();
|
|
9
|
+
}
|
|
10
|
+
const allRevisions = revisionManager.getAllRevisions();
|
|
11
|
+
const { matching, nonMatching } = this.partitionRevisions(allRevisions, criteria);
|
|
12
|
+
const accepted = matching.map(r => r.getId().toString());
|
|
13
|
+
const remaining = nonMatching.map(r => r.getId().toString());
|
|
14
|
+
return {
|
|
15
|
+
accepted,
|
|
16
|
+
rejected: [],
|
|
17
|
+
remaining,
|
|
18
|
+
summary: {
|
|
19
|
+
totalProcessed: allRevisions.length,
|
|
20
|
+
acceptedCount: accepted.length,
|
|
21
|
+
rejectedCount: 0,
|
|
22
|
+
remainingCount: remaining.length,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static reject(doc, criteria) {
|
|
27
|
+
const revisionManager = doc.getRevisionManager();
|
|
28
|
+
if (!revisionManager) {
|
|
29
|
+
return this.emptyResult();
|
|
30
|
+
}
|
|
31
|
+
const allRevisions = revisionManager.getAllRevisions();
|
|
32
|
+
const { matching, nonMatching } = this.partitionRevisions(allRevisions, criteria);
|
|
33
|
+
const rejected = matching.map(r => r.getId().toString());
|
|
34
|
+
const remaining = nonMatching.map(r => r.getId().toString());
|
|
35
|
+
return {
|
|
36
|
+
accepted: [],
|
|
37
|
+
rejected,
|
|
38
|
+
remaining,
|
|
39
|
+
summary: {
|
|
40
|
+
totalProcessed: allRevisions.length,
|
|
41
|
+
acceptedCount: 0,
|
|
42
|
+
rejectedCount: rejected.length,
|
|
43
|
+
remainingCount: remaining.length,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
static preview(doc, criteria, action) {
|
|
48
|
+
return action === 'accept'
|
|
49
|
+
? this.accept(doc, criteria)
|
|
50
|
+
: this.reject(doc, criteria);
|
|
51
|
+
}
|
|
52
|
+
static acceptByAuthor(doc, author) {
|
|
53
|
+
return this.accept(doc, { authors: [author] });
|
|
54
|
+
}
|
|
55
|
+
static rejectByAuthor(doc, author) {
|
|
56
|
+
return this.reject(doc, { authors: [author] });
|
|
57
|
+
}
|
|
58
|
+
static acceptByType(doc, types) {
|
|
59
|
+
return this.accept(doc, { types });
|
|
60
|
+
}
|
|
61
|
+
static rejectByType(doc, types) {
|
|
62
|
+
return this.reject(doc, { types });
|
|
63
|
+
}
|
|
64
|
+
static acceptBeforeDate(doc, date) {
|
|
65
|
+
return this.accept(doc, {
|
|
66
|
+
dateRange: { start: new Date(0), end: date },
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
static acceptAfterDate(doc, date) {
|
|
70
|
+
return this.accept(doc, {
|
|
71
|
+
dateRange: { start: date, end: new Date() },
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
static acceptInsertionsOnly(doc) {
|
|
75
|
+
return this.accept(doc, { types: ['insert'] });
|
|
76
|
+
}
|
|
77
|
+
static acceptDeletionsOnly(doc) {
|
|
78
|
+
return this.accept(doc, { types: ['delete'] });
|
|
79
|
+
}
|
|
80
|
+
static rejectFormattingChanges(doc) {
|
|
81
|
+
return this.reject(doc, { categories: ['formatting'] });
|
|
82
|
+
}
|
|
83
|
+
static acceptContentChangesOnly(doc) {
|
|
84
|
+
return this.accept(doc, { categories: ['content'] });
|
|
85
|
+
}
|
|
86
|
+
static partitionRevisions(revisions, criteria) {
|
|
87
|
+
const matching = [];
|
|
88
|
+
const nonMatching = [];
|
|
89
|
+
for (const rev of revisions) {
|
|
90
|
+
if (this.matchesCriteria(rev, criteria)) {
|
|
91
|
+
matching.push(rev);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
nonMatching.push(rev);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return { matching, nonMatching };
|
|
98
|
+
}
|
|
99
|
+
static matchesCriteria(revision, criteria) {
|
|
100
|
+
if (!criteria.ids &&
|
|
101
|
+
!criteria.types &&
|
|
102
|
+
!criteria.authors &&
|
|
103
|
+
!criteria.dateRange &&
|
|
104
|
+
!criteria.categories &&
|
|
105
|
+
!criteria.custom) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (criteria.ids && !criteria.ids.includes(revision.getId())) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
if (criteria.types && !criteria.types.includes(revision.getType())) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
if (criteria.authors && !criteria.authors.includes(revision.getAuthor())) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (criteria.dateRange) {
|
|
118
|
+
const date = revision.getDate();
|
|
119
|
+
if (date < criteria.dateRange.start || date > criteria.dateRange.end) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (criteria.categories) {
|
|
124
|
+
const category = this.getRevisionCategory(revision);
|
|
125
|
+
if (!criteria.categories.includes(category)) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (criteria.custom && !criteria.custom(revision)) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
static getRevisionCategory(revision) {
|
|
135
|
+
const type = revision.getType();
|
|
136
|
+
if (type === 'insert' || type === 'delete') {
|
|
137
|
+
return 'content';
|
|
138
|
+
}
|
|
139
|
+
if (type === 'runPropertiesChange' ||
|
|
140
|
+
type === 'paragraphPropertiesChange' ||
|
|
141
|
+
type === 'numberingChange') {
|
|
142
|
+
return 'formatting';
|
|
143
|
+
}
|
|
144
|
+
if (type === 'moveFrom' ||
|
|
145
|
+
type === 'moveTo' ||
|
|
146
|
+
type === 'sectionPropertiesChange') {
|
|
147
|
+
return 'structural';
|
|
148
|
+
}
|
|
149
|
+
if (type === 'tablePropertiesChange' ||
|
|
150
|
+
type === 'tableExceptionPropertiesChange' ||
|
|
151
|
+
type === 'tableRowPropertiesChange' ||
|
|
152
|
+
type === 'tableCellPropertiesChange' ||
|
|
153
|
+
type === 'tableCellInsert' ||
|
|
154
|
+
type === 'tableCellDelete' ||
|
|
155
|
+
type === 'tableCellMerge') {
|
|
156
|
+
return 'table';
|
|
157
|
+
}
|
|
158
|
+
return 'content';
|
|
159
|
+
}
|
|
160
|
+
static emptyResult() {
|
|
161
|
+
return {
|
|
162
|
+
accepted: [],
|
|
163
|
+
rejected: [],
|
|
164
|
+
remaining: [],
|
|
165
|
+
summary: {
|
|
166
|
+
totalProcessed: 0,
|
|
167
|
+
acceptedCount: 0,
|
|
168
|
+
rejectedCount: 0,
|
|
169
|
+
remainingCount: 0,
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.SelectiveRevisionAcceptor = SelectiveRevisionAcceptor;
|
|
175
|
+
//# sourceMappingURL=SelectiveRevisionAcceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectiveRevisionAcceptor.js","sourceRoot":"","sources":["../../src/utils/SelectiveRevisionAcceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ZipHandler } from '../zip/ZipHandler';
|
|
2
|
+
export declare class RevisionAcceptor {
|
|
3
|
+
private zipHandler;
|
|
4
|
+
constructor(zipHandler: ZipHandler);
|
|
5
|
+
acceptAllRevisions(): Promise<void>;
|
|
6
|
+
private processDocumentPart;
|
|
7
|
+
private removeAllRangeMarkers;
|
|
8
|
+
private removeAllPropertyChanges;
|
|
9
|
+
private acceptDeletions;
|
|
10
|
+
private acceptMoveFrom;
|
|
11
|
+
private acceptMoveTo;
|
|
12
|
+
private acceptInsertions;
|
|
13
|
+
private cleanupOrphanedTags;
|
|
14
|
+
private parseRelationships;
|
|
15
|
+
private getNextRelationshipId;
|
|
16
|
+
private addRelationship;
|
|
17
|
+
private cleanupPeopleXml;
|
|
18
|
+
private cleanupSettingsXml;
|
|
19
|
+
private cleanupCorePropsXml;
|
|
20
|
+
}
|
|
21
|
+
export declare function acceptAllRevisions(zipHandler: ZipHandler): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=acceptRevisions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acceptRevisions.d.ts","sourceRoot":"","sources":["../../src/utils/acceptRevisions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiB/C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU;IAOrB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;YAwBlC,mBAAmB;IAuCjC,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,mBAAmB;CAc5B;AAKD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E"}
|