@fireproof/core 0.14.1 → 0.14.3

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.
@@ -20977,7 +20977,7 @@ import { homedir } from "os";
20977
20977
  import { mkdir, readFile, writeFile, unlink } from "fs/promises";
20978
20978
 
20979
20979
  // src/version.ts
20980
- var PACKAGE_VERSION = "0.14.1";
20980
+ var PACKAGE_VERSION = "0.14.3";
20981
20981
 
20982
20982
  // src/store.ts
20983
20983
  var match = PACKAGE_VERSION.match(/^([^.]*\.[^.]*)/);
@@ -30132,11 +30132,9 @@ async function processFileset(blocks, files, publicFiles = false) {
30132
30132
  const dbBlockstore = blocks.parent;
30133
30133
  const t = new Transaction(dbBlockstore);
30134
30134
  const didPut = [];
30135
- let totalSize = 0;
30136
30135
  for (const filename in files) {
30137
30136
  if (File === files[filename].constructor) {
30138
30137
  const file = files[filename];
30139
- totalSize += file.size;
30140
30138
  const { cid, blocks: fileBlocks } = await encodeFile2(file);
30141
30139
  didPut.push(filename);
30142
30140
  for (const block of fileBlocks) {
@@ -30145,8 +30143,6 @@ async function processFileset(blocks, files, publicFiles = false) {
30145
30143
  files[filename] = { cid, type: file.type, size: file.size };
30146
30144
  }
30147
30145
  }
30148
- if (totalSize > 1024 * 1024 * 1)
30149
- throw new Error("Sync limit for files in a single update is 1MB");
30150
30146
  if (didPut.length) {
30151
30147
  const car = await dbBlockstore.loader?.commit(t, { files }, { public: publicFiles });
30152
30148
  if (car) {
@@ -30373,7 +30369,7 @@ var DbLoader = class _DbLoader extends Loader {
30373
30369
  this.isCompacting = true;
30374
30370
  const compactHead = this.clock.head;
30375
30371
  const compactingResult = await doCompact(blocks, this.clock.head);
30376
- await this.clock.applyHead(null, compactHead, compactHead, null);
30372
+ await this.clock.applyHead(compactHead, compactHead, null);
30377
30373
  return compactingResult;
30378
30374
  };
30379
30375
  this.compacting = this._setWaitForWrite(compactingFn);
@@ -30388,9 +30384,9 @@ var DbLoader = class _DbLoader extends Loader {
30388
30384
  }
30389
30385
  async _applyCarHeader(carHeader, snap = false) {
30390
30386
  if (snap) {
30391
- await this.clock.applyHead(null, carHeader.head, this.clock.head);
30387
+ await this.clock.applyHead(carHeader.head, this.clock.head);
30392
30388
  } else {
30393
- await this.clock.applyHead(null, carHeader.head, []);
30389
+ await this.clock.applyHead(carHeader.head, []);
30394
30390
  }
30395
30391
  }
30396
30392
  makeCarHeader(result, cars, compact = false) {
@@ -30546,7 +30542,7 @@ function applyHeadQueue(worker) {
30546
30542
  const task = queue.shift();
30547
30543
  if (!task)
30548
30544
  continue;
30549
- await worker(task.id, task.tblocks, task.newHead, task.prevHead, task.updates);
30545
+ await worker(task.id, task.newHead, task.prevHead, task.updates);
30550
30546
  if (task.updates) {
30551
30547
  allUpdates.push(...task.updates);
30552
30548
  }
@@ -30590,18 +30586,18 @@ var CRDTClock = class {
30590
30586
  setHead(head) {
30591
30587
  this.head = head;
30592
30588
  }
30593
- async applyHead(tblocks, newHead, prevHead, updates = null) {
30589
+ async applyHead(newHead, prevHead, updates = null) {
30594
30590
  const taskId = Math.random().toString().slice(2, 8);
30595
30591
  for await (const { updates: updatesAcc, all } of this.applyHeadQueue.push({
30596
30592
  id: taskId,
30597
- tblocks,
30593
+ // tblocks,
30598
30594
  newHead,
30599
30595
  prevHead,
30600
30596
  updates
30601
30597
  })) {
30602
30598
  ;
30603
- (async (updatesAcc2, all2) => {
30604
- Promise.resolve().then(async () => {
30599
+ ((updatesAcc2, all2) => {
30600
+ void Promise.resolve().then(async () => {
30605
30601
  let intUpdates = updatesAcc2;
30606
30602
  if (this.watchers.size && !all2) {
30607
30603
  const changes = await clockChangesSince(this.blocks, this.head, prevHead, {});
@@ -30613,11 +30609,11 @@ var CRDTClock = class {
30613
30609
  })([...updatesAcc], all);
30614
30610
  }
30615
30611
  }
30616
- async int_applyHead(taskId, tblocks, newHead, prevHead, updates = null) {
30612
+ async int_applyHead(taskId, newHead, prevHead) {
30617
30613
  const ogHead = this.head.sort((a, b) => a.toString().localeCompare(b.toString()));
30618
30614
  newHead = newHead.sort((a, b) => a.toString().localeCompare(b.toString()));
30619
- newHead.map((cid) => {
30620
- const got = this.blocks.get(cid);
30615
+ newHead.map(async (cid) => {
30616
+ const got = await this.blocks.get(cid);
30621
30617
  if (!got) {
30622
30618
  throw new Error("int_applyHead missing block: " + cid.toString());
30623
30619
  }
@@ -30632,23 +30628,23 @@ var CRDTClock = class {
30632
30628
  }
30633
30629
  let head = this.head;
30634
30630
  const noLoader = false;
30635
- const withBlocks = async (tblocks2, fn) => {
30631
+ const withBlocks = async (fn) => {
30636
30632
  if (!this.blocks)
30637
30633
  throw new Error("missing blocks");
30638
30634
  return await this.blocks.transaction(fn, void 0, { noLoader });
30639
30635
  };
30640
- await withBlocks(tblocks, async (tblocks2) => {
30636
+ await withBlocks(async (tblocks) => {
30641
30637
  for (const cid of newHead) {
30642
30638
  try {
30643
- head = await advance(tblocks2, head, cid);
30639
+ head = await advance(tblocks, head, cid);
30644
30640
  } catch (e) {
30645
30641
  console.error("failed to advance", cid.toString(), e);
30646
30642
  continue;
30647
30643
  }
30648
30644
  }
30649
- const result = await root(tblocks2, head);
30645
+ const result = await root(tblocks, head);
30650
30646
  for (const { cid, bytes } of [...result.additions, ...result.removals]) {
30651
- tblocks2.putSync(cid, bytes);
30647
+ tblocks.putSync(cid, bytes);
30652
30648
  }
30653
30649
  return { head };
30654
30650
  });
@@ -30727,7 +30723,7 @@ var CRDT = class {
30727
30723
  }
30728
30724
  return { head };
30729
30725
  });
30730
- await this.clock.applyHead(null, got.head, prevHead, updates);
30726
+ await this.clock.applyHead(got.head, prevHead, updates);
30731
30727
  return got;
30732
30728
  })();
30733
30729
  if (loader) {
@@ -30762,7 +30758,7 @@ var CRDT = class {
30762
30758
  return await getBlock(this.blocks, cidString);
30763
30759
  }
30764
30760
  async getThatBlock() {
30765
- const blockJson = { "cid": "bafyreib7ee4pscqpuioxobmh3ac5xbbslypmaqqbkugalhw67hnco6dvoa", "bytes": "omRkYXRhpGNrZXl4JDAxOGFmNzdiLWZmMTUtNzI5Ny04ODZiLTYwMjViM2MxODI2ZWRyb2902CpYJQABcRIgKVLI53HO1TFDbPUoSaybd0mop2oX/CRFm1RrpiY4ne9kdHlwZWNwdXRldmFsdWXYKlglAAFxEiAGw53MVtPzeeGT/itfdLBfCVu6MTj96AHU6v9a3K/wYGdwYXJlbnRzgdgqWCUAAXESIJiL5qjdpgghUfbQLpKJeCgMX+ubhoTpYBoZHYdzbQJ/" };
30761
+ const blockJson = { cid: "bafyreib7ee4pscqpuioxobmh3ac5xbbslypmaqqbkugalhw67hnco6dvoa", bytes: "omRkYXRhpGNrZXl4JDAxOGFmNzdiLWZmMTUtNzI5Ny04ODZiLTYwMjViM2MxODI2ZWRyb2902CpYJQABcRIgKVLI53HO1TFDbPUoSaybd0mop2oX/CRFm1RrpiY4ne9kdHlwZWNwdXRldmFsdWXYKlglAAFxEiAGw53MVtPzeeGT/itfdLBfCVu6MTj96AHU6v9a3K/wYGdwYXJlbnRzgdgqWCUAAXESIJiL5qjdpgghUfbQLpKJeCgMX+ubhoTpYBoZHYdzbQJ/" };
30766
30762
  return await getThatBlock(blockJson);
30767
30763
  }
30768
30764
  async get(key) {