@oimdb/core 1.2.1 → 1.3.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/README.md +116 -27
- package/dist/index.cjs +347 -27
- package/dist/index.d.cts +227 -39
- package/dist/index.d.ts +227 -39
- package/dist/index.js +335 -23
- package/package.json +13 -1
package/dist/index.d.cts
CHANGED
|
@@ -12,6 +12,30 @@ declare abstract class OIMCollectionStore<TEntity extends object, TPk extends TO
|
|
|
12
12
|
abstract clear(): void;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
declare abstract class OIMIndexStoreSetBased<TKey extends TOIMPk, TPk extends TOIMPk> {
|
|
16
|
+
abstract setOneByKey(key: TKey, pks: Set<TPk>): void;
|
|
17
|
+
abstract removeOneByKey(key: TKey): void;
|
|
18
|
+
abstract removeManyByKeys(keys: readonly TKey[]): void;
|
|
19
|
+
abstract getOneByKey(key: TKey): Set<TPk> | undefined;
|
|
20
|
+
abstract getManyByKeys(keys: readonly TKey[]): Map<TKey, Set<TPk>>;
|
|
21
|
+
abstract getAllKeys(): TKey[];
|
|
22
|
+
abstract getAll(): Map<TKey, Set<TPk>>;
|
|
23
|
+
abstract countAll(): number;
|
|
24
|
+
abstract clear(): void;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare abstract class OIMIndexStoreArrayBased<TKey extends TOIMPk, TPk extends TOIMPk> {
|
|
28
|
+
abstract setOneByKey(key: TKey, pks: TPk[]): void;
|
|
29
|
+
abstract removeOneByKey(key: TKey): void;
|
|
30
|
+
abstract removeManyByKeys(keys: readonly TKey[]): void;
|
|
31
|
+
abstract getOneByKey(key: TKey): TPk[] | undefined;
|
|
32
|
+
abstract getManyByKeys(keys: readonly TKey[]): Map<TKey, TPk[]>;
|
|
33
|
+
abstract getAllKeys(): TKey[];
|
|
34
|
+
abstract getAll(): Map<TKey, TPk[]>;
|
|
35
|
+
abstract countAll(): number;
|
|
36
|
+
abstract clear(): void;
|
|
37
|
+
}
|
|
38
|
+
|
|
15
39
|
type TOIMEventHandler<T> = (payload: T) => void;
|
|
16
40
|
|
|
17
41
|
declare class OIMEventEmitter<T extends Record<string, unknown>> {
|
|
@@ -61,36 +85,20 @@ interface TOIMIndexUpdatePayload<TKey> {
|
|
|
61
85
|
* Returns true if the arrays are considered equal, false if they differ. */
|
|
62
86
|
type TOIMIndexComparator<TPk extends TOIMPk> = (existingPks: readonly TPk[], newPks: readonly TPk[]) => boolean;
|
|
63
87
|
|
|
64
|
-
declare abstract class OIMIndexStore<TKey extends TOIMPk, TPk extends TOIMPk> {
|
|
65
|
-
abstract setOneByKey(key: TKey, pks: Set<TPk>): void;
|
|
66
|
-
abstract removeOneByKey(key: TKey): void;
|
|
67
|
-
abstract removeManyByKeys(keys: readonly TKey[]): void;
|
|
68
|
-
abstract getOneByKey(key: TKey): Set<TPk> | undefined;
|
|
69
|
-
abstract getManyByKeys(keys: readonly TKey[]): Map<TKey, Set<TPk>>;
|
|
70
|
-
abstract getAllKeys(): TKey[];
|
|
71
|
-
abstract getAll(): Map<TKey, Set<TPk>>;
|
|
72
|
-
abstract countAll(): number;
|
|
73
|
-
abstract clear(): void;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Configuration options for index instances */
|
|
78
|
-
type TOIMIndexOptions<TIndexKey extends TOIMPk, TPk extends TOIMPk> = {
|
|
79
|
-
comparePks?: TOIMIndexComparator<TPk>;
|
|
80
|
-
store?: OIMIndexStore<TIndexKey, TPk>;
|
|
81
|
-
};
|
|
82
|
-
|
|
83
88
|
/**
|
|
84
|
-
* Abstract base class for
|
|
85
|
-
* Provides common functionality and event system for key-to-PKs mappings.
|
|
89
|
+
* Abstract base class for Set-based index types.
|
|
90
|
+
* Provides common functionality and event system for key-to-PKs mappings using Set storage.
|
|
86
91
|
*/
|
|
87
|
-
declare abstract class
|
|
92
|
+
declare abstract class OIMIndexSetBased<TKey extends TOIMPk, TPk extends TOIMPk> {
|
|
88
93
|
protected readonly comparePks?: TOIMIndexComparator<TPk>;
|
|
89
|
-
protected readonly store:
|
|
94
|
+
protected readonly store: OIMIndexStoreSetBased<TKey, TPk>;
|
|
90
95
|
readonly emitter: OIMEventEmitter<{
|
|
91
96
|
0: TOIMIndexUpdatePayload<TKey>;
|
|
92
97
|
}>;
|
|
93
|
-
constructor(options?:
|
|
98
|
+
constructor(options?: {
|
|
99
|
+
comparePks?: TOIMIndexComparator<TPk>;
|
|
100
|
+
store?: OIMIndexStoreSetBased<TKey, TPk>;
|
|
101
|
+
});
|
|
94
102
|
/**
|
|
95
103
|
* Get primary keys for multiple index keys
|
|
96
104
|
*/
|
|
@@ -150,11 +158,81 @@ declare abstract class OIMIndex<TKey extends TOIMPk, TPk extends TOIMPk> {
|
|
|
150
158
|
}
|
|
151
159
|
|
|
152
160
|
/**
|
|
153
|
-
*
|
|
154
|
-
*
|
|
161
|
+
* Abstract base class for Array-based index types.
|
|
162
|
+
* Provides common functionality and event system for key-to-PKs mappings using Array storage.
|
|
163
|
+
*/
|
|
164
|
+
declare abstract class OIMIndexArrayBased<TKey extends TOIMPk, TPk extends TOIMPk> {
|
|
165
|
+
protected readonly comparePks?: TOIMIndexComparator<TPk>;
|
|
166
|
+
protected readonly store: OIMIndexStoreArrayBased<TKey, TPk>;
|
|
167
|
+
readonly emitter: OIMEventEmitter<{
|
|
168
|
+
0: TOIMIndexUpdatePayload<TKey>;
|
|
169
|
+
}>;
|
|
170
|
+
constructor(options?: {
|
|
171
|
+
comparePks?: TOIMIndexComparator<TPk>;
|
|
172
|
+
store?: OIMIndexStoreArrayBased<TKey, TPk>;
|
|
173
|
+
});
|
|
174
|
+
/**
|
|
175
|
+
* Get primary keys for multiple index keys
|
|
176
|
+
*/
|
|
177
|
+
getPksByKeys(keys: readonly TKey[]): Map<TKey, TPk[]>;
|
|
178
|
+
/**
|
|
179
|
+
* Get primary keys for a specific index key
|
|
180
|
+
*/
|
|
181
|
+
getPksByKey(key: TKey): TPk[];
|
|
182
|
+
/**
|
|
183
|
+
* Check if an index key exists
|
|
184
|
+
*/
|
|
185
|
+
hasKey(key: TKey): boolean;
|
|
186
|
+
/**
|
|
187
|
+
* Get all index keys
|
|
188
|
+
*/
|
|
189
|
+
getKeys(): readonly TKey[];
|
|
190
|
+
/**
|
|
191
|
+
* Get the number of primary keys for a specific index key
|
|
192
|
+
*/
|
|
193
|
+
getKeySize(key: TKey): number;
|
|
194
|
+
/**
|
|
195
|
+
* Get total number of index keys
|
|
196
|
+
*/
|
|
197
|
+
get size(): number;
|
|
198
|
+
/**
|
|
199
|
+
* Check if the index is empty
|
|
200
|
+
*/
|
|
201
|
+
get isEmpty(): boolean;
|
|
202
|
+
/**
|
|
203
|
+
* Get performance metrics for monitoring and debugging
|
|
204
|
+
*/
|
|
205
|
+
getMetrics(): {
|
|
206
|
+
totalKeys: number;
|
|
207
|
+
totalPks: number;
|
|
208
|
+
averagePksPerKey: number;
|
|
209
|
+
maxBucketSize: number;
|
|
210
|
+
minBucketSize: number;
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* Clean up event listeners when index is no longer needed
|
|
214
|
+
*/
|
|
215
|
+
destroy(): void;
|
|
216
|
+
/**
|
|
217
|
+
* Set primary keys for a specific index key with optional comparison.
|
|
218
|
+
* If comparator is provided and returns true (no changes), skip the update.
|
|
219
|
+
*/
|
|
220
|
+
protected setPksWithComparison(key: TKey, newPks: TPk[]): boolean;
|
|
221
|
+
/**
|
|
222
|
+
* Emit update event with changed keys
|
|
223
|
+
*/
|
|
224
|
+
protected emitUpdate(keys: TKey[]): void;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Manual Set-based index that allows direct manipulation of key-to-primary-keys mappings.
|
|
229
|
+
* Extends the abstract OIMIndexSetBased with manual control methods and optional comparison.
|
|
155
230
|
*/
|
|
156
|
-
declare class
|
|
157
|
-
constructor(options?:
|
|
231
|
+
declare class OIMIndexManualSetBased<TIndexKey extends TOIMPk, TPk extends TOIMPk> extends OIMIndexSetBased<TIndexKey, TPk> {
|
|
232
|
+
constructor(options?: {
|
|
233
|
+
comparePks?: TOIMIndexComparator<TPk>;
|
|
234
|
+
store?: OIMIndexStoreSetBased<TIndexKey, TPk>;
|
|
235
|
+
});
|
|
158
236
|
/**
|
|
159
237
|
* Set primary keys for a specific index key, replacing any existing values.
|
|
160
238
|
* Uses optional comparator to skip updates if PKs haven't actually changed.
|
|
@@ -189,6 +267,7 @@ declare class OIMDBSettings {
|
|
|
189
267
|
/**
|
|
190
268
|
* Base abstract coalescer that groups updates by keys and emits consolidated events.
|
|
191
269
|
* Designed to be extended for different entity types (collections, indexes, etc.).
|
|
270
|
+
* Uses SetBased indexes for efficient key tracking.
|
|
192
271
|
*/
|
|
193
272
|
declare abstract class OIMUpdateEventCoalescer<TKey extends TOIMPk> {
|
|
194
273
|
readonly emitter: OIMEventEmitter<{
|
|
@@ -196,9 +275,9 @@ declare abstract class OIMUpdateEventCoalescer<TKey extends TOIMPk> {
|
|
|
196
275
|
1: void;
|
|
197
276
|
2: void;
|
|
198
277
|
}>;
|
|
199
|
-
protected readonly updatedKeysIndex:
|
|
278
|
+
protected readonly updatedKeysIndex: OIMIndexManualSetBased<typeof OIMDBSettings.UPDATED_KEYS_INDEX_KEY, TKey>;
|
|
200
279
|
private hasEmittedChanges;
|
|
201
|
-
constructor(index?:
|
|
280
|
+
constructor(index?: OIMIndexManualSetBased<typeof OIMDBSettings.UPDATED_KEYS_INDEX_KEY, TKey>);
|
|
202
281
|
/**
|
|
203
282
|
* Get the set of keys that have been updated since last clear
|
|
204
283
|
*/
|
|
@@ -332,7 +411,7 @@ declare class OIMUpdateEventCoalescerIndex<TIndexKey extends TOIMPk> extends OIM
|
|
|
332
411
|
private handleUpdate;
|
|
333
412
|
}
|
|
334
413
|
|
|
335
|
-
declare abstract class
|
|
414
|
+
declare abstract class OIMReactiveIndexSetBased<TKey extends TOIMPk, TPk extends TOIMPk, TIndex extends OIMIndexSetBased<TKey, TPk>> {
|
|
336
415
|
readonly index: TIndex;
|
|
337
416
|
readonly updateEventEmitter: OIMUpdateEventEmitter<TKey>;
|
|
338
417
|
readonly coalescer: OIMUpdateEventCoalescerIndex<TKey>;
|
|
@@ -357,6 +436,31 @@ declare abstract class OIMReactiveIndex<TKey extends TOIMPk, TPk extends TOIMPk,
|
|
|
357
436
|
destroy(): void;
|
|
358
437
|
}
|
|
359
438
|
|
|
439
|
+
declare abstract class OIMReactiveIndexArrayBased<TKey extends TOIMPk, TPk extends TOIMPk, TIndex extends OIMIndexArrayBased<TKey, TPk>> {
|
|
440
|
+
readonly index: TIndex;
|
|
441
|
+
readonly updateEventEmitter: OIMUpdateEventEmitter<TKey>;
|
|
442
|
+
readonly coalescer: OIMUpdateEventCoalescerIndex<TKey>;
|
|
443
|
+
constructor(queue: OIMEventQueue, opts?: {
|
|
444
|
+
index: TIndex;
|
|
445
|
+
});
|
|
446
|
+
protected abstract createDefaultIndex(): TIndex;
|
|
447
|
+
getPksByKey(key: TKey): TPk[];
|
|
448
|
+
getPksByKeys(keys: readonly TKey[]): Map<TKey, TPk[]>;
|
|
449
|
+
hasKey(key: TKey): boolean;
|
|
450
|
+
getKeys(): readonly TKey[];
|
|
451
|
+
getKeySize(key: TKey): number;
|
|
452
|
+
get size(): number;
|
|
453
|
+
get isEmpty(): boolean;
|
|
454
|
+
getMetrics(): {
|
|
455
|
+
totalKeys: number;
|
|
456
|
+
totalPks: number;
|
|
457
|
+
averagePksPerKey: number;
|
|
458
|
+
maxBucketSize: number;
|
|
459
|
+
minBucketSize: number;
|
|
460
|
+
};
|
|
461
|
+
destroy(): void;
|
|
462
|
+
}
|
|
463
|
+
|
|
360
464
|
type TOIMPkSelector<TEntity extends object, TPk extends TOIMPk> = (entity: TEntity) => TPk;
|
|
361
465
|
|
|
362
466
|
type TOIMEntityUpdater<TEntity extends object> = (draft: Partial<TEntity>, prevEntity: TEntity) => TEntity;
|
|
@@ -382,8 +486,9 @@ declare class OIMCollection<TEntity extends object, TPk extends TOIMPk> {
|
|
|
382
486
|
constructor(opts?: TOIMCollectionOptions<TEntity, TPk>);
|
|
383
487
|
getOneByPk(pk: TPk): TEntity | undefined;
|
|
384
488
|
getManyByPks(pks: readonly TPk[]): TEntity[];
|
|
385
|
-
|
|
386
|
-
|
|
489
|
+
upsertOneByPk(pk: TPk, entity: Partial<TEntity>): void;
|
|
490
|
+
upsertOne(entity: TEntity | Partial<TEntity>): void;
|
|
491
|
+
upsertMany(entities: (TEntity | Partial<TEntity>)[]): void;
|
|
387
492
|
removeOne(entity: TEntity): void;
|
|
388
493
|
removeMany(entities: TEntity[]): void;
|
|
389
494
|
removeOneByPk(pk: TPk): void;
|
|
@@ -392,7 +497,8 @@ declare class OIMCollection<TEntity extends object, TPk extends TOIMPk> {
|
|
|
392
497
|
countAll(): number;
|
|
393
498
|
getAll(): TEntity[];
|
|
394
499
|
getAllPks(): TPk[];
|
|
395
|
-
protected upsertOneWithoutNotifications(entity: TEntity): TPk;
|
|
500
|
+
protected upsertOneWithoutNotifications(entity: TEntity | Partial<TEntity>): TPk;
|
|
501
|
+
protected upsertOneWithoutNotificationsByPk(pk: TPk, entity: Partial<TEntity> | TEntity): void;
|
|
396
502
|
}
|
|
397
503
|
|
|
398
504
|
declare enum EOIMCollectionEventType {
|
|
@@ -421,18 +527,57 @@ declare class OIMReactiveCollection<TEntity extends object, TPk extends TOIMPk>
|
|
|
421
527
|
constructor(queue: OIMEventQueue, opts?: TOIMCollectionOptions<TEntity, TPk>);
|
|
422
528
|
}
|
|
423
529
|
|
|
424
|
-
declare class
|
|
530
|
+
declare class OIMReactiveIndexManualSetBased<TKey extends TOIMPk, TPk extends TOIMPk> extends OIMReactiveIndexSetBased<TKey, TPk, OIMIndexManualSetBased<TKey, TPk>> {
|
|
425
531
|
constructor(queue: OIMEventQueue, opts?: {
|
|
426
|
-
index:
|
|
532
|
+
index: OIMIndexManualSetBased<TKey, TPk>;
|
|
427
533
|
});
|
|
428
|
-
protected createDefaultIndex():
|
|
534
|
+
protected createDefaultIndex(): OIMIndexManualSetBased<TKey, TPk>;
|
|
429
535
|
setPks(key: TKey, pks: TPk[]): void;
|
|
430
536
|
addPks(key: TKey, pks: readonly TPk[]): void;
|
|
431
537
|
removePks(key: TKey, pks: readonly TPk[]): void;
|
|
432
538
|
clear(key?: TKey): void;
|
|
433
539
|
}
|
|
434
540
|
|
|
435
|
-
|
|
541
|
+
/**
|
|
542
|
+
* Manual Array-based index that allows direct manipulation of key-to-primary-keys mappings.
|
|
543
|
+
* Extends the abstract OIMIndexArrayBased with manual control methods and optional comparison.
|
|
544
|
+
*/
|
|
545
|
+
declare class OIMIndexManualArrayBased<TIndexKey extends TOIMPk, TPk extends TOIMPk> extends OIMIndexArrayBased<TIndexKey, TPk> {
|
|
546
|
+
constructor(options?: {
|
|
547
|
+
comparePks?: TOIMIndexComparator<TPk>;
|
|
548
|
+
store?: OIMIndexStoreArrayBased<TIndexKey, TPk>;
|
|
549
|
+
});
|
|
550
|
+
/**
|
|
551
|
+
* Set primary keys for a specific index key, replacing any existing values.
|
|
552
|
+
* Uses optional comparator to skip updates if PKs haven't actually changed.
|
|
553
|
+
*/
|
|
554
|
+
setPks(key: TIndexKey, pks: TPk[]): void;
|
|
555
|
+
/**
|
|
556
|
+
* Add primary keys to a specific index key
|
|
557
|
+
*/
|
|
558
|
+
addPks(key: TIndexKey, pks: readonly TPk[]): void;
|
|
559
|
+
/**
|
|
560
|
+
* Remove primary keys from a specific index key
|
|
561
|
+
*/
|
|
562
|
+
removePks(key: TIndexKey, pks: readonly TPk[]): void;
|
|
563
|
+
/**
|
|
564
|
+
* Clear all primary keys for a specific index key, or all keys if no key specified
|
|
565
|
+
*/
|
|
566
|
+
clear(key?: TIndexKey): void;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
declare class OIMReactiveIndexManualArrayBased<TKey extends TOIMPk, TPk extends TOIMPk> extends OIMReactiveIndexArrayBased<TKey, TPk, OIMIndexManualArrayBased<TKey, TPk>> {
|
|
570
|
+
constructor(queue: OIMEventQueue, opts?: {
|
|
571
|
+
index: OIMIndexManualArrayBased<TKey, TPk>;
|
|
572
|
+
});
|
|
573
|
+
protected createDefaultIndex(): OIMIndexManualArrayBased<TKey, TPk>;
|
|
574
|
+
setPks(key: TKey, pks: TPk[]): void;
|
|
575
|
+
addPks(key: TKey, pks: readonly TPk[]): void;
|
|
576
|
+
removePks(key: TKey, pks: readonly TPk[]): void;
|
|
577
|
+
clear(key?: TKey): void;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
declare class OIMRICollection<TEntity extends object, TPk extends TOIMPk, TIndexName extends string, TIndexKey extends TOIMPk, TReactiveIndex extends OIMReactiveIndexSetBased<TIndexKey, TPk, OIMIndexSetBased<TIndexKey, TPk>> | OIMReactiveIndexArrayBased<TIndexKey, TPk, OIMIndexArrayBased<TIndexKey, TPk>>, TReactiveIndexMap extends Record<TIndexName, TReactiveIndex> = Record<TIndexName, TReactiveIndex>> extends OIMReactiveCollection<TEntity, TPk> {
|
|
436
581
|
readonly indexes?: TReactiveIndexMap;
|
|
437
582
|
constructor(queue: OIMEventQueue, opts: {
|
|
438
583
|
collectionOpts?: TOIMCollectionOptions<TEntity, TPk>;
|
|
@@ -454,6 +599,32 @@ declare class OIMCollectionStoreMapDriven<TEntity extends object, TPk extends TO
|
|
|
454
599
|
getAllPks(): TPk[];
|
|
455
600
|
}
|
|
456
601
|
|
|
602
|
+
declare class OIMIndexStoreMapDrivenSetBased<TKey extends TOIMPk, TPk extends TOIMPk> extends OIMIndexStoreSetBased<TKey, TPk> {
|
|
603
|
+
protected readonly pks: Map<TKey, Set<TPk>>;
|
|
604
|
+
setOneByKey(key: TKey, pks: Set<TPk>): void;
|
|
605
|
+
removeOneByKey(key: TKey): void;
|
|
606
|
+
removeManyByKeys(keys: readonly TKey[]): void;
|
|
607
|
+
getOneByKey(key: TKey): Set<TPk> | undefined;
|
|
608
|
+
getManyByKeys(keys: readonly TKey[]): Map<TKey, Set<TPk>>;
|
|
609
|
+
getAllKeys(): TKey[];
|
|
610
|
+
getAll(): Map<TKey, Set<TPk>>;
|
|
611
|
+
countAll(): number;
|
|
612
|
+
clear(): void;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
declare class OIMIndexStoreMapDrivenArrayBased<TKey extends TOIMPk, TPk extends TOIMPk> extends OIMIndexStoreArrayBased<TKey, TPk> {
|
|
616
|
+
protected readonly pks: Map<TKey, TPk[]>;
|
|
617
|
+
setOneByKey(key: TKey, pks: TPk[]): void;
|
|
618
|
+
removeOneByKey(key: TKey): void;
|
|
619
|
+
removeManyByKeys(keys: readonly TKey[]): void;
|
|
620
|
+
getOneByKey(key: TKey): TPk[] | undefined;
|
|
621
|
+
getManyByKeys(keys: readonly TKey[]): Map<TKey, TPk[]>;
|
|
622
|
+
getAllKeys(): TKey[];
|
|
623
|
+
getAll(): Map<TKey, TPk[]>;
|
|
624
|
+
countAll(): number;
|
|
625
|
+
clear(): void;
|
|
626
|
+
}
|
|
627
|
+
|
|
457
628
|
type TOIMComparator<TEntity extends object> = (a: TEntity, b: TEntity) => boolean;
|
|
458
629
|
|
|
459
630
|
declare class OIMComparatorFactory<TEntity extends object> {
|
|
@@ -615,6 +786,23 @@ declare enum EOIMUpdateEventCoalescerEventType {
|
|
|
615
786
|
|
|
616
787
|
type TOIMIndexKey = string | number | bigint;
|
|
617
788
|
|
|
789
|
+
/**
|
|
790
|
+
* Configuration options for Set-based index instances */
|
|
791
|
+
type TOIMIndexOptionsSetBased<TIndexKey extends TOIMPk, TPk extends TOIMPk> = {
|
|
792
|
+
comparePks?: TOIMIndexComparator<TPk>;
|
|
793
|
+
store?: OIMIndexStoreSetBased<TIndexKey, TPk>;
|
|
794
|
+
};
|
|
795
|
+
/**
|
|
796
|
+
* Configuration options for Array-based index instances */
|
|
797
|
+
type TOIMIndexOptionsArrayBased<TIndexKey extends TOIMPk, TPk extends TOIMPk> = {
|
|
798
|
+
comparePks?: TOIMIndexComparator<TPk>;
|
|
799
|
+
store?: OIMIndexStoreArrayBased<TIndexKey, TPk>;
|
|
800
|
+
};
|
|
801
|
+
/**
|
|
802
|
+
* @deprecated Use TOIMIndexOptionsSetBased or TOIMIndexOptionsArrayBased instead
|
|
803
|
+
* Configuration options for index instances */
|
|
804
|
+
type TOIMIndexOptions<TIndexKey extends TOIMPk, TPk extends TOIMPk> = TOIMIndexOptionsSetBased<TIndexKey, TPk>;
|
|
805
|
+
|
|
618
806
|
type TOIMIndexPksUpdatePayload<TKey extends TOIMPk, TPk extends TOIMPk> = {
|
|
619
807
|
key: TKey;
|
|
620
808
|
pks: readonly TPk[];
|
|
@@ -626,4 +814,4 @@ type TOIMUpdatePayload<TKey> = {
|
|
|
626
814
|
keys: readonly TKey[];
|
|
627
815
|
};
|
|
628
816
|
|
|
629
|
-
export { EOIMCollectionEventType, EOIMEventQueueEventType, EOIMEventQueueSchedulerEventType, EOIMIndexEventType, EOIMUpdateEventCoalescerEventType, type IOIMEventQueueSchedulerEvents, OIMCollection, OIMCollectionStore, OIMCollectionStoreMapDriven, OIMComparatorFactory, OIMDBSettings, OIMEntityUpdaterFactory, OIMEventEmitter, OIMEventQueue, OIMEventQueueScheduler, OIMEventQueueSchedulerAnimationFrame, OIMEventQueueSchedulerFactory, OIMEventQueueSchedulerImmediate, OIMEventQueueSchedulerMicrotask, OIMEventQueueSchedulerTimeout,
|
|
817
|
+
export { EOIMCollectionEventType, EOIMEventQueueEventType, EOIMEventQueueSchedulerEventType, EOIMIndexEventType, EOIMUpdateEventCoalescerEventType, type IOIMEventQueueSchedulerEvents, OIMCollection, OIMCollectionStore, OIMCollectionStoreMapDriven, OIMComparatorFactory, OIMDBSettings, OIMEntityUpdaterFactory, OIMEventEmitter, OIMEventQueue, OIMEventQueueScheduler, OIMEventQueueSchedulerAnimationFrame, OIMEventQueueSchedulerFactory, OIMEventQueueSchedulerImmediate, OIMEventQueueSchedulerMicrotask, OIMEventQueueSchedulerTimeout, OIMIndexArrayBased, OIMIndexComparatorFactory, OIMIndexManualArrayBased, OIMIndexManualSetBased, OIMIndexSetBased, OIMIndexStoreArrayBased, OIMIndexStoreMapDrivenArrayBased, OIMIndexStoreMapDrivenSetBased, OIMIndexStoreSetBased, OIMMap2Keys, OIMPkSelectorFactory, OIMRICollection, OIMReactiveCollection, OIMReactiveIndexArrayBased, OIMReactiveIndexManualArrayBased, OIMReactiveIndexManualSetBased, OIMReactiveIndexSetBased, OIMUpdateEventCoalescer, OIMUpdateEventCoalescerCollection, OIMUpdateEventCoalescerIndex, OIMUpdateEventEmitter, type TOIMCollectionOptions, type TOIMCollectionUpdatePayload, type TOIMComparator, type TOIMEntityUpdater, type TOIMEventHandler, type TOIMEventQueueOptions, type TOIMIndexComparator, type TOIMIndexKey, type TOIMIndexOptions, type TOIMIndexOptionsArrayBased, type TOIMIndexOptionsSetBased, type TOIMIndexPksUpdatePayload, type TOIMIndexUpdatePayload, type TOIMPk, type TOIMPkSelector, type TOIMSchedulerOptions, type TOIMSchedulerType, type TOIMUpdateEventEmitterOptions, type TOIMUpdatePayload };
|