@peerbit/indexer-interface 3.0.10 → 3.0.12
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.
|
@@ -14,6 +14,18 @@ export interface IndexedValue<T = Record<string, any>> {
|
|
|
14
14
|
export interface IterateOptions {
|
|
15
15
|
query?: QueryLike;
|
|
16
16
|
sort?: Sort | Sort[];
|
|
17
|
+
/**
|
|
18
|
+
* Controls which mutations may be visible after iteration starts.
|
|
19
|
+
*
|
|
20
|
+
* `snapshot` is the default and keeps the result set stable across pages.
|
|
21
|
+
* `weak` permits an implementation to page from a live cursor, so unvisited
|
|
22
|
+
* deletes and replacements may be observed. A weak iteration must still be
|
|
23
|
+
* finite: rows appended after its first read are not required to be visited.
|
|
24
|
+
* Implementations may use snapshot consistency when sorting is requested.
|
|
25
|
+
*
|
|
26
|
+
* @default "snapshot"
|
|
27
|
+
*/
|
|
28
|
+
consistency?: "snapshot" | "weak";
|
|
17
29
|
}
|
|
18
30
|
export interface DeleteOptions {
|
|
19
31
|
query: QueryLike;
|
|
@@ -78,6 +90,23 @@ export interface Index<T extends Record<string, any>, NestedType = any> {
|
|
|
78
90
|
replace?: boolean;
|
|
79
91
|
}): MaybePromise<void>;
|
|
80
92
|
putBatch?(values: T[]): MaybePromise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Run sequential index work while allowing the engine to amortize storage
|
|
95
|
+
* admission and transaction setup across writes.
|
|
96
|
+
*
|
|
97
|
+
* The callback and its session methods must be awaited serially. A completed
|
|
98
|
+
* `put` belongs to the successful prefix: if a later callback step or write
|
|
99
|
+
* fails, that prefix is committed before the original error is rethrown and
|
|
100
|
+
* the failing write must not leave partial state. Implementations may commit
|
|
101
|
+
* and release admission at fixed internal bounds. `flush` forces that boundary
|
|
102
|
+
* so callers can safely fall back to ordinary index operations.
|
|
103
|
+
*
|
|
104
|
+
* This is optional because not every engine can provide the ordering,
|
|
105
|
+
* isolation, and successful-prefix guarantees. Do not start an ordinary index
|
|
106
|
+
* operation while the session has unflushed work. After awaiting `flush`, the
|
|
107
|
+
* callback may await ordinary index work before using the session again.
|
|
108
|
+
*/
|
|
109
|
+
withOrderedWriteSession?<R>(operation: (session: OrderedIndexWriteSession<T>) => MaybePromise<R>): MaybePromise<R>;
|
|
81
110
|
del(query: DeleteOptions): MaybePromise<IdKey[]>;
|
|
82
111
|
sum(query: SumOptions): MaybePromise<bigint | number>;
|
|
83
112
|
count(query?: CountOptions): MaybePromise<number>;
|
|
@@ -90,6 +119,16 @@ export interface Index<T extends Record<string, any>, NestedType = any> {
|
|
|
90
119
|
start(): MaybePromise<void>;
|
|
91
120
|
stop(): MaybePromise<void>;
|
|
92
121
|
}
|
|
122
|
+
export interface OrderedIndexWriteSession<T extends Record<string, any>> {
|
|
123
|
+
get(id: IdKey, options?: {
|
|
124
|
+
shape: Shape;
|
|
125
|
+
}): MaybePromise<IndexedResult<T> | undefined>;
|
|
126
|
+
put(value: T, id?: IdKey, options?: {
|
|
127
|
+
replace?: boolean;
|
|
128
|
+
}): MaybePromise<void>;
|
|
129
|
+
/** Commit the current successful prefix and release engine admission. */
|
|
130
|
+
flush(): MaybePromise<void>;
|
|
131
|
+
}
|
|
93
132
|
export declare const iteratorInSeries: <T extends Record<string, any>, S extends Shape | undefined>(...iterators: IndexIterator<T, S>[]) => IndexIterator<T, S>;
|
|
94
133
|
export interface Indices {
|
|
95
134
|
init<T extends Record<string, any>, NestedType>(properties: IndexEngineInitProperties<T, NestedType>): MaybePromise<Index<T, NestedType>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-engine.d.ts","sourceRoot":"","sources":["../../src/index-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElD,KAAK,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAE7C,MAAM,WAAW,aAAa,CAC7B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEnD,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,CAAC,CAAC;CACT;AAED,MAAM,MAAM,cAAc,CACzB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAChD,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AAEvB,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACpD,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index-engine.d.ts","sourceRoot":"","sources":["../../src/index-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-engine.js","sourceRoot":"","sources":["../../src/index-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index-engine.js","sourceRoot":"","sources":["../../src/index-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,MAAM,SAAS,CAAC;AAyLrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAI/B,GAAG,SAAgC,EACb,EAAE;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC;IACzC,IAAI,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QACpC,IAAI,GAAG,GAA8C,EAAE,CAAC;QACxD,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAElB,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC3B,MAAM;gBACP,CAAC;gBACD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM;YACP,CAAC;QACF,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IACF,OAAO;QACN,IAAI;QACJ,IAAI;QACJ,KAAK,EAAE,KAAK,IAAI,EAAE;YACjB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAClC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;QACF,CAAC;QACD,GAAG,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,KAAK,MAAM,OAAO,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;YACD,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,KAAK,IAAI,EAAE;YACnB,IAAI,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAC/C,CAAC;YACF,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAiBF;;;;;;;;;;;;;;;;;;;;;gIAqBgI"}
|
package/package.json
CHANGED
package/src/index-engine.ts
CHANGED
|
@@ -23,6 +23,18 @@ export interface IndexedValue<T = Record<string, any>> {
|
|
|
23
23
|
export interface IterateOptions {
|
|
24
24
|
query?: QueryLike;
|
|
25
25
|
sort?: Sort | Sort[];
|
|
26
|
+
/**
|
|
27
|
+
* Controls which mutations may be visible after iteration starts.
|
|
28
|
+
*
|
|
29
|
+
* `snapshot` is the default and keeps the result set stable across pages.
|
|
30
|
+
* `weak` permits an implementation to page from a live cursor, so unvisited
|
|
31
|
+
* deletes and replacements may be observed. A weak iteration must still be
|
|
32
|
+
* finite: rows appended after its first read are not required to be visited.
|
|
33
|
+
* Implementations may use snapshot consistency when sorting is requested.
|
|
34
|
+
*
|
|
35
|
+
* @default "snapshot"
|
|
36
|
+
*/
|
|
37
|
+
consistency?: "snapshot" | "weak";
|
|
26
38
|
}
|
|
27
39
|
|
|
28
40
|
export interface DeleteOptions {
|
|
@@ -124,6 +136,25 @@ export interface Index<T extends Record<string, any>, NestedType = any> {
|
|
|
124
136
|
},
|
|
125
137
|
): MaybePromise<void>;
|
|
126
138
|
putBatch?(values: T[]): MaybePromise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* Run sequential index work while allowing the engine to amortize storage
|
|
141
|
+
* admission and transaction setup across writes.
|
|
142
|
+
*
|
|
143
|
+
* The callback and its session methods must be awaited serially. A completed
|
|
144
|
+
* `put` belongs to the successful prefix: if a later callback step or write
|
|
145
|
+
* fails, that prefix is committed before the original error is rethrown and
|
|
146
|
+
* the failing write must not leave partial state. Implementations may commit
|
|
147
|
+
* and release admission at fixed internal bounds. `flush` forces that boundary
|
|
148
|
+
* so callers can safely fall back to ordinary index operations.
|
|
149
|
+
*
|
|
150
|
+
* This is optional because not every engine can provide the ordering,
|
|
151
|
+
* isolation, and successful-prefix guarantees. Do not start an ordinary index
|
|
152
|
+
* operation while the session has unflushed work. After awaiting `flush`, the
|
|
153
|
+
* callback may await ordinary index work before using the session again.
|
|
154
|
+
*/
|
|
155
|
+
withOrderedWriteSession?<R>(
|
|
156
|
+
operation: (session: OrderedIndexWriteSession<T>) => MaybePromise<R>,
|
|
157
|
+
): MaybePromise<R>;
|
|
127
158
|
del(query: DeleteOptions): MaybePromise<IdKey[]>;
|
|
128
159
|
sum(query: SumOptions): MaybePromise<bigint | number>;
|
|
129
160
|
count(query?: CountOptions): MaybePromise<number>;
|
|
@@ -137,6 +168,22 @@ export interface Index<T extends Record<string, any>, NestedType = any> {
|
|
|
137
168
|
stop(): MaybePromise<void>;
|
|
138
169
|
}
|
|
139
170
|
|
|
171
|
+
export interface OrderedIndexWriteSession<T extends Record<string, any>> {
|
|
172
|
+
get(
|
|
173
|
+
id: IdKey,
|
|
174
|
+
options?: { shape: Shape },
|
|
175
|
+
): MaybePromise<IndexedResult<T> | undefined>;
|
|
176
|
+
put(
|
|
177
|
+
value: T,
|
|
178
|
+
id?: IdKey,
|
|
179
|
+
options?: {
|
|
180
|
+
replace?: boolean;
|
|
181
|
+
},
|
|
182
|
+
): MaybePromise<void>;
|
|
183
|
+
/** Commit the current successful prefix and release engine admission. */
|
|
184
|
+
flush(): MaybePromise<void>;
|
|
185
|
+
}
|
|
186
|
+
|
|
140
187
|
export const iteratorInSeries = <
|
|
141
188
|
T extends Record<string, any>,
|
|
142
189
|
S extends Shape | undefined,
|