@proteinjs/db 1.42.0 → 1.43.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/CHANGELOG.md +18 -0
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/test/index.js +1 -1
- package/dist/generated/test/index.js.map +1 -1
- package/dist/src/Table.d.ts +13 -0
- package/dist/src/Table.d.ts.map +1 -1
- package/dist/src/source/SourceRecordLoader.d.ts +29 -0
- package/dist/src/source/SourceRecordLoader.d.ts.map +1 -1
- package/dist/src/source/SourceRecordLoader.js +102 -28
- package/dist/src/source/SourceRecordLoader.js.map +1 -1
- package/dist/test/reusable/SourceRecordSyncTests.d.ts.map +1 -1
- package/dist/test/reusable/SourceRecordSyncTests.js +110 -0
- package/dist/test/reusable/SourceRecordSyncTests.js.map +1 -1
- package/generated/index.ts +1 -1
- package/generated/test/index.ts +1 -1
- package/jest.config.js +8 -0
- package/package.json +2 -2
- package/src/Table.ts +13 -0
- package/src/source/SourceRecordLoader.ts +80 -1
- package/test/reusable/SourceRecordSyncTests.ts +69 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,+BAA6B;AAC7B,6BAA2B;AAC3B,iCAA+B;AAC/B,iCAA+B;AAC/B,8BAA4B;AAC5B,gCAA8B;AAG9B,4BAA4B;AAE5B,IAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Table.d.ts
CHANGED
|
@@ -262,6 +262,19 @@ export type SourceRecordOptions<T = any> = {
|
|
|
262
262
|
* `Db.update`, so table watchers observe the write. Re-declaring the record reverts the
|
|
263
263
|
* patch via normal drift reversion — removal is reversible in source.
|
|
264
264
|
*
|
|
265
|
+
* THE SOFT-REMOVAL CONTRACT: a source-record table that soft-removes (keeps rows on removal —
|
|
266
|
+
* the `{ update }` policy) must adopt its soft-removed rows on re-declaration and re-derive
|
|
267
|
+
* their state from the declaration. Under the default (delete) lifecycle, re-declaration is a
|
|
268
|
+
* plain re-insert and naturally idempotent; a kept row instead still holds the declared id, so
|
|
269
|
+
* a re-declaration whose natural key no longer matches it (renamed while removed) would INSERT
|
|
270
|
+
* into a primary-key collision and fail the boot. The sync therefore widens adoption for these
|
|
271
|
+
* tables: a declaration whose natural key matches nothing re-claims the soft-removed row
|
|
272
|
+
* holding its declared id (same owning package only), reactivating it by re-deriving every
|
|
273
|
+
* declared field — declaration is the source of truth, so no removed-era state (grants,
|
|
274
|
+
* status, natural key) survives re-adoption, while runtime-owned fields the declaration never
|
|
275
|
+
* emits are preserved. Any future soft-removal table inherits this requirement; machine
|
|
276
|
+
* accounts (the `@proteinjs/user` user table) are the first implementer.
|
|
277
|
+
*
|
|
265
278
|
* Rows never loaded from source are structurally untouchable by every policy: the removed
|
|
266
279
|
* reconcile only ever matches `is_loaded_from_source = true`.
|
|
267
280
|
*/
|
package/dist/src/Table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,35 @@ export declare class SourceRecordLoader {
|
|
|
61
61
|
* See {@link load} for the ownership model.
|
|
62
62
|
*/
|
|
63
63
|
private reconcileRemoved;
|
|
64
|
+
/**
|
|
65
|
+
* The widened adoption match for tables that SOFT-remove (keep rows on removal via the
|
|
66
|
+
* `onSourceRemoved` update policy): a declaration whose natural key matched nothing may still
|
|
67
|
+
* be a RE-declaration of a removed-and-kept row — the same stable declared id under a changed
|
|
68
|
+
* natural key (e.g. a machine account renamed while decommissioned). Without this, the insert
|
|
69
|
+
* leg collides with the kept row's primary key and the boot fails.
|
|
70
|
+
*
|
|
71
|
+
* Returns the soft-removed row the declaration re-claims, or undefined. The match is
|
|
72
|
+
* deliberately strict — all of:
|
|
73
|
+
* - the table keeps removed rows (`onSourceRemoved` is an update patch — soft removal);
|
|
74
|
+
* - a row holds the DECLARED id;
|
|
75
|
+
* - that row is source-owned (`is_loaded_from_source = true`) by THIS declaration's package
|
|
76
|
+
* (never adopt a human/runtime row, or another package's row, by id);
|
|
77
|
+
* - no declaration in this build claims the row by natural key (it is a removed row, not a
|
|
78
|
+
* duplicate-id declaration — that case still fails the boot loudly at insert).
|
|
79
|
+
*
|
|
80
|
+
* The caller then reactivates the row by re-deriving every declared field from the current
|
|
81
|
+
* declaration (natural key included) through the normal drift-reversion update — declaration
|
|
82
|
+
* is the source of truth, so nothing removed-era (grants, status, natural key) survives
|
|
83
|
+
* re-adoption; runtime-owned fields the declaration never emits are untouched. The version
|
|
84
|
+
* guard is the caller's existing stamped-newer branch, which applies to the returned row
|
|
85
|
+
* verbatim (same package by construction).
|
|
86
|
+
*
|
|
87
|
+
* This is the one-off form of a future generic `softRemoval` hook (adopt-including-removed +
|
|
88
|
+
* reactivate-from-declaration): graduating it means lifting this method behind a table-level
|
|
89
|
+
* seam, not rewriting the semantics. The contract lives on
|
|
90
|
+
* {@link SourceRecordOptions.onSourceRemoved}.
|
|
91
|
+
*/
|
|
92
|
+
private softRemovedRecordHoldingDeclaredId;
|
|
64
93
|
/**
|
|
65
94
|
* Source-loaded rows with no owner stamp that no declaration in this build claimed on this
|
|
66
95
|
* boot (the stamp leg has already run). They predate `source_package`, or their declaring
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceRecordLoader.d.ts","sourceRoot":"","sources":["../../../src/source/SourceRecordLoader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAejC,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B,CAAA;CAAE,CAAC;AAE5F,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA+C;IAE7D,+FAA+F;IAC/F,OAAO,CAAC,cAAc,CAAyC;IAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SourceRecordLoader.d.ts","sourceRoot":"","sources":["../../../src/source/SourceRecordLoader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAejC,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B,CAAA;CAAE,CAAC;AAE5F,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA+C;IAE7D,+FAA+F;IAC/F,OAAO,CAAC,cAAc,CAAyC;IAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgIpE;;;;;;;;;OASG;YACW,gBAAgB;IA2D9B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;YACW,kCAAkC;IA0BhD;;;;;;OAMG;YACW,YAAY;IAkB1B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA+CvB;;;;;;;;;;;OAWG;YACW,UAAU;IAmBxB;;;OAGG;YACW,eAAe;IAmB7B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAmB1B,mGAAmG;IACnG,OAAO,CAAC,aAAa;IAQrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IAuC5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAapB;;;;OAIG;IACH,OAAO,CAAC,eAAe;CA4DxB"}
|
|
@@ -101,10 +101,10 @@ var SourceRecordLoader = /** @class */ (function () {
|
|
|
101
101
|
db = (0, Db_1.getDbAsSystem)();
|
|
102
102
|
summary = {};
|
|
103
103
|
_loop_1 = function (tableName) {
|
|
104
|
-
var _f, table, records, keyProperty, allDeclaredKeys, removed, insertCount, updateCount, unchangedCount, adoptedCount, skippedNewer, _g, records_1, _h, source, record, sourceRecord, sourceVersion, existingRecord, dbSourceRecord, unowned;
|
|
105
|
-
var _j, _k;
|
|
106
|
-
return __generator(this, function (
|
|
107
|
-
switch (
|
|
104
|
+
var _f, table, records, keyProperty, allDeclaredKeys, removed, insertCount, updateCount, unchangedCount, adoptedCount, skippedNewer, _g, records_1, _h, source, record, sourceRecord, sourceVersion, existingRecord, reclaimedSoftRemoved, dbSourceRecord, unowned;
|
|
105
|
+
var _j, _k, _l;
|
|
106
|
+
return __generator(this, function (_m) {
|
|
107
|
+
switch (_m.label) {
|
|
108
108
|
case 0:
|
|
109
109
|
if (onlyTable && tableName !== onlyTable.name) {
|
|
110
110
|
return [2 /*return*/, "continue"];
|
|
@@ -120,16 +120,16 @@ var SourceRecordLoader = /** @class */ (function () {
|
|
|
120
120
|
});
|
|
121
121
|
return [4 /*yield*/, this_1.reconcileRemoved(db, table, keyProperty, buildSources, allDeclaredKeys)];
|
|
122
122
|
case 1:
|
|
123
|
-
removed =
|
|
123
|
+
removed = _m.sent();
|
|
124
124
|
insertCount = 0;
|
|
125
125
|
updateCount = 0;
|
|
126
126
|
unchangedCount = 0;
|
|
127
127
|
adoptedCount = 0;
|
|
128
128
|
skippedNewer = removed.skippedNewer;
|
|
129
129
|
_g = 0, records_1 = records;
|
|
130
|
-
|
|
130
|
+
_m.label = 2;
|
|
131
131
|
case 2:
|
|
132
|
-
if (!(_g < records_1.length)) return [3 /*break*/,
|
|
132
|
+
if (!(_g < records_1.length)) return [3 /*break*/, 14];
|
|
133
133
|
_h = records_1[_g], source = _h.source, record = _h.record;
|
|
134
134
|
sourceRecord = record;
|
|
135
135
|
sourceRecord.isLoadedFromSource = true;
|
|
@@ -144,15 +144,23 @@ var SourceRecordLoader = /** @class */ (function () {
|
|
|
144
144
|
}
|
|
145
145
|
return [4 /*yield*/, db.get(table, (_j = {}, _j[keyProperty] = sourceRecord[keyProperty], _j))];
|
|
146
146
|
case 3:
|
|
147
|
-
existingRecord =
|
|
148
|
-
|
|
147
|
+
existingRecord = _m.sent();
|
|
148
|
+
reclaimedSoftRemoved = false;
|
|
149
|
+
if (!!existingRecord) return [3 /*break*/, 5];
|
|
150
|
+
return [4 /*yield*/, this_1.softRemovedRecordHoldingDeclaredId(db, table, keyProperty, sourceRecord.id, source, allDeclaredKeys)];
|
|
151
|
+
case 4:
|
|
152
|
+
existingRecord = _m.sent();
|
|
153
|
+
reclaimedSoftRemoved = existingRecord !== undefined;
|
|
154
|
+
_m.label = 5;
|
|
155
|
+
case 5:
|
|
156
|
+
if (!existingRecord) return [3 /*break*/, 10];
|
|
149
157
|
if (existingRecord.sourcePackage === source &&
|
|
150
158
|
this_1.isNewerStamp(existingRecord.sourcePackageVersion, sourceVersion)) {
|
|
151
159
|
// A newer version of this very package already defined the row: this build's older
|
|
152
160
|
// definition does not land, and the row's stamp is not downgraded.
|
|
153
161
|
skippedNewer += 1;
|
|
154
162
|
new SourceRecordRepo_1.SourceRecordRepo().loadSourceRecord(table.name, existingRecord);
|
|
155
|
-
return [3 /*break*/,
|
|
163
|
+
return [3 /*break*/, 13];
|
|
156
164
|
}
|
|
157
165
|
if (existingRecord.id !== sourceRecord.id) {
|
|
158
166
|
// Adopt in place: the existing row keeps its id — other tables may reference it.
|
|
@@ -168,34 +176,48 @@ var SourceRecordLoader = /** @class */ (function () {
|
|
|
168
176
|
obj: (_k = {}, _k[keyProperty] = sourceRecord[keyProperty], _k.id = existingRecord.id, _k),
|
|
169
177
|
});
|
|
170
178
|
}
|
|
179
|
+
else if (reclaimedSoftRemoved) {
|
|
180
|
+
// A soft-removed row re-claimed by its declaration under a changed natural key:
|
|
181
|
+
// adopted in place and reactivated from the declaration by the update below.
|
|
182
|
+
adoptedCount += 1;
|
|
183
|
+
this_1.logger.info({
|
|
184
|
+
message: "(".concat(table.name, ") Adopting soft-removed record re-declared under a changed ").concat(keyProperty),
|
|
185
|
+
obj: (_l = {
|
|
186
|
+
id: existingRecord.id
|
|
187
|
+
},
|
|
188
|
+
_l["removed_".concat(keyProperty)] = existingRecord[keyProperty],
|
|
189
|
+
_l[keyProperty] = sourceRecord[keyProperty],
|
|
190
|
+
_l),
|
|
191
|
+
});
|
|
192
|
+
}
|
|
171
193
|
return [4 /*yield*/, this_1.hasChanges(table, sourceRecord, existingRecord)];
|
|
172
|
-
case
|
|
173
|
-
if (!
|
|
194
|
+
case 6:
|
|
195
|
+
if (!_m.sent()) return [3 /*break*/, 8];
|
|
174
196
|
return [4 /*yield*/, db.update(table, sourceRecord)];
|
|
175
|
-
case
|
|
176
|
-
|
|
197
|
+
case 7:
|
|
198
|
+
_m.sent();
|
|
177
199
|
updateCount += 1;
|
|
178
|
-
return [3 /*break*/,
|
|
179
|
-
case
|
|
200
|
+
return [3 /*break*/, 9];
|
|
201
|
+
case 8:
|
|
180
202
|
unchangedCount += 1;
|
|
181
|
-
|
|
182
|
-
case
|
|
183
|
-
case
|
|
184
|
-
case
|
|
185
|
-
dbSourceRecord =
|
|
203
|
+
_m.label = 9;
|
|
204
|
+
case 9: return [3 /*break*/, 12];
|
|
205
|
+
case 10: return [4 /*yield*/, db.insert(table, sourceRecord)];
|
|
206
|
+
case 11:
|
|
207
|
+
dbSourceRecord = _m.sent();
|
|
186
208
|
sourceRecord = __assign(__assign({}, sourceRecord), dbSourceRecord);
|
|
187
209
|
insertCount += 1;
|
|
188
|
-
|
|
189
|
-
case
|
|
210
|
+
_m.label = 12;
|
|
211
|
+
case 12:
|
|
190
212
|
// Registered under the DB id (= the adopted id when an existing row matched by natural key).
|
|
191
213
|
new SourceRecordRepo_1.SourceRecordRepo().loadSourceRecord(table.name, sourceRecord);
|
|
192
|
-
|
|
193
|
-
case
|
|
214
|
+
_m.label = 13;
|
|
215
|
+
case 13:
|
|
194
216
|
_g++;
|
|
195
217
|
return [3 /*break*/, 2];
|
|
196
|
-
case
|
|
197
|
-
case
|
|
198
|
-
unowned =
|
|
218
|
+
case 14: return [4 /*yield*/, this_1.countUnowned(db, table, keyProperty)];
|
|
219
|
+
case 15:
|
|
220
|
+
unowned = _m.sent();
|
|
199
221
|
summary[table.name] = {
|
|
200
222
|
inserts: insertCount,
|
|
201
223
|
updates: updateCount,
|
|
@@ -321,6 +343,58 @@ var SourceRecordLoader = /** @class */ (function () {
|
|
|
321
343
|
});
|
|
322
344
|
});
|
|
323
345
|
};
|
|
346
|
+
/**
|
|
347
|
+
* The widened adoption match for tables that SOFT-remove (keep rows on removal via the
|
|
348
|
+
* `onSourceRemoved` update policy): a declaration whose natural key matched nothing may still
|
|
349
|
+
* be a RE-declaration of a removed-and-kept row — the same stable declared id under a changed
|
|
350
|
+
* natural key (e.g. a machine account renamed while decommissioned). Without this, the insert
|
|
351
|
+
* leg collides with the kept row's primary key and the boot fails.
|
|
352
|
+
*
|
|
353
|
+
* Returns the soft-removed row the declaration re-claims, or undefined. The match is
|
|
354
|
+
* deliberately strict — all of:
|
|
355
|
+
* - the table keeps removed rows (`onSourceRemoved` is an update patch — soft removal);
|
|
356
|
+
* - a row holds the DECLARED id;
|
|
357
|
+
* - that row is source-owned (`is_loaded_from_source = true`) by THIS declaration's package
|
|
358
|
+
* (never adopt a human/runtime row, or another package's row, by id);
|
|
359
|
+
* - no declaration in this build claims the row by natural key (it is a removed row, not a
|
|
360
|
+
* duplicate-id declaration — that case still fails the boot loudly at insert).
|
|
361
|
+
*
|
|
362
|
+
* The caller then reactivates the row by re-deriving every declared field from the current
|
|
363
|
+
* declaration (natural key included) through the normal drift-reversion update — declaration
|
|
364
|
+
* is the source of truth, so nothing removed-era (grants, status, natural key) survives
|
|
365
|
+
* re-adoption; runtime-owned fields the declaration never emits are untouched. The version
|
|
366
|
+
* guard is the caller's existing stamped-newer branch, which applies to the returned row
|
|
367
|
+
* verbatim (same package by construction).
|
|
368
|
+
*
|
|
369
|
+
* This is the one-off form of a future generic `softRemoval` hook (adopt-including-removed +
|
|
370
|
+
* reactivate-from-declaration): graduating it means lifting this method behind a table-level
|
|
371
|
+
* seam, not rewriting the semantics. The contract lives on
|
|
372
|
+
* {@link SourceRecordOptions.onSourceRemoved}.
|
|
373
|
+
*/
|
|
374
|
+
SourceRecordLoader.prototype.softRemovedRecordHoldingDeclaredId = function (db, table, keyProperty, declaredId, source, allDeclaredKeys) {
|
|
375
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
376
|
+
var policy, holder;
|
|
377
|
+
return __generator(this, function (_a) {
|
|
378
|
+
switch (_a.label) {
|
|
379
|
+
case 0:
|
|
380
|
+
policy = table.sourceRecordOptions.onSourceRemoved;
|
|
381
|
+
if (typeof policy !== 'object') {
|
|
382
|
+
return [2 /*return*/, undefined];
|
|
383
|
+
}
|
|
384
|
+
return [4 /*yield*/, db.get(table, { id: declaredId })];
|
|
385
|
+
case 1:
|
|
386
|
+
holder = _a.sent();
|
|
387
|
+
if (!holder ||
|
|
388
|
+
holder.isLoadedFromSource !== true ||
|
|
389
|
+
holder.sourcePackage !== source ||
|
|
390
|
+
allDeclaredKeys.includes(holder[keyProperty])) {
|
|
391
|
+
return [2 /*return*/, undefined];
|
|
392
|
+
}
|
|
393
|
+
return [2 /*return*/, holder];
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
|
+
};
|
|
324
398
|
/**
|
|
325
399
|
* Source-loaded rows with no owner stamp that no declaration in this build claimed on this
|
|
326
400
|
* boot (the stamp leg has already run). They predate `source_package`, or their declaring
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceRecordLoader.js","sourceRoot":"","sources":["../../../src/source/SourceRecordLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SourceRecordLoader.js","sourceRoot":"","sources":["../../../src/source/SourceRecordLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2C;AAC3C,gDAAmD;AACnD,+CAA6F;AAE7F,4BAA0C;AAC1C,uDAAsD;AACtD,oCAA6C;AA4B7C;IAAA;QACU,WAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,+FAA+F;QACvF,mBAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;IAopBjE,CAAC;IAlpBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,iCAAI,GAAV,UAAW,SAAsB;;;;;4BACE,qBAAM,IAAI,CAAC,eAAe,EAAE,EAAA;;wBAAvD,KAA2B,SAA4B,EAArD,MAAM,YAAA,EAAE,YAAY,kBAAA;wBACtB,EAAE,GAAG,IAAA,kBAAa,GAAE,CAAC;wBACrB,OAAO,GAA4B,EAAE,CAAC;4CACjC,SAAS;;;;;;wCAClB,IAAI,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE;;yCAE9C;wCACK,KAAqB,MAAM,CAAC,SAAS,CAAC,EAApC,KAAK,WAAA,EAAE,OAAO,aAAA,CAAuB;wCAGvC,WAAW,GAAG,OAAK,eAAe,CACtC,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,UAAC,EAAU;gDAAR,MAAM,YAAA;4CAAO,OAAA,MAAM;wCAAN,CAAM,CAAC,CACpC,CAAC;wCAII,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,EAAU;gDAAR,MAAM,YAAA;4CAAO,OAAC,MAAc,CAAC,WAAW,CAAC;wCAA5B,CAA4B,CAAC,CAAC;wCAClE,qBAAM,OAAK,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,EAAA;;wCAA5F,OAAO,GAAG,SAAkF;wCAE9F,WAAW,GAAG,CAAC,CAAC;wCAChB,WAAW,GAAG,CAAC,CAAC;wCAChB,cAAc,GAAG,CAAC,CAAC;wCACnB,YAAY,GAAG,CAAC,CAAC;wCACjB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;8CACA,EAAP,mBAAO;;;6CAAP,CAAA,qBAAO,CAAA;wCAA7B,kBAAkB,EAAhB,MAAM,YAAA,EAAE,MAAM,YAAA;wCACrB,YAAY,GAAG,MAAM,CAAC;wCAC1B,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;wCACvC,mFAAmF;wCACnF,wFAAwF;wCACxF,mFAAmF;wCACnF,mBAAmB;wCACnB,YAAY,CAAC,aAAa,GAAG,MAAM,CAAC;wCAC9B,aAAa,GAAG,OAAK,aAAa,CAAC,MAAM,CAAC,CAAC;wCACjD,IAAI,aAAa,KAAK,SAAS,EAAE;4CAC/B,YAAY,CAAC,oBAAoB,GAAG,aAAa,CAAC;yCACnD;wCACoB,qBAAM,EAAE,CAAC,GAAG,CAAC,KAAK,YAAI,GAAC,WAAW,IAAI,YAAoB,CAAC,WAAW,CAAC,MAAG,EAAA;;wCAA3F,cAAc,GAAG,SAA0E;wCAC3F,oBAAoB,GAAG,KAAK,CAAC;6CAC7B,CAAC,cAAc,EAAf,wBAAe;wCACA,qBAAM,OAAK,kCAAkC,CAC5D,EAAE,EACF,KAAK,EACL,WAAW,EACX,YAAY,CAAC,EAAE,EACf,MAAM,EACN,eAAe,CAChB,EAAA;;wCAPD,cAAc,GAAG,SAOhB,CAAC;wCACF,oBAAoB,GAAG,cAAc,KAAK,SAAS,CAAC;;;6CAGlD,cAAc,EAAd,yBAAc;wCAChB,IACE,cAAc,CAAC,aAAa,KAAK,MAAM;4CACvC,OAAK,YAAY,CAAC,cAAc,CAAC,oBAAoB,EAAE,aAAa,CAAC,EACrE;4CACA,mFAAmF;4CACnF,mEAAmE;4CACnE,YAAY,IAAI,CAAC,CAAC;4CAClB,IAAI,mCAAgB,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;4CACpE,yBAAS;yCACV;wCAED,IAAI,cAAc,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,EAAE;4CACzC,iFAAiF;4CACjF,uDAAuD;4CACvD,YAAY,yBAAQ,YAAY,KAAE,EAAE,EAAE,cAAc,CAAC,EAAE,GAAE,CAAC;yCAC3D;wCAED,IAAI,cAAc,CAAC,kBAAkB,KAAK,IAAI,EAAE;4CAC9C,8EAA8E;4CAC9E,+EAA+E;4CAC/E,YAAY,IAAI,CAAC,CAAC;4CAClB,OAAK,MAAM,CAAC,IAAI,CAAC;gDACf,OAAO,EAAE,WAAI,KAAK,CAAC,IAAI,qDAAkD;gDACzE,GAAG,YAAI,GAAC,WAAW,IAAI,YAAoB,CAAC,WAAW,CAAC,EAAE,KAAE,GAAE,cAAc,CAAC,EAAE,KAAE;6CAClF,CAAC,CAAC;yCACJ;6CAAM,IAAI,oBAAoB,EAAE;4CAC/B,gFAAgF;4CAChF,6EAA6E;4CAC7E,YAAY,IAAI,CAAC,CAAC;4CAClB,OAAK,MAAM,CAAC,IAAI,CAAC;gDACf,OAAO,EAAE,WAAI,KAAK,CAAC,IAAI,wEAA8D,WAAW,CAAE;gDAClG,GAAG;wDACD,EAAE,EAAE,cAAc,CAAC,EAAE;;oDACrB,GAAC,kBAAW,WAAW,CAAE,IAAI,cAAsB,CAAC,WAAW,CAAC;oDAChE,GAAC,WAAW,IAAI,YAAoB,CAAC,WAAW,CAAC;uDAClD;6CACF,CAAC,CAAC;yCACJ;wCAEG,qBAAM,OAAK,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,cAAc,CAAC,EAAA;;6CAA1D,SAA0D,EAA1D,wBAA0D;wCAC5D,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,EAAA;;wCAApC,SAAoC,CAAC;wCACrC,WAAW,IAAI,CAAC,CAAC;;;wCAEjB,cAAc,IAAI,CAAC,CAAC;;;6CAGC,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,EAAA;;wCAArD,cAAc,GAAG,SAAoC;wCAC3D,YAAY,yBAAQ,YAAY,GAAK,cAAc,CAAE,CAAC;wCACtD,WAAW,IAAI,CAAC,CAAC;;;wCAGnB,6FAA6F;wCAC7F,IAAI,mCAAgB,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAC;;;wCA/E1C,IAAO,CAAA;;6CAkFxB,qBAAM,OAAK,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,EAAA;;wCAAzD,OAAO,GAAG,SAA+C;wCAC/D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;4CACpB,OAAO,EAAE,WAAW;4CACpB,OAAO,EAAE,WAAW;4CACpB,SAAS,EAAE,cAAc;4CACzB,OAAO,EAAE,YAAY;4CACrB,OAAO,EAAE,OAAO,CAAC,WAAW;4CAC5B,cAAc,EAAE,OAAO,CAAC,kBAAkB;4CAC1C,YAAY,cAAA;4CACZ,OAAO,SAAA;yCACR,CAAC;wCACF,OAAK,MAAM,CAAC,IAAI,CAAC;4CACf,OAAO,EAAE,WAAI,KAAK,CAAC,IAAI,sBAAY,OAAO,CAAC,MAAM,cAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,iBAAc;4CAC7G,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;yCACzB,CAAC,CAAC;;;;;;6BAtHmB,MAAM;;;;;;;;;;;sDAAnB,SAAS;;;;;;;4BAyHpB,sBAAO,OAAO,EAAC;;;;KAChB;IAED;;;;;;;;;OASG;IACW,6CAAgB,GAA9B,UACE,EAAM,EACN,KAAiB,EACjB,WAAmB,EACnB,YAAyB,EACzB,eAA0B;;;;;;;;;wBAEpB,MAAM,GAAG,MAAA,KAAK,CAAC,mBAAmB,CAAC,eAAe,mCAAI,QAAQ,CAAC;wBACrE,IAAI,MAAM,KAAK,MAAM,IAAI,YAAY,CAAC,IAAI,IAAI,CAAC,EAAE;4BAC/C,sBAAO,EAAE,WAAW,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAC;yBACnE;wBAEK,EAAE,GAAG,uBAAY,CAAC,UAAU,CAAe,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC3F,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAQ,EAAE,CAAC,CAAC;wBACjG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC9B,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAsB,EAAE,CAAC,CAAC;yBAChG;wBAEkC,qBAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,EAAA;;wBAAtD,UAAU,GAAmB,SAAyB;wBACtD,YAAY,GAAG,UAAC,SAAuB;4BAC3C,OAAA,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,KAAI,CAAC,aAAa,CAAC,SAAS,CAAC,aAAuB,CAAC,CAAC;wBAAxG,CAAwG,CAAC;wBACrG,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,UAAC,SAAS,IAAK,OAAA,CAAC,YAAY,CAAC,SAAS,CAAC,EAAxB,CAAwB,CAAC,CAAC;wBAC5E,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;wBAC/D,IAAI,YAAY,GAAG,CAAC,EAAE;4BACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gCACf,OAAO,EAAE,WAAI,KAAK,CAAC,IAAI,oBAAU,YAAY,oBAAU,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,4CAAkC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,2CAAmC;gCAC3L,GAAG,YAAI,GAAC,WAAW,IAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAC,SAAS,IAAK,OAAC,SAAiB,CAAC,WAAW,CAAC,EAA/B,CAA+B,CAAC,KAAE;6BAC5G,CAAC,CAAC;yBACJ;wBAED,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;4BAC9B,sBAAO,EAAE,WAAW,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,YAAY,cAAA,EAAE,EAAC;yBAChE;6BAEG,CAAA,MAAM,KAAK,QAAQ,CAAA,EAAnB,wBAAmB;wBACf,QAAQ,GAAG,uBAAY,CAAC,UAAU,CAAe,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjG,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,EAAE,EAAT,CAAS,CAAC,EAAE,CAAC,CAAC;;wBAChF,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAA;4BAAtD,uBAAS,cAAW,GAAE,SAAgC,EAAE,qBAAkB,GAAE,CAAC,EAAE,eAAY,eAAA,OAAG;;wBAG5F,kBAAkB,GAAG,CAAC,CAAC;8BACe,EAAd,iCAAc;;;6BAAd,CAAA,4BAAc,CAAA;wBAA/B,aAAa;wBAClB,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAA;;6BAA1D,SAA0D,EAA1D,wBAA0D;wBAC5D,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,aAAI,EAAE,EAAE,aAAa,CAAC,EAAE,IAAK,MAAM,CAAC,MAAM,EAAG,EAAA;;wBAAlE,SAAkE,CAAC;wBACnE,kBAAkB,IAAI,CAAC,CAAC;wBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;4BACf,OAAO,EAAE,WAAI,KAAK,CAAC,IAAI,mEAAgE;4BACvF,GAAG;oCACD,EAAE,EAAE,aAAa,CAAC,EAAE;;gCACpB,GAAC,WAAW,IAAI,aAAqB,CAAC,WAAW,CAAC;gCAClD,SAAM,GAAE,aAAa,CAAC,aAAa;mCACpC;yBACF,CAAC,CAAC;;;wBAXqB,IAAc,CAAA;;4BAe1C,sBAAO,EAAE,WAAW,EAAE,CAAC,EAAE,kBAAkB,oBAAA,EAAE,YAAY,cAAA,EAAE,EAAC;;;;KAC7D;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACW,+DAAkC,GAAhD,UACE,EAAM,EACN,KAAiB,EACjB,WAAmB,EACnB,UAAkB,EAClB,MAAc,EACd,eAA0B;;;;;;wBAEpB,MAAM,GAAG,KAAK,CAAC,mBAAmB,CAAC,eAAe,CAAC;wBACzD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;4BAC9B,sBAAO,SAAS,EAAC;yBAClB;wBAEwC,qBAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAA;;wBAA1E,MAAM,GAA6B,SAAuC;wBAChF,IACE,CAAC,MAAM;4BACP,MAAM,CAAC,kBAAkB,KAAK,IAAI;4BAClC,MAAM,CAAC,aAAa,KAAK,MAAM;4BAC/B,eAAe,CAAC,QAAQ,CAAE,MAAc,CAAC,WAAW,CAAC,CAAC,EACtD;4BACA,sBAAO,SAAS,EAAC;yBAClB;wBAED,sBAAO,MAAM,EAAC;;;;KACf;IAED;;;;;;OAMG;IACW,yCAAY,GAA1B,UAA2B,EAAM,EAAE,KAAiB,EAAE,WAAmB;;;;;;;;wBACvE,IAAI,CAAC,MAAA,KAAK,CAAC,mBAAmB,CAAC,eAAe,mCAAI,QAAQ,CAAC,KAAK,MAAM,EAAE;4BACtE,sBAAO,CAAC,EAAC;yBACV;wBAEK,EAAE,GAAG,uBAAY,CAAC,UAAU,CAAe,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC3F,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC9B,qBAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,EAAA;;wBAAnD,OAAO,GAAmB,SAAyB;wBACzD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;4BACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gCACf,OAAO,EAAE,WAAI,KAAK,CAAC,IAAI,eAAK,OAAO,CAAC,MAAM,4BAAkB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,8EAAsE;gCACrL,GAAG,YAAI,GAAC,WAAW,IAAG,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAC,MAAc,CAAC,WAAW,CAAC,EAA5B,CAA4B,CAAC,KAAE;6BAC9E,CAAC,CAAC;yBACJ;wBAED,sBAAO,OAAO,CAAC,MAAM,EAAC;;;;KACvB;IAED;;;;;OAKG;IACK,4CAAe,GAAvB,UAAwB,KAAiB,EAAE,OAAoD;;QAC7F,IAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QAED,IAAM,MAAM,GAAI,KAAK,CAAC,OAAe,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CACb,WAAI,KAAK,CAAC,IAAI,+CAAqC,UAAU,4CAAyC,CACvG,CAAC;SACH;QAED,IAAM,cAAc,GAAG,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,MAAM,0CAAE,MAAM,MAAK,IAAI,CAAC;QAC/D,IAAM,aAAa,GAAG,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,IAAI,CAC9C,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,EAA9F,CAA8F,CAC1G,CAAC;QACF,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE;YACrC,MAAM,IAAI,KAAK,CACb,WAAI,KAAK,CAAC,IAAI,+CAAqC,UAAU,+CAAuC;gBAClG,2FAA2F;gBAC3F,+CAA+C,CAClD,CAAC;SACH;QAED,IAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;QACtC,KAAqB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;YAAzB,IAAM,MAAM,gBAAA;YACf,IAAM,KAAK,GAAI,MAAc,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBACzC,MAAM,IAAI,KAAK,CACb,WAAI,KAAK,CAAC,IAAI,uEAA6D,UAAU,8BAAoB,MAAM,CAAC,EAAE,OAAI,CACvH,CAAC;aACH;YAED,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACnB,MAAM,IAAI,KAAK,CACb,WAAI,KAAK,CAAC,IAAI,qEAA2D,UAAU,kBAAQ,KAAK,cAAM;oBACpG,4CAA4C,CAC/C,CAAC;aACH;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SACvB;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;OAWG;IACW,uCAAU,GAAxB,UAAyB,KAAiB,EAAE,YAAiB,EAAE,cAAmB;;;;;;wBAC1E,UAAU,GAAG,IAAI,yBAAgB,CAAC,KAAK,CAAC,CAAC;wBACtB,qBAAM,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,EAAA;;wBAA3D,gBAAgB,GAAG,SAAwC;wBACtC,qBAAM,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAA;;wBAA/D,kBAAkB,GAAG,SAA0C;wBACrE,KAAW,UAAU,IAAI,gBAAgB,EAAE;4BACzC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE;gCAC/E,SAAS;6BACV;4BAEK,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;4BAC3C,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;4BACrD,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE;gCACjE,sBAAO,IAAI,EAAC;6BACb;yBACF;wBAED,sBAAO,KAAK,EAAC;;;;KACd;IAED;;;OAGG;IACW,4CAAe,GAA7B;;;;gBACQ,MAAM,GAAqB,EAAE,CAAC;gBACpC,WAA2C,EAAvB,SAAA,oCAAqB,GAAE,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;oBAAlC,KAAK;oBACd,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,OAAA,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;iBAC7C;gBAEK,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;gBACvC,WAAyD,EAAxB,SAAA,qCAAsB,GAAE,EAAxB,cAAwB,EAAxB,IAAwB,EAAE;oBAAhD,WAAkB,EAAhB,MAAM,YAAA,EAAE,MAAM,YAAA;oBACzB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wBAC9B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;qBAClE;oBAED,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,QAAA,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC3E;gBAED,sBAAO,EAAE,MAAM,QAAA,EAAE,YAAY,cAAA,EAAE,EAAC;;;KACjC;IAED;;;;;;;;;;;;OAYG;IACK,6CAAgB,GAAxB,UAAyB,MAAW,EAAE,QAAa,EAAE,IAAY;QAC/D,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE;YACtC,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,OAAO,IAAI,CAAC;aACb;YACD,OAAO,UAAG,IAAI,sBAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAE,CAAC;SAC1F;QAED,IAAI,OAAO,MAAM,KAAK,OAAO,QAAQ,EAAE;YACrC,OAAO,UAAG,IAAI,qCAA2B,OAAO,MAAM,wBAAc,OAAO,QAAQ,CAAE,CAAC;SACvF;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,IAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9G,IAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtG,OAAO,UAAG,IAAI,sBAAY,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAc,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAE,CAAC;SAChG;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrD,OAAO,UAAG,IAAI,8CAAoC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gCAAsB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAE,CAAC;SACxH;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;gBACrC,OAAO,UAAG,IAAI,oCAA0B,MAAM,CAAC,MAAM,wBAAc,QAAQ,CAAC,MAAM,CAAE,CAAC;aACtF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAG,IAAI,cAAI,CAAC,MAAG,CAAC,CAAC;gBAC9E,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;YACD,OAAO,IAAI,CAAC;SACb;QAED,8EAA8E;QAC9E,2EAA2E;QAC3E,6EAA6E;QAC7E,mCAAmC;QACnC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;YACzE,OAAO,UAAG,IAAI,qBAAkB,CAAC;SAClC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,+CAAkB,GAA1B,UAA2B,KAAc;QAAzC,iBAiBC;QAhBC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,uEAAuE;YACvE,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAvD,CAAuD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACxG;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,+DAA+D;QAC/D,IAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aAC1B,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAApB,CAAoB,CAAC;aACnC,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAzD,CAAyD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1G,CAAC;IAED,mGAAmG;IAC3F,0CAAa,GAArB,UAAsB,MAAc;QAClC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,iDAAoB,GAA5B,UAA6B,MAAc;QACzC,wFAAwF;QACxF,sFAAsF;QACtF,sFAAsF;QACtF,sDAAsD;QACtD,IAAM,WAAW,GACf,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,IAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5G,IAAI,WAAW,IAAI,GAAG,EAAE;YACtB,IAAI;gBACF,IAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChE,IAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7B,sFAAsF;gBACtF,uEAAuE;gBACvE,KAAK,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACnF,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;oBACvD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;wBAC5B,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;wBACnE,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,MAAK,MAAM,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE;4BAC3E,OAAO,WAAW,CAAC,OAAO,CAAC;yBAC5B;qBACF;oBAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;wBACzC,MAAM;qBACP;iBACF;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,0CAA0C;aAC3C;SACF;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,0DAAmD,MAAM,qBAAW,GAAG,2GAAmG;SACpL,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;OAUG;IACK,yCAAY,GAApB,UAAqB,cAAyC,EAAE,kBAAsC;QACpG,IAAI,cAAc,IAAI,IAAI,EAAE;YAC1B,OAAO,KAAK,CAAC;SACd;QAED,IAAI,kBAAkB,IAAI,IAAI,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,IAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAC5E,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACK,4CAAe,GAAvB,UAAwB,CAAS,EAAE,CAAS;QAC1C,IAAM,KAAK,GAAG,UAAC,OAAe;;YAC5B,IAAM,KAAK,GAAG,+DAA+D,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACnG,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,SAAS,CAAC;aAClB;YAED,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5G,CAAC,CAAC;QAEF,IAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACvC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC1C;SACF;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC9C,OAAO,CAAC,CAAC;SACV;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,OAAO,CAAC,CAAC,CAAC,uDAAuD;SAClE;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,OAAO,CAAC,CAAC,CAAC;SACX;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,+DAA+D;aAC3E;YACD,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC7B,OAAO,CAAC,CAAC;aACV;YAED,IAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,IAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;gBACpD,IAAI,QAAQ,KAAK,QAAQ,EAAE;oBACzB,OAAO,QAAQ,GAAG,QAAQ,CAAC;iBAC5B;aACF;iBAAM,IAAI,QAAQ,KAAK,SAAS,EAAE;gBACjC,OAAO,CAAC,CAAC,CAAC,CAAC,oDAAoD;aAChE;iBAAM,IAAI,QAAQ,KAAK,SAAS,EAAE;gBACjC,OAAO,CAAC,CAAC;aACV;iBAAM,IAAI,WAAW,KAAK,WAAW,EAAE;gBACtC,OAAO,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C;SACF;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IACH,yBAAC;AAAD,CAAC,AAxpBD,IAwpBC;AAxpBY,gDAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceRecordSyncTests.d.ts","sourceRoot":"","sources":["../../../test/reusable/SourceRecordSyncTests.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAKR,KAAK,EAKN,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAsCtE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,WACxB,QAAQ,6BACW,gCAAgC,qBACxC,MAAM,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"SourceRecordSyncTests.d.ts","sourceRoot":"","sources":["../../../test/reusable/SourceRecordSyncTests.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAKR,KAAK,EAKN,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAsCtE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,WACxB,QAAQ,6BACW,gCAAgC,qBACxC,MAAM,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,eAyuBhD,CAAC"}
|
|
@@ -407,6 +407,76 @@ var sourceRecordSyncTests = function (driver, transactionContextFactory, dropTab
|
|
|
407
407
|
}
|
|
408
408
|
});
|
|
409
409
|
}); });
|
|
410
|
+
test('soft removal + re-declaration under a renamed natural key: the kept row is adopted by its declared id — reactivated and re-derived, never collided into', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
411
|
+
var db, keeper, _a, summary, _b, adopted, _c, reactivations, stampBefore, _d;
|
|
412
|
+
return __generator(this, function (_e) {
|
|
413
|
+
switch (_e.label) {
|
|
414
|
+
case 0:
|
|
415
|
+
db = (0, db_1.getDbAsSystem)();
|
|
416
|
+
keeper = machineDeclaration({ id: 'machine-keep', email: 'keeper@test.local' });
|
|
417
|
+
return [4 /*yield*/, boot([machineDeclaration({ id: 'machine-rn', email: 'rn-old@test.local', displayName: 'Ops' }), keeper])];
|
|
418
|
+
case 1:
|
|
419
|
+
_e.sent();
|
|
420
|
+
// Runtime-owned state the adoption must preserve (the credential stand-in).
|
|
421
|
+
return [4 /*yield*/, db.update(machineTable, { id: 'machine-rn', runtimeNote: 'provisioned' })];
|
|
422
|
+
case 2:
|
|
423
|
+
// Runtime-owned state the adoption must preserve (the credential stand-in).
|
|
424
|
+
_e.sent();
|
|
425
|
+
// The declaration is removed: the update policy KEEPS the row (soft removal).
|
|
426
|
+
return [4 /*yield*/, boot([keeper])];
|
|
427
|
+
case 3:
|
|
428
|
+
// The declaration is removed: the update policy KEEPS the row (soft removal).
|
|
429
|
+
_e.sent();
|
|
430
|
+
_a = expect;
|
|
431
|
+
return [4 /*yield*/, db.get(machineTable, { id: 'machine-rn' })];
|
|
432
|
+
case 4:
|
|
433
|
+
_a.apply(void 0, [(_e.sent()).status]).toBe('deactivated');
|
|
434
|
+
// Re-declared under a NEW email: the natural-key match misses, but the soft-removed row
|
|
435
|
+
// still holds the declared id. The sync must adopt that row in place — pre-fix this boot
|
|
436
|
+
// crashed on a PK collision (insert of an id the kept row still occupies).
|
|
437
|
+
RecordingMachineAccountWatcher.updates = [];
|
|
438
|
+
return [4 /*yield*/, boot([
|
|
439
|
+
machineDeclaration({ id: 'machine-rn', email: 'rn-new@test.local', displayName: 'Ops' }),
|
|
440
|
+
keeper,
|
|
441
|
+
])];
|
|
442
|
+
case 5:
|
|
443
|
+
summary = _e.sent();
|
|
444
|
+
expect(summary[machineTable.name].adopted).toBe(1);
|
|
445
|
+
_b = expect;
|
|
446
|
+
return [4 /*yield*/, db.get(machineTable, { email: 'rn-old@test.local' })];
|
|
447
|
+
case 6:
|
|
448
|
+
_b.apply(void 0, [_e.sent()]).toBeUndefined();
|
|
449
|
+
return [4 /*yield*/, db.get(machineTable, { id: 'machine-rn' })];
|
|
450
|
+
case 7:
|
|
451
|
+
adopted = _e.sent();
|
|
452
|
+
// Reactivated and re-derived from the declaration; runtime-owned state preserved.
|
|
453
|
+
expect(adopted).toMatchObject({
|
|
454
|
+
email: 'rn-new@test.local',
|
|
455
|
+
status: 'active',
|
|
456
|
+
runtimeNote: 'provisioned',
|
|
457
|
+
isLoadedFromSource: true,
|
|
458
|
+
});
|
|
459
|
+
// No duplicate row was minted: the account's history stays on the one row.
|
|
460
|
+
_c = expect;
|
|
461
|
+
return [4 /*yield*/, machineRows()];
|
|
462
|
+
case 8:
|
|
463
|
+
// No duplicate row was minted: the account's history stays on the one row.
|
|
464
|
+
_c.apply(void 0, [_e.sent()]).toHaveLength(2);
|
|
465
|
+
reactivations = RecordingMachineAccountWatcher.updates.filter(function (update) { return update.id === 'machine-rn' && update.status === 'active'; });
|
|
466
|
+
expect(reactivations).toHaveLength(1);
|
|
467
|
+
expect(reactivations[0]).toMatchObject({ email: 'rn-new@test.local' });
|
|
468
|
+
stampBefore = adopted.updated.valueOf();
|
|
469
|
+
return [4 /*yield*/, boot([machineDeclaration({ id: 'machine-rn', email: 'rn-new@test.local', displayName: 'Ops' }), keeper])];
|
|
470
|
+
case 9:
|
|
471
|
+
_e.sent();
|
|
472
|
+
_d = expect;
|
|
473
|
+
return [4 /*yield*/, db.get(machineTable, { id: 'machine-rn' })];
|
|
474
|
+
case 10:
|
|
475
|
+
_d.apply(void 0, [(_e.sent()).updated.valueOf()]).toBe(stampBefore);
|
|
476
|
+
return [2 /*return*/];
|
|
477
|
+
}
|
|
478
|
+
});
|
|
479
|
+
}); });
|
|
410
480
|
test("onSourceRemoved default: removed source rows are deleted; human rows survive", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
411
481
|
var db, human, keeper, _a, _b, _c, _d;
|
|
412
482
|
return __generator(this, function (_e) {
|
|
@@ -443,6 +513,46 @@ var sourceRecordSyncTests = function (driver, transactionContextFactory, dropTab
|
|
|
443
513
|
}
|
|
444
514
|
});
|
|
445
515
|
}); });
|
|
516
|
+
test('the default lifecycle is rollback-idempotent: declare → remove (prune) → re-declare is a clean re-insert, never a collision', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
517
|
+
var db, keeper, declared, _a, _b, summary, _c;
|
|
518
|
+
return __generator(this, function (_d) {
|
|
519
|
+
switch (_d.label) {
|
|
520
|
+
case 0:
|
|
521
|
+
db = (0, db_1.getDbAsSystem)();
|
|
522
|
+
keeper = { table: defaultPolicyTable, record: { id: 'default-keep', email: 'keeper@test.local' } };
|
|
523
|
+
declared = { table: defaultPolicyTable, record: { id: 'rb-1', email: 'rb1@test.local' } };
|
|
524
|
+
return [4 /*yield*/, boot([declared, keeper])];
|
|
525
|
+
case 1:
|
|
526
|
+
_d.sent();
|
|
527
|
+
_a = expect;
|
|
528
|
+
return [4 /*yield*/, db.get(defaultPolicyTable, { id: 'rb-1' })];
|
|
529
|
+
case 2:
|
|
530
|
+
_a.apply(void 0, [_d.sent()]).toBeDefined();
|
|
531
|
+
// Rollback: the declaration is removed — the default policy hard-deletes the row...
|
|
532
|
+
return [4 /*yield*/, boot([keeper])];
|
|
533
|
+
case 3:
|
|
534
|
+
// Rollback: the declaration is removed — the default policy hard-deletes the row...
|
|
535
|
+
_d.sent();
|
|
536
|
+
_b = expect;
|
|
537
|
+
return [4 /*yield*/, db.get(defaultPolicyTable, { id: 'rb-1' })];
|
|
538
|
+
case 4:
|
|
539
|
+
_b.apply(void 0, [_d.sent()]).toBeUndefined();
|
|
540
|
+
return [4 /*yield*/, boot([declared, keeper])];
|
|
541
|
+
case 5:
|
|
542
|
+
summary = _d.sent();
|
|
543
|
+
expect(summary[defaultPolicyTable.name].inserts).toBe(1);
|
|
544
|
+
_c = expect;
|
|
545
|
+
return [4 /*yield*/, db.get(defaultPolicyTable, { id: 'rb-1' })];
|
|
546
|
+
case 6:
|
|
547
|
+
_c.apply(void 0, [_d.sent()]).toMatchObject({
|
|
548
|
+
email: 'rb1@test.local',
|
|
549
|
+
isLoadedFromSource: true,
|
|
550
|
+
sourcePackage: DEFAULT_TEST_SOURCE,
|
|
551
|
+
});
|
|
552
|
+
return [2 /*return*/];
|
|
553
|
+
}
|
|
554
|
+
});
|
|
555
|
+
}); });
|
|
446
556
|
/**
|
|
447
557
|
* Source-scoped pruning: multiple servers running DIFFERENT builds against ONE shared
|
|
448
558
|
* database (the thought_type dev topology — two dev servers on one Spanner database).
|