@peerbit/log 6.1.1 → 6.2.1

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.
Files changed (47) hide show
  1. package/dist/benchmark/native-graph.js +447 -5
  2. package/dist/benchmark/native-graph.js.map +1 -1
  3. package/dist/src/clock.d.ts +1 -0
  4. package/dist/src/clock.d.ts.map +1 -1
  5. package/dist/src/clock.js +32 -0
  6. package/dist/src/clock.js.map +1 -1
  7. package/dist/src/entry-create.d.ts +1 -0
  8. package/dist/src/entry-create.d.ts.map +1 -1
  9. package/dist/src/entry-create.js.map +1 -1
  10. package/dist/src/entry-index.d.ts +288 -12
  11. package/dist/src/entry-index.d.ts.map +1 -1
  12. package/dist/src/entry-index.js +1478 -33
  13. package/dist/src/entry-index.js.map +1 -1
  14. package/dist/src/entry-v0.d.ts +184 -1
  15. package/dist/src/entry-v0.d.ts.map +1 -1
  16. package/dist/src/entry-v0.js +1021 -12
  17. package/dist/src/entry-v0.js.map +1 -1
  18. package/dist/src/entry.d.ts +73 -1
  19. package/dist/src/entry.d.ts.map +1 -1
  20. package/dist/src/entry.js +124 -1
  21. package/dist/src/entry.js.map +1 -1
  22. package/dist/src/index.d.ts +1 -1
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +1 -1
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/log.d.ts +62 -13
  27. package/dist/src/log.d.ts.map +1 -1
  28. package/dist/src/log.js +2282 -100
  29. package/dist/src/log.js.map +1 -1
  30. package/dist/src/runtime.d.ts +2 -0
  31. package/dist/src/runtime.d.ts.map +1 -0
  32. package/dist/src/runtime.js +10 -0
  33. package/dist/src/runtime.js.map +1 -0
  34. package/dist/src/trim.d.ts +14 -2
  35. package/dist/src/trim.d.ts.map +1 -1
  36. package/dist/src/trim.js +92 -4
  37. package/dist/src/trim.js.map +1 -1
  38. package/package.json +17 -14
  39. package/src/clock.ts +34 -0
  40. package/src/entry-create.ts +1 -0
  41. package/src/entry-index.ts +2232 -68
  42. package/src/entry-v0.ts +1488 -13
  43. package/src/entry.ts +235 -1
  44. package/src/index.ts +7 -1
  45. package/src/log.ts +3246 -206
  46. package/src/runtime.ts +16 -0
  47. package/src/trim.ts +133 -7
@@ -1 +1 @@
1
- {"version":3,"file":"entry-create.d.ts","sourceRoot":"","sources":["../../src/entry-create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,eAAe,EAAW,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,KAAK,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAGzC,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAE/D,eAAO,MAAM,WAAW,GAAU,CAAC,EAAE,YAAY;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CACV,IAAI,EAAE,UAAU,KACZ,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,EAAE,CAAC;CACrD,KAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAE5C,CAAC"}
1
+ {"version":3,"file":"entry-create.d.ts","sourceRoot":"","sources":["../../src/entry-create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,eAAe,EAAW,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,KAAK,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAGzC,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAE/D,eAAO,MAAM,WAAW,GAAU,CAAC,EAAE,YAAY;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CACV,IAAI,EAAE,UAAU,KACZ,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,EAAE,CAAC;CACrD,KAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAE5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"entry-create.js","sourceRoot":"","sources":["../../src/entry-create.ts"],"names":[],"mappings":"AAKA,OAAO,EAAwB,OAAO,EAAE,MAAM,eAAe,CAAC;AAS9D,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAK,UAkBpC,EAA8C,EAAE;IAChD,OAAO,OAAO,CAAC,MAAM,CAAC,UAAiB,CAAsC,CAAC;AAC/E,CAAC,CAAC"}
1
+ {"version":3,"file":"entry-create.js","sourceRoot":"","sources":["../../src/entry-create.ts"],"names":[],"mappings":"AAKA,OAAO,EAAwB,OAAO,EAAE,MAAM,eAAe,CAAC;AAS9D,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAK,UAmBpC,EAA8C,EAAE;IAChD,OAAO,OAAO,CAAC,MAAM,CAAC,UAAiB,CAAsC,CAAC;AAC/E,CAAC,CAAC"}
@@ -2,36 +2,229 @@ import { type Blocks } from "@peerbit/blocks-interface";
2
2
  import { Cache } from "@peerbit/cache";
3
3
  import type { PublicSignKey } from "@peerbit/crypto";
4
4
  import { type Index, type Query, type Shape, Sort } from "@peerbit/indexer-interface";
5
- import type { ShallowEntry } from "./entry-shallow.js";
6
- import { Entry, type ShallowOrFullEntry } from "./entry.js";
7
- import type { SortFn } from "./log-sorting.js";
5
+ import { LamportClock as Clock } from "./clock.js";
6
+ import { ShallowEntry } from "./entry-shallow.js";
7
+ import { EntryType } from "./entry-type.js";
8
+ import { Entry, type PreparedNativeLogEntry, type ShallowOrFullEntry } from "./entry.js";
9
+ import type { SortFn, SortableEntry } from "./log-sorting.js";
8
10
  export type ResultsIterator<T> = {
9
11
  close: () => void | Promise<void>;
10
12
  next: (number: number) => T[] | Promise<T[]>;
11
13
  done: () => boolean | undefined;
12
14
  all(): T[] | Promise<T[]>;
13
15
  };
14
- type NativeLogEntry = {
16
+ type EntryIndexProfileValue = string | number | boolean | undefined;
17
+ type EntryIndexProfileEvent = {
18
+ name: string;
19
+ component?: string;
20
+ durationMs?: number;
21
+ entries?: number;
22
+ messages?: number;
23
+ count?: number;
24
+ details?: Record<string, EntryIndexProfileValue>;
25
+ };
26
+ type EntryIndexProfileSink = (event: EntryIndexProfileEvent) => void;
27
+ type NativeLogEntry = PreparedNativeLogEntry;
28
+ export type PreparedAppendIndexFacts = {
15
29
  hash: string;
30
+ meta: {
31
+ clock: Clock;
32
+ gid: string;
33
+ next: string[];
34
+ type: EntryType;
35
+ data?: Uint8Array;
36
+ };
37
+ size?: number;
38
+ shallowEntry?: ShallowEntry;
39
+ getShallowEntry?: (isHead?: boolean) => ShallowEntry;
40
+ nativeEntry?: NativeLogEntry;
41
+ };
42
+ type NativeJoinCutCheck = {
16
43
  gid: string;
44
+ wallTime: bigint | number | string;
45
+ logical?: number;
46
+ };
47
+ type NativeJoinPlanInput = {
48
+ hash: string;
17
49
  next: string[];
18
50
  type: number;
19
- head?: boolean;
20
- payloadSize?: number;
21
- clock: {
22
- timestamp: {
23
- wallTime: bigint | number | string;
24
- logical?: number;
25
- };
26
- };
51
+ cutCheck?: NativeJoinCutCheck;
27
52
  };
53
+ type MaybePromise<T> = T | Promise<T>;
28
54
  export type NativeLogGraph = {
55
+ readonly length: number;
56
+ has: (hash: string) => boolean;
57
+ hasMany: (hashes: Iterable<string>) => Set<string>;
29
58
  put: (entry: NativeLogEntry) => void;
59
+ putBatch?: (entries: NativeLogEntry[]) => void;
60
+ putAppendChain?: (entries: NativeLogEntry[]) => void;
61
+ prepareEntryV0PlainChainAndPut?: (input: {
62
+ clockId: Uint8Array;
63
+ privateKey: Uint8Array;
64
+ publicKey: Uint8Array;
65
+ wallTimes: Array<bigint | number | string>;
66
+ logicals?: number[];
67
+ gid: string;
68
+ initialNext?: string[];
69
+ type?: number;
70
+ metaDatas?: Array<Uint8Array | undefined>;
71
+ payloadDatas: Uint8Array[];
72
+ }) => MaybePromise<Array<{
73
+ bytes: Uint8Array;
74
+ cid: string;
75
+ byteLength: number;
76
+ signature: Uint8Array;
77
+ next: string[];
78
+ metaBytes: Uint8Array;
79
+ payloadBytes: Uint8Array;
80
+ signatureBytes: Uint8Array;
81
+ }>>;
82
+ prepareEntryV0PlainEntryAndPut?: (input: {
83
+ clockId: Uint8Array;
84
+ privateKey: Uint8Array;
85
+ publicKey: Uint8Array;
86
+ wallTime: bigint | number | string;
87
+ logical?: number;
88
+ gid: string;
89
+ next?: string[];
90
+ type?: number;
91
+ metaData?: Uint8Array;
92
+ payloadData: Uint8Array;
93
+ includeMaterializationBytes?: boolean;
94
+ includeAppendFactsBytes?: boolean;
95
+ trimLengthTo?: number;
96
+ }) => MaybePromise<{
97
+ bytes: Uint8Array;
98
+ cid: string;
99
+ byteLength: number;
100
+ signature?: Uint8Array;
101
+ next: string[];
102
+ metaBytes?: Uint8Array;
103
+ payloadBytes?: Uint8Array;
104
+ signatureBytes?: Uint8Array;
105
+ hashDigestBytes?: Uint8Array;
106
+ trimmedEntries?: PreparedNativeLogEntry[];
107
+ }>;
108
+ prepareEntryV0PlainChainCommit?: (input: {
109
+ clockId: Uint8Array;
110
+ privateKey: Uint8Array;
111
+ publicKey: Uint8Array;
112
+ wallTimes: Array<bigint | number | string>;
113
+ logicals?: number[];
114
+ gid: string;
115
+ initialNext?: string[];
116
+ type?: number;
117
+ metaDatas?: Array<Uint8Array | undefined>;
118
+ payloadDatas: Uint8Array[];
119
+ }, blockStore: unknown) => MaybePromise<Array<{
120
+ bytes?: Uint8Array;
121
+ cid: string;
122
+ byteLength: number;
123
+ signature: Uint8Array;
124
+ next: string[];
125
+ metaBytes: Uint8Array;
126
+ payloadBytes: Uint8Array;
127
+ signatureBytes: Uint8Array;
128
+ }> | undefined>;
129
+ prepareEntryV0PlainEntryCommit?: (input: {
130
+ clockId: Uint8Array;
131
+ privateKey: Uint8Array;
132
+ publicKey: Uint8Array;
133
+ wallTime: bigint | number | string;
134
+ logical?: number;
135
+ gid: string;
136
+ next?: string[];
137
+ type?: number;
138
+ metaData?: Uint8Array;
139
+ payloadData: Uint8Array;
140
+ resolveTrimmedEntries?: boolean;
141
+ }, blockStore: unknown) => MaybePromise<{
142
+ bytes?: Uint8Array;
143
+ cid: string;
144
+ byteLength: number;
145
+ signature?: Uint8Array;
146
+ next: string[];
147
+ metaBytes?: Uint8Array;
148
+ payloadBytes?: Uint8Array;
149
+ signatureBytes?: Uint8Array;
150
+ hashDigestBytes?: Uint8Array;
151
+ trimmedEntries?: PreparedNativeLogEntry[];
152
+ trimmedEntryHashes?: string[];
153
+ } | undefined>;
154
+ prepareEntryV0PlainEntriesCommit?: (input: {
155
+ clockId: Uint8Array;
156
+ privateKey: Uint8Array;
157
+ publicKey: Uint8Array;
158
+ wallTimes: Array<bigint | number | string>;
159
+ logicals?: number[];
160
+ gids: string[];
161
+ nexts: string[][];
162
+ type?: number;
163
+ metaDatas?: Array<Uint8Array | undefined>;
164
+ payloadDatas: Uint8Array[];
165
+ }, blockStore: unknown) => MaybePromise<Array<{
166
+ bytes?: Uint8Array;
167
+ cid: string;
168
+ byteLength: number;
169
+ signature?: Uint8Array;
170
+ next: string[];
171
+ metaBytes?: Uint8Array;
172
+ payloadBytes?: Uint8Array;
173
+ signatureBytes?: Uint8Array;
174
+ hashDigestBytes?: Uint8Array;
175
+ }> | undefined>;
30
176
  delete: (hash: string) => boolean;
177
+ deleteMany?: (hashes: Iterable<string>) => number;
178
+ oldestEntries?: (limit: number) => NativeLogEntry[];
31
179
  clear: () => void;
32
180
  heads: (gid?: string) => string[];
181
+ hasHead: (gid?: string) => boolean;
182
+ hasAnyHead: (gids: Iterable<string>) => boolean;
183
+ hasAnyHeadBatch: (gidSets: Iterable<Iterable<string>>) => boolean[];
184
+ headDataEntries: (gid?: string) => NativeLogHeadDataEntry[];
185
+ maxHeadDataU32: (gid?: string) => number | undefined;
186
+ maxHeadDataU32Batch?: (gids: Iterable<string>) => Array<number | undefined>;
187
+ headEntries: (gid?: string) => SortableEntry[];
188
+ joinHeadEntries: (gid?: string) => NativeLogJoinEntry[];
189
+ childJoinEntries: (hash: string) => NativeLogJoinEntry[];
190
+ entryMetadataBatch?: (hashes: Iterable<string>) => Array<NativeLogEntryMetadata | undefined>;
191
+ entryMetadataHintsBatch?: (hashes: Iterable<string>) => Array<NativeLogEntryMetadata | undefined>;
192
+ entrySignaturePublicKeysBatch?: (hashes: Iterable<string>) => Array<Uint8Array | undefined>;
193
+ uniqueReferenceGids: (hash: string) => string[] | undefined;
194
+ uniqueReferenceGidRowsBatch?: (hashes: Iterable<string>) => Array<Array<[string, string]> | undefined>;
195
+ uniqueReferenceGidRowsFlatBatch?: (hashes: Iterable<string>) => Array<[number, string, string]> | undefined;
196
+ planDeleteRecursively: (hashes: Iterable<string>, skipFirst?: boolean) => string[];
197
+ payloadSizeSum: () => number;
198
+ oldestHash?: () => string | undefined;
199
+ newestHash?: () => string | undefined;
33
200
  countHasNext: (next: string, excludeHash?: string) => number;
34
201
  shadowedGids: (gid: string, next: string[], excludeHash?: string) => string[];
202
+ planJoin: (hash: string, next: string[], type: number, reset?: boolean, cutCheck?: NativeJoinCutCheck) => JoinPlan;
203
+ planJoinBatch?: (entries: NativeJoinPlanInput[], reset?: boolean) => JoinPlan[];
204
+ };
205
+ export type JoinPlan = {
206
+ skip: boolean;
207
+ missingParents: string[];
208
+ cutChecked: boolean;
209
+ coveredByCut: boolean;
210
+ };
211
+ export type NativeLogJoinEntry = SortableEntry & {
212
+ meta: SortableEntry["meta"] & {
213
+ type: EntryType;
214
+ next: string[];
215
+ };
216
+ };
217
+ export type NativeLogHeadDataEntry = {
218
+ hash: string;
219
+ meta: {
220
+ data?: Uint8Array;
221
+ };
222
+ };
223
+ export type NativeLogEntryMetadata = {
224
+ hash: string;
225
+ gid: string;
226
+ data?: Uint8Array;
227
+ replicas?: number;
35
228
  };
36
229
  type ResolveFullyOptions = true | {
37
230
  type: "full";
@@ -76,6 +269,7 @@ export declare class EntryIndex<T> {
76
269
  private insertionPromises;
77
270
  private pendingIndexWrites;
78
271
  private pendingIndexFlushTimer?;
272
+ private pendingIndexFlushLastWriteMs;
79
273
  constructor(properties: {
80
274
  store: Blocks;
81
275
  publicKey: PublicSignKey;
@@ -92,24 +286,51 @@ export declare class EntryIndex<T> {
92
286
  signal?: AbortSignal;
93
287
  }) => Promise<string[] | undefined> | string[] | undefined;
94
288
  });
289
+ private materializePendingIndexWrite;
290
+ private getPendingIndexWrite;
95
291
  private schedulePendingIndexWriteFlush;
96
292
  private clearPendingIndexFlushTimer;
97
293
  flushPendingWrites(hashes?: Iterable<string>): Promise<void>;
98
294
  getHeads<R extends MaybeResolveOptions = false>(gid?: string, resolve?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
295
+ getHeadsForAppend(gid?: string): SortableEntry[] | undefined;
296
+ hasHead(gid?: string): Promise<boolean | undefined>;
297
+ hasAnyHead(gids: Iterable<string>): Promise<boolean | undefined>;
298
+ hasAnyHeadBatch(gidSets: Iterable<Iterable<string>>): Promise<boolean[] | undefined>;
299
+ getMaxHeadDataU32(gid?: string): Promise<number | undefined>;
300
+ getMaxHeadDataU32Batch(gids: Iterable<string>): Promise<Array<number | undefined> | undefined>;
301
+ getJoinHeads(gid?: string): Promise<NativeLogJoinEntry[]>;
302
+ getJoinChildren(next: string): Promise<NativeLogJoinEntry[]>;
303
+ getUniqueReferenceGids(hash: string): string[] | undefined;
304
+ getUniqueReferenceGidRowsBatch(hashes: Iterable<string>): Array<Array<[string, string]> | undefined> | undefined;
305
+ getUniqueReferenceGidRowsFlatBatch(hashes: Iterable<string>): Array<[number, string, string]> | undefined;
306
+ planDeleteRecursively(from: Iterable<{
307
+ hash: string;
308
+ }>, skipFirst?: boolean): string[] | undefined;
99
309
  getHasNext<R extends MaybeResolveOptions>(next: string, resolve?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
100
310
  countHasNext(next: string, excludeHash?: string | undefined): Promise<number>;
101
311
  private _countHasNext;
102
312
  private iterateNativeHashes;
313
+ private iterateNativeProjected;
103
314
  iterate<R extends MaybeResolveOptions>(query: Query[], sort?: Sort[], options?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
104
315
  getOldest<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(resolve?: T): Promise<R | undefined>;
316
+ getOldestMany<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(limit: number, resolve?: T): Promise<R[]>;
317
+ getOldestManyMaybe<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(limit: number, resolve?: T): MaybePromise<R[]>;
318
+ private getOldestManyFromIterator;
319
+ private getNativeOldestEntries;
105
320
  getNewest<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(resolve?: T): Promise<R | undefined>;
321
+ private getNativeTimestampOrderedHash;
106
322
  getBefore<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(before: ShallowOrFullEntry<any>, resolve?: T): Promise<R | undefined>;
107
323
  getAfter<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(before: ShallowOrFullEntry<any>, resolve?: T): Promise<R | undefined>;
108
324
  get(k: string, options?: ResolveFullyOptions): Promise<Entry<T> | undefined>;
325
+ getMany(k: string[], options?: ResolveFullyOptions): Promise<(Entry<T> | undefined)[]>;
326
+ planJoin(entry: Pick<Entry<T>, "hash" | "meta">, reset?: boolean): Promise<JoinPlan>;
327
+ planJoinBatch(entries: Array<Pick<Entry<T>, "hash" | "meta">>, reset?: boolean, profile?: EntryIndexProfileSink): Promise<JoinPlan[]>;
109
328
  getShallow(k: string): Promise<{
110
329
  id: import("@peerbit/indexer-interface").IdKey;
111
330
  value: ShallowEntry;
112
331
  } | undefined>;
332
+ getNativeEntryMetadataBatch(hashes: Iterable<string>): Array<NativeLogEntryMetadata | undefined> | undefined;
333
+ getNativeEntryMetadataHintsBatch(hashes: Iterable<string>): Array<NativeLogEntryMetadata | undefined> | undefined;
113
334
  has(k: string): Promise<boolean>;
114
335
  hasMany(hashes: Iterable<string>): Promise<Set<string>>;
115
336
  put(entry: Entry<any>, properties: {
@@ -118,15 +339,70 @@ export declare class EntryIndex<T> {
118
339
  toMultiHash: boolean;
119
340
  deferIndexWrite?: boolean;
120
341
  }): Promise<void>;
342
+ putAppendBatch(entries: Entry<any>[], properties: {
343
+ unique: boolean;
344
+ externalNextHashes?: string[];
345
+ prepared?: {
346
+ shallowEntries: ShallowEntry[];
347
+ nativeEntries?: NativeLogEntry[];
348
+ nativeGraphUpdated?: boolean;
349
+ nativeBlocksCommitted?: boolean;
350
+ };
351
+ heads?: boolean[];
352
+ deferIndexWrite?: boolean;
353
+ profile?: EntryIndexProfileSink;
354
+ }): Promise<void>;
355
+ putAppendFactsBatch(entries: PreparedAppendIndexFacts[], properties: {
356
+ unique: boolean;
357
+ externalNextHashes?: string[];
358
+ heads?: boolean[];
359
+ deferIndexWrite?: boolean;
360
+ nativeGraphUpdated?: boolean;
361
+ profile?: EntryIndexProfileSink;
362
+ }): Promise<void>;
363
+ private putNativeCommittedAppendFactsAsync;
121
364
  delete(k: string, from?: Entry<any> | ShallowEntry): Promise<ShallowEntry | Entry<any> | undefined>;
365
+ canDeleteMany(): boolean;
366
+ deleteMany(from: ShallowEntry[], options?: {
367
+ skipNextHeadUpdates?: boolean;
368
+ }): Promise<ShallowEntry[]>;
369
+ deleteManyMaybe(from: ShallowEntry[], options?: {
370
+ skipNextHeadUpdates?: boolean;
371
+ }): MaybePromise<ShallowEntry[]>;
372
+ consumeNativeTrimmedEntriesMaybe(from: ShallowEntry[], options?: {
373
+ skipNextHeadUpdates?: boolean;
374
+ deleteBlocks?: boolean;
375
+ }): MaybePromise<ShallowEntry[]>;
376
+ consumeNativeTrimmedEntryHashesMaybe(hashes: string[], options?: {
377
+ skipNextHeadUpdates?: boolean;
378
+ deleteBlocks?: boolean;
379
+ }): MaybePromise<ShallowEntry[]>;
380
+ consumeNativeTrimmedEntryHashesNoReturnMaybe(hashes: string[], options?: {
381
+ skipNextHeadUpdates?: boolean;
382
+ deleteBlocks?: boolean;
383
+ }): MaybePromise<boolean> | undefined;
384
+ private consumeNativeTrimmedEntryHashesNoReturnByQuery;
385
+ private consumeNativeTrimmedEntryNodesMaybe;
386
+ private deleteSingleMaybe;
387
+ private finishDeleteSingle;
388
+ private deleteManyByQuery;
389
+ private consumeNativeTrimmedEntriesByQuery;
390
+ private finishConsumeNativeTrimmedEntries;
391
+ private finishDeleteMany;
392
+ private nativeLogEntryToShallowEntry;
393
+ private nativeTrimmedHashToShallowEntry;
394
+ nativeLogEntriesToShallowEntries(entries: NativeLogEntry[]): ShallowEntry[];
122
395
  getMemoryUsage(): Promise<number | bigint>;
123
396
  private privateUpdateNextHeadProperty;
397
+ private privateUpdateNextHeadHashes;
398
+ private notifyShadowedGids;
124
399
  clear(): Promise<void>;
125
400
  get length(): number;
126
401
  init(): Promise<void>;
127
402
  private rebuildNativeGraph;
128
403
  private findShadowedGids;
129
404
  private resolve;
405
+ private resolveMany;
130
406
  private resolveFromStore;
131
407
  }
132
408
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"entry-index.d.ts","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAEN,KAAK,KAAK,EAIV,KAAK,KAAK,EACV,KAAK,KAAK,EACV,IAAI,EAKJ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM/C,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAChC,KAAK,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7C,IAAI,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC;IAChC,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CAC1B,CAAC;AAMF,KAAK,cAAc,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QACN,SAAS,EAAE;YACV,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;YACnC,OAAO,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACF,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAClC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7D,YAAY,EAAE,CACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,CAAC,EAAE,MAAM,KAChB,MAAM,EAAE,CAAC;CACd,CAAC;AAEF,KAAK,mBAAmB,GACrB,IAAI,GACJ;IACA,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EACJ;QACA,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACjB,GACD,OAAO,CAAC;IACX,aAAa,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AACL,KAAK,mBAAmB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAC3D,MAAM,MAAM,mBAAmB,GAC5B,KAAK,GACL,mBAAmB,GACnB,mBAAmB,CAAC;AAuCvB,MAAM,MAAM,4BAA4B,CACvC,CAAC,SAAS,mBAAmB,EAC7B,CAAC,IACE,CAAC,SAAS,KAAK,GAAG,SAAS,GAC5B,YAAY,GACZ,CAAC,SAAS;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B,GAAG,GACH,KAAK,CAAC,CAAC,CAAC,CAAC;AAEb,qBAAa,UAAU,CAAC,CAAC;IASvB,QAAQ,CAAC,UAAU,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAChC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACvD,WAAW,CAAC,EAAE;YACb,KAAK,EAAE,cAAc,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC;SAClB,CAAC;QACF,kBAAkB,CAAC,EAAE,CACpB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,KAC9B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;KAC1D;IAxBF,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,sBAAsB,CAAC,CAAgC;gBAErD,UAAU,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAChC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACvD,WAAW,CAAC,EAAE;YACb,KAAK,EAAE,cAAc,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC;SAClB,CAAC;QACF,kBAAkB,CAAC,EAAE,CACpB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,KAC9B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;KAC1D;IAkBF,OAAO,CAAC,8BAA8B;IAYtC,OAAO,CAAC,2BAA2B;IAQ7B,kBAAkB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;IAqBlD,QAAQ,CAAC,CAAC,SAAS,mBAAmB,GAAG,KAAK,EAC7C,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,GAAE,CAAc,GACrB,eAAe,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAuBtD,UAAU,CAAC,CAAC,SAAS,mBAAmB,EACvC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACT,eAAe,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAYtD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAAM,GAAG,SAAqB;YAIxD,aAAa;IA+B3B,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,CAAC,SAAS,mBAAmB,EACpC,KAAK,EAAE,KAAK,EAAE,EACd,IAAI,SAA4B,EAChC,OAAO,CAAC,EAAE,CAAC,GACT,eAAe,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAwEhD,SAAS,CACd,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAC7C,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOhC,SAAS,CACd,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAC7C,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOhC,SAAS,CACd,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAC7C,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUjE,QAAQ,CACb,CAAC,SAAS,OAAO,EACjB,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAC7C,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYjE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAI5C,UAAU,CAAC,CAAC,EAAE,MAAM;;;;IAQpB,GAAG,CAAC,CAAC,EAAE,MAAM;IAcb,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IAqDhC,GAAG,CACR,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,UAAU,EAAE;QACX,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B;IA+EI,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY;IAkClD,cAAc;YAUN,6BAA6B;IAwCrC,KAAK;IAqBX,IAAI,MAAM,WAKT;IAEK,IAAI;YAQI,kBAAkB;YA6BlB,gBAAgB;YAyChB,OAAO;YAwBP,gBAAgB;CAuD9B"}
1
+ {"version":3,"file":"entry-index.d.ts","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}