@fireproof/core 0.7.2-dev.6 → 0.7.2-dev.7

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.
@@ -8198,7 +8198,15 @@ var _polyfillNode_events = /*#__PURE__*/Object.freeze({
8198
8198
 
8199
8199
  var require$$0$1 = /*@__PURE__*/getAugmentedNamespace(_polyfillNode_events);
8200
8200
 
8201
- var streamBrowser = require$$0$1.EventEmitter;
8201
+ var streamBrowser;
8202
+ var hasRequiredStreamBrowser;
8203
+
8204
+ function requireStreamBrowser () {
8205
+ if (hasRequiredStreamBrowser) return streamBrowser;
8206
+ hasRequiredStreamBrowser = 1;
8207
+ streamBrowser = require$$0$1.EventEmitter;
8208
+ return streamBrowser;
8209
+ }
8202
8210
 
8203
8211
  // shim for using process in browser
8204
8212
  // based off https://github.com/defunctzombie/node-process/blob/master/browser.js
@@ -8341,7 +8349,7 @@ var argv = [];
8341
8349
  var version$1 = ''; // empty string to avoid regexp issues
8342
8350
  var versions = {};
8343
8351
  var release = {};
8344
- var config$1 = {};
8352
+ var config = {};
8345
8353
 
8346
8354
  function noop$3() {}
8347
8355
 
@@ -8418,7 +8426,7 @@ var browser$1$1 = {
8418
8426
  hrtime: hrtime,
8419
8427
  platform: platform,
8420
8428
  release: release,
8421
- config: config$1,
8429
+ config: config,
8422
8430
  uptime: uptime
8423
8431
  };
8424
8432
 
@@ -8499,11 +8507,11 @@ function format(f) {
8499
8507
  // Mark that a method should not be used.
8500
8508
  // Returns a modified function which warns once by default.
8501
8509
  // If --no-deprecation is set, then it is a no-op.
8502
- function deprecate$1(fn, msg) {
8510
+ function deprecate(fn, msg) {
8503
8511
  // Allow for deprecating things in the process of starting up.
8504
8512
  if (isUndefined(global$1.process)) {
8505
8513
  return function() {
8506
- return deprecate$1(fn, msg).apply(this, arguments);
8514
+ return deprecate(fn, msg).apply(this, arguments);
8507
8515
  };
8508
8516
  }
8509
8517
 
@@ -9112,7 +9120,7 @@ var _polyfillNode_util = {
9112
9120
  isBoolean: isBoolean,
9113
9121
  isArray: isArray,
9114
9122
  inspect: inspect,
9115
- deprecate: deprecate$1,
9123
+ deprecate: deprecate,
9116
9124
  format: format,
9117
9125
  debuglog: debuglog,
9118
9126
  promisify: promisify,
@@ -9125,7 +9133,7 @@ var _polyfillNode_util$1 = /*#__PURE__*/Object.freeze({
9125
9133
  callbackify: callbackify,
9126
9134
  debuglog: debuglog,
9127
9135
  default: _polyfillNode_util,
9128
- deprecate: deprecate$1,
9136
+ deprecate: deprecate,
9129
9137
  format: format,
9130
9138
  inherits: inherits$1,
9131
9139
  inspect: inspect,
@@ -9313,99 +9321,108 @@ function requireBuffer_list () {
9313
9321
  return buffer_list;
9314
9322
  }
9315
9323
 
9316
- // undocumented cb() API, needed for core, not for public API
9317
- function destroy(err, cb) {
9318
- const readableDestroyed = this._readableState && this._readableState.destroyed;
9319
- const writableDestroyed = this._writableState && this._writableState.destroyed;
9320
- if (readableDestroyed || writableDestroyed) {
9321
- if (cb) {
9322
- cb(err);
9323
- } else if (err) {
9324
- if (!this._writableState) {
9325
- process.nextTick(emitErrorNT, this, err);
9326
- } else if (!this._writableState.errorEmitted) {
9327
- this._writableState.errorEmitted = true;
9328
- process.nextTick(emitErrorNT, this, err);
9329
- }
9330
- }
9331
- return this;
9332
- }
9324
+ var destroy_1;
9325
+ var hasRequiredDestroy;
9333
9326
 
9334
- // we set destroyed to true before firing error callbacks in order
9335
- // to make it re-entrance safe in case destroy() is called within callbacks
9327
+ function requireDestroy () {
9328
+ if (hasRequiredDestroy) return destroy_1;
9329
+ hasRequiredDestroy = 1;
9336
9330
 
9337
- if (this._readableState) {
9338
- this._readableState.destroyed = true;
9339
- }
9331
+ // undocumented cb() API, needed for core, not for public API
9332
+ function destroy(err, cb) {
9333
+ const readableDestroyed = this._readableState && this._readableState.destroyed;
9334
+ const writableDestroyed = this._writableState && this._writableState.destroyed;
9335
+ if (readableDestroyed || writableDestroyed) {
9336
+ if (cb) {
9337
+ cb(err);
9338
+ } else if (err) {
9339
+ if (!this._writableState) {
9340
+ process.nextTick(emitErrorNT, this, err);
9341
+ } else if (!this._writableState.errorEmitted) {
9342
+ this._writableState.errorEmitted = true;
9343
+ process.nextTick(emitErrorNT, this, err);
9344
+ }
9345
+ }
9346
+ return this;
9347
+ }
9340
9348
 
9341
- // if this is a duplex stream mark the writable part as destroyed as well
9342
- if (this._writableState) {
9343
- this._writableState.destroyed = true;
9344
- }
9345
- this._destroy(err || null, err => {
9346
- if (!cb && err) {
9347
- if (!this._writableState) {
9348
- process.nextTick(emitErrorAndCloseNT, this, err);
9349
- } else if (!this._writableState.errorEmitted) {
9350
- this._writableState.errorEmitted = true;
9351
- process.nextTick(emitErrorAndCloseNT, this, err);
9352
- } else {
9353
- process.nextTick(emitCloseNT, this);
9354
- }
9355
- } else if (cb) {
9356
- process.nextTick(emitCloseNT, this);
9357
- cb(err);
9358
- } else {
9359
- process.nextTick(emitCloseNT, this);
9360
- }
9361
- });
9362
- return this;
9363
- }
9364
- function emitErrorAndCloseNT(self, err) {
9365
- emitErrorNT(self, err);
9366
- emitCloseNT(self);
9367
- }
9368
- function emitCloseNT(self) {
9369
- if (self._writableState && !self._writableState.emitClose) return;
9370
- if (self._readableState && !self._readableState.emitClose) return;
9371
- self.emit('close');
9372
- }
9373
- function undestroy() {
9374
- if (this._readableState) {
9375
- this._readableState.destroyed = false;
9376
- this._readableState.reading = false;
9377
- this._readableState.ended = false;
9378
- this._readableState.endEmitted = false;
9379
- }
9380
- if (this._writableState) {
9381
- this._writableState.destroyed = false;
9382
- this._writableState.ended = false;
9383
- this._writableState.ending = false;
9384
- this._writableState.finalCalled = false;
9385
- this._writableState.prefinished = false;
9386
- this._writableState.finished = false;
9387
- this._writableState.errorEmitted = false;
9388
- }
9389
- }
9390
- function emitErrorNT(self, err) {
9391
- self.emit('error', err);
9392
- }
9393
- function errorOrDestroy(stream, err) {
9394
- // We have tests that rely on errors being emitted
9395
- // in the same tick, so changing this is semver major.
9396
- // For now when you opt-in to autoDestroy we allow
9397
- // the error to be emitted nextTick. In a future
9398
- // semver major update we should change the default to this.
9349
+ // we set destroyed to true before firing error callbacks in order
9350
+ // to make it re-entrance safe in case destroy() is called within callbacks
9399
9351
 
9400
- const rState = stream._readableState;
9401
- const wState = stream._writableState;
9402
- if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);
9352
+ if (this._readableState) {
9353
+ this._readableState.destroyed = true;
9354
+ }
9355
+
9356
+ // if this is a duplex stream mark the writable part as destroyed as well
9357
+ if (this._writableState) {
9358
+ this._writableState.destroyed = true;
9359
+ }
9360
+ this._destroy(err || null, err => {
9361
+ if (!cb && err) {
9362
+ if (!this._writableState) {
9363
+ process.nextTick(emitErrorAndCloseNT, this, err);
9364
+ } else if (!this._writableState.errorEmitted) {
9365
+ this._writableState.errorEmitted = true;
9366
+ process.nextTick(emitErrorAndCloseNT, this, err);
9367
+ } else {
9368
+ process.nextTick(emitCloseNT, this);
9369
+ }
9370
+ } else if (cb) {
9371
+ process.nextTick(emitCloseNT, this);
9372
+ cb(err);
9373
+ } else {
9374
+ process.nextTick(emitCloseNT, this);
9375
+ }
9376
+ });
9377
+ return this;
9378
+ }
9379
+ function emitErrorAndCloseNT(self, err) {
9380
+ emitErrorNT(self, err);
9381
+ emitCloseNT(self);
9382
+ }
9383
+ function emitCloseNT(self) {
9384
+ if (self._writableState && !self._writableState.emitClose) return;
9385
+ if (self._readableState && !self._readableState.emitClose) return;
9386
+ self.emit('close');
9387
+ }
9388
+ function undestroy() {
9389
+ if (this._readableState) {
9390
+ this._readableState.destroyed = false;
9391
+ this._readableState.reading = false;
9392
+ this._readableState.ended = false;
9393
+ this._readableState.endEmitted = false;
9394
+ }
9395
+ if (this._writableState) {
9396
+ this._writableState.destroyed = false;
9397
+ this._writableState.ended = false;
9398
+ this._writableState.ending = false;
9399
+ this._writableState.finalCalled = false;
9400
+ this._writableState.prefinished = false;
9401
+ this._writableState.finished = false;
9402
+ this._writableState.errorEmitted = false;
9403
+ }
9404
+ }
9405
+ function emitErrorNT(self, err) {
9406
+ self.emit('error', err);
9407
+ }
9408
+ function errorOrDestroy(stream, err) {
9409
+ // We have tests that rely on errors being emitted
9410
+ // in the same tick, so changing this is semver major.
9411
+ // For now when you opt-in to autoDestroy we allow
9412
+ // the error to be emitted nextTick. In a future
9413
+ // semver major update we should change the default to this.
9414
+
9415
+ const rState = stream._readableState;
9416
+ const wState = stream._writableState;
9417
+ if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);
9418
+ }
9419
+ destroy_1 = {
9420
+ destroy,
9421
+ undestroy,
9422
+ errorOrDestroy
9423
+ };
9424
+ return destroy_1;
9403
9425
  }
9404
- var destroy_1 = {
9405
- destroy,
9406
- undestroy,
9407
- errorOrDestroy
9408
- };
9409
9426
 
9410
9427
  var errorsBrowser = {};
9411
9428
 
@@ -9535,92 +9552,109 @@ createErrorType('ERR_UNKNOWN_ENCODING', function (arg) {
9535
9552
  createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');
9536
9553
  errorsBrowser.codes = codes;
9537
9554
 
9538
- const ERR_INVALID_OPT_VALUE = errorsBrowser.codes.ERR_INVALID_OPT_VALUE;
9539
- function highWaterMarkFrom(options, isDuplex, duplexKey) {
9540
- return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
9541
- }
9542
- function getHighWaterMark(state, options, duplexKey, isDuplex) {
9543
- const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
9544
- if (hwm != null) {
9545
- if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {
9546
- const name = isDuplex ? duplexKey : 'highWaterMark';
9547
- throw new ERR_INVALID_OPT_VALUE(name, hwm);
9548
- }
9549
- return Math.floor(hwm);
9550
- }
9555
+ var state;
9556
+ var hasRequiredState;
9557
+
9558
+ function requireState () {
9559
+ if (hasRequiredState) return state;
9560
+ hasRequiredState = 1;
9551
9561
 
9552
- // Default value
9553
- return state.objectMode ? 16 : 16 * 1024;
9562
+ const ERR_INVALID_OPT_VALUE = errorsBrowser.codes.ERR_INVALID_OPT_VALUE;
9563
+ function highWaterMarkFrom(options, isDuplex, duplexKey) {
9564
+ return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
9565
+ }
9566
+ function getHighWaterMark(state, options, duplexKey, isDuplex) {
9567
+ const hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
9568
+ if (hwm != null) {
9569
+ if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {
9570
+ const name = isDuplex ? duplexKey : 'highWaterMark';
9571
+ throw new ERR_INVALID_OPT_VALUE(name, hwm);
9572
+ }
9573
+ return Math.floor(hwm);
9574
+ }
9575
+
9576
+ // Default value
9577
+ return state.objectMode ? 16 : 16 * 1024;
9578
+ }
9579
+ state = {
9580
+ getHighWaterMark
9581
+ };
9582
+ return state;
9554
9583
  }
9555
- var state = {
9556
- getHighWaterMark
9557
- };
9558
9584
 
9559
- /**
9560
- * Module exports.
9561
- */
9585
+ var browser$b;
9586
+ var hasRequiredBrowser$a;
9562
9587
 
9563
- var browser$b = deprecate;
9588
+ function requireBrowser$a () {
9589
+ if (hasRequiredBrowser$a) return browser$b;
9590
+ hasRequiredBrowser$a = 1;
9591
+ /**
9592
+ * Module exports.
9593
+ */
9564
9594
 
9565
- /**
9566
- * Mark that a method should not be used.
9567
- * Returns a modified function which warns once by default.
9568
- *
9569
- * If `localStorage.noDeprecation = true` is set, then it is a no-op.
9570
- *
9571
- * If `localStorage.throwDeprecation = true` is set, then deprecated functions
9572
- * will throw an Error when invoked.
9573
- *
9574
- * If `localStorage.traceDeprecation = true` is set, then deprecated functions
9575
- * will invoke `console.trace()` instead of `console.error()`.
9576
- *
9577
- * @param {Function} fn - the function to deprecate
9578
- * @param {String} msg - the string to print to the console when `fn` is invoked
9579
- * @returns {Function} a new "deprecated" version of `fn`
9580
- * @api public
9581
- */
9595
+ browser$b = deprecate;
9582
9596
 
9583
- function deprecate (fn, msg) {
9584
- if (config('noDeprecation')) {
9585
- return fn;
9586
- }
9597
+ /**
9598
+ * Mark that a method should not be used.
9599
+ * Returns a modified function which warns once by default.
9600
+ *
9601
+ * If `localStorage.noDeprecation = true` is set, then it is a no-op.
9602
+ *
9603
+ * If `localStorage.throwDeprecation = true` is set, then deprecated functions
9604
+ * will throw an Error when invoked.
9605
+ *
9606
+ * If `localStorage.traceDeprecation = true` is set, then deprecated functions
9607
+ * will invoke `console.trace()` instead of `console.error()`.
9608
+ *
9609
+ * @param {Function} fn - the function to deprecate
9610
+ * @param {String} msg - the string to print to the console when `fn` is invoked
9611
+ * @returns {Function} a new "deprecated" version of `fn`
9612
+ * @api public
9613
+ */
9587
9614
 
9588
- var warned = false;
9589
- function deprecated() {
9590
- if (!warned) {
9591
- if (config('throwDeprecation')) {
9592
- throw new Error(msg);
9593
- } else if (config('traceDeprecation')) {
9594
- console.trace(msg);
9595
- } else {
9596
- console.warn(msg);
9597
- }
9598
- warned = true;
9599
- }
9600
- return fn.apply(this, arguments);
9601
- }
9615
+ function deprecate (fn, msg) {
9616
+ if (config('noDeprecation')) {
9617
+ return fn;
9618
+ }
9602
9619
 
9603
- return deprecated;
9604
- }
9620
+ var warned = false;
9621
+ function deprecated() {
9622
+ if (!warned) {
9623
+ if (config('throwDeprecation')) {
9624
+ throw new Error(msg);
9625
+ } else if (config('traceDeprecation')) {
9626
+ console.trace(msg);
9627
+ } else {
9628
+ console.warn(msg);
9629
+ }
9630
+ warned = true;
9631
+ }
9632
+ return fn.apply(this, arguments);
9633
+ }
9605
9634
 
9606
- /**
9607
- * Checks `localStorage` for boolean values for the given `name`.
9608
- *
9609
- * @param {String} name
9610
- * @returns {Boolean}
9611
- * @api private
9612
- */
9635
+ return deprecated;
9636
+ }
9613
9637
 
9614
- function config (name) {
9615
- // accessing global.localStorage can trigger a DOMException in sandboxed iframes
9616
- try {
9617
- if (!commonjsGlobal.localStorage) return false;
9618
- } catch (_) {
9619
- return false;
9620
- }
9621
- var val = commonjsGlobal.localStorage[name];
9622
- if (null == val) return false;
9623
- return String(val).toLowerCase() === 'true';
9638
+ /**
9639
+ * Checks `localStorage` for boolean values for the given `name`.
9640
+ *
9641
+ * @param {String} name
9642
+ * @returns {Boolean}
9643
+ * @api private
9644
+ */
9645
+
9646
+ function config (name) {
9647
+ // accessing global.localStorage can trigger a DOMException in sandboxed iframes
9648
+ try {
9649
+ if (!commonjsGlobal.localStorage) return false;
9650
+ } catch (_) {
9651
+ return false;
9652
+ }
9653
+ var val = commonjsGlobal.localStorage[name];
9654
+ if (null == val) return false;
9655
+ return String(val).toLowerCase() === 'true';
9656
+ }
9657
+ return browser$b;
9624
9658
  }
9625
9659
 
9626
9660
  var _stream_writable;
@@ -9651,12 +9685,12 @@ function require_stream_writable () {
9651
9685
 
9652
9686
  /*<replacement>*/
9653
9687
  const internalUtil = {
9654
- deprecate: browser$b
9688
+ deprecate: requireBrowser$a()
9655
9689
  };
9656
9690
  /*</replacement>*/
9657
9691
 
9658
9692
  /*<replacement>*/
9659
- var Stream = streamBrowser;
9693
+ var Stream = requireStreamBrowser();
9660
9694
  /*</replacement>*/
9661
9695
 
9662
9696
  const Buffer = require$$6$1.Buffer;
@@ -9667,8 +9701,8 @@ function require_stream_writable () {
9667
9701
  function _isUint8Array(obj) {
9668
9702
  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
9669
9703
  }
9670
- const destroyImpl = destroy_1;
9671
- const _require = state,
9704
+ const destroyImpl = requireDestroy();
9705
+ const _require = requireState(),
9672
9706
  getHighWaterMark = _require.getHighWaterMark;
9673
9707
  const _require$codes = errorsBrowser.codes,
9674
9708
  ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
@@ -10862,7 +10896,7 @@ function require_stream_readable () {
10862
10896
  /*</replacement>*/
10863
10897
 
10864
10898
  /*<replacement>*/
10865
- var Stream = streamBrowser;
10899
+ var Stream = requireStreamBrowser();
10866
10900
  /*</replacement>*/
10867
10901
 
10868
10902
  const Buffer = require$$6$1.Buffer;
@@ -10885,8 +10919,8 @@ function require_stream_readable () {
10885
10919
  /*</replacement>*/
10886
10920
 
10887
10921
  const BufferList = requireBuffer_list();
10888
- const destroyImpl = destroy_1;
10889
- const _require = state,
10922
+ const destroyImpl = requireDestroy();
10923
+ const _require = requireState(),
10890
10924
  getHighWaterMark = _require.getHighWaterMark;
10891
10925
  const _require$codes = errorsBrowser.codes,
10892
10926
  ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
@@ -14339,7 +14373,7 @@ function WriteReq(chunk, encoding, cb) {
14339
14373
 
14340
14374
  function WritableState(options, stream) {
14341
14375
  Object.defineProperty(this, 'buffer', {
14342
- get: deprecate$1(function () {
14376
+ get: deprecate(function () {
14343
14377
  return this.getBuffer();
14344
14378
  }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.')
14345
14379
  });
@@ -38906,6 +38940,7 @@ class Base {
38906
38940
  lastCid: clock[0],
38907
38941
  get: cid => allBlocks.get(cid.toString())
38908
38942
  };
38943
+ console.log('compact', this.instanceId, this.name, blocks.lastCid.toString(), dataCids.length);
38909
38944
  await this.parkCar(blocks, dataCids);
38910
38945
  }
38911
38946
 
@@ -39050,6 +39085,7 @@ class Base {
39050
39085
 
39051
39086
  async mapForIPLDHashmapCarCid (carCid) {
39052
39087
  // console.log('mapForIPLDHashmapCarCid', carCid)
39088
+ // todo why is this writeable?
39053
39089
  const carMapReader = await this.getWriteableCarReader(carCid);
39054
39090
  const indexNode = await load$1(carMapReader, carMapReader.root.cid, {
39055
39091
  blockHasher: blockOpts$1.hasher,
@@ -39088,7 +39124,21 @@ class Base {
39088
39124
  return combinedReader
39089
39125
  }
39090
39126
 
39127
+ async xgetCarReader (carCid) {
39128
+ return this.getCarReaderImpl(carCid)
39129
+ }
39130
+
39131
+ carReaderCache = new Map()
39091
39132
  async getCarReader (carCid) {
39133
+ if (this.carReaderCache.has(carCid)) {
39134
+ return this.carReaderCache.get(carCid)
39135
+ }
39136
+ const result = await this.getCarReaderImpl(carCid);
39137
+ this.carReaderCache.set(carCid, result);
39138
+ return result
39139
+ }
39140
+
39141
+ async getCarReaderImpl (carCid) {
39092
39142
  carCid = carCid.toString();
39093
39143
  const carBytes = await this.readCar(carCid);
39094
39144
  // console.log('getCarReader', this.constructor.name, carCid, carBytes.length)
@@ -40079,19 +40129,6 @@ class Valet {
40079
40129
  }
40080
40130
  }
40081
40131
 
40082
- // async compact() {
40083
- // const carCids = []
40084
- // // for await (const { cid } of this.valet.cids()) {
40085
- // // yield { cid }
40086
- // // }
40087
- // // create a blockstore with all data
40088
- // {
40089
- // entries: () => syncCIDs.map(cid => ({ cid })),
40090
- // get: async cid => await blocks.get(cid)
40091
- // }
40092
- // // park it
40093
- // }
40094
-
40095
40132
  /**
40096
40133
  * Iterate over all blocks in the store.
40097
40134
  *