@spine-event-engine/storage 2.0.0-snapshot.15 → 2.0.0-snapshot.18
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/REFERENCE.md +3 -3
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/in-memory-entity-history.d.ts +115 -1
- package/dist/memory/in-memory-entity-history.d.ts.map +1 -1
- package/dist/memory/in-memory-entity-history.js +186 -41
- package/dist/memory/in-memory-entity-history.js.map +1 -1
- package/dist/memory/in-memory-record-storage.d.ts +19 -0
- package/dist/memory/in-memory-record-storage.d.ts.map +1 -1
- package/dist/memory/in-memory-record-storage.js +25 -4
- package/dist/memory/in-memory-record-storage.js.map +1 -1
- package/dist/query/query-policy.d.ts +18 -14
- package/dist/query/query-policy.d.ts.map +1 -1
- package/dist/query/query-policy.js +55 -28
- package/dist/query/query-policy.js.map +1 -1
- package/dist/record/record-query.d.ts +12 -11
- package/dist/record/record-query.d.ts.map +1 -1
- package/dist/record/record-query.js +4 -1
- package/dist/record/record-query.js.map +1 -1
- package/dist/record/record-storage.d.ts +12 -5
- package/dist/record/record-storage.d.ts.map +1 -1
- package/dist/record/record-storage.js +14 -12
- package/dist/record/record-storage.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/record/record-mask.d.ts +0 -11
- package/dist/record/record-mask.d.ts.map +0 -1
- package/dist/record/record-mask.js +0 -82
- package/dist/record/record-mask.js.map +0 -1
|
@@ -40,6 +40,8 @@ export class MemoryEntityStorageFactory {
|
|
|
40
40
|
/**
|
|
41
41
|
* Creates one scoped entity-storage handle.
|
|
42
42
|
*
|
|
43
|
+
* @typeParam I Entity identifier type used by this storage scope.
|
|
44
|
+
* @typeParam S Generated Entity state message type.
|
|
43
45
|
* @param input Supplies the entity storage configuration.
|
|
44
46
|
* @returns Returns the scoped in-memory entity storage.
|
|
45
47
|
*/
|
|
@@ -49,6 +51,8 @@ export class MemoryEntityStorageFactory {
|
|
|
49
51
|
/**
|
|
50
52
|
* Opens the provider-owned maps used by an atomic in-memory commit.
|
|
51
53
|
*
|
|
54
|
+
* @typeParam I Entity identifier type used by this storage scope.
|
|
55
|
+
* @typeParam S Generated Entity state message type.
|
|
52
56
|
* @param input Supplies the Entity storage configuration.
|
|
53
57
|
* @returns The compatible backend maps for this Entity scope.
|
|
54
58
|
*/
|
|
@@ -62,6 +66,9 @@ export class MemoryEntityStorageFactory {
|
|
|
62
66
|
}
|
|
63
67
|
/**
|
|
64
68
|
* One scoped in-memory current/state/event storage handle.
|
|
69
|
+
*
|
|
70
|
+
* @typeParam I Entity identifier type used by this storage scope.
|
|
71
|
+
* @typeParam S Generated Entity state message type.
|
|
65
72
|
*/
|
|
66
73
|
export class InMemoryEntityStorage {
|
|
67
74
|
// prettier-ignore
|
|
@@ -128,13 +135,20 @@ export const ENTITY_SCOPE_MUTATION_KEY = "entity-storage-scope";
|
|
|
128
135
|
const EntitySnapshots = {
|
|
129
136
|
// prettier-ignore
|
|
130
137
|
/**
|
|
131
|
-
*
|
|
138
|
+
* Copies one entity ID with the platform structured-clone operation.
|
|
139
|
+
*
|
|
140
|
+
* @typeParam I Entity identifier type to clone.
|
|
141
|
+
* @param id Entity identifier to copy.
|
|
142
|
+
* @returns Independent identifier copy.
|
|
132
143
|
*/
|
|
133
144
|
cloneId(id) {
|
|
134
145
|
return storageHost.structuredClone(id);
|
|
135
146
|
},
|
|
136
147
|
/**
|
|
137
148
|
* Copies an immutable latest-state record.
|
|
149
|
+
*
|
|
150
|
+
* @param record Generated current-state record to copy.
|
|
151
|
+
* @returns Independent generated record.
|
|
138
152
|
*/
|
|
139
153
|
copyCurrent(record) {
|
|
140
154
|
return clone(EntityRecordSchema, record);
|
|
@@ -142,6 +156,8 @@ const EntitySnapshots = {
|
|
|
142
156
|
};
|
|
143
157
|
/**
|
|
144
158
|
* In-memory latest-state storage used by all entity families.
|
|
159
|
+
*
|
|
160
|
+
* @typeParam I Entity identifier type accepted by this adapter.
|
|
145
161
|
*/
|
|
146
162
|
export class MemoryEntityRecordStorage {
|
|
147
163
|
#idKey;
|
|
@@ -194,55 +210,46 @@ export class MemoryEntityRecordStorage {
|
|
|
194
210
|
: this.#queue.run(ENTITY_SCOPE_MUTATION_KEY, write);
|
|
195
211
|
}
|
|
196
212
|
/**
|
|
197
|
-
* Returns
|
|
213
|
+
* Returns matching current records; exhaustive plans may select deleted records.
|
|
198
214
|
*
|
|
199
215
|
* @param plan Supplies the normalized record-query plan.
|
|
200
216
|
* @returns Resolves to ordered matching current-record entries.
|
|
201
217
|
*/
|
|
202
|
-
query(plan) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
features: ["either", "nested", "order", "mask", "limit"],
|
|
207
|
-
});
|
|
208
|
-
const limit = plan.candidateLimit ?? 10_000;
|
|
209
|
-
const candidates = [];
|
|
210
|
-
for (const record of this.#records.values()) {
|
|
211
|
-
if (record.lifecycleFlags?.deleted)
|
|
212
|
-
continue;
|
|
213
|
-
candidates.push(record);
|
|
214
|
-
if (candidates.length > limit)
|
|
215
|
-
break;
|
|
216
|
-
}
|
|
217
|
-
if (candidates.length > limit) {
|
|
218
|
-
throw new Error(`Storage query exceeded the candidate limit of ${String(limit)}.`);
|
|
219
|
-
}
|
|
220
|
-
const entries = candidates.flatMap((record) => {
|
|
221
|
-
const copied = EntitySnapshots.copyCurrent(record);
|
|
222
|
-
const id = copied.entityId === undefined ? undefined : this.#unpackId(copied.entityId);
|
|
223
|
-
if (id === undefined)
|
|
224
|
-
throw new Error("Entity current record ID does not match its Entity ID schema.");
|
|
225
|
-
return copied.lifecycleFlags?.deleted
|
|
226
|
-
? []
|
|
227
|
-
: [
|
|
228
|
-
{
|
|
229
|
-
id: this.#idClone(id),
|
|
230
|
-
record: copied,
|
|
231
|
-
columns: new Map([
|
|
232
|
-
...this.#columns.map((column) => [
|
|
233
|
-
column.name,
|
|
234
|
-
column.valueIn(copied),
|
|
235
|
-
]),
|
|
236
|
-
]),
|
|
237
|
-
},
|
|
238
|
-
];
|
|
239
|
-
});
|
|
240
|
-
return StorageQueryEvaluator.evaluate(entries, plan);
|
|
218
|
+
async query(plan) {
|
|
219
|
+
StorageQueryPolicy.validate(plan, {
|
|
220
|
+
comparisons: ["equal", "greaterThan", "lessThan", "greaterOrEqual", "lessOrEqual"],
|
|
221
|
+
features: ["either", "nested", "order", "limit"],
|
|
241
222
|
});
|
|
223
|
+
const limit = plan.exhaustive ? Number.POSITIVE_INFINITY : (plan.candidateLimit ?? 10_000);
|
|
224
|
+
const candidates = [];
|
|
225
|
+
for (const record of this.#records.values()) {
|
|
226
|
+
if (!plan.exhaustive && record.lifecycleFlags?.deleted)
|
|
227
|
+
continue;
|
|
228
|
+
candidates.push(record);
|
|
229
|
+
if (candidates.length > limit)
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
if (candidates.length > limit) {
|
|
233
|
+
throw new Error(`Storage query exceeded the candidate limit of ${String(limit)}.`);
|
|
234
|
+
}
|
|
235
|
+
const entries = candidates.map((record) => {
|
|
236
|
+
const copied = EntitySnapshots.copyCurrent(record);
|
|
237
|
+
const id = copied.entityId === undefined ? undefined : this.#unpackId(copied.entityId);
|
|
238
|
+
if (id === undefined)
|
|
239
|
+
throw new Error("Entity current record ID does not match its Entity ID schema.");
|
|
240
|
+
return {
|
|
241
|
+
id: this.#idClone(id),
|
|
242
|
+
record: copied,
|
|
243
|
+
columns: new Map(this.#columns.map((column) => [column.name, column.valueIn(copied)])),
|
|
244
|
+
};
|
|
245
|
+
});
|
|
246
|
+
return await Promise.resolve(StorageQueryEvaluator.evaluate(entries, plan));
|
|
242
247
|
}
|
|
243
248
|
}
|
|
244
249
|
/**
|
|
245
250
|
* In-memory immutable diagnostic event-history adapter.
|
|
251
|
+
*
|
|
252
|
+
* @typeParam I Producer Entity identifier type used to select events.
|
|
246
253
|
*/
|
|
247
254
|
export class MemoryEntityEventHistory {
|
|
248
255
|
#id;
|
|
@@ -357,12 +364,24 @@ export class MemoryEntityEventHistory {
|
|
|
357
364
|
isOpen() {
|
|
358
365
|
return this.#records.isOpen();
|
|
359
366
|
}
|
|
367
|
+
/**
|
|
368
|
+
* Returns a nonempty generated event ID or throws.
|
|
369
|
+
*
|
|
370
|
+
* @param event Event inspected for its ID.
|
|
371
|
+
* @returns Present generated event ID.
|
|
372
|
+
*/
|
|
360
373
|
eventIdIn(event) {
|
|
361
374
|
if (event.id === undefined || event.id.value.trim().length === 0) {
|
|
362
375
|
throw new Error("Event history requires an event ID.");
|
|
363
376
|
}
|
|
364
377
|
return event.id;
|
|
365
378
|
}
|
|
379
|
+
/**
|
|
380
|
+
* Decodes the producer Entity ID from an event context.
|
|
381
|
+
*
|
|
382
|
+
* @param event Event whose producer is inspected.
|
|
383
|
+
* @returns Entity ID matching the configured codec.
|
|
384
|
+
*/
|
|
366
385
|
producerIdIn(event) {
|
|
367
386
|
const producerId = event.context?.producerId;
|
|
368
387
|
if (producerId === undefined)
|
|
@@ -373,6 +392,12 @@ export class MemoryEntityEventHistory {
|
|
|
373
392
|
}
|
|
374
393
|
return entityId;
|
|
375
394
|
}
|
|
395
|
+
/**
|
|
396
|
+
* Validates required event history fields and removes transient enrichment.
|
|
397
|
+
*
|
|
398
|
+
* @param event Event proposed for durable history.
|
|
399
|
+
* @returns Cloned event without context enrichment.
|
|
400
|
+
*/
|
|
376
401
|
validatedEvent(event) {
|
|
377
402
|
this.eventIdIn(event);
|
|
378
403
|
this.producerIdIn(event);
|
|
@@ -388,20 +413,44 @@ export class MemoryEntityEventHistory {
|
|
|
388
413
|
stored.context.enrichment = undefined;
|
|
389
414
|
return stored;
|
|
390
415
|
}
|
|
416
|
+
/**
|
|
417
|
+
* Rejects an operation after this event-history handle closes.
|
|
418
|
+
*/
|
|
391
419
|
requireOpen() {
|
|
392
420
|
if (!this.isOpen())
|
|
393
421
|
throw new Error("Entity history storage is closed.");
|
|
394
422
|
}
|
|
423
|
+
/**
|
|
424
|
+
* Invokes the maintenance selection hook and checks that the handle remains open.
|
|
425
|
+
*
|
|
426
|
+
* @returns Completes after the selection hook.
|
|
427
|
+
*/
|
|
395
428
|
async afterSelection() {
|
|
396
429
|
await this.#maintenance?.afterSelection?.();
|
|
397
430
|
this.requireOpen();
|
|
398
431
|
}
|
|
432
|
+
/**
|
|
433
|
+
* Reads the configured maintenance deletion chunk size.
|
|
434
|
+
*
|
|
435
|
+
* @returns Configured or default chunk size.
|
|
436
|
+
*/
|
|
399
437
|
batchSize() {
|
|
400
438
|
return this.#maintenance?.batchSize ?? MAINTENANCE_BATCH_SIZE;
|
|
401
439
|
}
|
|
440
|
+
/**
|
|
441
|
+
* Reads the configured history query page size.
|
|
442
|
+
*
|
|
443
|
+
* @returns Configured or default page size.
|
|
444
|
+
*/
|
|
402
445
|
pageSize() {
|
|
403
446
|
return this.#maintenance?.pageSize ?? HISTORY_PAGE_SIZE;
|
|
404
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Deletes selected event IDs in bounded maintenance chunks.
|
|
450
|
+
*
|
|
451
|
+
* @param entries Event IDs selected for deletion.
|
|
452
|
+
* @returns Completes after all chunks have been deleted.
|
|
453
|
+
*/
|
|
405
454
|
async deleteEntries(entries) {
|
|
406
455
|
for (let start = 0; start < entries.length; start += this.batchSize()) {
|
|
407
456
|
for (const entry of entries.slice(start, start + this.batchSize()))
|
|
@@ -413,6 +462,9 @@ export class MemoryEntityEventHistory {
|
|
|
413
462
|
}
|
|
414
463
|
/**
|
|
415
464
|
* In-memory immutable, versioned state-history adapter.
|
|
465
|
+
*
|
|
466
|
+
* @typeParam I Entity identifier type used to select state records.
|
|
467
|
+
* @typeParam S Generated Entity state message type decoded from records.
|
|
416
468
|
*/
|
|
417
469
|
export class InMemoryEntityHistory {
|
|
418
470
|
#id;
|
|
@@ -575,6 +627,12 @@ export class InMemoryEntityHistory {
|
|
|
575
627
|
isOpen() {
|
|
576
628
|
return this.#records.isOpen();
|
|
577
629
|
}
|
|
630
|
+
/**
|
|
631
|
+
* Deletes selected state-record keys in bounded maintenance chunks.
|
|
632
|
+
*
|
|
633
|
+
* @param entries State-record keys selected for deletion.
|
|
634
|
+
* @returns Completes after all chunks have been deleted.
|
|
635
|
+
*/
|
|
578
636
|
async deleteEntries(entries) {
|
|
579
637
|
for (let start = 0; start < entries.length; start += this.batchSize()) {
|
|
580
638
|
for (const entry of entries.slice(start, start + this.batchSize())) {
|
|
@@ -583,6 +641,12 @@ export class InMemoryEntityHistory {
|
|
|
583
641
|
await this.afterMaintenanceChunk();
|
|
584
642
|
}
|
|
585
643
|
}
|
|
644
|
+
/**
|
|
645
|
+
* Builds a state-history key from an Entity ID and version.
|
|
646
|
+
*
|
|
647
|
+
* @param record Generated Entity record to identify.
|
|
648
|
+
* @returns Composite state-history key.
|
|
649
|
+
*/
|
|
586
650
|
keyFor(record) {
|
|
587
651
|
if (record.entityId === undefined || record.version === undefined) {
|
|
588
652
|
throw new Error("State history requires EntityRecord.entityId and EntityRecord.version.");
|
|
@@ -592,6 +656,12 @@ export class InMemoryEntityHistory {
|
|
|
592
656
|
version: record.version.number,
|
|
593
657
|
});
|
|
594
658
|
}
|
|
659
|
+
/**
|
|
660
|
+
* Decodes the Entity ID stored in a generated record.
|
|
661
|
+
*
|
|
662
|
+
* @param record Generated Entity record to inspect.
|
|
663
|
+
* @returns Entity ID matching the configured codec.
|
|
664
|
+
*/
|
|
595
665
|
entityIdIn(record) {
|
|
596
666
|
if (record.entityId === undefined) {
|
|
597
667
|
throw new Error("State history requires EntityRecord.entityId.");
|
|
@@ -602,6 +672,11 @@ export class InMemoryEntityHistory {
|
|
|
602
672
|
}
|
|
603
673
|
return entityId;
|
|
604
674
|
}
|
|
675
|
+
/**
|
|
676
|
+
* Checks an Entity record's ID, timestamp, and state schema before storage.
|
|
677
|
+
*
|
|
678
|
+
* @param record Generated Entity record proposed for history.
|
|
679
|
+
*/
|
|
605
680
|
validateRecord(record) {
|
|
606
681
|
this.entityIdIn(record);
|
|
607
682
|
if (record.version?.timestamp === undefined) {
|
|
@@ -609,6 +684,12 @@ export class InMemoryEntityHistory {
|
|
|
609
684
|
}
|
|
610
685
|
this.unpackState(record);
|
|
611
686
|
}
|
|
687
|
+
/**
|
|
688
|
+
* Decodes a state whose type URL matches the configured state schema.
|
|
689
|
+
*
|
|
690
|
+
* @param record Generated Entity record containing a packed state.
|
|
691
|
+
* @returns Frozen decoded Entity state.
|
|
692
|
+
*/
|
|
612
693
|
unpackState(record) {
|
|
613
694
|
const state = record.state;
|
|
614
695
|
if (!state?.typeUrl.endsWith(`/${this.#stateSchema.typeName}`)) {
|
|
@@ -616,21 +697,44 @@ export class InMemoryEntityHistory {
|
|
|
616
697
|
}
|
|
617
698
|
return Object.freeze(fromBinary(this.#stateSchema, state.value));
|
|
618
699
|
}
|
|
700
|
+
/**
|
|
701
|
+
* Rejects an operation after this state-history handle closes.
|
|
702
|
+
*/
|
|
619
703
|
requireOpen() {
|
|
620
704
|
if (!this.isOpen())
|
|
621
705
|
throw new Error("Entity history storage is closed.");
|
|
622
706
|
}
|
|
707
|
+
/**
|
|
708
|
+
* Invokes the maintenance selection hook and checks that the handle remains open.
|
|
709
|
+
*
|
|
710
|
+
* @returns Completes after the selection hook.
|
|
711
|
+
*/
|
|
623
712
|
async afterSelection() {
|
|
624
713
|
await this.#maintenance?.afterSelection?.();
|
|
625
714
|
this.requireOpen();
|
|
626
715
|
}
|
|
716
|
+
/**
|
|
717
|
+
* Invokes the maintenance chunk hook and checks that the handle remains open.
|
|
718
|
+
*
|
|
719
|
+
* @returns Completes after the chunk hook.
|
|
720
|
+
*/
|
|
627
721
|
async afterMaintenanceChunk() {
|
|
628
722
|
await this.#maintenance?.onChunk?.();
|
|
629
723
|
this.requireOpen();
|
|
630
724
|
}
|
|
725
|
+
/**
|
|
726
|
+
* Reads the configured maintenance deletion chunk size.
|
|
727
|
+
*
|
|
728
|
+
* @returns Configured or default chunk size.
|
|
729
|
+
*/
|
|
631
730
|
batchSize() {
|
|
632
731
|
return this.#maintenance?.batchSize ?? MAINTENANCE_BATCH_SIZE;
|
|
633
732
|
}
|
|
733
|
+
/**
|
|
734
|
+
* Reads the configured history query page size.
|
|
735
|
+
*
|
|
736
|
+
* @returns Configured or default page size.
|
|
737
|
+
*/
|
|
634
738
|
pageSize() {
|
|
635
739
|
return this.#maintenance?.pageSize ?? HISTORY_PAGE_SIZE;
|
|
636
740
|
}
|
|
@@ -643,6 +747,7 @@ export class KeyedSerialQueue {
|
|
|
643
747
|
/**
|
|
644
748
|
* Queues an operation after earlier operations with the same key finish.
|
|
645
749
|
*
|
|
750
|
+
* @typeParam T Result type returned by the queued operation.
|
|
646
751
|
* @param key Identifies the serialized operation sequence.
|
|
647
752
|
* @param operation Supplies the operation to run.
|
|
648
753
|
* @returns Resolves to the operation result.
|
|
@@ -673,6 +778,10 @@ const HistoryOrdering = {
|
|
|
673
778
|
// prettier-ignore
|
|
674
779
|
/**
|
|
675
780
|
* Compares timestamps by seconds and nanos.
|
|
781
|
+
*
|
|
782
|
+
* @param left First timestamp to compare.
|
|
783
|
+
* @param right Second timestamp to compare.
|
|
784
|
+
* @returns Signed chronological comparison.
|
|
676
785
|
*/
|
|
677
786
|
compareTime(left, right) {
|
|
678
787
|
return Number(left.seconds - right.seconds) || left.nanos - right.nanos;
|
|
@@ -682,6 +791,19 @@ const HistoryOrdering = {
|
|
|
682
791
|
* Traverses finite RecordStorage windows with an exact stable keyset continuation.
|
|
683
792
|
*/
|
|
684
793
|
const HistoryPaging = {
|
|
794
|
+
/**
|
|
795
|
+
* Reads finite record pages and visits each page using stable keyset continuation.
|
|
796
|
+
*
|
|
797
|
+
* @typeParam I Record identifier type used by the storage query.
|
|
798
|
+
* @typeParam R Generated record message type in each page.
|
|
799
|
+
* @param records Storage queried in pages.
|
|
800
|
+
* @param query Filters applied to every page.
|
|
801
|
+
* @param sort Stable field order used by the continuation.
|
|
802
|
+
* @param pageSize Maximum records requested per page.
|
|
803
|
+
* @param valueIn Reads an ordered field from a record.
|
|
804
|
+
* @param visit Processes a page and returns whether scanning should continue.
|
|
805
|
+
* @returns Completes after all pages or an early visitor stop.
|
|
806
|
+
*/
|
|
685
807
|
async scan(records, query, sort, pageSize, valueIn, visit) {
|
|
686
808
|
let after;
|
|
687
809
|
do {
|
|
@@ -714,6 +836,10 @@ const HistoryIdentity = {
|
|
|
714
836
|
// prettier-ignore
|
|
715
837
|
/**
|
|
716
838
|
* Determines whether two generated Entity records have identical binary content.
|
|
839
|
+
*
|
|
840
|
+
* @param left First generated Entity record.
|
|
841
|
+
* @param right Second generated Entity record.
|
|
842
|
+
* @returns True when their serialized bytes match.
|
|
717
843
|
*/
|
|
718
844
|
sameEntityRecord(left, right) {
|
|
719
845
|
return CanonicalBytes.equal(toBinary(EntityRecordSchema, left), toBinary(EntityRecordSchema, right));
|
|
@@ -723,16 +849,31 @@ const HistoryIdentity = {
|
|
|
723
849
|
* Validates bounded history requests.
|
|
724
850
|
*/
|
|
725
851
|
const HistoryLimits = {
|
|
852
|
+
/**
|
|
853
|
+
* Rejects a history depth that is not a positive safe integer.
|
|
854
|
+
*
|
|
855
|
+
* @param depth Requested number of history entries.
|
|
856
|
+
*/
|
|
726
857
|
requireDepth(depth) {
|
|
727
858
|
if (!Number.isSafeInteger(depth) || depth <= 0) {
|
|
728
859
|
throw new Error("History depth must be a positive safe integer.");
|
|
729
860
|
}
|
|
730
861
|
},
|
|
862
|
+
/**
|
|
863
|
+
* Rejects an invalid optional maintenance deletion chunk size.
|
|
864
|
+
*
|
|
865
|
+
* @param batchSize Requested records per deletion chunk.
|
|
866
|
+
*/
|
|
731
867
|
requireBatchSize(batchSize) {
|
|
732
868
|
if (batchSize !== undefined && (!Number.isSafeInteger(batchSize) || batchSize <= 0)) {
|
|
733
869
|
throw new Error("In-memory maintenance batch size must be a positive safe integer.");
|
|
734
870
|
}
|
|
735
871
|
},
|
|
872
|
+
/**
|
|
873
|
+
* Rejects an invalid optional history query page size.
|
|
874
|
+
*
|
|
875
|
+
* @param pageSize Requested records per query page.
|
|
876
|
+
*/
|
|
736
877
|
requirePageSize(pageSize) {
|
|
737
878
|
if (pageSize !== undefined && (!Number.isSafeInteger(pageSize) || pageSize <= 0)) {
|
|
738
879
|
throw new Error("In-memory history page size must be a positive safe integer.");
|
|
@@ -748,6 +889,10 @@ const CanonicalBytes = {
|
|
|
748
889
|
// prettier-ignore
|
|
749
890
|
/**
|
|
750
891
|
* Compares two durable byte sequences.
|
|
892
|
+
*
|
|
893
|
+
* @param left First byte sequence.
|
|
894
|
+
* @param right Second byte sequence.
|
|
895
|
+
* @returns True when lengths and bytes match.
|
|
751
896
|
*/
|
|
752
897
|
equal(left, right) {
|
|
753
898
|
return left.length === right.length && left.every((value, index) => value === right[index]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-entity-history.js","sourceRoot":"","sources":["../../src/memory/in-memory-entity-history.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"in-memory-entity-history.js","sourceRoot":"","sources":["../../src/memory/in-memory-entity-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,9 @@ import type { NormalizedQueryPlan, StorageQueryCapabilities } from "../query/que
|
|
|
8
8
|
import { TenantRecords } from "./tenant-records.js";
|
|
9
9
|
/**
|
|
10
10
|
* In-memory record storage with per-tenant slices when the context is multitenant.
|
|
11
|
+
*
|
|
12
|
+
* @typeParam I The storage slot identifier type.
|
|
13
|
+
* @typeParam R The stored Protobuf record type.
|
|
11
14
|
*/
|
|
12
15
|
export declare class InMemoryRecordStorage<I, R extends Message> extends RecordStorage<I, R> {
|
|
13
16
|
#private;
|
|
@@ -71,8 +74,24 @@ export declare class InMemoryRecordStorage<I, R extends Message> extends RecordS
|
|
|
71
74
|
* @returns Completes when the record is written.
|
|
72
75
|
*/
|
|
73
76
|
protected writeRecord(record: ReturnType<RecordSpec<I, R>["materialize"]>): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Returns the records selected by this handle's tenant context.
|
|
79
|
+
*
|
|
80
|
+
* @returns The tenant's mutable record collection.
|
|
81
|
+
*/
|
|
74
82
|
private records;
|
|
83
|
+
/**
|
|
84
|
+
* Finds or creates records for the current tenant in a local map.
|
|
85
|
+
*
|
|
86
|
+
* @param tenantRecords The map shared by this handle's local record supplier.
|
|
87
|
+
* @returns The selected tenant's mutable record collection.
|
|
88
|
+
*/
|
|
75
89
|
private localRecords;
|
|
90
|
+
/**
|
|
91
|
+
* Returns the key used to separate tenants in the local map.
|
|
92
|
+
*
|
|
93
|
+
* @returns The tenant key, or the single-tenant marker.
|
|
94
|
+
*/
|
|
76
95
|
private tenantKey;
|
|
77
96
|
}
|
|
78
97
|
//# sourceMappingURL=in-memory-record-storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-record-storage.d.ts","sourceRoot":"","sources":["../../src/memory/in-memory-record-storage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD
|
|
1
|
+
{"version":3,"file":"in-memory-record-storage.d.ts","sourceRoot":"","sources":["../../src/memory/in-memory-record-storage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;;GAKG;AACH,qBAAa,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IAGlF;;OAEG;IACH,SAAkB,mBAAmB,QAAQ;IAI7C;;;;;OAKG;gBAED,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,aAAa,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAO3C;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAC3B,EAAE,EAAE,CAAC,EACL,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,EACjE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,GAC5D,OAAO,CAAC,OAAO,CAAC;IAInB;;;;OAIG;cACgB,kBAAkB,CACnC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAIxC;;;OAGG;cACgB,iBAAiB,IAAI,wBAAwB;IAOhE;;;;OAIG;cACgB,sBAAsB,CACvC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAaxC;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInD;;;;OAIG;IACH,SAAS,CAAC,eAAe,CACvB,OAAO,EAAE,SAAS,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,GAC9D,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzF;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAIf;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAGlB"}
|
|
@@ -17,6 +17,9 @@ import { TenantRecords } from "./tenant-records.js";
|
|
|
17
17
|
import { TenantBoundary } from "../internal/tenancy.js";
|
|
18
18
|
/**
|
|
19
19
|
* In-memory record storage with per-tenant slices when the context is multitenant.
|
|
20
|
+
*
|
|
21
|
+
* @typeParam I The storage slot identifier type.
|
|
22
|
+
* @typeParam R The stored Protobuf record type.
|
|
20
23
|
*/
|
|
21
24
|
export class InMemoryRecordStorage extends RecordStorage {
|
|
22
25
|
// prettier-ignore
|
|
@@ -69,7 +72,7 @@ export class InMemoryRecordStorage extends RecordStorage {
|
|
|
69
72
|
queryCapabilities() {
|
|
70
73
|
return {
|
|
71
74
|
comparisons: ["equal", "greaterThan", "lessThan", "greaterOrEqual", "lessOrEqual"],
|
|
72
|
-
features: ["either", "nested", "order", "
|
|
75
|
+
features: ["either", "nested", "order", "limit"],
|
|
73
76
|
};
|
|
74
77
|
}
|
|
75
78
|
/**
|
|
@@ -78,9 +81,11 @@ export class InMemoryRecordStorage extends RecordStorage {
|
|
|
78
81
|
* @returns The candidate storage entries.
|
|
79
82
|
*/
|
|
80
83
|
queryPlanRecordEntries(plan) {
|
|
81
|
-
return Promise.resolve(this.records().queryEntries(this.recordSpec,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
return Promise.resolve(this.records().queryEntries(this.recordSpec, plan.exhaustive
|
|
85
|
+
? {}
|
|
86
|
+
: {
|
|
87
|
+
limit: (plan.candidateLimit ?? defaultQueryCandidateLimit) + 1,
|
|
88
|
+
}));
|
|
84
89
|
}
|
|
85
90
|
/**
|
|
86
91
|
* Reads the record at one storage slot.
|
|
@@ -108,9 +113,20 @@ export class InMemoryRecordStorage extends RecordStorage {
|
|
|
108
113
|
this.records().write(record);
|
|
109
114
|
return Promise.resolve();
|
|
110
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Returns the records selected by this handle's tenant context.
|
|
118
|
+
*
|
|
119
|
+
* @returns The tenant's mutable record collection.
|
|
120
|
+
*/
|
|
111
121
|
records() {
|
|
112
122
|
return this.#records();
|
|
113
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Finds or creates records for the current tenant in a local map.
|
|
126
|
+
*
|
|
127
|
+
* @param tenantRecords The map shared by this handle's local record supplier.
|
|
128
|
+
* @returns The selected tenant's mutable record collection.
|
|
129
|
+
*/
|
|
114
130
|
localRecords(tenantRecords) {
|
|
115
131
|
const tenantKey = this.tenantKey();
|
|
116
132
|
let records = tenantRecords.get(tenantKey);
|
|
@@ -120,6 +136,11 @@ export class InMemoryRecordStorage extends RecordStorage {
|
|
|
120
136
|
}
|
|
121
137
|
return records;
|
|
122
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Returns the key used to separate tenants in the local map.
|
|
141
|
+
*
|
|
142
|
+
* @returns The tenant key, or the single-tenant marker.
|
|
143
|
+
*/
|
|
123
144
|
tenantKey() {
|
|
124
145
|
return TenantBoundary.of(this.context).key;
|
|
125
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-record-storage.js","sourceRoot":"","sources":["../../src/memory/in-memory-record-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"in-memory-record-storage.js","sourceRoot":"","sources":["../../src/memory/in-memory-record-storage.ts"],"names":[],"mappings":"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"}
|