@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.
- package/dist/benchmark/append.d.ts +2 -0
- package/dist/benchmark/append.d.ts.map +1 -0
- package/dist/benchmark/append.js +40 -0
- package/dist/benchmark/append.js.map +1 -0
- package/dist/benchmark/memory/index.d.ts +2 -0
- package/dist/benchmark/memory/index.d.ts.map +1 -0
- package/dist/benchmark/memory/index.js +122 -0
- package/dist/benchmark/memory/index.js.map +1 -0
- package/dist/benchmark/memory/insert.d.ts +2 -0
- package/dist/benchmark/memory/insert.d.ts.map +1 -0
- package/dist/benchmark/memory/insert.js +59 -0
- package/dist/benchmark/memory/insert.js.map +1 -0
- package/dist/benchmark/memory/utils.d.ts +13 -0
- package/dist/benchmark/memory/utils.d.ts.map +1 -0
- package/dist/benchmark/memory/utils.js +2 -0
- package/dist/benchmark/memory/utils.js.map +1 -0
- package/dist/benchmark/payload.d.ts +2 -0
- package/dist/benchmark/payload.d.ts.map +1 -0
- package/{lib/esm/__benchmark__/index.js → dist/benchmark/payload.js} +20 -22
- package/dist/benchmark/payload.js.map +1 -0
- package/dist/src/change.d.ts +6 -0
- package/dist/src/change.d.ts.map +1 -0
- package/{lib/esm → dist/src}/clock.d.ts +3 -26
- package/dist/src/clock.d.ts.map +1 -0
- package/{lib/esm → dist/src}/clock.js +30 -39
- package/dist/src/clock.js.map +1 -0
- package/{lib/esm → dist/src}/difference.d.ts +1 -0
- package/dist/src/difference.d.ts.map +1 -0
- package/{lib/esm → dist/src}/encoding.d.ts +2 -1
- package/dist/src/encoding.d.ts.map +1 -0
- package/{lib/esm → dist/src}/encoding.js +2 -2
- package/{lib/esm → dist/src}/encoding.js.map +1 -1
- package/dist/src/entry-index.d.ts +78 -0
- package/dist/src/entry-index.d.ts.map +1 -0
- package/dist/src/entry-index.js +316 -0
- package/dist/src/entry-index.js.map +1 -0
- package/{lib/esm → dist/src}/entry-with-refs.d.ts +2 -1
- package/dist/src/entry-with-refs.d.ts.map +1 -0
- package/{lib/esm → dist/src}/entry.d.ts +22 -18
- package/dist/src/entry.d.ts.map +1 -0
- package/{lib/esm → dist/src}/entry.js +69 -42
- package/dist/src/entry.js.map +1 -0
- package/{lib/esm → dist/src}/find-uniques.d.ts +1 -0
- package/dist/src/find-uniques.d.ts.map +1 -0
- package/{lib/esm → dist/src}/heads-cache.d.ts +4 -3
- package/dist/src/heads-cache.d.ts.map +1 -0
- package/{lib/esm → dist/src}/heads-cache.js +9 -10
- package/dist/src/heads-cache.js.map +1 -0
- package/{lib/esm → dist/src}/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/{lib/esm → dist/src}/log-errors.d.ts +1 -0
- package/dist/src/log-errors.d.ts.map +1 -0
- package/dist/src/log-sorting.d.ts +35 -0
- package/dist/src/log-sorting.d.ts.map +1 -0
- package/dist/src/log-sorting.js +105 -0
- package/dist/src/log-sorting.js.map +1 -0
- package/{lib/esm → dist/src}/log.d.ts +78 -56
- package/dist/src/log.d.ts.map +1 -0
- package/{lib/esm → dist/src}/log.js +355 -465
- package/dist/src/log.js.map +1 -0
- package/{lib/esm → dist/src}/logger.d.ts +1 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/{lib/esm → dist/src}/logger.js.map +1 -1
- package/{lib/esm → dist/src}/snapshot.d.ts +5 -4
- package/dist/src/snapshot.d.ts.map +1 -0
- package/{lib/esm → dist/src}/snapshot.js +10 -10
- package/dist/src/snapshot.js.map +1 -0
- package/{lib/esm → dist/src}/trim.d.ts +11 -9
- package/dist/src/trim.d.ts.map +1 -0
- package/{lib/esm → dist/src}/trim.js +46 -35
- package/dist/src/trim.js.map +1 -0
- package/dist/src/utils.d.ts +4 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +12 -0
- package/dist/src/utils.js.map +1 -0
- package/package.json +104 -78
- package/src/change.ts +3 -2
- package/src/clock.ts +22 -22
- package/src/encoding.ts +4 -4
- package/src/entry-index.ts +451 -52
- package/src/entry-with-refs.ts +1 -1
- package/src/entry.ts +95 -81
- package/src/heads-cache.ts +33 -29
- package/src/log-sorting.ts +116 -94
- package/src/log.ts +482 -571
- package/src/logger.ts +1 -0
- package/src/snapshot.ts +15 -17
- package/src/trim.ts +81 -50
- package/src/utils.ts +10 -0
- package/lib/esm/__benchmark__/index.d.ts +0 -1
- package/lib/esm/__benchmark__/index.js.map +0 -1
- package/lib/esm/change.d.ts +0 -5
- package/lib/esm/clock.js.map +0 -1
- package/lib/esm/entry-index.d.ts +0 -24
- package/lib/esm/entry-index.js +0 -74
- package/lib/esm/entry-index.js.map +0 -1
- package/lib/esm/entry.js.map +0 -1
- package/lib/esm/heads-cache.js.map +0 -1
- package/lib/esm/heads.d.ts +0 -69
- package/lib/esm/heads.js +0 -157
- package/lib/esm/heads.js.map +0 -1
- package/lib/esm/log-sorting.d.ts +0 -44
- package/lib/esm/log-sorting.js +0 -86
- package/lib/esm/log-sorting.js.map +0 -1
- package/lib/esm/log.js.map +0 -1
- package/lib/esm/snapshot.js.map +0 -1
- package/lib/esm/trim.js.map +0 -1
- package/lib/esm/types.d.ts +0 -6
- package/lib/esm/types.js +0 -23
- package/lib/esm/types.js.map +0 -1
- package/lib/esm/utils.d.ts +0 -2
- package/lib/esm/utils.js +0 -3
- package/lib/esm/utils.js.map +0 -1
- package/lib/esm/values.d.ts +0 -26
- package/lib/esm/values.js +0 -131
- package/lib/esm/values.js.map +0 -1
- package/src/__benchmark__/index.ts +0 -130
- package/src/heads.ts +0 -233
- package/src/types.ts +0 -12
- package/src/values.ts +0 -174
- /package/{lib/esm → dist/src}/change.js +0 -0
- /package/{lib/esm → dist/src}/change.js.map +0 -0
- /package/{lib/esm → dist/src}/difference.js +0 -0
- /package/{lib/esm → dist/src}/difference.js.map +0 -0
- /package/{lib/esm → dist/src}/entry-with-refs.js +0 -0
- /package/{lib/esm → dist/src}/entry-with-refs.js.map +0 -0
- /package/{lib/esm → dist/src}/find-uniques.js +0 -0
- /package/{lib/esm → dist/src}/find-uniques.js.map +0 -0
- /package/{lib/esm → dist/src}/index.js +0 -0
- /package/{lib/esm → dist/src}/index.js.map +0 -0
- /package/{lib/esm → dist/src}/log-errors.js +0 -0
- /package/{lib/esm → dist/src}/log-errors.js.map +0 -0
- /package/{lib/esm → dist/src}/logger.js +0 -0
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
1
|
+
import { type AnyStore } from "@peerbit/any-store";
|
|
2
|
+
import { type Blocks } from "@peerbit/blocks-interface";
|
|
3
|
+
import { type Identity, SignatureWithKey, X25519Keypair } from "@peerbit/crypto";
|
|
4
|
+
import { type Indices } from "@peerbit/indexer-interface";
|
|
5
|
+
import { type Keychain } from "@peerbit/keychain";
|
|
6
|
+
import { type Change } from "./change.js";
|
|
6
7
|
import { HLC, LamportClock, Timestamp } from "./clock.js";
|
|
7
|
-
import { Encoding } from "./encoding.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
-
import { Blocks } from "@peerbit/blocks-interface";
|
|
14
|
-
import { Keychain } from "@peerbit/keychain";
|
|
8
|
+
import { type Encoding } from "./encoding.js";
|
|
9
|
+
import { EntryIndex, type MaybeResolveOptions, type ResultsIterator, type ReturnTypeFromResolveOptions } from "./entry-index.js";
|
|
10
|
+
import { type EntryWithRefs } from "./entry-with-refs.js";
|
|
11
|
+
import { type CanAppend, type EncryptionTemplateMaybeEncrypted, Entry, EntryType, Payload, ShallowEntry, type ShallowOrFullEntry } from "./entry.js";
|
|
12
|
+
import * as Sorting from "./log-sorting.js";
|
|
13
|
+
import { type TrimOptions } from "./trim.js";
|
|
15
14
|
export type LogEvents<T> = {
|
|
16
15
|
onChange?: (change: Change<T>) => void;
|
|
17
16
|
onGidRemoved?: (gids: string[]) => Promise<void> | void;
|
|
18
17
|
};
|
|
19
18
|
export type MemoryProperties = {
|
|
20
|
-
|
|
19
|
+
storage?: AnyStore;
|
|
20
|
+
indexer?: Indices;
|
|
21
21
|
};
|
|
22
22
|
export type LogProperties<T> = {
|
|
23
23
|
keychain?: Keychain;
|
|
24
24
|
encoding?: Encoding<T>;
|
|
25
25
|
clock?: LamportClock;
|
|
26
|
-
sortFn?: Sorting.
|
|
26
|
+
sortFn?: Sorting.SortFn;
|
|
27
27
|
trim?: TrimOptions;
|
|
28
28
|
canAppend?: CanAppend<T>;
|
|
29
29
|
};
|
|
@@ -34,7 +34,7 @@ export type AppendOptions<T> = {
|
|
|
34
34
|
gidSeed?: Uint8Array;
|
|
35
35
|
data?: Uint8Array;
|
|
36
36
|
timestamp?: Timestamp;
|
|
37
|
-
next?: Entry<any>[];
|
|
37
|
+
next?: Entry<any>[] | ShallowEntry[];
|
|
38
38
|
};
|
|
39
39
|
identity?: Identity;
|
|
40
40
|
signers?: ((data: Uint8Array) => Promise<SignatureWithKey> | SignatureWithKey)[];
|
|
@@ -43,26 +43,47 @@ export type AppendOptions<T> = {
|
|
|
43
43
|
keypair: X25519Keypair;
|
|
44
44
|
receiver: EncryptionTemplateMaybeEncrypted;
|
|
45
45
|
};
|
|
46
|
+
onChange?: OnChange<T>;
|
|
47
|
+
canAppend?: CanAppend<T>;
|
|
48
|
+
};
|
|
49
|
+
type OnChange<T> = (change: Change<T>, reference?: undefined) => void | Promise<void>;
|
|
50
|
+
export type JoinableEntry = {
|
|
51
|
+
meta: {
|
|
52
|
+
clock: {
|
|
53
|
+
timestamp: Timestamp;
|
|
54
|
+
};
|
|
55
|
+
next: string[];
|
|
56
|
+
gid: string;
|
|
57
|
+
type: EntryType;
|
|
58
|
+
};
|
|
59
|
+
hash: string;
|
|
60
|
+
};
|
|
61
|
+
export declare const ENTRY_JOIN_SHAPE: {
|
|
62
|
+
readonly hash: true;
|
|
63
|
+
readonly meta: {
|
|
64
|
+
readonly type: true;
|
|
65
|
+
readonly next: true;
|
|
66
|
+
readonly gid: true;
|
|
67
|
+
readonly clock: true;
|
|
68
|
+
};
|
|
46
69
|
};
|
|
47
70
|
export declare class Log<T> {
|
|
48
71
|
private _id;
|
|
49
|
-
private _sortFn;
|
|
50
72
|
private _storage;
|
|
51
73
|
private _hlc;
|
|
52
74
|
private _identity;
|
|
53
75
|
private _entryIndex;
|
|
54
|
-
private _headsIndex;
|
|
55
|
-
private _values;
|
|
56
|
-
private _nextsIndex;
|
|
57
76
|
private _keychain?;
|
|
58
77
|
private _encoding;
|
|
59
78
|
private _trim;
|
|
60
|
-
private _entryCache;
|
|
61
79
|
private _canAppend?;
|
|
62
80
|
private _onChange?;
|
|
63
81
|
private _closed;
|
|
64
|
-
private
|
|
82
|
+
private _closeController;
|
|
83
|
+
private _loadedOnce;
|
|
84
|
+
private _indexer;
|
|
65
85
|
private _joining;
|
|
86
|
+
private _sortFn;
|
|
66
87
|
constructor(properties?: {
|
|
67
88
|
id?: Uint8Array;
|
|
68
89
|
});
|
|
@@ -76,14 +97,13 @@ export declare class Log<T> {
|
|
|
76
97
|
* Returns the length of the log.
|
|
77
98
|
*/
|
|
78
99
|
get length(): number;
|
|
79
|
-
get values(): Values<T>;
|
|
80
100
|
get canAppend(): CanAppend<T> | undefined;
|
|
81
101
|
/**
|
|
82
102
|
* Checks if a entry is part of the log
|
|
83
103
|
* @param {string} hash The hash of the entry
|
|
84
104
|
* @returns {boolean}
|
|
85
105
|
*/
|
|
86
|
-
has(cid: string): boolean
|
|
106
|
+
has(cid: string): Promise<boolean>;
|
|
87
107
|
/**
|
|
88
108
|
* Get all entries sorted. Don't use this method anywhere where performance matters
|
|
89
109
|
*/
|
|
@@ -91,9 +111,7 @@ export declare class Log<T> {
|
|
|
91
111
|
/**
|
|
92
112
|
* Returns the head index
|
|
93
113
|
*/
|
|
94
|
-
|
|
95
|
-
get memory(): AnyStore | undefined;
|
|
96
|
-
getHeads(): Promise<Entry<T>[]>;
|
|
114
|
+
getHeads<R extends MaybeResolveOptions = false>(resolve?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
|
|
97
115
|
/**
|
|
98
116
|
* Returns an array of Entry objects that reference entries which
|
|
99
117
|
* are not in the log currently.
|
|
@@ -112,11 +130,10 @@ export declare class Log<T> {
|
|
|
112
130
|
get hlc(): HLC;
|
|
113
131
|
get identity(): Identity;
|
|
114
132
|
get blocks(): Blocks;
|
|
115
|
-
get nextsIndex(): Map<string, Set<string>>;
|
|
116
133
|
get entryIndex(): EntryIndex<T>;
|
|
117
134
|
get keychain(): Keychain | undefined;
|
|
118
135
|
get encoding(): Encoding<T>;
|
|
119
|
-
get sortFn(): Sorting.
|
|
136
|
+
get sortFn(): Sorting.SortFn;
|
|
120
137
|
get closed(): boolean;
|
|
121
138
|
/**
|
|
122
139
|
* Set the identity for the log
|
|
@@ -124,51 +141,53 @@ export declare class Log<T> {
|
|
|
124
141
|
*/
|
|
125
142
|
setIdentity(identity: Identity): void;
|
|
126
143
|
/**
|
|
127
|
-
*
|
|
144
|
+
* Get an entry.
|
|
128
145
|
* @param {string} [hash] The hashes of the entry
|
|
129
146
|
*/
|
|
130
147
|
get(hash: string, options?: {
|
|
131
148
|
timeout?: number;
|
|
132
149
|
}): Promise<Entry<T> | undefined>;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
150
|
+
/**
|
|
151
|
+
* Get a entry with shallow representation
|
|
152
|
+
* @param {string} [hash] The hashes of the entry
|
|
153
|
+
*/
|
|
154
|
+
getShallow(hash: string, options?: {
|
|
155
|
+
timeout?: number;
|
|
156
|
+
}): Promise<ShallowEntry | undefined>;
|
|
136
157
|
getReferenceSamples(from: Entry<T>, options?: {
|
|
137
158
|
pointerCount?: number;
|
|
138
159
|
memoryLimit?: number;
|
|
139
160
|
}): Promise<Entry<T>[]>;
|
|
140
161
|
/**
|
|
141
162
|
* Append an entry to the log.
|
|
142
|
-
* @param {
|
|
143
|
-
* @
|
|
163
|
+
* @param {T} data The data to be appended
|
|
164
|
+
* @param {AppendOptions} [options] The options for the append
|
|
165
|
+
* @returns {{ entry: Entry<T>; removed: ShallowEntry[] }} The appended entry and an array of removed entries
|
|
144
166
|
*/
|
|
145
167
|
append(data: T, options?: AppendOptions<T>): Promise<{
|
|
146
168
|
entry: Entry<T>;
|
|
147
|
-
removed:
|
|
169
|
+
removed: ShallowOrFullEntry<T>[];
|
|
148
170
|
}>;
|
|
149
|
-
reset(entries
|
|
150
|
-
remove(entry:
|
|
171
|
+
reset(entries?: Entry<T>[]): Promise<void>;
|
|
172
|
+
remove(entry: ShallowOrFullEntry<T> | ShallowOrFullEntry<T>[], options?: {
|
|
151
173
|
recursively?: boolean;
|
|
152
174
|
}): Promise<Change<T>>;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
amount?: number;
|
|
156
|
-
}): IterableIterator<string>;
|
|
157
|
-
trim(option?: TrimOptions | undefined): Promise<Entry<T>[]>;
|
|
158
|
-
/**
|
|
159
|
-
*
|
|
160
|
-
* @param entries
|
|
161
|
-
* @returns change
|
|
162
|
-
*/
|
|
163
|
-
join(entriesOrLog: (string | Entry<T> | EntryWithRefs<T>)[] | Log<T>, options?: {
|
|
175
|
+
trim(option?: TrimOptions | undefined): Promise<Entry<T>[] | undefined>;
|
|
176
|
+
join(entriesOrLog: (string | Entry<T> | ShallowEntry | EntryWithRefs<T>)[] | Log<T> | ResultsIterator<Entry<any>>, options?: {
|
|
164
177
|
verifySignatures?: boolean;
|
|
165
178
|
trim?: TrimOptions;
|
|
166
179
|
timeout?: number;
|
|
167
|
-
}
|
|
168
|
-
|
|
180
|
+
}): Promise<void>;
|
|
181
|
+
/**
|
|
182
|
+
* Bottom up join of entries into the log
|
|
183
|
+
* @param entry
|
|
184
|
+
* @param options
|
|
185
|
+
* @returns
|
|
186
|
+
*/
|
|
187
|
+
private joinRecursively;
|
|
169
188
|
private processEntry;
|
|
170
|
-
deleteRecursively(from:
|
|
171
|
-
delete(
|
|
189
|
+
deleteRecursively(from: ShallowOrFullEntry<T> | ShallowOrFullEntry<T>[], skipFirst?: boolean): Promise<ShallowEntry[]>;
|
|
190
|
+
delete(hash: string): Promise<ShallowEntry | undefined>;
|
|
172
191
|
/**
|
|
173
192
|
* Returns the log entries as a formatted string.
|
|
174
193
|
* @returns {string}
|
|
@@ -178,15 +197,16 @@ export declare class Log<T> {
|
|
|
178
197
|
* └─three
|
|
179
198
|
*/
|
|
180
199
|
toString(payloadMapper?: (payload: Payload<T>) => string): Promise<string>;
|
|
181
|
-
idle(): Promise<void>;
|
|
182
200
|
close(): Promise<void>;
|
|
183
201
|
drop(): Promise<void>;
|
|
184
202
|
recover(): Promise<void>;
|
|
185
203
|
load(opts?: {
|
|
186
204
|
heads?: Entry<T>[];
|
|
187
205
|
fetchEntryTimeout?: number;
|
|
188
|
-
|
|
206
|
+
reset?: boolean;
|
|
189
207
|
ignoreMissing?: boolean;
|
|
208
|
+
timeout?: number;
|
|
209
|
+
reload?: boolean;
|
|
190
210
|
}): Promise<void>;
|
|
191
211
|
static fromEntry<T>(store: Blocks, identity: Identity, entryOrHash: string | string[] | Entry<T> | Entry<T>[], options?: {
|
|
192
212
|
id?: Uint8Array;
|
|
@@ -198,10 +218,12 @@ export declare class Log<T> {
|
|
|
198
218
|
* Finds entries that are the heads of this collection,
|
|
199
219
|
* ie. entries that are not referenced by other entries.
|
|
200
220
|
*
|
|
201
|
-
* @param {Array<Entry<T>>} entries Entries to search heads from
|
|
221
|
+
* @param {Array<Entry<T>>} entries - Entries to search heads from
|
|
202
222
|
* @returns {Array<Entry<T>>}
|
|
203
223
|
*/
|
|
204
224
|
static findHeads<T>(entries: Entry<T>[]): Entry<T>[];
|
|
205
225
|
static findTails<T>(entries: Entry<T>[]): Entry<T>[];
|
|
206
226
|
static findTailHashes(entries: Entry<any>[]): string[];
|
|
207
227
|
}
|
|
228
|
+
export {};
|
|
229
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"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"}
|