docxmlater 1.18.0 → 1.19.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.
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RangeMarker = void 0;
4
+ class RangeMarker {
5
+ id;
6
+ type;
7
+ name;
8
+ author;
9
+ date;
10
+ constructor(properties) {
11
+ this.id = properties.id;
12
+ this.type = properties.type;
13
+ this.name = properties.name;
14
+ this.author = properties.author;
15
+ this.date = properties.date;
16
+ }
17
+ getId() {
18
+ return this.id;
19
+ }
20
+ setId(id) {
21
+ this.id = id;
22
+ }
23
+ getType() {
24
+ return this.type;
25
+ }
26
+ getName() {
27
+ return this.name;
28
+ }
29
+ getAuthor() {
30
+ return this.author;
31
+ }
32
+ getDate() {
33
+ return this.date;
34
+ }
35
+ isStartMarker() {
36
+ return this.type.endsWith('RangeStart');
37
+ }
38
+ isEndMarker() {
39
+ return this.type.endsWith('RangeEnd');
40
+ }
41
+ getElementName() {
42
+ switch (this.type) {
43
+ case 'moveFromRangeStart':
44
+ return 'w:moveFromRangeStart';
45
+ case 'moveFromRangeEnd':
46
+ return 'w:moveFromRangeEnd';
47
+ case 'moveToRangeStart':
48
+ return 'w:moveToRangeStart';
49
+ case 'moveToRangeEnd':
50
+ return 'w:moveToRangeEnd';
51
+ case 'customXmlMoveFromRangeStart':
52
+ return 'w:customXmlMoveFromRangeStart';
53
+ case 'customXmlMoveFromRangeEnd':
54
+ return 'w:customXmlMoveFromRangeEnd';
55
+ case 'customXmlMoveToRangeStart':
56
+ return 'w:customXmlMoveToRangeStart';
57
+ case 'customXmlMoveToRangeEnd':
58
+ return 'w:customXmlMoveToRangeEnd';
59
+ case 'customXmlInsRangeStart':
60
+ return 'w:customXmlInsRangeStart';
61
+ case 'customXmlInsRangeEnd':
62
+ return 'w:customXmlInsRangeEnd';
63
+ case 'customXmlDelRangeStart':
64
+ return 'w:customXmlDelRangeStart';
65
+ case 'customXmlDelRangeEnd':
66
+ return 'w:customXmlDelRangeEnd';
67
+ default:
68
+ return 'w:moveFromRangeStart';
69
+ }
70
+ }
71
+ formatDate(date) {
72
+ return date.toISOString();
73
+ }
74
+ toXML() {
75
+ const attributes = {
76
+ 'w:id': this.id.toString(),
77
+ };
78
+ if (this.name) {
79
+ attributes['w:name'] = this.name;
80
+ }
81
+ if (this.isStartMarker() && this.author) {
82
+ attributes['w:author'] = this.author;
83
+ if (this.date) {
84
+ attributes['w:date'] = this.formatDate(this.date);
85
+ }
86
+ }
87
+ const elementName = this.getElementName();
88
+ return {
89
+ name: elementName,
90
+ attributes,
91
+ children: [],
92
+ };
93
+ }
94
+ static createMoveFromStart(id, name, author, date) {
95
+ return new RangeMarker({
96
+ id,
97
+ type: 'moveFromRangeStart',
98
+ name,
99
+ author,
100
+ date: date || new Date(),
101
+ });
102
+ }
103
+ static createMoveFromEnd(id) {
104
+ return new RangeMarker({
105
+ id,
106
+ type: 'moveFromRangeEnd',
107
+ });
108
+ }
109
+ static createMoveToStart(id, name, author, date) {
110
+ return new RangeMarker({
111
+ id,
112
+ type: 'moveToRangeStart',
113
+ name,
114
+ author,
115
+ date: date || new Date(),
116
+ });
117
+ }
118
+ static createMoveToEnd(id) {
119
+ return new RangeMarker({
120
+ id,
121
+ type: 'moveToRangeEnd',
122
+ });
123
+ }
124
+ static createCustomXmlInsStart(id, author, date) {
125
+ return new RangeMarker({
126
+ id,
127
+ type: 'customXmlInsRangeStart',
128
+ author,
129
+ date: date || new Date(),
130
+ });
131
+ }
132
+ static createCustomXmlInsEnd(id) {
133
+ return new RangeMarker({
134
+ id,
135
+ type: 'customXmlInsRangeEnd',
136
+ });
137
+ }
138
+ static createCustomXmlDelStart(id, author, date) {
139
+ return new RangeMarker({
140
+ id,
141
+ type: 'customXmlDelRangeStart',
142
+ author,
143
+ date: date || new Date(),
144
+ });
145
+ }
146
+ static createCustomXmlDelEnd(id) {
147
+ return new RangeMarker({
148
+ id,
149
+ type: 'customXmlDelRangeEnd',
150
+ });
151
+ }
152
+ static createCustomXmlMoveFromStart(id, name, author, date) {
153
+ return new RangeMarker({
154
+ id,
155
+ type: 'customXmlMoveFromRangeStart',
156
+ name,
157
+ author,
158
+ date: date || new Date(),
159
+ });
160
+ }
161
+ static createCustomXmlMoveFromEnd(id) {
162
+ return new RangeMarker({
163
+ id,
164
+ type: 'customXmlMoveFromRangeEnd',
165
+ });
166
+ }
167
+ static createCustomXmlMoveToStart(id, name, author, date) {
168
+ return new RangeMarker({
169
+ id,
170
+ type: 'customXmlMoveToRangeStart',
171
+ name,
172
+ author,
173
+ date: date || new Date(),
174
+ });
175
+ }
176
+ static createCustomXmlMoveToEnd(id) {
177
+ return new RangeMarker({
178
+ id,
179
+ type: 'customXmlMoveToRangeEnd',
180
+ });
181
+ }
182
+ }
183
+ exports.RangeMarker = RangeMarker;
184
+ //# sourceMappingURL=RangeMarker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeMarker.js","sourceRoot":"","sources":["../../src/elements/RangeMarker.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  import { Run } from './Run';
2
2
  import { XMLElement } from '../xml/XMLBuilder';
3
- export type RevisionType = 'insert' | 'delete';
3
+ export type RevisionType = 'insert' | 'delete' | 'runPropertiesChange' | 'paragraphPropertiesChange' | 'tablePropertiesChange' | 'tableExceptionPropertiesChange' | 'tableRowPropertiesChange' | 'tableCellPropertiesChange' | 'sectionPropertiesChange' | 'moveFrom' | 'moveTo' | 'tableCellInsert' | 'tableCellDelete' | 'tableCellMerge' | 'numberingChange';
4
4
  export interface RevisionProperties {
5
5
  id?: number;
6
6
  author: string;
7
7
  date?: Date;
8
8
  type: RevisionType;
9
9
  content: Run | Run[];
10
+ previousProperties?: Record<string, any>;
11
+ newProperties?: Record<string, any>;
12
+ moveId?: string;
13
+ moveLocation?: string;
10
14
  }
11
15
  export declare class Revision {
12
16
  private id;
@@ -14,6 +18,11 @@ export declare class Revision {
14
18
  private date;
15
19
  private type;
16
20
  private runs;
21
+ private previousProperties?;
22
+ private newProperties?;
23
+ private moveId?;
24
+ private moveLocation?;
25
+ private isFieldInstruction;
17
26
  constructor(properties: RevisionProperties);
18
27
  getId(): number;
19
28
  setId(id: number): void;
@@ -24,11 +33,31 @@ export declare class Revision {
24
33
  getType(): RevisionType;
25
34
  getRuns(): Run[];
26
35
  addRun(run: Run): this;
36
+ getPreviousProperties(): Record<string, any> | undefined;
37
+ getNewProperties(): Record<string, any> | undefined;
38
+ getMoveId(): string | undefined;
39
+ getMoveLocation(): string | undefined;
40
+ setAsFieldInstruction(): this;
41
+ isFieldInstructionDeletion(): boolean;
27
42
  private formatDate;
43
+ private getElementName;
28
44
  toXML(): XMLElement;
45
+ private isPropertyChangeType;
46
+ private createPropertiesElement;
29
47
  private createDeletedRunXml;
30
48
  static createInsertion(author: string, content: Run | Run[], date?: Date): Revision;
31
49
  static createDeletion(author: string, content: Run | Run[], date?: Date): Revision;
50
+ static createFieldInstructionDeletion(author: string, content: Run | Run[], date?: Date): Revision;
32
51
  static fromText(type: RevisionType, author: string, text: string, date?: Date): Revision;
52
+ static createRunPropertiesChange(author: string, content: Run | Run[], previousProperties: Record<string, any>, date?: Date): Revision;
53
+ static createParagraphPropertiesChange(author: string, content: Run | Run[], previousProperties: Record<string, any>, date?: Date): Revision;
54
+ static createTablePropertiesChange(author: string, content: Run | Run[], previousProperties: Record<string, any>, date?: Date): Revision;
55
+ static createTableExceptionPropertiesChange(author: string, content: Run | Run[], previousProperties: Record<string, any>, date?: Date): Revision;
56
+ static createMoveFrom(author: string, content: Run | Run[], moveId: string, date?: Date): Revision;
57
+ static createMoveTo(author: string, content: Run | Run[], moveId: string, date?: Date): Revision;
58
+ static createTableCellInsert(author: string, content: Run | Run[], date?: Date): Revision;
59
+ static createTableCellDelete(author: string, content: Run | Run[], date?: Date): Revision;
60
+ static createTableCellMerge(author: string, content: Run | Run[], date?: Date): Revision;
61
+ static createNumberingChange(author: string, content: Run | Run[], previousProperties: Record<string, any>, date?: Date): Revision;
33
62
  }
34
63
  //# sourceMappingURL=Revision.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Revision.d.ts","sourceRoot":"","sources":["../../src/elements/Revision.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAK/C,MAAM,WAAW,kBAAkB;IAEjC,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,IAAI,EAAE,YAAY,CAAC;IAEnB,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;CACtB;AAKD,qBAAa,QAAQ;IACnB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,IAAI,CAAQ;gBAMR,UAAU,EAAE,kBAAkB;IAW1C,KAAK,IAAI,MAAM;IAQf,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOvB,SAAS,IAAI,MAAM;IAOnB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ/B,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQzB,OAAO,IAAI,YAAY;IAOvB,OAAO,IAAI,GAAG,EAAE;IAOhB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAQtB,OAAO,CAAC,UAAU;IAQlB,KAAK,IAAI,UAAU;IAgCnB,OAAO,CAAC,mBAAmB;IAiC3B,MAAM,CAAC,eAAe,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,EACpB,IAAI,CAAC,EAAE,IAAI,GACV,QAAQ;IAgBX,MAAM,CAAC,cAAc,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,EACpB,IAAI,CAAC,EAAE,IAAI,GACV,QAAQ;IAkBX,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,IAAI,GACV,QAAQ;CASZ"}
1
+ {"version":3,"file":"Revision.d.ts","sourceRoot":"","sources":["../../src/elements/Revision.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,21 @@ class Revision {
8
8
  date;
9
9
  type;
10
10
  runs;
11
+ previousProperties;
12
+ newProperties;
13
+ moveId;
14
+ moveLocation;
15
+ isFieldInstruction = false;
11
16
  constructor(properties) {
12
17
  this.id = properties.id ?? 0;
13
18
  this.author = properties.author;
14
19
  this.date = properties.date || new Date();
15
20
  this.type = properties.type;
16
21
  this.runs = Array.isArray(properties.content) ? properties.content : [properties.content];
22
+ this.previousProperties = properties.previousProperties;
23
+ this.newProperties = properties.newProperties;
24
+ this.moveId = properties.moveId;
25
+ this.moveLocation = properties.moveLocation;
17
26
  }
18
27
  getId() {
19
28
  return this.id;
@@ -45,19 +54,82 @@ class Revision {
45
54
  this.runs.push(run);
46
55
  return this;
47
56
  }
57
+ getPreviousProperties() {
58
+ return this.previousProperties;
59
+ }
60
+ getNewProperties() {
61
+ return this.newProperties;
62
+ }
63
+ getMoveId() {
64
+ return this.moveId;
65
+ }
66
+ getMoveLocation() {
67
+ return this.moveLocation;
68
+ }
69
+ setAsFieldInstruction() {
70
+ this.isFieldInstruction = true;
71
+ return this;
72
+ }
73
+ isFieldInstructionDeletion() {
74
+ return this.isFieldInstruction;
75
+ }
48
76
  formatDate(date) {
49
77
  return date.toISOString();
50
78
  }
79
+ getElementName() {
80
+ switch (this.type) {
81
+ case 'insert':
82
+ return 'w:ins';
83
+ case 'delete':
84
+ return 'w:del';
85
+ case 'runPropertiesChange':
86
+ return 'w:rPrChange';
87
+ case 'paragraphPropertiesChange':
88
+ return 'w:pPrChange';
89
+ case 'tablePropertiesChange':
90
+ return 'w:tblPrChange';
91
+ case 'tableExceptionPropertiesChange':
92
+ return 'w:tblPrExChange';
93
+ case 'tableRowPropertiesChange':
94
+ return 'w:trPrChange';
95
+ case 'tableCellPropertiesChange':
96
+ return 'w:tcPrChange';
97
+ case 'sectionPropertiesChange':
98
+ return 'w:sectPrChange';
99
+ case 'moveFrom':
100
+ return 'w:moveFrom';
101
+ case 'moveTo':
102
+ return 'w:moveTo';
103
+ case 'tableCellInsert':
104
+ return 'w:cellIns';
105
+ case 'tableCellDelete':
106
+ return 'w:cellDel';
107
+ case 'tableCellMerge':
108
+ return 'w:cellMerge';
109
+ case 'numberingChange':
110
+ return 'w:numberingChange';
111
+ default:
112
+ return 'w:ins';
113
+ }
114
+ }
51
115
  toXML() {
52
116
  const attributes = {
53
117
  'w:id': this.id.toString(),
54
118
  'w:author': this.author,
55
119
  'w:date': this.formatDate(this.date),
56
120
  };
57
- const elementName = this.type === 'insert' ? 'w:ins' : 'w:del';
121
+ if ((this.type === 'moveFrom' || this.type === 'moveTo') && this.moveId) {
122
+ attributes['w:moveId'] = this.moveId;
123
+ }
124
+ const elementName = this.getElementName();
58
125
  const children = [];
126
+ if (this.isPropertyChangeType()) {
127
+ if (this.previousProperties) {
128
+ children.push(this.createPropertiesElement());
129
+ }
130
+ }
59
131
  for (const run of this.runs) {
60
- if (this.type === 'delete') {
132
+ if (this.type === 'delete' || this.type === 'moveFrom') {
61
133
  const runXml = this.createDeletedRunXml(run);
62
134
  children.push(runXml);
63
135
  }
@@ -71,14 +143,76 @@ class Revision {
71
143
  children,
72
144
  };
73
145
  }
146
+ isPropertyChangeType() {
147
+ return [
148
+ 'runPropertiesChange',
149
+ 'paragraphPropertiesChange',
150
+ 'tablePropertiesChange',
151
+ 'tableExceptionPropertiesChange',
152
+ 'tableRowPropertiesChange',
153
+ 'tableCellPropertiesChange',
154
+ 'sectionPropertiesChange',
155
+ 'numberingChange',
156
+ ].includes(this.type);
157
+ }
158
+ createPropertiesElement() {
159
+ let propElementName = 'w:rPr';
160
+ switch (this.type) {
161
+ case 'runPropertiesChange':
162
+ propElementName = 'w:rPr';
163
+ break;
164
+ case 'paragraphPropertiesChange':
165
+ propElementName = 'w:pPr';
166
+ break;
167
+ case 'tablePropertiesChange':
168
+ propElementName = 'w:tblPr';
169
+ break;
170
+ case 'tableExceptionPropertiesChange':
171
+ propElementName = 'w:tblPrEx';
172
+ break;
173
+ case 'tableRowPropertiesChange':
174
+ propElementName = 'w:trPr';
175
+ break;
176
+ case 'tableCellPropertiesChange':
177
+ propElementName = 'w:tcPr';
178
+ break;
179
+ case 'sectionPropertiesChange':
180
+ propElementName = 'w:sectPr';
181
+ break;
182
+ case 'numberingChange':
183
+ propElementName = 'w:numPr';
184
+ break;
185
+ }
186
+ const propChildren = [];
187
+ if (this.previousProperties) {
188
+ for (const [key, value] of Object.entries(this.previousProperties)) {
189
+ if (typeof value === 'boolean' && value) {
190
+ propChildren.push({ name: `w:${key}`, attributes: {}, children: [] });
191
+ }
192
+ else if (typeof value === 'string' || typeof value === 'number') {
193
+ propChildren.push({
194
+ name: `w:${key}`,
195
+ attributes: { 'w:val': value.toString() },
196
+ children: [],
197
+ });
198
+ }
199
+ }
200
+ }
201
+ return {
202
+ name: propElementName,
203
+ attributes: {},
204
+ children: propChildren,
205
+ };
206
+ }
74
207
  createDeletedRunXml(run) {
75
208
  const runXml = run.toXML();
209
+ const deletedTextElement = this.isFieldInstruction ? 'w:delInstrText' : 'w:delText';
76
210
  if (runXml.children) {
77
211
  const modifiedChildren = runXml.children.map(child => {
78
212
  if (typeof child === 'object' && child.name === 'w:t') {
79
213
  return {
80
214
  ...child,
81
- name: 'w:delText',
215
+ name: deletedTextElement,
82
216
  };
83
217
  }
84
218
  return child;
@@ -106,6 +240,16 @@ class Revision {
106
240
  date,
107
241
  });
108
242
  }
243
+ static createFieldInstructionDeletion(author, content, date) {
244
+ const revision = new Revision({
245
+ author,
246
+ type: 'delete',
247
+ content,
248
+ date,
249
+ });
250
+ revision.setAsFieldInstruction();
251
+ return revision;
252
+ }
109
253
  static fromText(type, author, text, date) {
110
254
  const run = new Run_1.Run(text);
111
255
  return new Revision({
@@ -115,6 +259,93 @@ class Revision {
115
259
  date,
116
260
  });
117
261
  }
262
+ static createRunPropertiesChange(author, content, previousProperties, date) {
263
+ return new Revision({
264
+ author,
265
+ type: 'runPropertiesChange',
266
+ content,
267
+ previousProperties,
268
+ date,
269
+ });
270
+ }
271
+ static createParagraphPropertiesChange(author, content, previousProperties, date) {
272
+ return new Revision({
273
+ author,
274
+ type: 'paragraphPropertiesChange',
275
+ content,
276
+ previousProperties,
277
+ date,
278
+ });
279
+ }
280
+ static createTablePropertiesChange(author, content, previousProperties, date) {
281
+ return new Revision({
282
+ author,
283
+ type: 'tablePropertiesChange',
284
+ content,
285
+ previousProperties,
286
+ date,
287
+ });
288
+ }
289
+ static createTableExceptionPropertiesChange(author, content, previousProperties, date) {
290
+ return new Revision({
291
+ author,
292
+ type: 'tableExceptionPropertiesChange',
293
+ content,
294
+ previousProperties,
295
+ date,
296
+ });
297
+ }
298
+ static createMoveFrom(author, content, moveId, date) {
299
+ return new Revision({
300
+ author,
301
+ type: 'moveFrom',
302
+ content,
303
+ moveId,
304
+ date,
305
+ });
306
+ }
307
+ static createMoveTo(author, content, moveId, date) {
308
+ return new Revision({
309
+ author,
310
+ type: 'moveTo',
311
+ content,
312
+ moveId,
313
+ date,
314
+ });
315
+ }
316
+ static createTableCellInsert(author, content, date) {
317
+ return new Revision({
318
+ author,
319
+ type: 'tableCellInsert',
320
+ content,
321
+ date,
322
+ });
323
+ }
324
+ static createTableCellDelete(author, content, date) {
325
+ return new Revision({
326
+ author,
327
+ type: 'tableCellDelete',
328
+ content,
329
+ date,
330
+ });
331
+ }
332
+ static createTableCellMerge(author, content, date) {
333
+ return new Revision({
334
+ author,
335
+ type: 'tableCellMerge',
336
+ content,
337
+ date,
338
+ });
339
+ }
340
+ static createNumberingChange(author, content, previousProperties, date) {
341
+ return new Revision({
342
+ author,
343
+ type: 'numberingChange',
344
+ content,
345
+ previousProperties,
346
+ date,
347
+ });
348
+ }
118
349
  }
119
350
  exports.Revision = Revision;
120
351
  //# sourceMappingURL=Revision.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Revision.js","sourceRoot":"","sources":["../../src/elements/Revision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Revision.js","sourceRoot":"","sources":["../../src/elements/Revision.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { Revision } from './Revision';
1
+ import { Revision, RevisionType } from './Revision';
2
2
  export declare class RevisionManager {
3
3
  private revisions;
4
4
  private nextId;
5
5
  register(revision: Revision): Revision;
6
6
  getAllRevisions(): Revision[];
7
- getRevisionsByType(type: 'insert' | 'delete'): Revision[];
7
+ getRevisionsByType(type: RevisionType): Revision[];
8
8
  getRevisionsByAuthor(author: string): Revision[];
9
9
  getCount(): number;
10
10
  getInsertionCount(): number;
@@ -16,16 +16,34 @@ export declare class RevisionManager {
16
16
  findRevisionsByText(searchText: string): Revision[];
17
17
  getAllInsertions(): Revision[];
18
18
  getAllDeletions(): Revision[];
19
+ getAllRunPropertiesChanges(): Revision[];
20
+ getAllParagraphPropertiesChanges(): Revision[];
21
+ getAllTablePropertiesChanges(): Revision[];
22
+ getAllMoves(): Revision[];
23
+ getAllMoveFrom(): Revision[];
24
+ getAllMoveTo(): Revision[];
25
+ getAllTableCellChanges(): Revision[];
26
+ getAllNumberingChanges(): Revision[];
27
+ getAllPropertyChanges(): Revision[];
28
+ getMovePair(moveId: string): {
29
+ moveFrom?: Revision;
30
+ moveTo?: Revision;
31
+ };
19
32
  getStats(): {
20
33
  total: number;
21
34
  insertions: number;
22
35
  deletions: number;
36
+ propertyChanges: number;
37
+ moves: number;
38
+ tableCellChanges: number;
23
39
  authors: string[];
24
40
  nextId: number;
25
41
  };
26
42
  isTrackingChanges(): boolean;
27
43
  getLatestRevision(): Revision | undefined;
28
44
  getRevisionsByDateRange(startDate: Date, endDate: Date): Revision[];
45
+ getNextId(): number;
46
+ peekNextId(): number;
29
47
  static create(): RevisionManager;
30
48
  }
31
49
  //# sourceMappingURL=RevisionManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RevisionManager.d.ts","sourceRoot":"","sources":["../../src/elements/RevisionManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAa;IAQ3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ;IActC,eAAe,IAAI,QAAQ,EAAE;IAS7B,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EAAE;IASzD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAQhD,QAAQ,IAAI,MAAM;IAQlB,iBAAiB,IAAI,MAAM;IAQ3B,gBAAgB,IAAI,MAAM;IAQ1B,UAAU,IAAI,MAAM,EAAE;IAWtB,KAAK,IAAI,IAAI;IASb,OAAO,IAAI,OAAO;IASlB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAW7C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAenD,gBAAgB,IAAI,QAAQ,EAAE;IAQ9B,eAAe,IAAI,QAAQ,EAAE;IAQ7B,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB;IAcD,iBAAiB,IAAI,OAAO;IAQ5B,iBAAiB,IAAI,QAAQ,GAAG,SAAS;IAazC,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,QAAQ,EAAE;IAWnE,MAAM,CAAC,MAAM,IAAI,eAAe;CAGjC"}
1
+ {"version":3,"file":"RevisionManager.d.ts","sourceRoot":"","sources":["../../src/elements/RevisionManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAKpD,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAa;IAQ3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ;IActC,eAAe,IAAI,QAAQ,EAAE;IAS7B,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,EAAE;IASlD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAQhD,QAAQ,IAAI,MAAM;IAQlB,iBAAiB,IAAI,MAAM;IAQ3B,gBAAgB,IAAI,MAAM;IAQ1B,UAAU,IAAI,MAAM,EAAE;IAWtB,KAAK,IAAI,IAAI;IASb,OAAO,IAAI,OAAO;IASlB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAW7C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAenD,gBAAgB,IAAI,QAAQ,EAAE;IAQ9B,eAAe,IAAI,QAAQ,EAAE;IAQ7B,0BAA0B,IAAI,QAAQ,EAAE;IAQxC,gCAAgC,IAAI,QAAQ,EAAE;IAQ9C,4BAA4B,IAAI,QAAQ,EAAE;IAQ1C,WAAW,IAAI,QAAQ,EAAE;IAUzB,cAAc,IAAI,QAAQ,EAAE;IAQ5B,YAAY,IAAI,QAAQ,EAAE;IAQ1B,sBAAsB,IAAI,QAAQ,EAAE;IAYpC,sBAAsB,IAAI,QAAQ,EAAE;IAQpC,qBAAqB,IAAI,QAAQ,EAAE;IAiBnC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;KAAE;IAcvE,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB;IAiBD,iBAAiB,IAAI,OAAO;IAQ5B,iBAAiB,IAAI,QAAQ,GAAG,SAAS;IAazC,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,QAAQ,EAAE;IAYnE,SAAS,IAAI,MAAM;IAQnB,UAAU,IAAI,MAAM;IAQpB,MAAM,CAAC,MAAM,IAAI,eAAe;CAGjC"}