@peerbit/log 3.0.34 → 4.0.0-55cebfe

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 (133) hide show
  1. package/dist/benchmark/append.d.ts +2 -0
  2. package/dist/benchmark/append.d.ts.map +1 -0
  3. package/dist/benchmark/append.js +40 -0
  4. package/dist/benchmark/append.js.map +1 -0
  5. package/dist/benchmark/memory/index.d.ts +2 -0
  6. package/dist/benchmark/memory/index.d.ts.map +1 -0
  7. package/dist/benchmark/memory/index.js +122 -0
  8. package/dist/benchmark/memory/index.js.map +1 -0
  9. package/dist/benchmark/memory/insert.d.ts +2 -0
  10. package/dist/benchmark/memory/insert.d.ts.map +1 -0
  11. package/dist/benchmark/memory/insert.js +59 -0
  12. package/dist/benchmark/memory/insert.js.map +1 -0
  13. package/dist/benchmark/memory/utils.d.ts +13 -0
  14. package/dist/benchmark/memory/utils.d.ts.map +1 -0
  15. package/dist/benchmark/memory/utils.js +2 -0
  16. package/dist/benchmark/memory/utils.js.map +1 -0
  17. package/dist/benchmark/payload.d.ts +2 -0
  18. package/dist/benchmark/payload.d.ts.map +1 -0
  19. package/{lib/esm/__benchmark__/index.js → dist/benchmark/payload.js} +20 -22
  20. package/dist/benchmark/payload.js.map +1 -0
  21. package/dist/src/change.d.ts +6 -0
  22. package/dist/src/change.d.ts.map +1 -0
  23. package/{lib/esm → dist/src}/clock.d.ts +3 -26
  24. package/dist/src/clock.d.ts.map +1 -0
  25. package/{lib/esm → dist/src}/clock.js +30 -39
  26. package/dist/src/clock.js.map +1 -0
  27. package/{lib/esm → dist/src}/difference.d.ts +1 -0
  28. package/dist/src/difference.d.ts.map +1 -0
  29. package/{lib/esm → dist/src}/encoding.d.ts +2 -1
  30. package/dist/src/encoding.d.ts.map +1 -0
  31. package/{lib/esm → dist/src}/encoding.js +2 -2
  32. package/{lib/esm → dist/src}/encoding.js.map +1 -1
  33. package/dist/src/entry-index.d.ts +78 -0
  34. package/dist/src/entry-index.d.ts.map +1 -0
  35. package/dist/src/entry-index.js +316 -0
  36. package/dist/src/entry-index.js.map +1 -0
  37. package/{lib/esm → dist/src}/entry-with-refs.d.ts +2 -1
  38. package/dist/src/entry-with-refs.d.ts.map +1 -0
  39. package/{lib/esm → dist/src}/entry.d.ts +22 -18
  40. package/dist/src/entry.d.ts.map +1 -0
  41. package/{lib/esm → dist/src}/entry.js +69 -42
  42. package/dist/src/entry.js.map +1 -0
  43. package/{lib/esm → dist/src}/find-uniques.d.ts +1 -0
  44. package/dist/src/find-uniques.d.ts.map +1 -0
  45. package/{lib/esm → dist/src}/heads-cache.d.ts +4 -3
  46. package/dist/src/heads-cache.d.ts.map +1 -0
  47. package/{lib/esm → dist/src}/heads-cache.js +9 -10
  48. package/dist/src/heads-cache.js.map +1 -0
  49. package/{lib/esm → dist/src}/index.d.ts +1 -0
  50. package/dist/src/index.d.ts.map +1 -0
  51. package/{lib/esm → dist/src}/log-errors.d.ts +1 -0
  52. package/dist/src/log-errors.d.ts.map +1 -0
  53. package/dist/src/log-sorting.d.ts +35 -0
  54. package/dist/src/log-sorting.d.ts.map +1 -0
  55. package/dist/src/log-sorting.js +105 -0
  56. package/dist/src/log-sorting.js.map +1 -0
  57. package/{lib/esm → dist/src}/log.d.ts +78 -56
  58. package/dist/src/log.d.ts.map +1 -0
  59. package/{lib/esm → dist/src}/log.js +355 -465
  60. package/dist/src/log.js.map +1 -0
  61. package/{lib/esm → dist/src}/logger.d.ts +1 -0
  62. package/dist/src/logger.d.ts.map +1 -0
  63. package/{lib/esm → dist/src}/logger.js.map +1 -1
  64. package/{lib/esm → dist/src}/snapshot.d.ts +5 -4
  65. package/dist/src/snapshot.d.ts.map +1 -0
  66. package/{lib/esm → dist/src}/snapshot.js +10 -10
  67. package/dist/src/snapshot.js.map +1 -0
  68. package/{lib/esm → dist/src}/trim.d.ts +11 -9
  69. package/dist/src/trim.d.ts.map +1 -0
  70. package/{lib/esm → dist/src}/trim.js +46 -35
  71. package/dist/src/trim.js.map +1 -0
  72. package/dist/src/utils.d.ts +4 -0
  73. package/dist/src/utils.d.ts.map +1 -0
  74. package/dist/src/utils.js +12 -0
  75. package/dist/src/utils.js.map +1 -0
  76. package/package.json +104 -78
  77. package/src/change.ts +3 -2
  78. package/src/clock.ts +22 -22
  79. package/src/encoding.ts +4 -4
  80. package/src/entry-index.ts +451 -52
  81. package/src/entry-with-refs.ts +1 -1
  82. package/src/entry.ts +95 -81
  83. package/src/heads-cache.ts +33 -29
  84. package/src/log-sorting.ts +116 -94
  85. package/src/log.ts +482 -571
  86. package/src/logger.ts +1 -0
  87. package/src/snapshot.ts +15 -17
  88. package/src/trim.ts +81 -50
  89. package/src/utils.ts +10 -0
  90. package/lib/esm/__benchmark__/index.d.ts +0 -1
  91. package/lib/esm/__benchmark__/index.js.map +0 -1
  92. package/lib/esm/change.d.ts +0 -5
  93. package/lib/esm/clock.js.map +0 -1
  94. package/lib/esm/entry-index.d.ts +0 -24
  95. package/lib/esm/entry-index.js +0 -74
  96. package/lib/esm/entry-index.js.map +0 -1
  97. package/lib/esm/entry.js.map +0 -1
  98. package/lib/esm/heads-cache.js.map +0 -1
  99. package/lib/esm/heads.d.ts +0 -69
  100. package/lib/esm/heads.js +0 -157
  101. package/lib/esm/heads.js.map +0 -1
  102. package/lib/esm/log-sorting.d.ts +0 -44
  103. package/lib/esm/log-sorting.js +0 -86
  104. package/lib/esm/log-sorting.js.map +0 -1
  105. package/lib/esm/log.js.map +0 -1
  106. package/lib/esm/snapshot.js.map +0 -1
  107. package/lib/esm/trim.js.map +0 -1
  108. package/lib/esm/types.d.ts +0 -6
  109. package/lib/esm/types.js +0 -23
  110. package/lib/esm/types.js.map +0 -1
  111. package/lib/esm/utils.d.ts +0 -2
  112. package/lib/esm/utils.js +0 -3
  113. package/lib/esm/utils.js.map +0 -1
  114. package/lib/esm/values.d.ts +0 -26
  115. package/lib/esm/values.js +0 -131
  116. package/lib/esm/values.js.map +0 -1
  117. package/src/__benchmark__/index.ts +0 -130
  118. package/src/heads.ts +0 -233
  119. package/src/types.ts +0 -12
  120. package/src/values.ts +0 -174
  121. /package/{lib/esm → dist/src}/change.js +0 -0
  122. /package/{lib/esm → dist/src}/change.js.map +0 -0
  123. /package/{lib/esm → dist/src}/difference.js +0 -0
  124. /package/{lib/esm → dist/src}/difference.js.map +0 -0
  125. /package/{lib/esm → dist/src}/entry-with-refs.js +0 -0
  126. /package/{lib/esm → dist/src}/entry-with-refs.js.map +0 -0
  127. /package/{lib/esm → dist/src}/find-uniques.js +0 -0
  128. /package/{lib/esm → dist/src}/find-uniques.js.map +0 -0
  129. /package/{lib/esm → dist/src}/index.js +0 -0
  130. /package/{lib/esm → dist/src}/index.js.map +0 -0
  131. /package/{lib/esm → dist/src}/log-errors.js +0 -0
  132. /package/{lib/esm → dist/src}/log-errors.js.map +0 -0
  133. /package/{lib/esm → dist/src}/logger.js +0 -0
package/src/logger.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import pino from "pino";
2
+
2
3
  const logger = pino();
3
4
  export { logger };
package/src/snapshot.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { Entry } from "./entry.js";
2
- import { Blocks } from "@peerbit/blocks-interface";
3
1
  import {
4
2
  BinaryReader,
5
3
  BinaryWriter,
@@ -8,10 +6,12 @@ import {
8
6
  fixedArray,
9
7
  serialize,
10
8
  variant,
11
- vec
9
+ vec,
12
10
  } from "@dao-xyz/borsh";
11
+ import { type AnyStore } from "@peerbit/any-store";
12
+ import { type Blocks } from "@peerbit/blocks-interface";
13
13
  import { waitFor } from "@peerbit/time";
14
- import { AnyStore } from "@peerbit/any-store";
14
+ import { Entry } from "./entry.js";
15
15
  import { logger } from "./logger.js";
16
16
 
17
17
  @variant(0)
@@ -28,18 +28,16 @@ export class Snapshot {
28
28
  @field({ type: vec(Entry) })
29
29
  values: Entry<any>[];
30
30
 
31
- constructor(props?: {
31
+ constructor(props: {
32
32
  id: Uint8Array;
33
33
  heads: string[];
34
34
  size: bigint;
35
35
  values: Entry<any>[];
36
36
  }) {
37
- if (props) {
38
- this.heads = props.heads;
39
- this.id = props.id;
40
- this.size = props.size;
41
- this.values = props.values;
42
- }
37
+ this.heads = props.heads;
38
+ this.id = props.id;
39
+ this.size = props.size;
40
+ this.values = props.values;
43
41
  }
44
42
  }
45
43
 
@@ -51,7 +49,7 @@ export const save = async <T>(
51
49
  id: Uint8Array;
52
50
  getHeads: () => Promise<string[]>;
53
51
  getValues: () => Promise<Entry<T>[]> | Entry<T>[];
54
- }
52
+ },
55
53
  ): Promise<string> => {
56
54
  const values = await log.getValues();
57
55
  const buf = serialize(
@@ -59,8 +57,8 @@ export const save = async <T>(
59
57
  id: log.id,
60
58
  heads: await log.getHeads(),
61
59
  size: BigInt(values.length),
62
- values: values
63
- })
60
+ values,
61
+ }),
64
62
  );
65
63
 
66
64
  const snapshot = await blockstore.put(buf);
@@ -70,7 +68,7 @@ export const save = async <T>(
70
68
 
71
69
  await waitFor(async () => (await cache.get(snapshotPath)) != null, {
72
70
  delayInterval: 200,
73
- timeout: 10 * 1000
71
+ timeout: 10 * 1000,
74
72
  });
75
73
 
76
74
  logger.debug(`Saved snapshot: ${snapshot}`);
@@ -79,7 +77,7 @@ export const save = async <T>(
79
77
 
80
78
  export const load = async (
81
79
  hash: string,
82
- blockstore: Blocks
80
+ blockstore: Blocks,
83
81
  ): Promise<Snapshot> => {
84
82
  const block = await blockstore.get(hash);
85
83
  if (!block) {
@@ -91,7 +89,7 @@ export const load = async (
91
89
  export const loadFromCache = async (
92
90
  path: string,
93
91
  blockstore: Blocks,
94
- cache: AnyStore
92
+ cache: AnyStore,
95
93
  ) => {
96
94
  const snapshotOrCID = await cache.get(path);
97
95
  if (!snapshotOrCID) {
package/src/trim.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { Cache } from "@peerbit/cache";
2
+ import { SumRequest } from "@peerbit/indexer-interface";
2
3
  import PQueue from "p-queue";
3
- import { Entry, ShallowEntry } from "./entry.js";
4
- import { EntryNode, Values } from "./values.js";
5
- import { HeadsIndex } from "./heads.js";
4
+ import type { EntryIndex } from "./entry-index.js";
5
+ import type { Entry, ShallowEntry } from "./entry.js";
6
+ import type { SortFn } from "./log-sorting.js";
6
7
 
7
8
  const trimOptionsEqual = (a: TrimOptions, b: TrimOptions) => {
8
9
  if (a.type === b.type) {
@@ -79,18 +80,19 @@ export type TrimCanAppendOption = {
79
80
  export type TrimOptions = TrimCanAppendOption & TrimCondition;
80
81
 
81
82
  interface Log<T> {
82
- headsIndex: HeadsIndex<T>;
83
- values: () => Values<T>;
84
- deleteNode: (node: EntryNode) => Promise<Entry<T> | undefined>;
83
+ index: EntryIndex<T>;
84
+ sortFn: SortFn;
85
+ deleteNode: (node: ShallowEntry) => Promise<Entry<T> | undefined>;
86
+ getLength(): number;
85
87
  }
86
88
  export class Trim<T> {
87
89
  private _trim?: TrimOptions;
88
- private _canTrimCacheLastNode: EntryNode | undefined | null;
89
- private _trimLastHead: EntryNode | undefined | null;
90
- private _trimLastTail: EntryNode | undefined | null;
90
+ private _canTrimCacheLastNode: ShallowEntry | undefined | null;
91
+ private _trimLastHead: ShallowEntry | undefined | null;
92
+ private _trimLastTail: ShallowEntry | undefined | null;
91
93
  private _trimLastLength = 0;
92
94
 
93
- private _trimLastOptions: TrimOptions;
95
+ private _trimLastOptions?: TrimOptions;
94
96
  private _trimLastSeed: string | number | undefined;
95
97
  private _canTrimCacheHashBreakpoint: Cache<boolean>;
96
98
  private _log: Log<T>;
@@ -102,9 +104,13 @@ export class Trim<T> {
102
104
  this._queue = new PQueue({ concurrency: 1 });
103
105
  }
104
106
 
105
- deleteFromCache(entry: Entry<T>) {
106
- if (this._canTrimCacheLastNode?.value === entry.hash) {
107
- this._canTrimCacheLastNode = this._canTrimCacheLastNode.prev;
107
+ async deleteFromCache(hash: string) {
108
+ if (this._canTrimCacheLastNode?.hash === hash) {
109
+ // we do 'getAfter' here, because earlier entries might already have been deleted or checked for deletion but not removed due to some filtering logic
110
+ this._canTrimCacheLastNode = await this._log.index.getAfter(
111
+ this._canTrimCacheLastNode,
112
+ false,
113
+ );
108
114
  }
109
115
  }
110
116
 
@@ -113,7 +119,7 @@ export class Trim<T> {
113
119
  }
114
120
 
115
121
  private async trimTask(
116
- option: TrimOptions | undefined = this._trim
122
+ option: TrimOptions | undefined = this._trim,
117
123
  ): Promise<Entry<T>[]> {
118
124
  if (!option) {
119
125
  return [];
@@ -121,32 +127,40 @@ export class Trim<T> {
121
127
  /// TODO Make this method less ugly
122
128
  const deleted: Entry<T>[] = [];
123
129
 
124
- let done: () => boolean;
125
- const values = this._log.values();
130
+ let done: () => Promise<boolean> | boolean;
131
+ /* const valueIterator = this._log.index.query([], this._log.sortFn.sort, false); */
126
132
  if (option.type === "length") {
127
133
  const to = option.to;
128
134
  const from = option.from ?? to;
129
- if (values.length < from) {
135
+ if (this._log.getLength() < from) {
130
136
  return [];
131
137
  }
132
- done = () => values.length <= to;
133
- } else if (option.type == "bytelength") {
138
+ done = async () => this._log.getLength() <= to;
139
+ } else if (option.type === "bytelength") {
140
+ // TODO calculate the sum and cache it and update it only when entries are added or removed
141
+ const byteLengthFn = async () =>
142
+ BigInt(
143
+ await this._log.index.properties.index.sum(
144
+ new SumRequest({ key: "payloadSize" }),
145
+ ),
146
+ );
147
+
134
148
  // prune to max sum payload sizes in bytes
135
- const byteLengthFrom = option.from ?? option.to;
149
+ const byteLengthFrom = BigInt(option.from ?? option.to);
136
150
 
137
- if (values.byteLength < byteLengthFrom) {
151
+ if ((await byteLengthFn()) < byteLengthFrom) {
138
152
  return [];
139
153
  }
140
- done = () => values.byteLength <= option.to;
141
- } else if (option.type == "time") {
154
+ done = async () => (await byteLengthFn()) <= option.to;
155
+ } else if (option.type === "time") {
142
156
  const s0 = BigInt(+new Date() * 1e6);
143
157
  const maxAge = option.maxAge * 1e6;
144
- done = () => {
145
- if (!values.tail) {
158
+ done = async () => {
159
+ if (!(await this._log.index.getOldest())) {
146
160
  return true;
147
161
  }
148
162
 
149
- const nodeValue = values.entryIndex.getShallow(values.tail.value);
163
+ const nodeValue = await this._log.index.getOldest();
150
164
 
151
165
  if (!nodeValue) {
152
166
  return true;
@@ -158,7 +172,7 @@ export class Trim<T> {
158
172
  return [];
159
173
  }
160
174
 
161
- const tail = values.tail;
175
+ const tail = await this._log.index.getOldest(false);
162
176
 
163
177
  if (
164
178
  this._trimLastOptions &&
@@ -182,17 +196,21 @@ export class Trim<T> {
182
196
  !trimOptionsEqual(this._trimLastOptions, option);
183
197
 
184
198
  changed =
185
- this._trimLastHead !== values.head ||
186
- this._trimLastTail !== values.tail ||
187
- this._trimLastLength !== this._log.headsIndex.size ||
199
+ this._trimLastHead?.hash !==
200
+ (await this._log.index.getNewest())?.hash ||
201
+ this._trimLastTail?.hash !==
202
+ (await this._log.index.getOldest())?.hash ||
203
+ this._trimLastLength !== this._log.getLength() ||
188
204
  trimOptionsChanged;
205
+
189
206
  if (!changed) {
190
207
  return [];
191
208
  }
192
209
  }
193
210
 
194
- let node: EntryNode | undefined | null = this._canTrimCacheLastNode || tail; // TODO should we do this._canTrimCacheLastNode?.prev instead ?
195
- let lastNode: EntryNode | undefined | null = node;
211
+ let node: ShallowEntry | undefined | null =
212
+ this._canTrimCacheLastNode || tail; // TODO should we do this._canTrimCacheLastNode?.prev instead ?
213
+ let lastNode: ShallowEntry | undefined | null = node;
196
214
  let looped = false;
197
215
  const startNode = node;
198
216
  let canTrimByGid: Map<string, boolean> | undefined = undefined;
@@ -200,32 +218,42 @@ export class Trim<T> {
200
218
  // TODO only go through heads?
201
219
  while (
202
220
  node &&
203
- !done() &&
204
- values.length > 0 &&
221
+ !(await done()) &&
222
+ this._log.getLength() > 0 &&
205
223
  node &&
206
- (!looped || node !== startNode)
224
+ (!looped || node.hash !== startNode?.hash)
207
225
  ) {
208
226
  let deleteAble: boolean | undefined = true;
209
227
  if (option.filter?.canTrim) {
210
228
  canTrimByGid = canTrimByGid || new Map();
211
- const indexedEntry = values.entryIndex.getShallow(node.value)!; // TODO check undefined
212
- deleteAble = canTrimByGid.get(indexedEntry.meta.gid);
229
+ if (!node) {
230
+ throw new Error("Unexpected missing entry when trimming: " + node);
231
+ }
232
+
233
+ deleteAble = canTrimByGid.get(node.meta.gid);
213
234
  if (deleteAble === undefined) {
214
- deleteAble = await option.filter?.canTrim(indexedEntry);
215
- canTrimByGid.set(indexedEntry.meta.gid, deleteAble);
235
+ deleteAble = await option.filter?.canTrim(node);
236
+ canTrimByGid.set(node.meta.gid, deleteAble);
216
237
  }
217
238
 
218
239
  if (!deleteAble && cacheProgress) {
219
240
  // ignore it
220
- this._canTrimCacheHashBreakpoint.add(node.value, true);
241
+ this._canTrimCacheHashBreakpoint.add(node.hash, true);
221
242
  }
222
243
  }
223
244
 
224
245
  // Delete, and update current node
225
246
  if (deleteAble) {
226
- // Do this before deleteNode, else prev/next might be gone!
227
- const prev = node.prev;
228
- const next = node.next;
247
+ // Do this before deleteNode, else prev/next might be gone
248
+
249
+ const prev: ShallowEntry | undefined = await this._log.index.getAfter(
250
+ node,
251
+ false,
252
+ );
253
+ const next: ShallowEntry | undefined = await this._log.index.getBefore(
254
+ node,
255
+ false,
256
+ );
229
257
 
230
258
  const entry = await this._log.deleteNode(node);
231
259
  if (entry) {
@@ -238,7 +266,7 @@ export class Trim<T> {
238
266
  lastNode = prev || next;
239
267
  } else {
240
268
  lastNode = node;
241
- node = node?.prev;
269
+ node = await this._log.index.getAfter(node, false);
242
270
  }
243
271
 
244
272
  if (!node) {
@@ -253,9 +281,9 @@ export class Trim<T> {
253
281
 
254
282
  // remember the node where we started last time from
255
283
  this._canTrimCacheLastNode = node || lastNode;
256
- this._trimLastHead = values.head;
257
- this._trimLastTail = values.tail;
258
- this._trimLastLength = this._log.headsIndex.size;
284
+ this._trimLastHead = await this._log.index.getNewest();
285
+ this._trimLastTail = await this._log.index.getOldest();
286
+ this._trimLastLength = this._log.getLength();
259
287
  this._trimLastOptions = option;
260
288
  this._trimLastSeed = seed;
261
289
 
@@ -266,9 +294,12 @@ export class Trim<T> {
266
294
  * @returns deleted entries
267
295
  */
268
296
  async trim(
269
- option: TrimOptions | undefined = this._trim
270
- ): Promise<Entry<T>[]> {
271
- const result = await this._queue.add(() => this.trimTask(option));
297
+ options: TrimOptions | undefined = this._trim,
298
+ ): Promise<Entry<T>[] | undefined> {
299
+ if (!options) {
300
+ return;
301
+ }
302
+ const result = await this._queue.add(() => this.trimTask(options));
272
303
  if (result instanceof Object) {
273
304
  return result;
274
305
  }
package/src/utils.ts CHANGED
@@ -1,2 +1,12 @@
1
+ import { equals as uequals } from "uint8arrays";
2
+
3
+ export const equals = (array1?: Uint8Array, array2?: Uint8Array) => {
4
+ if (!!array1 !== !!array2) return false;
5
+ if (!array1 || !array2) {
6
+ return false;
7
+ }
8
+ return uequals(array1, array2);
9
+ };
10
+
1
11
  export const max = <T>(...args: T[]) => args.reduce((m, e) => (e > m ? e : m));
2
12
  export const min = <T>(...args: T[]) => args.reduce((m, e) => (e < m ? e : m));
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/__benchmark__/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Entry } from "./entry";
2
- export type Change<T> = {
3
- added: Entry<T>[];
4
- removed: Entry<T>[];
5
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/clock.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { Cache } from "@peerbit/cache";
2
- import { Entry, ShallowEntry } from "./entry.js";
3
- import { Blocks } from "@peerbit/blocks-interface";
4
- export declare class EntryIndex<T> {
5
- _cache: Cache<Entry<T> | null>;
6
- _blocks: Blocks;
7
- _init: (entry: Entry<T>) => void;
8
- _index: Map<string, ShallowEntry>;
9
- constructor(properties: {
10
- store: Blocks;
11
- init: (entry: Entry<T>) => void;
12
- cache: Cache<Entry<T>>;
13
- });
14
- set(v: Entry<T>, toMultihash?: boolean): Promise<void>;
15
- has(k: string): boolean;
16
- get(k: string, options?: {
17
- load?: boolean;
18
- replicate?: boolean;
19
- timeout?: number;
20
- }): Promise<Entry<T> | undefined>;
21
- getShallow(k: string): ShallowEntry | undefined;
22
- private getFromStore;
23
- delete(k: string): Promise<void>;
24
- }
@@ -1,74 +0,0 @@
1
- import { Entry } from "./entry.js";
2
- import { deserialize } from "@dao-xyz/borsh";
3
- import { logger } from "./logger.js";
4
- export class EntryIndex {
5
- _cache;
6
- _blocks;
7
- _init;
8
- _index;
9
- constructor(properties) {
10
- this._cache = properties.cache;
11
- this._blocks = properties.store;
12
- this._init = properties.init;
13
- this._index = new Map();
14
- }
15
- async set(v, toMultihash = true) {
16
- if (toMultihash) {
17
- const existingHash = v.hash;
18
- v.hash = undefined;
19
- try {
20
- const hash = await Entry.toMultihash(this._blocks, v);
21
- v.hash = existingHash;
22
- if (v.hash === undefined) {
23
- v.hash = hash; // can happen if you sync entries that you load directly from ipfs
24
- }
25
- else if (existingHash !== v.hash) {
26
- logger.error("Head hash didn't match the contents");
27
- throw new Error("Head hash didn't match the contents");
28
- }
29
- }
30
- catch (error) {
31
- logger.error(error);
32
- throw error;
33
- }
34
- }
35
- this._cache.add(v.hash, v);
36
- this._index.set(v.hash, v.toShallow());
37
- }
38
- has(k) {
39
- return this._index.has(k);
40
- }
41
- async get(k, options) {
42
- if (this._index.has(k) || options?.load) {
43
- let mem = this._cache.get(k);
44
- if (mem === undefined) {
45
- mem = await this.getFromStore(k, options);
46
- if (mem) {
47
- this._init(mem);
48
- mem.hash = k;
49
- }
50
- this._cache.add(k, mem);
51
- }
52
- return mem ? mem : undefined;
53
- }
54
- return undefined;
55
- }
56
- getShallow(k) {
57
- return this._index.get(k);
58
- }
59
- async getFromStore(k, options) {
60
- const value = await this._blocks.get(k, options);
61
- if (value) {
62
- const entry = deserialize(value, Entry);
63
- entry.size = value.length;
64
- return entry;
65
- }
66
- return null;
67
- }
68
- async delete(k) {
69
- this._cache.del(k);
70
- this._index.delete(k);
71
- return this._blocks.rm(k);
72
- }
73
- }
74
- //# sourceMappingURL=entry-index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry-index.js","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"heads-cache.js","sourceRoot":"","sources":["../../src/heads-cache.ts"],"names":[],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- import { Entry } from "./entry.js";
2
- import { AnyStore } from "@peerbit/any-store";
3
- import { HeadsCache } from "./heads-cache.js";
4
- import { Blocks } from "@peerbit/blocks-interface";
5
- import { Keychain } from "@peerbit/keychain";
6
- import { Encoding } from "./encoding.js";
7
- import { Values } from "./values.js";
8
- import { EntryIndex } from "./entry-index.js";
9
- export type CacheUpdateOptions = {
10
- cache?: {
11
- update?: false;
12
- reset?: false;
13
- } | {
14
- update: true;
15
- reset?: boolean;
16
- };
17
- };
18
- interface Log<T> {
19
- blocks: Blocks;
20
- keychain?: Keychain;
21
- memory?: AnyStore;
22
- encoding: Encoding<any>;
23
- entryIndex: EntryIndex<T>;
24
- values: Values<T>;
25
- }
26
- export declare class HeadsIndex<T> {
27
- private _id;
28
- private _index;
29
- private _gids;
30
- private _headsCache;
31
- private _config;
32
- private _onGidRemoved?;
33
- constructor(id: Uint8Array);
34
- init(log: Log<T>, options?: {
35
- entries?: Entry<T>[];
36
- onGidRemoved?: (gid: string[]) => Promise<void> | void;
37
- }): Promise<HeadsCache<T> | undefined>;
38
- load(options?: {
39
- timeout?: number;
40
- replicate?: boolean;
41
- reload?: boolean;
42
- ignoreMissing?: boolean;
43
- } & CacheUpdateOptions): Promise<Entry<T>[] | undefined>;
44
- get headsCache(): HeadsCache<T> | undefined;
45
- close(): Promise<void> | undefined;
46
- drop(): Promise<void> | undefined;
47
- get id(): Uint8Array;
48
- get index(): Set<string>;
49
- get gids(): Map<string, Map<string, Entry<T>>>;
50
- get size(): number;
51
- reset(entries: Entry<T>[], options?: CacheUpdateOptions): Promise<void>;
52
- has(cid: string): boolean;
53
- put(entry: Entry<T>, options?: CacheUpdateOptions): Promise<void>;
54
- putAll(entries: Entry<T>[], options?: CacheUpdateOptions): Promise<void>;
55
- resetHeadsCache(): Promise<void>;
56
- updateHeadsCache(change?: {
57
- added?: (Entry<T> | string)[];
58
- removed?: (Entry<T> | string)[];
59
- }, reset?: boolean): Promise<void>;
60
- private _putOne;
61
- private _putAll;
62
- del(entry: {
63
- hash: string;
64
- meta: {
65
- gid: string;
66
- };
67
- }, options?: CacheUpdateOptions): Promise<boolean>;
68
- }
69
- export {};