@fireproof/core 0.17.3 → 0.17.4
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/browser/fireproof.cjs +9 -3
- package/dist/browser/fireproof.cjs.map +1 -1
- package/dist/browser/fireproof.d.cts +15 -12
- package/dist/browser/fireproof.d.ts +15 -12
- package/dist/browser/fireproof.global.js +51 -34
- package/dist/browser/fireproof.global.js.map +1 -1
- package/dist/browser/fireproof.js +13 -3
- package/dist/browser/fireproof.js.map +1 -1
- package/dist/browser/metafile-cjs.json +1 -1
- package/dist/browser/metafile-esm.json +1 -1
- package/dist/browser/metafile-iife.json +1 -1
- package/dist/memory/fireproof.cjs +9 -3
- package/dist/memory/fireproof.cjs.map +1 -1
- package/dist/memory/fireproof.d.cts +15 -12
- package/dist/memory/fireproof.d.ts +15 -12
- package/dist/memory/fireproof.global.js +51 -34
- package/dist/memory/fireproof.global.js.map +1 -1
- package/dist/memory/fireproof.js +13 -3
- package/dist/memory/fireproof.js.map +1 -1
- package/dist/memory/metafile-cjs.json +1 -1
- package/dist/memory/metafile-esm.json +1 -1
- package/dist/memory/metafile-iife.json +1 -1
- package/dist/node/fireproof.cjs +3 -2
- package/dist/node/fireproof.cjs.map +1 -1
- package/dist/node/fireproof.d.cts +15 -12
- package/dist/node/fireproof.d.ts +15 -12
- package/dist/node/fireproof.global.js +46 -25
- package/dist/node/fireproof.global.js.map +1 -1
- package/dist/node/fireproof.js +3 -2
- package/dist/node/fireproof.js.map +1 -1
- package/dist/node/metafile-cjs.json +1 -1
- package/dist/node/metafile-esm.json +1 -1
- package/dist/node/metafile-iife.json +1 -1
- package/package.json +7 -4
@@ -9875,8 +9875,7 @@ You can use close({ resize: true }) to resize header`);
|
|
9875
9875
|
return uint8Array;
|
9876
9876
|
}
|
9877
9877
|
async function encryptedEncodeCarFile(crypto2, key, rootCid, t) {
|
9878
|
-
const
|
9879
|
-
const encryptionKey = encryptionKeyUint8.buffer.slice(0, encryptionKeyUint8.byteLength);
|
9878
|
+
const encryptionKey = hexStringToUint8Array(key);
|
9880
9879
|
const encryptedBlocks = new MemoryBlockstore();
|
9881
9880
|
const cidsToEncrypt = [];
|
9882
9881
|
for (const { cid } of t.entries()) {
|
@@ -9953,7 +9952,7 @@ You can use close({ resize: true }) to resize header`);
|
|
9953
9952
|
}
|
9954
9953
|
return bytes;
|
9955
9954
|
}
|
9956
|
-
var PACKAGE_VERSION = "0.
|
9955
|
+
var PACKAGE_VERSION = "0.17.3";
|
9957
9956
|
var match = PACKAGE_VERSION.match(/^([^.]*\.[^.]*)/);
|
9958
9957
|
if (!match)
|
9959
9958
|
throw new Error("invalid version: " + PACKAGE_VERSION);
|
@@ -10029,11 +10028,11 @@ You can use close({ resize: true }) to resize header`);
|
|
10029
10028
|
constructor(name7, ebOpts) {
|
10030
10029
|
this.name = name7;
|
10031
10030
|
this.ebOpts = ebOpts;
|
10032
|
-
this.
|
10033
|
-
this.
|
10034
|
-
this.
|
10035
|
-
this.remoteWAL = new ebOpts.store.RemoteWAL(this);
|
10031
|
+
this.carStore = ebOpts.store.makeDataStore(this.name);
|
10032
|
+
this.fileStore = ebOpts.store.makeDataStore(this.name);
|
10033
|
+
this.remoteWAL = ebOpts.store.makeRemoteWAL(this);
|
10036
10034
|
this.ready = Promise.resolve().then(async () => {
|
10035
|
+
this.metaStore = ebOpts.store.makeMetaStore(this);
|
10037
10036
|
if (!this.metaStore || !this.carStore || !this.remoteWAL)
|
10038
10037
|
throw new Error("stores not initialized");
|
10039
10038
|
const metas = this.ebOpts.meta ? [this.ebOpts.meta] : await this.metaStore.load("main");
|
@@ -10207,19 +10206,30 @@ You can use close({ resize: true }) to resize header`);
|
|
10207
10206
|
const sCid = cid.toString();
|
10208
10207
|
if (this.getBlockCache.has(sCid))
|
10209
10208
|
return this.getBlockCache.get(sCid);
|
10210
|
-
const
|
10211
|
-
|
10212
|
-
|
10213
|
-
|
10214
|
-
|
10215
|
-
|
10216
|
-
|
10217
|
-
|
10218
|
-
|
10219
|
-
|
10220
|
-
|
10221
|
-
|
10222
|
-
|
10209
|
+
const getCarCid = async (carCid) => {
|
10210
|
+
const reader = await this.loadCar(carCid);
|
10211
|
+
if (!reader) {
|
10212
|
+
throw new Error(`missing car reader ${carCid.toString()}`);
|
10213
|
+
}
|
10214
|
+
await this.cacheCarReader(reader);
|
10215
|
+
if (this.getBlockCache.has(sCid))
|
10216
|
+
return this.getBlockCache.get(sCid);
|
10217
|
+
throw new Error(`block not in reader: ${cid.toString()}`);
|
10218
|
+
};
|
10219
|
+
let got;
|
10220
|
+
const batchSize = 5;
|
10221
|
+
for (let i = 0; i < this.carLog.length; i += batchSize) {
|
10222
|
+
const promises = [];
|
10223
|
+
for (let j = i; j < Math.min(i + batchSize, this.carLog.length); j++) {
|
10224
|
+
promises.push(getCarCid(this.carLog[j]));
|
10225
|
+
}
|
10226
|
+
try {
|
10227
|
+
got = await Promise.any(promises);
|
10228
|
+
} catch {
|
10229
|
+
}
|
10230
|
+
if (got)
|
10231
|
+
break;
|
10232
|
+
}
|
10223
10233
|
if (got) {
|
10224
10234
|
this.getBlockCache.set(sCid, got);
|
10225
10235
|
}
|
@@ -10460,14 +10470,6 @@ You can use close({ resize: true }) to resize header`);
|
|
10460
10470
|
return bytes;
|
10461
10471
|
}
|
10462
10472
|
|
10463
|
-
// ../encrypted-blockstore/dist/lib/store-web.js
|
10464
|
-
var store_web_exports = {};
|
10465
|
-
__export(store_web_exports, {
|
10466
|
-
DataStore: () => DataStore2,
|
10467
|
-
MetaStore: () => MetaStore2,
|
10468
|
-
RemoteWAL: () => RemoteWAL2
|
10469
|
-
});
|
10470
|
-
|
10471
10473
|
// ../../node_modules/.pnpm/idb@7.1.1/node_modules/idb/build/wrap-idb-value.js
|
10472
10474
|
var instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);
|
10473
10475
|
var idbProxyableTypes;
|
@@ -10676,7 +10678,7 @@ You can use close({ resize: true }) to resize header`);
|
|
10676
10678
|
}));
|
10677
10679
|
|
10678
10680
|
// ../encrypted-blockstore/dist/lib/store-web.js
|
10679
|
-
var PACKAGE_VERSION2 = "0.
|
10681
|
+
var PACKAGE_VERSION2 = "0.17.3";
|
10680
10682
|
var match2 = PACKAGE_VERSION2.match(/^([^.]*\.[^.]*)/);
|
10681
10683
|
if (!match2)
|
10682
10684
|
throw new Error("invalid version: " + PACKAGE_VERSION2);
|
@@ -10764,14 +10766,14 @@ You can use close({ resize: true }) to resize header`);
|
|
10764
10766
|
processQueue = new CommitQueue2();
|
10765
10767
|
constructor(loader) {
|
10766
10768
|
this.loader = loader;
|
10767
|
-
this.ready = (async () => {
|
10769
|
+
this.ready = Promise.resolve().then(async () => {
|
10768
10770
|
const walState = await this.load().catch((e) => {
|
10769
10771
|
console.error("error loading wal", e);
|
10770
10772
|
return null;
|
10771
10773
|
});
|
10772
10774
|
this.walState.operations = walState?.operations || [];
|
10773
10775
|
this.walState.fileOperations = walState?.fileOperations || [];
|
10774
|
-
})
|
10776
|
+
});
|
10775
10777
|
}
|
10776
10778
|
async enqueue(dbMeta, opts) {
|
10777
10779
|
await this.ready;
|
@@ -10870,6 +10872,9 @@ You can use close({ resize: true }) to resize header`);
|
|
10870
10872
|
await rmlp;
|
10871
10873
|
}
|
10872
10874
|
};
|
10875
|
+
var makeDataStore = (name7) => new DataStore2(name7);
|
10876
|
+
var makeMetaStore = (loader) => new MetaStore2(loader.name);
|
10877
|
+
var makeRemoteWAL = (loader) => new RemoteWAL2(loader);
|
10873
10878
|
var DataStore2 = class extends DataStore {
|
10874
10879
|
tag = "car-web-idb";
|
10875
10880
|
idb = null;
|
@@ -10964,6 +10969,13 @@ You can use close({ resize: true }) to resize header`);
|
|
10964
10969
|
}
|
10965
10970
|
};
|
10966
10971
|
|
10972
|
+
// src/eb-web.ts
|
10973
|
+
var store = {
|
10974
|
+
makeDataStore,
|
10975
|
+
makeMetaStore,
|
10976
|
+
makeRemoteWAL
|
10977
|
+
};
|
10978
|
+
|
10967
10979
|
// ../../node_modules/.pnpm/@web3-storage+pail@0.4.1/node_modules/@web3-storage/pail/src/clock/index.js
|
10968
10980
|
var advance = async (blocks, head, event) => {
|
10969
10981
|
const events = new EventFetcher(blocks);
|
@@ -11038,6 +11050,7 @@ You can use close({ resize: true }) to resize header`);
|
|
11038
11050
|
return true;
|
11039
11051
|
const [{ value: aevent }, { value: bevent }] = await Promise.all([events.get(a), events.get(b)]);
|
11040
11052
|
const links3 = [...aevent.parents];
|
11053
|
+
const seen = /* @__PURE__ */ new Set();
|
11041
11054
|
while (links3.length) {
|
11042
11055
|
const link2 = links3.shift();
|
11043
11056
|
if (!link2)
|
@@ -11046,6 +11059,9 @@ You can use close({ resize: true }) to resize header`);
|
|
11046
11059
|
return true;
|
11047
11060
|
if (bevent.parents.some((p) => link2.toString() === p.toString()))
|
11048
11061
|
continue;
|
11062
|
+
if (seen.has(link2.toString()))
|
11063
|
+
continue;
|
11064
|
+
seen.add(link2.toString());
|
11049
11065
|
const { value: event } = await events.get(link2);
|
11050
11066
|
links3.push(...event.parents);
|
11051
11067
|
}
|
@@ -20611,6 +20627,7 @@ You can use close({ resize: true }) to resize header`);
|
|
20611
20627
|
if (!block)
|
20612
20628
|
throw new Error(`Missing linked block ${link2.toString()}`);
|
20613
20629
|
const { value } = await decode11({ bytes: block.bytes, hasher: sha256, codec: src_exports });
|
20630
|
+
value.cid = link2;
|
20614
20631
|
readFiles(blocks, value);
|
20615
20632
|
return value;
|
20616
20633
|
}
|
@@ -21562,8 +21579,8 @@ You can use close({ resize: true }) to resize header`);
|
|
21562
21579
|
return { head: this.clock.head };
|
21563
21580
|
},
|
21564
21581
|
autoCompact: this.opts.autoCompact || 100,
|
21565
|
-
crypto: crypto_web_exports,
|
21566
|
-
store:
|
21582
|
+
crypto: this.opts.crypto || crypto_web_exports,
|
21583
|
+
store: this.opts.store || store,
|
21567
21584
|
public: this.opts.public,
|
21568
21585
|
meta: this.opts.meta
|
21569
21586
|
});
|
@@ -21578,7 +21595,7 @@ You can use close({ resize: true }) to resize header`);
|
|
21578
21595
|
},
|
21579
21596
|
crypto: crypto_web_exports,
|
21580
21597
|
public: this.opts.public,
|
21581
|
-
store
|
21598
|
+
store
|
21582
21599
|
});
|
21583
21600
|
this.ready = Promise.all([this.blockstore.ready, this.indexBlockstore.ready]).then(() => {
|
21584
21601
|
});
|