@peerbit/log 3.0.18 → 3.0.20
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/lib/esm/heads-cache.js +1 -0
- package/lib/esm/heads-cache.js.map +1 -1
- package/lib/esm/heads.d.ts +1 -0
- package/lib/esm/heads.js +17 -11
- package/lib/esm/heads.js.map +1 -1
- package/lib/esm/log.d.ts +3 -5
- package/lib/esm/log.js +29 -9
- package/lib/esm/log.js.map +1 -1
- package/package.json +3 -3
- package/src/heads-cache.ts +2 -0
- package/src/heads.ts +17 -11
- package/src/log.ts +35 -18
package/lib/esm/heads-cache.js
CHANGED
|
@@ -175,6 +175,7 @@ export class HeadsCache {
|
|
|
175
175
|
const update = await updateHashes(this, this.removedHeadsPath, this._lastRemovedHeadsPath, this._lastRemovedHeadsCount, change.removed.map((x) => (typeof x === "string" ? x : x.hash)));
|
|
176
176
|
this._lastRemovedHeadsPath = update.newPath;
|
|
177
177
|
this._lastRemovedHeadsCount = update.counter;
|
|
178
|
+
// if removed counter is 2 times larger than the amount of heads, then reset the heads cache
|
|
178
179
|
if (update.counter > 0n &&
|
|
179
180
|
2n * update.counter >= this._lastHeadsCount) {
|
|
180
181
|
const resetToHeads = await this.getCachedHeads(this._lastHeadsPath, this._lastRemovedHeadsPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heads-cache.js","sourceRoot":"","sources":["../../src/heads-cache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"heads-cache.js","sourceRoot":"","sources":["../../src/heads-cache.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/heads.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export declare class HeadsIndex<T> {
|
|
|
39
39
|
timeout?: number;
|
|
40
40
|
replicate?: boolean;
|
|
41
41
|
reload?: boolean;
|
|
42
|
+
ignoreMissing?: boolean;
|
|
42
43
|
} & CacheUpdateOptions): Promise<Entry<T>[] | undefined>;
|
|
43
44
|
get headsCache(): HeadsCache<T> | undefined;
|
|
44
45
|
close(): Promise<void> | undefined;
|
package/lib/esm/heads.js
CHANGED
|
@@ -32,14 +32,20 @@ export class HeadsIndex {
|
|
|
32
32
|
const entries = await Promise.all(heads.map(async (x) => {
|
|
33
33
|
const entry = await this._config.entryIndex.get(x, { load: true });
|
|
34
34
|
if (!entry) {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
if (options?.ignoreMissing) {
|
|
36
|
+
logger.error("Failed to load entry from head with hash: " + x);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw new Error("Failed to load entry from head with hash: " + x);
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
await entry.getMeta(); // TODO types,decrypt gid
|
|
39
44
|
return entry;
|
|
40
45
|
}));
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
const filtered = entries.filter((x) => !!x);
|
|
47
|
+
await this.reset(filtered);
|
|
48
|
+
return filtered;
|
|
43
49
|
}
|
|
44
50
|
get headsCache() {
|
|
45
51
|
return this._headsCache;
|
|
@@ -78,14 +84,14 @@ export class HeadsIndex {
|
|
|
78
84
|
}
|
|
79
85
|
async put(entry, options) {
|
|
80
86
|
await this._putOne(entry);
|
|
81
|
-
if (options?.cache?.update) {
|
|
82
|
-
await this._headsCache?.queue({ added: [entry] }, options
|
|
87
|
+
if (!options?.cache || options?.cache?.update) {
|
|
88
|
+
await this._headsCache?.queue({ added: [entry] }, options?.cache?.reset);
|
|
83
89
|
}
|
|
84
90
|
}
|
|
85
91
|
async putAll(entries, options) {
|
|
86
92
|
await this._putAll(entries);
|
|
87
|
-
if (options?.cache?.update) {
|
|
88
|
-
await this._headsCache?.queue({ added: entries }, options
|
|
93
|
+
if (!options?.cache || options?.cache?.update) {
|
|
94
|
+
await this._headsCache?.queue({ added: entries }, options?.cache?.reset);
|
|
89
95
|
}
|
|
90
96
|
}
|
|
91
97
|
async resetHeadsCache() {
|
|
@@ -114,7 +120,7 @@ export class HeadsIndex {
|
|
|
114
120
|
for (const next of entry.next) {
|
|
115
121
|
const indexedEntry = this._config.entryIndex.getShallow(next);
|
|
116
122
|
if (indexedEntry) {
|
|
117
|
-
await this.del(indexedEntry);
|
|
123
|
+
await this.del(indexedEntry, { cache: { update: false } }); // we dont update cache here because the put will update the cache that is calling _putOne
|
|
118
124
|
}
|
|
119
125
|
}
|
|
120
126
|
}
|
|
@@ -141,8 +147,8 @@ export class HeadsIndex {
|
|
|
141
147
|
if (removedGids) {
|
|
142
148
|
await this._onGidRemoved?.([...removedGids]);
|
|
143
149
|
}
|
|
144
|
-
if (wasHead && options?.cache?.update) {
|
|
145
|
-
await this._headsCache?.queue({ removed: [entry.hash] }, options
|
|
150
|
+
if (wasHead && !(options?.cache || options?.cache?.update)) {
|
|
151
|
+
await this._headsCache?.queue({ removed: [entry.hash] }, options?.cache?.reset);
|
|
146
152
|
}
|
|
147
153
|
return wasHead;
|
|
148
154
|
// this._headsCache = undefined; // TODO do smarter things here, only remove the element needed (?)
|
package/lib/esm/heads.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heads.js","sourceRoot":"","sources":["../../src/heads.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAerC,MAAM,OAAO,UAAU;IACd,GAAG,CAAa;IAChB,MAAM,GAAgB,IAAI,GAAG,EAAE,CAAC;IAChC,KAAK,CAAqC,CAAC,uBAAuB;IAClE,WAAW,CAA4B;IACvC,OAAO,CAAS;IAChB,aAAa,CAA2C;IAChE,YAAY,EAAc;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CACT,GAAW,EACX,UAGI,EAAE;QAEN,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CACT,
|
|
1
|
+
{"version":3,"file":"heads.js","sourceRoot":"","sources":["../../src/heads.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/log.d.ts
CHANGED
|
@@ -182,13 +182,11 @@ export declare class Log<T> {
|
|
|
182
182
|
close(): Promise<void>;
|
|
183
183
|
drop(): Promise<void>;
|
|
184
184
|
recover(): Promise<void>;
|
|
185
|
-
load(opts?:
|
|
186
|
-
heads?:
|
|
187
|
-
}) | {
|
|
188
|
-
heads: Entry<T>[];
|
|
189
|
-
}) & {
|
|
185
|
+
load(opts?: {
|
|
186
|
+
heads?: Entry<T>[];
|
|
190
187
|
fetchEntryTimeout?: number;
|
|
191
188
|
reload: boolean;
|
|
189
|
+
ignoreMissing?: boolean;
|
|
192
190
|
}): Promise<void>;
|
|
193
191
|
static fromEntry<T>(store: Blocks, identity: Identity, entryOrHash: string | string[] | Entry<T> | Entry<T>[], options?: {
|
|
194
192
|
id?: Uint8Array;
|
package/lib/esm/log.js
CHANGED
|
@@ -157,9 +157,12 @@ let Log = Log_1 = class Log {
|
|
|
157
157
|
* Returns the length of the log.
|
|
158
158
|
*/
|
|
159
159
|
get length() {
|
|
160
|
-
return this.
|
|
160
|
+
return this.values.length;
|
|
161
161
|
}
|
|
162
162
|
get values() {
|
|
163
|
+
if (this.closed) {
|
|
164
|
+
throw new Error("Closed");
|
|
165
|
+
}
|
|
163
166
|
return this._values;
|
|
164
167
|
}
|
|
165
168
|
get canAppend() {
|
|
@@ -764,7 +767,11 @@ let Log = Log_1 = class Log {
|
|
|
764
767
|
}
|
|
765
768
|
async delete(entry) {
|
|
766
769
|
this._trim.deleteFromCache(entry);
|
|
767
|
-
await this._headsIndex.del(entry
|
|
770
|
+
await this._headsIndex.del(entry, {
|
|
771
|
+
cache: {
|
|
772
|
+
update: false
|
|
773
|
+
}
|
|
774
|
+
}); // cache is not updated here, but at *
|
|
768
775
|
await this._values.delete(entry);
|
|
769
776
|
await this._entryIndex.delete(entry.hash);
|
|
770
777
|
this._nextsIndex.delete(entry.hash);
|
|
@@ -783,7 +790,7 @@ let Log = Log_1 = class Log {
|
|
|
783
790
|
await this._headsIndex.updateHeadsCache({
|
|
784
791
|
added: newHeads,
|
|
785
792
|
removed: [entry.hash]
|
|
786
|
-
});
|
|
793
|
+
}); // * here
|
|
787
794
|
return entry.delete(this._storage);
|
|
788
795
|
}
|
|
789
796
|
/**
|
|
@@ -818,6 +825,10 @@ let Log = Log_1 = class Log {
|
|
|
818
825
|
await this._entryCache?.clear();
|
|
819
826
|
await this._headsIndex?.close();
|
|
820
827
|
await this._memory?.close();
|
|
828
|
+
this._entryCache = undefined;
|
|
829
|
+
this._headsIndex = undefined;
|
|
830
|
+
this._memory = undefined;
|
|
831
|
+
this._values = undefined;
|
|
821
832
|
}
|
|
822
833
|
async drop() {
|
|
823
834
|
// Don't return early here if closed = true, because "load" might create processes that needs to be closed
|
|
@@ -860,26 +871,35 @@ let Log = Log_1 = class Log {
|
|
|
860
871
|
await this.load({ reload: true, heads: [...allHeads.values()] });
|
|
861
872
|
}
|
|
862
873
|
async load(opts = { reload: true }) {
|
|
863
|
-
|
|
874
|
+
if (this.closed) {
|
|
875
|
+
throw new Error("Closed");
|
|
876
|
+
}
|
|
877
|
+
const providedCustomHeads = Array.isArray(opts["heads"]);
|
|
878
|
+
const heads = providedCustomHeads
|
|
864
879
|
? opts["heads"]
|
|
865
880
|
: await this.headsIndex.load({
|
|
866
881
|
replicate: true, // TODO this.replication.replicate(x) => true/false
|
|
867
882
|
timeout: opts.fetchEntryTimeout,
|
|
868
883
|
reload: opts.reload,
|
|
884
|
+
ignoreMissing: opts.ignoreMissing,
|
|
869
885
|
cache: { update: true, reset: true }
|
|
870
886
|
});
|
|
871
887
|
if (heads) {
|
|
872
888
|
// Load the log
|
|
873
|
-
if (
|
|
889
|
+
if (providedCustomHeads) {
|
|
874
890
|
await this.reset(heads);
|
|
875
891
|
}
|
|
876
892
|
else {
|
|
877
|
-
|
|
893
|
+
/*
|
|
894
|
+
TODO feat amount load
|
|
895
|
+
const amount = (opts as { amount?: number }).amount;
|
|
878
896
|
if (amount != null && amount >= 0 && amount < heads.length) {
|
|
879
|
-
throw new Error(
|
|
897
|
+
throw new Error(
|
|
898
|
+
"You are not loading all heads, this will lead to unexpected behaviours on write. Please load at least load: " +
|
|
880
899
|
amount +
|
|
881
|
-
" entries"
|
|
882
|
-
|
|
900
|
+
" entries"
|
|
901
|
+
);
|
|
902
|
+
} */
|
|
883
903
|
await this.join(heads instanceof Entry ? [heads] : heads, {
|
|
884
904
|
/* length: amount, */
|
|
885
905
|
timeout: opts?.fetchEntryTimeout,
|
package/lib/esm/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/log",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.20",
|
|
4
4
|
"description": "Append-only log CRDT",
|
|
5
5
|
"author": "dao.xyz",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"yallist": "^4.0.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@peerbit/test-utils": "2.0.
|
|
47
|
+
"@peerbit/test-utils": "2.0.20",
|
|
48
48
|
"@types/yallist": "^4.0.1",
|
|
49
49
|
"assert": "^2.0.0",
|
|
50
50
|
"json-stringify-deterministic": "^1.0.7"
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"localMaintainers": [
|
|
77
77
|
"dao.xyz"
|
|
78
78
|
],
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "954ec9009b2cd65baf4558009504b83eb17badf6"
|
|
80
80
|
}
|
package/src/heads-cache.ts
CHANGED
|
@@ -210,6 +210,8 @@ export class HeadsCache<T> /* implements Initiable<T> */ {
|
|
|
210
210
|
);
|
|
211
211
|
this._lastRemovedHeadsPath = update.newPath;
|
|
212
212
|
this._lastRemovedHeadsCount = update.counter;
|
|
213
|
+
|
|
214
|
+
// if removed counter is 2 times larger than the amount of heads, then reset the heads cache
|
|
213
215
|
if (
|
|
214
216
|
update.counter > 0n &&
|
|
215
217
|
2n * update.counter >= this._lastHeadsCount
|
package/src/heads.ts
CHANGED
|
@@ -53,6 +53,7 @@ export class HeadsIndex<T> {
|
|
|
53
53
|
timeout?: number;
|
|
54
54
|
replicate?: boolean;
|
|
55
55
|
reload?: boolean;
|
|
56
|
+
ignoreMissing?: boolean;
|
|
56
57
|
} & CacheUpdateOptions
|
|
57
58
|
): Promise<Entry<T>[] | undefined> {
|
|
58
59
|
if (!this._headsCache || (this._headsCache.loaded && !options?.reload)) {
|
|
@@ -68,15 +69,20 @@ export class HeadsIndex<T> {
|
|
|
68
69
|
heads.map(async (x) => {
|
|
69
70
|
const entry = await this._config.entryIndex.get(x, { load: true });
|
|
70
71
|
if (!entry) {
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
if (options?.ignoreMissing) {
|
|
73
|
+
logger.error("Failed to load entry from head with hash: " + x);
|
|
74
|
+
return;
|
|
75
|
+
} else {
|
|
76
|
+
throw new Error("Failed to load entry from head with hash: " + x);
|
|
77
|
+
}
|
|
73
78
|
}
|
|
74
79
|
await entry.getMeta(); // TODO types,decrypt gid
|
|
75
80
|
return entry;
|
|
76
81
|
})
|
|
77
82
|
);
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
const filtered = entries.filter((x): x is Entry<any> => !!x);
|
|
84
|
+
await this.reset(filtered);
|
|
85
|
+
return filtered;
|
|
80
86
|
}
|
|
81
87
|
|
|
82
88
|
get headsCache(): HeadsCache<T> | undefined {
|
|
@@ -130,15 +136,15 @@ export class HeadsIndex<T> {
|
|
|
130
136
|
|
|
131
137
|
async put(entry: Entry<T>, options?: CacheUpdateOptions) {
|
|
132
138
|
await this._putOne(entry);
|
|
133
|
-
if (options?.cache?.update) {
|
|
134
|
-
await this._headsCache?.queue({ added: [entry] }, options
|
|
139
|
+
if (!options?.cache || options?.cache?.update) {
|
|
140
|
+
await this._headsCache?.queue({ added: [entry] }, options?.cache?.reset);
|
|
135
141
|
}
|
|
136
142
|
}
|
|
137
143
|
|
|
138
144
|
async putAll(entries: Entry<T>[], options?: CacheUpdateOptions) {
|
|
139
145
|
await this._putAll(entries);
|
|
140
|
-
if (options?.cache?.update) {
|
|
141
|
-
await this._headsCache?.queue({ added: entries }, options
|
|
146
|
+
if (!options?.cache || options?.cache?.update) {
|
|
147
|
+
await this._headsCache?.queue({ added: entries }, options?.cache?.reset);
|
|
142
148
|
}
|
|
143
149
|
}
|
|
144
150
|
|
|
@@ -179,7 +185,7 @@ export class HeadsIndex<T> {
|
|
|
179
185
|
for (const next of entry.next) {
|
|
180
186
|
const indexedEntry = this._config.entryIndex.getShallow(next);
|
|
181
187
|
if (indexedEntry) {
|
|
182
|
-
await this.del(indexedEntry);
|
|
188
|
+
await this.del(indexedEntry, { cache: { update: false } }); // we dont update cache here because the put will update the cache that is calling _putOne
|
|
183
189
|
}
|
|
184
190
|
}
|
|
185
191
|
}
|
|
@@ -214,10 +220,10 @@ export class HeadsIndex<T> {
|
|
|
214
220
|
await this._onGidRemoved?.([...removedGids]);
|
|
215
221
|
}
|
|
216
222
|
|
|
217
|
-
if (wasHead && options?.cache?.update) {
|
|
223
|
+
if (wasHead && !(options?.cache || options?.cache?.update)) {
|
|
218
224
|
await this._headsCache?.queue(
|
|
219
225
|
{ removed: [entry.hash] },
|
|
220
|
-
options
|
|
226
|
+
options?.cache?.reset
|
|
221
227
|
);
|
|
222
228
|
}
|
|
223
229
|
|
package/src/log.ts
CHANGED
|
@@ -244,10 +244,13 @@ export class Log<T> {
|
|
|
244
244
|
* Returns the length of the log.
|
|
245
245
|
*/
|
|
246
246
|
get length() {
|
|
247
|
-
return this.
|
|
247
|
+
return this.values.length;
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
get values(): Values<T> {
|
|
251
|
+
if (this.closed) {
|
|
252
|
+
throw new Error("Closed");
|
|
253
|
+
}
|
|
251
254
|
return this._values;
|
|
252
255
|
}
|
|
253
256
|
get canAppend() {
|
|
@@ -977,7 +980,11 @@ export class Log<T> {
|
|
|
977
980
|
|
|
978
981
|
async delete(entry: Entry<any>) {
|
|
979
982
|
this._trim.deleteFromCache(entry);
|
|
980
|
-
await this._headsIndex.del(entry
|
|
983
|
+
await this._headsIndex.del(entry, {
|
|
984
|
+
cache: {
|
|
985
|
+
update: false
|
|
986
|
+
}
|
|
987
|
+
}); // cache is not updated here, but at *
|
|
981
988
|
await this._values.delete(entry);
|
|
982
989
|
await this._entryIndex.delete(entry.hash);
|
|
983
990
|
this._nextsIndex.delete(entry.hash);
|
|
@@ -996,7 +1003,8 @@ export class Log<T> {
|
|
|
996
1003
|
await this._headsIndex.updateHeadsCache({
|
|
997
1004
|
added: newHeads,
|
|
998
1005
|
removed: [entry.hash]
|
|
999
|
-
});
|
|
1006
|
+
}); // * here
|
|
1007
|
+
|
|
1000
1008
|
return entry.delete(this._storage);
|
|
1001
1009
|
}
|
|
1002
1010
|
|
|
@@ -1045,6 +1053,10 @@ export class Log<T> {
|
|
|
1045
1053
|
await this._entryCache?.clear();
|
|
1046
1054
|
await this._headsIndex?.close();
|
|
1047
1055
|
await this._memory?.close();
|
|
1056
|
+
this._entryCache = undefined as any;
|
|
1057
|
+
this._headsIndex = undefined as any;
|
|
1058
|
+
this._memory = undefined as any;
|
|
1059
|
+
this._values = undefined as any;
|
|
1048
1060
|
}
|
|
1049
1061
|
|
|
1050
1062
|
async drop() {
|
|
@@ -1095,38 +1107,43 @@ export class Log<T> {
|
|
|
1095
1107
|
}
|
|
1096
1108
|
|
|
1097
1109
|
async load(
|
|
1098
|
-
opts:
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
)
|
|
1105
|
-
| { heads: Entry<T>[] }
|
|
1106
|
-
) & { fetchEntryTimeout?: number; reload: boolean } = { reload: true }
|
|
1110
|
+
opts: {
|
|
1111
|
+
heads?: Entry<T>[];
|
|
1112
|
+
fetchEntryTimeout?: number;
|
|
1113
|
+
reload: boolean;
|
|
1114
|
+
ignoreMissing?: boolean;
|
|
1115
|
+
} = { reload: true }
|
|
1107
1116
|
) {
|
|
1108
|
-
|
|
1109
|
-
|
|
1117
|
+
if (this.closed) {
|
|
1118
|
+
throw new Error("Closed");
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
const providedCustomHeads = Array.isArray(opts["heads"]);
|
|
1122
|
+
const heads = providedCustomHeads
|
|
1123
|
+
? (opts["heads"] as Array<Entry<T>>)
|
|
1110
1124
|
: await this.headsIndex.load({
|
|
1111
1125
|
replicate: true, // TODO this.replication.replicate(x) => true/false
|
|
1112
1126
|
timeout: opts.fetchEntryTimeout,
|
|
1113
1127
|
reload: opts.reload,
|
|
1128
|
+
ignoreMissing: opts.ignoreMissing,
|
|
1114
1129
|
cache: { update: true, reset: true }
|
|
1115
1130
|
});
|
|
1116
1131
|
|
|
1117
1132
|
if (heads) {
|
|
1118
1133
|
// Load the log
|
|
1119
|
-
if (
|
|
1134
|
+
if (providedCustomHeads) {
|
|
1120
1135
|
await this.reset(heads);
|
|
1121
1136
|
} else {
|
|
1137
|
+
/*
|
|
1138
|
+
TODO feat amount load
|
|
1122
1139
|
const amount = (opts as { amount?: number }).amount;
|
|
1123
1140
|
if (amount != null && amount >= 0 && amount < heads.length) {
|
|
1124
1141
|
throw new Error(
|
|
1125
1142
|
"You are not loading all heads, this will lead to unexpected behaviours on write. Please load at least load: " +
|
|
1126
|
-
|
|
1127
|
-
|
|
1143
|
+
amount +
|
|
1144
|
+
" entries"
|
|
1128
1145
|
);
|
|
1129
|
-
}
|
|
1146
|
+
} */
|
|
1130
1147
|
|
|
1131
1148
|
await this.join(heads instanceof Entry ? [heads] : heads, {
|
|
1132
1149
|
/* length: amount, */
|