@mlightcad/data-model 1.15.25 → 1.15.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data-model.cjs +14 -14
- package/lib/database/AcDbDatabase.d.ts +14 -0
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +66 -32
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/transaction/AcDbChangeApplier.d.ts +18 -0
- package/lib/database/transaction/AcDbChangeApplier.d.ts.map +1 -1
- package/lib/database/transaction/AcDbChangeApplier.js +62 -10
- package/lib/database/transaction/AcDbChangeApplier.js.map +1 -1
- package/lib/database/transaction/AcDbChangeRecorder.d.ts +21 -9
- package/lib/database/transaction/AcDbChangeRecorder.d.ts.map +1 -1
- package/lib/database/transaction/AcDbChangeRecorder.js +101 -32
- package/lib/database/transaction/AcDbChangeRecorder.js.map +1 -1
- package/package.json +5 -5
|
@@ -6,9 +6,25 @@ import { AcDbChangeContainer, AcDbDatabaseChange } from './AcDbDatabaseChange.js
|
|
|
6
6
|
*
|
|
7
7
|
* Append/remove pairs that cancel within the same transaction are coalesced,
|
|
8
8
|
* and duplicate modify/sysvar entries for the same target are ignored.
|
|
9
|
+
*
|
|
10
|
+
* Lookups go through indexes rather than scanning {@link getChanges}, so
|
|
11
|
+
* recording stays linear for transactions with hundreds of thousands of
|
|
12
|
+
* changes (for example a large file import).
|
|
9
13
|
*/
|
|
10
14
|
export declare class AcDbChangeRecorder {
|
|
11
15
|
private readonly changes;
|
|
16
|
+
/** First modify entry per object ID. */
|
|
17
|
+
private readonly modifyById;
|
|
18
|
+
/** First sysvar entry per normalized variable name. */
|
|
19
|
+
private readonly sysvarByName;
|
|
20
|
+
/** Live structural entries per {@link structuralKey}, oldest first. */
|
|
21
|
+
private readonly structuralByKey;
|
|
22
|
+
/**
|
|
23
|
+
* Entries cancelled since the last compaction. Removing them from
|
|
24
|
+
* {@link changes} one `splice` at a time would be quadratic, so they are
|
|
25
|
+
* dropped in one pass by {@link getChanges}.
|
|
26
|
+
*/
|
|
27
|
+
private readonly cancelled;
|
|
12
28
|
/**
|
|
13
29
|
* Returns the changes recorded so far in this transaction.
|
|
14
30
|
*
|
|
@@ -89,6 +105,7 @@ export declare class AcDbChangeRecorder {
|
|
|
89
105
|
*
|
|
90
106
|
* When an opposite structural change for the same container and object ID
|
|
91
107
|
* already exists in this transaction, both entries cancel and neither is kept.
|
|
108
|
+
* The oldest matching entry is the one cancelled.
|
|
92
109
|
*
|
|
93
110
|
* @param change - Append or remove entry to merge into the recorder
|
|
94
111
|
*/
|
|
@@ -102,15 +119,10 @@ export declare class AcDbChangeRecorder {
|
|
|
102
119
|
* @param change - Change copied from a child transaction recorder
|
|
103
120
|
*/
|
|
104
121
|
private mergeChange;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
* @param container - Container descriptor that must match exactly
|
|
110
|
-
* @param objectId - Object identifier of the affected record
|
|
111
|
-
* @returns Index in {@link changes}, or `-1` when no match exists
|
|
112
|
-
*/
|
|
113
|
-
private findStructuralChangeIndex;
|
|
122
|
+
private addModify;
|
|
123
|
+
private addSysvar;
|
|
124
|
+
/** Drops cancelled entries from {@link changes}, keeping order. */
|
|
125
|
+
private compact;
|
|
114
126
|
/**
|
|
115
127
|
* Reads the current value of a system variable from the database.
|
|
116
128
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbChangeRecorder.d.ts","sourceRoot":"","sources":["../../../src/database/transaction/AcDbChangeRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,
|
|
1
|
+
{"version":3,"file":"AcDbChangeRecorder.d.ts","sourceRoot":"","sources":["../../../src/database/transaction/AcDbChangeRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,yBAAyB,CAAA;AAgChC;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwC;IACrE,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4C;IAC5E;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAE1D;;;;OAIG;IACH,UAAU,IAAI,kBAAkB,EAAE;IAKlC;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAM1C;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAYtC;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;;;;;OAQG;IACH,YAAY,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAQtE;;;;;;;;OAQG;IACH,YAAY,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAQtE;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAYjD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAatC;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,SAAS;IAKjB,mEAAmE;IACnE,OAAO,CAAC,OAAO;IAcf;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CAGvB"}
|
|
@@ -10,16 +10,51 @@ var __values = (this && this.__values) || function(o) {
|
|
|
10
10
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
11
11
|
};
|
|
12
12
|
import { AcDbSysVarManager } from '../AcDbSysVarManager.js';
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Builds a lookup key that is equal for two structural changes exactly when
|
|
15
|
+
* their kind, container (see `acdbAreChangeContainersEqual`) and object ID
|
|
16
|
+
* all match.
|
|
17
|
+
*/
|
|
18
|
+
function structuralKey(kind, container, objectId) {
|
|
19
|
+
var location;
|
|
20
|
+
switch (container.type) {
|
|
21
|
+
case 'blockTableRecord':
|
|
22
|
+
location = container.ownerId;
|
|
23
|
+
break;
|
|
24
|
+
case 'symbolTable':
|
|
25
|
+
location = container.tableName;
|
|
26
|
+
break;
|
|
27
|
+
case 'dictionary':
|
|
28
|
+
location = "".concat(container.dictionaryId, "\0").concat(container.key);
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
return "".concat(kind, "\0").concat(container.type, "\0").concat(location, "\0").concat(objectId);
|
|
32
|
+
}
|
|
14
33
|
/**
|
|
15
34
|
* Accumulates structured database changes during an active transaction.
|
|
16
35
|
*
|
|
17
36
|
* Append/remove pairs that cancel within the same transaction are coalesced,
|
|
18
37
|
* and duplicate modify/sysvar entries for the same target are ignored.
|
|
38
|
+
*
|
|
39
|
+
* Lookups go through indexes rather than scanning {@link getChanges}, so
|
|
40
|
+
* recording stays linear for transactions with hundreds of thousands of
|
|
41
|
+
* changes (for example a large file import).
|
|
19
42
|
*/
|
|
20
43
|
var AcDbChangeRecorder = /** @class */ (function () {
|
|
21
44
|
function AcDbChangeRecorder() {
|
|
22
45
|
this.changes = [];
|
|
46
|
+
/** First modify entry per object ID. */
|
|
47
|
+
this.modifyById = new Map();
|
|
48
|
+
/** First sysvar entry per normalized variable name. */
|
|
49
|
+
this.sysvarByName = new Map();
|
|
50
|
+
/** Live structural entries per {@link structuralKey}, oldest first. */
|
|
51
|
+
this.structuralByKey = new Map();
|
|
52
|
+
/**
|
|
53
|
+
* Entries cancelled since the last compaction. Removing them from
|
|
54
|
+
* {@link changes} one `splice` at a time would be quadratic, so they are
|
|
55
|
+
* dropped in one pass by {@link getChanges}.
|
|
56
|
+
*/
|
|
57
|
+
this.cancelled = new Set();
|
|
23
58
|
}
|
|
24
59
|
/**
|
|
25
60
|
* Returns the changes recorded so far in this transaction.
|
|
@@ -27,6 +62,7 @@ var AcDbChangeRecorder = /** @class */ (function () {
|
|
|
27
62
|
* The returned array is the internal store; callers should treat it as read-only.
|
|
28
63
|
*/
|
|
29
64
|
AcDbChangeRecorder.prototype.getChanges = function () {
|
|
65
|
+
this.compact();
|
|
30
66
|
return this.changes;
|
|
31
67
|
};
|
|
32
68
|
/**
|
|
@@ -34,6 +70,10 @@ var AcDbChangeRecorder = /** @class */ (function () {
|
|
|
34
70
|
*/
|
|
35
71
|
AcDbChangeRecorder.prototype.clear = function () {
|
|
36
72
|
this.changes.length = 0;
|
|
73
|
+
this.modifyById.clear();
|
|
74
|
+
this.sysvarByName.clear();
|
|
75
|
+
this.structuralByKey.clear();
|
|
76
|
+
this.cancelled.clear();
|
|
37
77
|
};
|
|
38
78
|
/**
|
|
39
79
|
* Merges changes from a nested transaction into this recorder.
|
|
@@ -68,11 +108,10 @@ var AcDbChangeRecorder = /** @class */ (function () {
|
|
|
68
108
|
*/
|
|
69
109
|
AcDbChangeRecorder.prototype.recordModify = function (object) {
|
|
70
110
|
var objectId = object.objectId;
|
|
71
|
-
|
|
72
|
-
if (existing) {
|
|
111
|
+
if (this.modifyById.has(objectId)) {
|
|
73
112
|
return;
|
|
74
113
|
}
|
|
75
|
-
this.
|
|
114
|
+
this.addModify({
|
|
76
115
|
kind: 'modify',
|
|
77
116
|
objectId: objectId,
|
|
78
117
|
before: object.clonePreservingIdentity()
|
|
@@ -88,7 +127,7 @@ var AcDbChangeRecorder = /** @class */ (function () {
|
|
|
88
127
|
* @param objectId - Object identifier to look up
|
|
89
128
|
*/
|
|
90
129
|
AcDbChangeRecorder.prototype.hasModify = function (objectId) {
|
|
91
|
-
return this.
|
|
130
|
+
return this.modifyById.has(objectId);
|
|
92
131
|
};
|
|
93
132
|
/**
|
|
94
133
|
* Records insertion of an object into a database container.
|
|
@@ -132,11 +171,10 @@ var AcDbChangeRecorder = /** @class */ (function () {
|
|
|
132
171
|
*/
|
|
133
172
|
AcDbChangeRecorder.prototype.recordSysvar = function (name, before) {
|
|
134
173
|
var normalizedName = name.toLowerCase();
|
|
135
|
-
|
|
136
|
-
if (existing) {
|
|
174
|
+
if (this.sysvarByName.has(normalizedName)) {
|
|
137
175
|
return;
|
|
138
176
|
}
|
|
139
|
-
this.
|
|
177
|
+
this.addSysvar({
|
|
140
178
|
kind: 'sysvar',
|
|
141
179
|
name: normalizedName,
|
|
142
180
|
before: before
|
|
@@ -153,7 +191,7 @@ var AcDbChangeRecorder = /** @class */ (function () {
|
|
|
153
191
|
AcDbChangeRecorder.prototype.finalize = function (database) {
|
|
154
192
|
var e_2, _a;
|
|
155
193
|
try {
|
|
156
|
-
for (var _b = __values(this.
|
|
194
|
+
for (var _b = __values(this.getChanges()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
157
195
|
var change = _c.value;
|
|
158
196
|
if (change.kind === 'modify') {
|
|
159
197
|
var object = database.getObjectById(change.objectId);
|
|
@@ -179,16 +217,31 @@ var AcDbChangeRecorder = /** @class */ (function () {
|
|
|
179
217
|
*
|
|
180
218
|
* When an opposite structural change for the same container and object ID
|
|
181
219
|
* already exists in this transaction, both entries cancel and neither is kept.
|
|
220
|
+
* The oldest matching entry is the one cancelled.
|
|
182
221
|
*
|
|
183
222
|
* @param change - Append or remove entry to merge into the recorder
|
|
184
223
|
*/
|
|
185
224
|
AcDbChangeRecorder.prototype.recordStructuralChange = function (change) {
|
|
225
|
+
var objectId = change.object.objectId;
|
|
186
226
|
var oppositeKind = change.kind === 'append' ? 'remove' : 'append';
|
|
187
|
-
var
|
|
188
|
-
|
|
189
|
-
|
|
227
|
+
var oppositeKey = structuralKey(oppositeKind, change.container, objectId);
|
|
228
|
+
var opposites = this.structuralByKey.get(oppositeKey);
|
|
229
|
+
if (opposites && opposites.length > 0) {
|
|
230
|
+
var cancelled = opposites.shift();
|
|
231
|
+
if (opposites.length === 0) {
|
|
232
|
+
this.structuralByKey.delete(oppositeKey);
|
|
233
|
+
}
|
|
234
|
+
this.cancelled.add(cancelled);
|
|
190
235
|
return;
|
|
191
236
|
}
|
|
237
|
+
var key = structuralKey(change.kind, change.container, objectId);
|
|
238
|
+
var entries = this.structuralByKey.get(key);
|
|
239
|
+
if (entries) {
|
|
240
|
+
entries.push(change);
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
this.structuralByKey.set(key, [change]);
|
|
244
|
+
}
|
|
192
245
|
this.changes.push(change);
|
|
193
246
|
};
|
|
194
247
|
/**
|
|
@@ -201,35 +254,51 @@ var AcDbChangeRecorder = /** @class */ (function () {
|
|
|
201
254
|
*/
|
|
202
255
|
AcDbChangeRecorder.prototype.mergeChange = function (change) {
|
|
203
256
|
if (change.kind === 'modify') {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
this.changes.push(change);
|
|
257
|
+
if (!this.modifyById.has(change.objectId)) {
|
|
258
|
+
this.addModify(change);
|
|
207
259
|
}
|
|
208
260
|
return;
|
|
209
261
|
}
|
|
210
262
|
if (change.kind === 'sysvar') {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
this.changes.push(change);
|
|
263
|
+
if (!this.sysvarByName.has(change.name)) {
|
|
264
|
+
this.addSysvar(change);
|
|
214
265
|
}
|
|
215
266
|
return;
|
|
216
267
|
}
|
|
217
268
|
this.recordStructuralChange(change);
|
|
218
269
|
};
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
}
|
|
270
|
+
AcDbChangeRecorder.prototype.addModify = function (change) {
|
|
271
|
+
this.modifyById.set(change.objectId, change);
|
|
272
|
+
this.changes.push(change);
|
|
273
|
+
};
|
|
274
|
+
AcDbChangeRecorder.prototype.addSysvar = function (change) {
|
|
275
|
+
this.sysvarByName.set(change.name, change);
|
|
276
|
+
this.changes.push(change);
|
|
277
|
+
};
|
|
278
|
+
/** Drops cancelled entries from {@link changes}, keeping order. */
|
|
279
|
+
AcDbChangeRecorder.prototype.compact = function () {
|
|
280
|
+
var e_3, _a;
|
|
281
|
+
if (this.cancelled.size === 0) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
var write = 0;
|
|
285
|
+
try {
|
|
286
|
+
for (var _b = __values(this.changes), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
287
|
+
var change = _c.value;
|
|
288
|
+
if (!this.cancelled.has(change)) {
|
|
289
|
+
this.changes[write++] = change;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
294
|
+
finally {
|
|
295
|
+
try {
|
|
296
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
297
|
+
}
|
|
298
|
+
finally { if (e_3) throw e_3.error; }
|
|
299
|
+
}
|
|
300
|
+
this.changes.length = write;
|
|
301
|
+
this.cancelled.clear();
|
|
233
302
|
};
|
|
234
303
|
/**
|
|
235
304
|
* Reads the current value of a system variable from the database.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbChangeRecorder.js","sourceRoot":"","sources":["../../../src/database/transaction/AcDbChangeRecorder.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"AcDbChangeRecorder.js","sourceRoot":"","sources":["../../../src/database/transaction/AcDbChangeRecorder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mlightcad/data-model",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.26",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"uid": "^2.0.2",
|
|
42
|
-
"@mlightcad/
|
|
43
|
-
"@mlightcad/
|
|
44
|
-
"@mlightcad/
|
|
45
|
-
"@mlightcad/graphic-interface": "3.15.
|
|
42
|
+
"@mlightcad/emf-converter": "1.15.26",
|
|
43
|
+
"@mlightcad/common": "1.15.26",
|
|
44
|
+
"@mlightcad/geometry-engine": "3.15.26",
|
|
45
|
+
"@mlightcad/graphic-interface": "3.15.26"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"analyze": "pnpm run analyze:lib",
|