@powersync/service-core-tests 0.10.4 → 0.12.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 +57 -0
- package/LICENSE +3 -3
- package/dist/test-utils/general-utils.d.ts +2 -0
- package/dist/test-utils/general-utils.js +17 -1
- package/dist/test-utils/general-utils.js.map +1 -1
- package/dist/tests/register-compacting-tests.d.ts +0 -11
- package/dist/tests/register-compacting-tests.js +119 -34
- package/dist/tests/register-compacting-tests.js.map +1 -1
- package/dist/tests/register-data-storage-tests.js +308 -167
- package/dist/tests/register-data-storage-tests.js.map +1 -1
- package/dist/tests/register-parameter-compacting-tests.d.ts +2 -0
- package/dist/tests/register-parameter-compacting-tests.js +227 -0
- package/dist/tests/register-parameter-compacting-tests.js.map +1 -0
- package/dist/tests/register-sync-tests.js +166 -61
- package/dist/tests/register-sync-tests.js.map +1 -1
- package/dist/tests/tests-index.d.ts +1 -0
- package/dist/tests/tests-index.js +1 -0
- package/dist/tests/tests-index.js.map +1 -1
- package/package.json +5 -5
- package/src/test-utils/general-utils.ts +19 -10
- package/src/tests/register-compacting-tests.ts +118 -39
- package/src/tests/register-data-storage-tests.ts +311 -210
- package/src/tests/register-parameter-compacting-tests.ts +172 -0
- package/src/tests/register-sync-tests.ts +160 -61
- package/src/tests/tests-index.ts +1 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
1
|
# @powersync/service-core-tests
|
|
2
2
|
|
|
3
|
+
## 0.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6d4a4d1: Create a persisted checksum cache when compacting buckets.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 060b829: Update license abbreviation to FSL-1.1-ALv2.
|
|
12
|
+
- Updated dependencies [6d4a4d1]
|
|
13
|
+
- Updated dependencies [b0b8ae9]
|
|
14
|
+
- Updated dependencies [d2be184]
|
|
15
|
+
- Updated dependencies [29a368e]
|
|
16
|
+
- Updated dependencies [c27e1c8]
|
|
17
|
+
- Updated dependencies [5284fb5]
|
|
18
|
+
- Updated dependencies [18435a4]
|
|
19
|
+
- Updated dependencies [5284fb5]
|
|
20
|
+
- Updated dependencies [f56acce]
|
|
21
|
+
- Updated dependencies [6fd0242]
|
|
22
|
+
- Updated dependencies [6315334]
|
|
23
|
+
- Updated dependencies [86807d0]
|
|
24
|
+
- Updated dependencies [060b829]
|
|
25
|
+
- Updated dependencies [d49bebe]
|
|
26
|
+
- @powersync/service-core@1.15.0
|
|
27
|
+
- @powersync/service-sync-rules@0.29.0
|
|
28
|
+
- @powersync/service-jsonbig@0.17.11
|
|
29
|
+
|
|
30
|
+
## 0.11.0
|
|
31
|
+
|
|
32
|
+
### Minor Changes
|
|
33
|
+
|
|
34
|
+
- b1add5a: [MongoDB Storage] Compact action now also compacts parameter lookup storage.
|
|
35
|
+
- d56eeb9: Delay switching over to new sync rules until we have a consistent checkpoint.
|
|
36
|
+
- d4db4e2: MySQL:
|
|
37
|
+
- Added schema change handling
|
|
38
|
+
- Except for some edge cases, the following schema changes are now handled automatically:
|
|
39
|
+
- Creation, renaming, dropping and truncation of tables.
|
|
40
|
+
- Creation and dropping of unique indexes and primary keys.
|
|
41
|
+
- Adding, modifying, dropping and renaming of table columns.
|
|
42
|
+
- If a schema change cannot handled automatically, a warning with details will be logged.
|
|
43
|
+
- Mismatches in table schema from the Zongji binlog listener are now handled more gracefully.
|
|
44
|
+
- Replication of wildcard tables is now supported.
|
|
45
|
+
- Improved logging for binlog event processing.
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- Updated dependencies [b1add5a]
|
|
50
|
+
- Updated dependencies [2378e36]
|
|
51
|
+
- Updated dependencies [4a34a51]
|
|
52
|
+
- Updated dependencies [4ebc3bf]
|
|
53
|
+
- Updated dependencies [2378e36]
|
|
54
|
+
- Updated dependencies [1aafdaf]
|
|
55
|
+
- Updated dependencies [d56eeb9]
|
|
56
|
+
- Updated dependencies [d4db4e2]
|
|
57
|
+
- @powersync/service-core@1.14.0
|
|
58
|
+
- @powersync/service-sync-rules@0.28.0
|
|
59
|
+
|
|
3
60
|
## 0.10.4
|
|
4
61
|
|
|
5
62
|
### Patch Changes
|
package/LICENSE
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# Functional Source License, Version 1.1,
|
|
1
|
+
# Functional Source License, Version 1.1, ALv2 Future License
|
|
2
2
|
|
|
3
3
|
## Abbreviation
|
|
4
4
|
|
|
5
|
-
FSL-1.1-
|
|
5
|
+
FSL-1.1-ALv2
|
|
6
6
|
|
|
7
7
|
## Notice
|
|
8
8
|
|
|
9
|
-
Copyright 2023-
|
|
9
|
+
Copyright 2023-2025 Journey Mobile, Inc.
|
|
10
10
|
|
|
11
11
|
## Terms and Conditions
|
|
12
12
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { storage, utils } from '@powersync/service-core';
|
|
2
|
+
import { GetQuerierOptions, RequestParameters } from '@powersync/service-sync-rules';
|
|
2
3
|
import * as bson from 'bson';
|
|
3
4
|
export declare const ZERO_LSN = "0/0";
|
|
4
5
|
export declare const PARSE_OPTIONS: storage.ParseSyncRulesOptions;
|
|
@@ -20,3 +21,4 @@ export declare function getBatchMeta(batch: utils.SyncBucketData[] | storage.Syn
|
|
|
20
21
|
* Replica id in the old Postgres format, for backwards-compatible tests.
|
|
21
22
|
*/
|
|
22
23
|
export declare function rid(id: string): bson.UUID;
|
|
24
|
+
export declare function querierOptions(globalParameters: RequestParameters): GetQuerierOptions;
|
|
@@ -32,7 +32,15 @@ export function testRules(content) {
|
|
|
32
32
|
export function makeTestTable(name, replicaIdColumns) {
|
|
33
33
|
const relId = utils.hashData('table', name, (replicaIdColumns ?? ['id']).join(','));
|
|
34
34
|
const id = new bson.ObjectId('6544e3899293153fa7b38331');
|
|
35
|
-
return new storage.SourceTable(
|
|
35
|
+
return new storage.SourceTable({
|
|
36
|
+
id: id,
|
|
37
|
+
connectionTag: storage.SourceTable.DEFAULT_TAG,
|
|
38
|
+
objectId: relId,
|
|
39
|
+
schema: 'public',
|
|
40
|
+
name: name,
|
|
41
|
+
replicaIdColumns: (replicaIdColumns ?? ['id']).map((column) => ({ name: column, type: 'VARCHAR', typeId: 25 })),
|
|
42
|
+
snapshotComplete: true
|
|
43
|
+
});
|
|
36
44
|
}
|
|
37
45
|
export function getBatchData(batch) {
|
|
38
46
|
const first = getFirst(batch);
|
|
@@ -80,4 +88,12 @@ function getFirst(batch) {
|
|
|
80
88
|
export function rid(id) {
|
|
81
89
|
return utils.getUuidReplicaIdentityBson({ id: id }, [{ name: 'id', type: 'VARCHAR', typeId: 25 }]);
|
|
82
90
|
}
|
|
91
|
+
export function querierOptions(globalParameters) {
|
|
92
|
+
return {
|
|
93
|
+
globalParameters,
|
|
94
|
+
hasDefaultStreams: true,
|
|
95
|
+
streams: {},
|
|
96
|
+
bucketIdTransformer: SqlSyncRules.versionedBucketIdTransformer('1')
|
|
97
|
+
};
|
|
98
|
+
}
|
|
83
99
|
//# sourceMappingURL=general-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general-utils.js","sourceRoot":"","sources":["../../src/test-utils/general-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"general-utils.js","sourceRoot":"","sources":["../../src/test-utils/general-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,2 @@
|
|
|
1
1
|
import { storage } from '@powersync/service-core';
|
|
2
|
-
/**
|
|
3
|
-
* @example
|
|
4
|
-
* ```TypeScript
|
|
5
|
-
* // Test with the default options - large batch sizes
|
|
6
|
-
* describe('compacting buckets - default options', () => registerCompactTests(() => new MongoStorageFactory(), {}));
|
|
7
|
-
*
|
|
8
|
-
* // Also test with the miniumum batch sizes, forcing usage of multiple batches internally
|
|
9
|
-
* describe('compacting buckets - batched', () =>
|
|
10
|
-
* compactTests(() => new MongoStorageFactory(), { clearBatchLimit: 2, moveBatchLimit: 1, moveBatchQueryLimit: 1 }));
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
2
|
export declare function registerCompactTests(generateStorageFactory: storage.TestStorageFactory): void;
|
|
@@ -54,28 +54,19 @@ import { storage } from '@powersync/service-core';
|
|
|
54
54
|
import { expect, test } from 'vitest';
|
|
55
55
|
import * as test_utils from '../test-utils/test-utils-index.js';
|
|
56
56
|
const TEST_TABLE = test_utils.makeTestTable('test', ['id']);
|
|
57
|
-
/**
|
|
58
|
-
* @example
|
|
59
|
-
* ```TypeScript
|
|
60
|
-
* // Test with the default options - large batch sizes
|
|
61
|
-
* describe('compacting buckets - default options', () => registerCompactTests(() => new MongoStorageFactory(), {}));
|
|
62
|
-
*
|
|
63
|
-
* // Also test with the miniumum batch sizes, forcing usage of multiple batches internally
|
|
64
|
-
* describe('compacting buckets - batched', () =>
|
|
65
|
-
* compactTests(() => new MongoStorageFactory(), { clearBatchLimit: 2, moveBatchLimit: 1, moveBatchQueryLimit: 1 }));
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
57
|
export function registerCompactTests(generateStorageFactory) {
|
|
69
58
|
test('compacting (1)', async () => {
|
|
70
59
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
71
60
|
try {
|
|
72
|
-
const
|
|
61
|
+
const factory = __addDisposableResource(env_1, await generateStorageFactory(), true);
|
|
62
|
+
const syncRules = await factory.updateSyncRules({
|
|
63
|
+
content: `
|
|
73
64
|
bucket_definitions:
|
|
74
65
|
global:
|
|
75
66
|
data: [select * from test]
|
|
76
|
-
`
|
|
77
|
-
|
|
78
|
-
const bucketStorage = factory.getInstance(
|
|
67
|
+
`
|
|
68
|
+
});
|
|
69
|
+
const bucketStorage = factory.getInstance(syncRules);
|
|
79
70
|
const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
80
71
|
await batch.save({
|
|
81
72
|
sourceTable: TEST_TABLE,
|
|
@@ -101,6 +92,7 @@ bucket_definitions:
|
|
|
101
92
|
},
|
|
102
93
|
afterReplicaId: test_utils.rid('t2')
|
|
103
94
|
});
|
|
95
|
+
await batch.commit('1/1');
|
|
104
96
|
});
|
|
105
97
|
const checkpoint = result.flushed_op;
|
|
106
98
|
const batchBefore = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, new Map([['global[]', 0n]])));
|
|
@@ -126,6 +118,7 @@ bucket_definitions:
|
|
|
126
118
|
op_id: '3'
|
|
127
119
|
}
|
|
128
120
|
]);
|
|
121
|
+
expect(batchBefore.targetOp).toEqual(null);
|
|
129
122
|
await bucketStorage.compact({
|
|
130
123
|
clearBatchLimit: 2,
|
|
131
124
|
moveBatchLimit: 1,
|
|
@@ -134,6 +127,8 @@ bucket_definitions:
|
|
|
134
127
|
const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, new Map([['global[]', 0n]])));
|
|
135
128
|
const dataAfter = batchAfter.chunkData.data;
|
|
136
129
|
const checksumAfter = await bucketStorage.getChecksums(checkpoint, ['global[]']);
|
|
130
|
+
bucketStorage.clearChecksumCache();
|
|
131
|
+
const checksumAfter2 = await bucketStorage.getChecksums(checkpoint, ['global[]']);
|
|
137
132
|
expect(batchAfter.targetOp).toEqual(3n);
|
|
138
133
|
expect(dataAfter).toMatchObject([
|
|
139
134
|
{
|
|
@@ -154,7 +149,8 @@ bucket_definitions:
|
|
|
154
149
|
op_id: '3'
|
|
155
150
|
}
|
|
156
151
|
]);
|
|
157
|
-
expect(
|
|
152
|
+
expect(checksumAfter.get('global[]')).toEqual(checksumBefore.get('global[]'));
|
|
153
|
+
expect(checksumAfter2.get('global[]')).toEqual(checksumBefore.get('global[]'));
|
|
158
154
|
test_utils.validateCompactedBucket(dataBefore, dataAfter);
|
|
159
155
|
}
|
|
160
156
|
catch (e_1) {
|
|
@@ -170,13 +166,15 @@ bucket_definitions:
|
|
|
170
166
|
test('compacting (2)', async () => {
|
|
171
167
|
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
172
168
|
try {
|
|
173
|
-
const
|
|
169
|
+
const factory = __addDisposableResource(env_2, await generateStorageFactory(), true);
|
|
170
|
+
const syncRules = await factory.updateSyncRules({
|
|
171
|
+
content: `
|
|
174
172
|
bucket_definitions:
|
|
175
173
|
global:
|
|
176
174
|
data: [select * from test]
|
|
177
|
-
`
|
|
178
|
-
|
|
179
|
-
const bucketStorage = factory.getInstance(
|
|
175
|
+
`
|
|
176
|
+
});
|
|
177
|
+
const bucketStorage = factory.getInstance(syncRules);
|
|
180
178
|
const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
181
179
|
await batch.save({
|
|
182
180
|
sourceTable: TEST_TABLE,
|
|
@@ -210,6 +208,7 @@ bucket_definitions:
|
|
|
210
208
|
},
|
|
211
209
|
afterReplicaId: test_utils.rid('t2')
|
|
212
210
|
});
|
|
211
|
+
await batch.commit('1/1');
|
|
213
212
|
});
|
|
214
213
|
const checkpoint = result.flushed_op;
|
|
215
214
|
const batchBefore = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, new Map([['global[]', 0n]])));
|
|
@@ -248,6 +247,7 @@ bucket_definitions:
|
|
|
248
247
|
});
|
|
249
248
|
const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint, new Map([['global[]', 0n]])));
|
|
250
249
|
const dataAfter = batchAfter.chunkData.data;
|
|
250
|
+
bucketStorage.clearChecksumCache();
|
|
251
251
|
const checksumAfter = await bucketStorage.getChecksums(checkpoint, ['global[]']);
|
|
252
252
|
expect(batchAfter.targetOp).toEqual(4n);
|
|
253
253
|
expect(dataAfter).toMatchObject([
|
|
@@ -263,7 +263,10 @@ bucket_definitions:
|
|
|
263
263
|
op_id: '4'
|
|
264
264
|
}
|
|
265
265
|
]);
|
|
266
|
-
expect(
|
|
266
|
+
expect(checksumAfter.get('global[]')).toEqual({
|
|
267
|
+
...checksumBefore.get('global[]'),
|
|
268
|
+
count: 2
|
|
269
|
+
});
|
|
267
270
|
test_utils.validateCompactedBucket(dataBefore, dataAfter);
|
|
268
271
|
}
|
|
269
272
|
catch (e_2) {
|
|
@@ -279,13 +282,15 @@ bucket_definitions:
|
|
|
279
282
|
test('compacting (3)', async () => {
|
|
280
283
|
const env_3 = { stack: [], error: void 0, hasError: false };
|
|
281
284
|
try {
|
|
282
|
-
const
|
|
285
|
+
const factory = __addDisposableResource(env_3, await generateStorageFactory(), true);
|
|
286
|
+
const syncRules = await factory.updateSyncRules({
|
|
287
|
+
content: `
|
|
283
288
|
bucket_definitions:
|
|
284
289
|
global:
|
|
285
290
|
data: [select * from test]
|
|
286
|
-
`
|
|
287
|
-
|
|
288
|
-
const bucketStorage = factory.getInstance(
|
|
291
|
+
`
|
|
292
|
+
});
|
|
293
|
+
const bucketStorage = factory.getInstance(syncRules);
|
|
289
294
|
const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
290
295
|
await batch.save({
|
|
291
296
|
sourceTable: TEST_TABLE,
|
|
@@ -311,6 +316,7 @@ bucket_definitions:
|
|
|
311
316
|
},
|
|
312
317
|
beforeReplicaId: 't1'
|
|
313
318
|
});
|
|
319
|
+
await batch.commit('1/1');
|
|
314
320
|
});
|
|
315
321
|
const checkpoint1 = result.flushed_op;
|
|
316
322
|
const checksumBefore = await bucketStorage.getChecksums(checkpoint1, ['global[]']);
|
|
@@ -323,6 +329,7 @@ bucket_definitions:
|
|
|
323
329
|
},
|
|
324
330
|
beforeReplicaId: 't2'
|
|
325
331
|
});
|
|
332
|
+
await batch.commit('2/1');
|
|
326
333
|
});
|
|
327
334
|
const checkpoint2 = result2.flushed_op;
|
|
328
335
|
await bucketStorage.compact({
|
|
@@ -332,6 +339,7 @@ bucket_definitions:
|
|
|
332
339
|
});
|
|
333
340
|
const batchAfter = await test_utils.oneFromAsync(bucketStorage.getBucketDataBatch(checkpoint2, new Map([['global[]', 0n]])));
|
|
334
341
|
const dataAfter = batchAfter.chunkData.data;
|
|
342
|
+
await bucketStorage.clearChecksumCache();
|
|
335
343
|
const checksumAfter = await bucketStorage.getChecksums(checkpoint2, ['global[]']);
|
|
336
344
|
expect(batchAfter.targetOp).toEqual(4n);
|
|
337
345
|
expect(dataAfter).toMatchObject([
|
|
@@ -360,16 +368,18 @@ bucket_definitions:
|
|
|
360
368
|
test('compacting (4)', async () => {
|
|
361
369
|
const env_4 = { stack: [], error: void 0, hasError: false };
|
|
362
370
|
try {
|
|
363
|
-
const sync_rules = test_utils.testRules(/* yaml */ ` bucket_definitions:
|
|
364
|
-
grouped:
|
|
365
|
-
# The parameter query here is not important
|
|
366
|
-
# We specifically don't want to create bucket_parameter records here
|
|
367
|
-
# since the op_ids for bucket_data could vary between storage implementations.
|
|
368
|
-
parameters: select 'b' as b
|
|
369
|
-
data:
|
|
370
|
-
- select * from test where b = bucket.b`);
|
|
371
371
|
const factory = __addDisposableResource(env_4, await generateStorageFactory(), true);
|
|
372
|
-
const
|
|
372
|
+
const syncRules = await factory.updateSyncRules({
|
|
373
|
+
/* yaml */ content: ` bucket_definitions:
|
|
374
|
+
grouped:
|
|
375
|
+
# The parameter query here is not important
|
|
376
|
+
# We specifically don't want to create bucket_parameter records here
|
|
377
|
+
# since the op_ids for bucket_data could vary between storage implementations.
|
|
378
|
+
parameters: select 'b' as b
|
|
379
|
+
data:
|
|
380
|
+
- select * from test where b = bucket.b`
|
|
381
|
+
});
|
|
382
|
+
const bucketStorage = factory.getInstance(syncRules);
|
|
373
383
|
const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
374
384
|
/**
|
|
375
385
|
* Repeatedly create operations which fall into different buckets.
|
|
@@ -429,6 +439,7 @@ bucket_definitions:
|
|
|
429
439
|
},
|
|
430
440
|
afterReplicaId: test_utils.rid('t2')
|
|
431
441
|
});
|
|
442
|
+
await batch.commit('1/1');
|
|
432
443
|
}
|
|
433
444
|
});
|
|
434
445
|
const checkpoint = result.flushed_op;
|
|
@@ -476,5 +487,79 @@ bucket_definitions:
|
|
|
476
487
|
await result_4;
|
|
477
488
|
}
|
|
478
489
|
});
|
|
490
|
+
test('partial checksums after compacting', async () => {
|
|
491
|
+
const env_5 = { stack: [], error: void 0, hasError: false };
|
|
492
|
+
try {
|
|
493
|
+
const factory = __addDisposableResource(env_5, await generateStorageFactory(), true);
|
|
494
|
+
const syncRules = await factory.updateSyncRules({
|
|
495
|
+
content: `
|
|
496
|
+
bucket_definitions:
|
|
497
|
+
global:
|
|
498
|
+
data: [select * from test]
|
|
499
|
+
`
|
|
500
|
+
});
|
|
501
|
+
const bucketStorage = factory.getInstance(syncRules);
|
|
502
|
+
const result = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
503
|
+
await batch.save({
|
|
504
|
+
sourceTable: TEST_TABLE,
|
|
505
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
506
|
+
after: {
|
|
507
|
+
id: 't1'
|
|
508
|
+
},
|
|
509
|
+
afterReplicaId: 't1'
|
|
510
|
+
});
|
|
511
|
+
await batch.save({
|
|
512
|
+
sourceTable: TEST_TABLE,
|
|
513
|
+
tag: storage.SaveOperationTag.INSERT,
|
|
514
|
+
after: {
|
|
515
|
+
id: 't2'
|
|
516
|
+
},
|
|
517
|
+
afterReplicaId: 't2'
|
|
518
|
+
});
|
|
519
|
+
await batch.save({
|
|
520
|
+
sourceTable: TEST_TABLE,
|
|
521
|
+
tag: storage.SaveOperationTag.DELETE,
|
|
522
|
+
before: {
|
|
523
|
+
id: 't1'
|
|
524
|
+
},
|
|
525
|
+
beforeReplicaId: 't1'
|
|
526
|
+
});
|
|
527
|
+
await batch.commit('1/1');
|
|
528
|
+
});
|
|
529
|
+
await bucketStorage.compact({
|
|
530
|
+
clearBatchLimit: 2,
|
|
531
|
+
moveBatchLimit: 1,
|
|
532
|
+
moveBatchQueryLimit: 1
|
|
533
|
+
});
|
|
534
|
+
const result2 = await bucketStorage.startBatch(test_utils.BATCH_OPTIONS, async (batch) => {
|
|
535
|
+
await batch.save({
|
|
536
|
+
sourceTable: TEST_TABLE,
|
|
537
|
+
tag: storage.SaveOperationTag.DELETE,
|
|
538
|
+
before: {
|
|
539
|
+
id: 't2'
|
|
540
|
+
},
|
|
541
|
+
beforeReplicaId: 't2'
|
|
542
|
+
});
|
|
543
|
+
await batch.commit('2/1');
|
|
544
|
+
});
|
|
545
|
+
const checkpoint2 = result2.flushed_op;
|
|
546
|
+
await bucketStorage.clearChecksumCache();
|
|
547
|
+
const checksumAfter = await bucketStorage.getChecksums(checkpoint2, ['global[]']);
|
|
548
|
+
expect(checksumAfter.get('global[]')).toEqual({
|
|
549
|
+
bucket: 'global[]',
|
|
550
|
+
count: 4,
|
|
551
|
+
checksum: 1874612650
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
catch (e_5) {
|
|
555
|
+
env_5.error = e_5;
|
|
556
|
+
env_5.hasError = true;
|
|
557
|
+
}
|
|
558
|
+
finally {
|
|
559
|
+
const result_5 = __disposeResources(env_5);
|
|
560
|
+
if (result_5)
|
|
561
|
+
await result_5;
|
|
562
|
+
}
|
|
563
|
+
});
|
|
479
564
|
}
|
|
480
565
|
//# sourceMappingURL=register-compacting-tests.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-compacting-tests.js","sourceRoot":"","sources":["../../src/tests/register-compacting-tests.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,mCAAmC,CAAC;AAEhE,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,sBAAkD;IACrF,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;;;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;;;;KAIvC,CAAC,CAAC;YAEH,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAO,CAAC,UAAU,CAAC;YAEtC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,CAC/C,aAAa,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAC;YACF,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;YAC9C,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAElF,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBAC/B;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,OAAO,CAAC;gBAC1B,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC;gBACjB,mBAAmB,EAAE,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAC9C,aAAa,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5C,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBAC9B;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAE9E,UAAU,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;;;;;;;;;;;KAC3D,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;;;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;;;;KAIvC,CAAC,CAAC;YAEH,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI;qBACT;oBACD,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACtC,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAO,CAAC,UAAU,CAAC;YAEtC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,CAC/C,aAAa,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAC;YACF,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;YAC9C,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAElF,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBAC/B;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,OAAO,CAAC;gBAC1B,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC;gBACjB,mBAAmB,EAAE,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAC9C,aAAa,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5C,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBAC9B;oBACE,QAAQ,EAAE,CAAC,UAAU;oBACrB,EAAE,EAAE,OAAO;oBACX,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAE9E,UAAU,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;;;;;;;;;;;KAC3D,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;;;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC;;;;KAIvC,CAAC,CAAC;YAEH,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI;qBACT;oBACD,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI;qBACT;oBACD,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAO,CAAC,UAAU,CAAC;YACvC,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAEnF,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvF,MAAM,KAAK,CAAC,IAAI,CAAC;oBACf,WAAW,EAAE,UAAU;oBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;oBACpC,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI;qBACT;oBACD,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,OAAQ,CAAC,UAAU,CAAC;YAExC,MAAM,aAAa,CAAC,OAAO,CAAC;gBAC1B,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC;gBACjB,mBAAmB,EAAE,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,YAAY,CAC9C,aAAa,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5C,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAElF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;gBAC9B;oBACE,QAAQ,EAAE,UAAU;oBACpB,EAAE,EAAE,OAAO;oBACX,KAAK,EAAE,GAAG;iBACX;aACF,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5C,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;;;;;;;;;;;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;;;YAChC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAClD;;;;;;;oDAOgD,CAAC,CAAC;YAElD,MAAY,OAAO,kCAAG,MAAM,sBAAsB,EAAE,OAAA,CAAC;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtF;;;;;;mBAMG;gBACH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;oBACzC,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,IAAI;4BACR,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,OAAO;yBACf;wBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;qBACrC,CAAC,CAAC;oBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,IAAI;4BACR,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,cAAc;yBACtB;wBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;qBACrC,CAAC,CAAC;oBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,IAAI;4BACR,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,OAAO;yBACf;wBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;qBACrC,CAAC,CAAC;oBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,IAAI;4BACR,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,OAAO;yBACf;wBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;qBACrC,CAAC,CAAC;oBAEH,MAAM,KAAK,CAAC,IAAI,CAAC;wBACf,WAAW,EAAE,UAAU;wBACvB,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,MAAM;wBACpC,KAAK,EAAE;4BACL,EAAE,EAAE,IAAI;4BACR,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,OAAO;yBACf;wBACD,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;qBACrC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAO,CAAC,UAAU,CAAC;YAEtC,MAAM,aAAa,CAAC,OAAO,CAAC;gBAC1B,eAAe,EAAE,GAAG;gBACpB,cAAc,EAAE,GAAG;gBACnB,mBAAmB,EAAE,GAAG,CAAC,iDAAiD;aAC3E,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,SAAS,CAC3C,aAAa,CAAC,kBAAkB,CAC9B,UAAU,EACV,IAAI,GAAG,CAAC;gBACN,CAAC,eAAe,EAAE,EAAE,CAAC;gBACrB,CAAC,eAAe,EAAE,EAAE,CAAC;aACtB,CAAC,CACH,CACF,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAE9D,4DAA4D;YAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAC7B,MAAM,CAAC,eAAe,CAAC;gBACrB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE;gBACnD;oBACE,KAAK,EAAE,KAAK;oBACZ,EAAE,EAAE,KAAK;oBACT,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,+DAA+D;oBACvE,IAAI,EAAE,sCAAsC;iBAC7C;gBACD,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE;gBACnD;oBACE,KAAK,EAAE,KAAK;oBACZ,EAAE,EAAE,KAAK;oBACT,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,+DAA+D;oBACvE,IAAI,EAAE,sCAAsC;iBAC7C;aACF,CAAC,CACH,CAAC;;;;;;;;;;;KACH,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"register-compacting-tests.js","sourceRoot":"","sources":["../../src/tests/register-compacting-tests.ts"],"names":[],"mappings":"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"}
|