@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-v0.js","sourceRoot":"","sources":["../../src/entry-v0.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-v0.js","sourceRoot":"","sources":["../../src/entry-v0.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type Blocks, type GetOptions } from "@peerbit/blocks-interface";
1
+ import { type Blocks, type GetOptions, calculateRawCid } from "@peerbit/blocks-interface";
2
2
  import type { PublicSignKey, SignatureWithKey } from "@peerbit/crypto";
3
3
  import type { CryptoKeychain } from "@peerbit/keychain";
4
4
  import { LamportClock as Clock } from "./clock.js";
@@ -8,6 +8,57 @@ import type { EntryType } from "./entry-type.js";
8
8
  import type { Payload } from "./payload.js";
9
9
  export type CanAppend<T> = (canAppend: Entry<T>) => Promise<boolean> | boolean;
10
10
  export type ShallowOrFullEntry<T> = ShallowEntry | Entry<T>;
11
+ export type PreparedEntryBlock = Awaited<ReturnType<typeof calculateRawCid>>;
12
+ export type PreparedAppendFacts = {
13
+ hash: string;
14
+ gid: string;
15
+ next: string[];
16
+ wallTime: bigint;
17
+ logical: number;
18
+ clockId?: Uint8Array;
19
+ type?: EntryType;
20
+ metaData?: Uint8Array;
21
+ payloadSize: number;
22
+ metaBytes?: Uint8Array;
23
+ hashDigestBytes?: Uint8Array;
24
+ };
25
+ export type PreparedNativeLogEntry = {
26
+ hash: string;
27
+ gid: string;
28
+ next: string[];
29
+ type: number;
30
+ head?: boolean;
31
+ payloadSize?: number;
32
+ data?: Uint8Array;
33
+ clock: {
34
+ timestamp: {
35
+ wallTime: bigint | number | string;
36
+ logical?: number;
37
+ };
38
+ };
39
+ };
40
+ export type PreparedAppendChain<T> = {
41
+ entries: Entry<T>[];
42
+ blocks?: PreparedEntryBlock[];
43
+ shallowEntries: ShallowEntry[];
44
+ appendFacts?: PreparedAppendFacts[];
45
+ nativeEntries?: PreparedNativeLogEntry[];
46
+ nativeGraphUpdated?: boolean;
47
+ nativeBlocksCommitted?: boolean;
48
+ };
49
+ export type PreparedAppendCommitOnlyChain<T> = {
50
+ materializeEntry: (index?: number) => Entry<T>;
51
+ materializeEntries: () => Entry<T>[];
52
+ blocks?: PreparedEntryBlock[];
53
+ shallowEntries: ShallowEntry[];
54
+ appendFacts: PreparedAppendFacts[];
55
+ nativeEntries?: PreparedNativeLogEntry[];
56
+ trimmedNativeEntries?: PreparedNativeLogEntry[];
57
+ trimmedNativeEntryHashes?: string[];
58
+ trimmedNativeBlocksDeleted?: boolean;
59
+ nativeGraphUpdated?: boolean;
60
+ nativeBlocksCommitted?: boolean;
61
+ };
11
62
  interface Meta {
12
63
  clock: Clock;
13
64
  gid: string;
@@ -49,6 +100,27 @@ export declare abstract class Entry<T> {
49
100
  */
50
101
  static compare<T>(a: Entry<T>, b: Entry<T>): number;
51
102
  static toMultihash<T>(store: Blocks, entry: Entry<T>): Promise<string> | string;
103
+ static prepareMultihash<T>(entry: Entry<T>): Promise<string>;
104
+ static prepareMultihashBytes<T>(entry: Entry<T>, bytes: Uint8Array, cid: string): string;
105
+ /**
106
+ * Like {@link Entry.prepareMultihashBytes} but defers pulling the block
107
+ * bytes until a consumer actually reads them (block store put, storage
108
+ * bytes). Callers that keep entry bytes in an external store (e.g. the
109
+ * native wire stash) use this so entries handed to change consumers do
110
+ * not copy bytes they may never touch.
111
+ */
112
+ static prepareMultihashBytesLazy<T>(entry: Entry<T>, cid: string, size: number, bytesSource: () => Uint8Array): string;
113
+ static preparedBlockFromBytes(bytes: Uint8Array, cid: string): PreparedEntryBlock;
114
+ static toMultihashBytes<T>(store: Blocks, entry: Entry<T>, bytes: Uint8Array, cid: string): Promise<string> | string;
115
+ static takePreparedBlock<T>(entry: Entry<T>): PreparedEntryBlock | undefined;
116
+ static hasPreparedBlock<T>(entry: Entry<T>): boolean;
117
+ static getPreparedStorageBytes<T>(entry: Entry<T>): Uint8Array | undefined;
118
+ static prepareShallowEntry<T>(entry: Entry<T>, shallow: ShallowEntry): void;
119
+ static hasPreparedShallowEntry<T>(entry: Entry<T>): boolean;
120
+ static takePreparedShallowEntry<T>(entry: Entry<T>, isHead: boolean): ShallowEntry | undefined;
121
+ static prepareNativeLogEntry<T>(entry: Entry<T>, nativeEntry: PreparedNativeLogEntry): void;
122
+ static hasPreparedNativeLogEntry<T>(entry: Entry<T>): boolean;
123
+ static takePreparedNativeLogEntry<T>(entry: Entry<T>, isHead: boolean): PreparedNativeLogEntry | undefined;
52
124
  static fromMultihash: <T_1>(store: Blocks, hash: string, options?: GetOptions) => Promise<Entry<T_1>>;
53
125
  /**
54
126
  * Check if an entry equals another entry.
@@ -1 +1 @@
1
- {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":"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"}
package/dist/src/entry.js CHANGED
@@ -1,6 +1,42 @@
1
1
  import { deserialize, serialize } from "@dao-xyz/borsh";
2
- import {} from "@peerbit/blocks-interface";
2
+ import { calculateRawCid, cidifyString, } from "@peerbit/blocks-interface";
3
3
  import { LamportClock as Clock } from "./clock.js";
4
+ const preparedEntryBlocks = new WeakMap();
5
+ const preparedShallowEntries = new WeakMap();
6
+ const preparedNativeLogEntries = new WeakMap();
7
+ const preparedEntryBlockFromBytes = (bytes, cid) => {
8
+ let cidObject;
9
+ return {
10
+ block: {
11
+ bytes,
12
+ get cid() {
13
+ cidObject ??= cidifyString(cid);
14
+ return cidObject;
15
+ },
16
+ value: bytes,
17
+ },
18
+ cid,
19
+ };
20
+ };
21
+ const preparedEntryBlockFromBytesSource = (bytesSource, cid) => {
22
+ let cidObject;
23
+ let bytesValue;
24
+ return {
25
+ block: {
26
+ get bytes() {
27
+ return (bytesValue ??= bytesSource());
28
+ },
29
+ get cid() {
30
+ cidObject ??= cidifyString(cid);
31
+ return cidObject;
32
+ },
33
+ get value() {
34
+ return (bytesValue ??= bytesSource());
35
+ },
36
+ },
37
+ cid,
38
+ };
39
+ };
4
40
  export class Entry {
5
41
  getSignableBytes() {
6
42
  return serialize(this.toSignable());
@@ -34,6 +70,92 @@ export class Entry {
34
70
  entry.size = bytes.length;
35
71
  return store.put(bytes);
36
72
  }
73
+ static async prepareMultihash(entry) {
74
+ if (entry.hash) {
75
+ throw new Error("Expected hash to be missing");
76
+ }
77
+ const bytes = entry.getStorageBytes();
78
+ entry.size = bytes.length;
79
+ const prepared = await calculateRawCid(bytes);
80
+ preparedEntryBlocks.set(entry, prepared);
81
+ return prepared.cid;
82
+ }
83
+ static prepareMultihashBytes(entry, bytes, cid) {
84
+ if (entry.hash) {
85
+ throw new Error("Expected hash to be missing");
86
+ }
87
+ entry.size = bytes.length;
88
+ preparedEntryBlocks.set(entry, preparedEntryBlockFromBytes(bytes, cid));
89
+ return cid;
90
+ }
91
+ /**
92
+ * Like {@link Entry.prepareMultihashBytes} but defers pulling the block
93
+ * bytes until a consumer actually reads them (block store put, storage
94
+ * bytes). Callers that keep entry bytes in an external store (e.g. the
95
+ * native wire stash) use this so entries handed to change consumers do
96
+ * not copy bytes they may never touch.
97
+ */
98
+ static prepareMultihashBytesLazy(entry, cid, size, bytesSource) {
99
+ if (entry.hash) {
100
+ throw new Error("Expected hash to be missing");
101
+ }
102
+ entry.size = size;
103
+ preparedEntryBlocks.set(entry, preparedEntryBlockFromBytesSource(bytesSource, cid));
104
+ return cid;
105
+ }
106
+ static preparedBlockFromBytes(bytes, cid) {
107
+ return preparedEntryBlockFromBytes(bytes, cid);
108
+ }
109
+ static toMultihashBytes(store, entry, bytes, cid) {
110
+ if (entry.hash) {
111
+ throw new Error("Expected hash to be missing");
112
+ }
113
+ entry.size = bytes.length;
114
+ return store.put(preparedEntryBlockFromBytes(bytes, cid));
115
+ }
116
+ static takePreparedBlock(entry) {
117
+ const prepared = preparedEntryBlocks.get(entry);
118
+ if (prepared) {
119
+ preparedEntryBlocks.delete(entry);
120
+ }
121
+ return prepared;
122
+ }
123
+ static hasPreparedBlock(entry) {
124
+ return preparedEntryBlocks.has(entry);
125
+ }
126
+ static getPreparedStorageBytes(entry) {
127
+ const prepared = preparedEntryBlocks.get(entry);
128
+ const block = prepared?.block;
129
+ return block?.bytes ?? block?.value;
130
+ }
131
+ static prepareShallowEntry(entry, shallow) {
132
+ preparedShallowEntries.set(entry, shallow);
133
+ }
134
+ static hasPreparedShallowEntry(entry) {
135
+ return preparedShallowEntries.has(entry);
136
+ }
137
+ static takePreparedShallowEntry(entry, isHead) {
138
+ const prepared = preparedShallowEntries.get(entry);
139
+ if (prepared) {
140
+ preparedShallowEntries.delete(entry);
141
+ prepared.head = isHead;
142
+ }
143
+ return prepared;
144
+ }
145
+ static prepareNativeLogEntry(entry, nativeEntry) {
146
+ preparedNativeLogEntries.set(entry, nativeEntry);
147
+ }
148
+ static hasPreparedNativeLogEntry(entry) {
149
+ return preparedNativeLogEntries.has(entry);
150
+ }
151
+ static takePreparedNativeLogEntry(entry, isHead) {
152
+ const prepared = preparedNativeLogEntries.get(entry);
153
+ if (prepared) {
154
+ preparedNativeLogEntries.delete(entry);
155
+ prepared.head = isHead;
156
+ }
157
+ return prepared;
158
+ }
37
159
  static fromMultihash = async (store, hash, options) => {
38
160
  if (!hash) {
39
161
  throw new Error(`Invalid hash: ${hash}`);
@@ -43,6 +165,7 @@ export class Entry {
43
165
  throw new Error("Failed to resolve block: " + hash);
44
166
  }
45
167
  const entry = deserialize(bytes, Entry);
168
+ Entry.prepareMultihashBytes(entry, bytes, hash);
46
169
  entry.hash = hash;
47
170
  entry.size = bytes.length;
48
171
  return entry;
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export * from "./log.js";
2
2
  export * from "./log-sorting.js";
3
3
  export * from "./log-errors.js";
4
4
  export * from "./snapshot.js";
5
- export * from "./entry.js";
5
+ export { Entry, type CanAppend, type PreparedAppendFacts, type PreparedNativeLogEntry, type ShallowOrFullEntry, } from "./entry.js";
6
6
  export * from "./entry-type.js";
7
7
  export * from "./entry-with-refs.js";
8
8
  export * from "./entry-shallow.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACN,KAAK,EACL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACvB,MAAM,YAAY,CAAC;AACpB,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
package/dist/src/index.js CHANGED
@@ -2,7 +2,7 @@ export * from "./log.js";
2
2
  export * from "./log-sorting.js";
3
3
  export * from "./log-errors.js";
4
4
  export * from "./snapshot.js";
5
- export * from "./entry.js";
5
+ export { Entry, } from "./entry.js";
6
6
  export * from "./entry-type.js";
7
7
  export * from "./entry-with-refs.js";
8
8
  export * from "./entry-shallow.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACN,KAAK,GAKL,MAAM,YAAY,CAAC;AACpB,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
package/dist/src/log.d.ts CHANGED
@@ -6,7 +6,7 @@ import { type CryptoKeychain } from "@peerbit/keychain";
6
6
  import { type Change } from "./change.js";
7
7
  import { HLC, LamportClock, Timestamp } from "./clock.js";
8
8
  import { type Encoding } from "./encoding.js";
9
- import { EntryIndex, type MaybeResolveOptions, type ResultsIterator, type ReturnTypeFromResolveOptions } from "./entry-index.js";
9
+ import { EntryIndex, type MaybeResolveOptions, type NativeLogGraph, type PreparedAppendIndexFacts, type ResultsIterator, type ReturnTypeFromResolveOptions } from "./entry-index.js";
10
10
  import { ShallowEntry } from "./entry-shallow.js";
11
11
  import { EntryType } from "./entry-type.js";
12
12
  import { type EncryptionTemplateMaybeEncrypted } from "./entry-v0.js";
@@ -15,6 +15,11 @@ import { type CanAppend, Entry, type ShallowOrFullEntry } from "./entry.js";
15
15
  import * as Sorting from "./log-sorting.js";
16
16
  import type { Payload } from "./payload.js";
17
17
  import { type TrimOptions } from "./trim.js";
18
+ export type PreparedAppendJoinFacts = PreparedAppendIndexFacts & {
19
+ bytes: Uint8Array;
20
+ byteLength: number;
21
+ materializeEntry?: () => Entry<any>;
22
+ };
18
23
  export type LogEvents<T> = {
19
24
  onChange?: (change: Change<T>) => void;
20
25
  onGidRemoved?: (gids: string[]) => Promise<void> | void;
@@ -23,14 +28,17 @@ export type MemoryProperties = {
23
28
  storage?: AnyStore;
24
29
  indexer?: Indices;
25
30
  };
31
+ export type NativeGraphOptions = {
32
+ heads?: boolean;
33
+ optional?: boolean;
34
+ graph?: NativeLogGraph;
35
+ };
26
36
  export type LogProperties<T> = {
27
37
  keychain?: CryptoKeychain;
28
38
  encoding?: Encoding<T>;
29
39
  clock?: LamportClock;
30
40
  appendDurability?: AppendDurability;
31
- nativeGraph?: boolean | {
32
- heads?: boolean;
33
- };
41
+ nativeGraph?: boolean | NativeGraphOptions;
34
42
  sortFn?: Sorting.SortFn;
35
43
  trim?: TrimOptions;
36
44
  canAppend?: CanAppend<T>;
@@ -60,7 +68,15 @@ export type AppendOptions<T> = {
60
68
  onChange?: OnChange<T>;
61
69
  canAppend?: CanAppend<T>;
62
70
  };
71
+ export type { PreparedAppendFacts } from "./entry.js";
63
72
  type OnChange<T> = (change: Change<T>, reference?: undefined) => void | Promise<void>;
73
+ export type JoinOptions<T> = {
74
+ verifySignatures?: boolean;
75
+ trim?: TrimOptions;
76
+ timeout?: number;
77
+ onChange?: OnChange<T>;
78
+ reset?: boolean;
79
+ };
64
80
  export type JoinableEntry = {
65
81
  meta: {
66
82
  clock: {
@@ -103,6 +119,7 @@ export declare class Log<T> {
103
119
  private _appendDurability;
104
120
  private _joining;
105
121
  private _sortFn;
122
+ private _hasCustomCanAppend;
106
123
  constructor(properties?: {
107
124
  id?: Uint8Array;
108
125
  });
@@ -123,6 +140,7 @@ export declare class Log<T> {
123
140
  * @returns {boolean}
124
141
  */
125
142
  has(cid: string): Promise<boolean>;
143
+ hasMany(cids: Iterable<string>): Promise<Set<string>>;
126
144
  /**
127
145
  * Get all entries sorted. Don't use this method anywhere where performance matters
128
146
  */
@@ -183,6 +201,37 @@ export declare class Log<T> {
183
201
  entry: Entry<T>;
184
202
  removed: ShallowOrFullEntry<T>[];
185
203
  }>;
204
+ private appendLocallyPrepared;
205
+ private appendLocallyPreparedCommitOnly;
206
+ private appendLocallyPreparedNativeNoNextCommitOnly;
207
+ private appendLocallyPreparedNativeKnownNoNextCommitOnly;
208
+ private appendLocallyPreparedNativeKnownNoNextDirectCommitOnly;
209
+ private appendLocallyPreparedNativeCommitOnly;
210
+ private appendLocallyPreparedCommitOnlyWithNexts;
211
+ private finishLocallyPreparedCommitOnlyAppend;
212
+ private appendLocallyPreparedManyIndependent;
213
+ private appendLocallyPreparedNativeKnownNoNextCommitOnlyBatch;
214
+ private createPreparedAppendFacts;
215
+ appendMany(data: T[], options?: AppendOptions<T>): Promise<{
216
+ entries: Entry<T>[];
217
+ removed: ShallowOrFullEntry<T>[];
218
+ }>;
219
+ private createNativePlainAppendChain;
220
+ private createNativePlainAppendCommitOnly;
221
+ private createNativePlainAppendEntriesBatch;
222
+ private rollbackNativeAppendGraph;
223
+ private rollbackNativeAppendGraphHashes;
224
+ private rollbackNativeAppendBlocks;
225
+ private rollbackNativeAppendBlocksHashes;
226
+ private validateExplicitNexts;
227
+ private getNextsForAppend;
228
+ private createAppendEntry;
229
+ private joinMissingNexts;
230
+ private putAppendEntry;
231
+ private putAppendEntries;
232
+ private putAppendEntryBlocks;
233
+ private putKnownEntryBytesBatch;
234
+ private putPreparedAppendBlocks;
186
235
  remove(entry: {
187
236
  hash: string;
188
237
  meta: {
@@ -196,14 +245,15 @@ export declare class Log<T> {
196
245
  }[], options?: {
197
246
  recursively?: boolean;
198
247
  }): Promise<Change<T>>;
199
- trim(option?: TrimOptions | undefined): Promise<Entry<T>[] | undefined>;
200
- join(entriesOrLog: (string | Entry<T> | ShallowEntry | EntryWithRefs<T>)[] | Log<T> | ResultsIterator<Entry<any>>, options?: {
201
- verifySignatures?: boolean;
202
- trim?: TrimOptions;
203
- timeout?: number;
204
- onChange?: OnChange<T>;
205
- reset?: boolean;
206
- }): Promise<void>;
248
+ trim(option?: TrimOptions | undefined, properties?: {
249
+ resolveDeletedEntries?: boolean;
250
+ }): Promise<(ShallowEntry | Entry<T>)[] | undefined>;
251
+ private trimIfConfigured;
252
+ private getNativeCommitOnlyTrimLengthTo;
253
+ join(entriesOrLog: (string | Entry<T> | ShallowEntry | EntryWithRefs<T>)[] | Log<T> | ResultsIterator<Entry<any>>, options?: JoinOptions<T>): Promise<void>;
254
+ private joinPreparedAppendFactsBatch;
255
+ private tryJoinIndependentAppendBatch;
256
+ private takePreparedIndependentAppendBatch;
207
257
  /**
208
258
  * Bottom up join of entries into the log
209
259
  * @param entry
@@ -274,5 +324,4 @@ export declare class Log<T> {
274
324
  static findTails<T>(entries: Entry<T>[]): Entry<T>[];
275
325
  static findTailHashes(entries: Entry<any>[]): string[];
276
326
  }
277
- export {};
278
327
  //# sourceMappingURL=log.d.ts.map