@fireproof/core 0.17.3 → 0.17.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
});
|