@fireproof/core 0.20.0-dev-preview-62 → 0.20.0

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/deno.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "imports": {
3
3
  "@fireproof/core": "./index.js",
4
- "@adviser/cement": "npm:@adviser/cement@~0.4.7",
5
- "@fireproof/vendor": "npm:@fireproof/vendor@~2.0.2",
4
+ "@adviser/cement": "npm:@adviser/cement@~0.4.10",
6
5
  "@ipld/car": "npm:@ipld/car@^5.4.0",
7
6
  "@ipld/dag-cbor": "npm:@ipld/dag-cbor@^9.2.2",
8
7
  "@ipld/dag-json": "npm:@ipld/dag-json@^10.2.3",
8
+ "@web3-storage/pail": "npm:@web3-storage/pail@^0.6.2",
9
9
  "cborg": "npm:cborg@^4.2.9",
10
10
  "jose": "npm:jose@^6.0.10",
11
11
  "multiformats": "npm:multiformats@^13.3.2",
package/index.cjs CHANGED
@@ -84,7 +84,7 @@ var import_cement = require("@adviser/cement");
84
84
 
85
85
  // src/types.ts
86
86
  function isFalsy(value) {
87
- return value === false || value === null || value === void 0;
87
+ return value === false && value === null && value === void 0;
88
88
  }
89
89
  var PARAM = {
90
90
  SUFFIX: "suffix",
@@ -112,8 +112,7 @@ var PARAM = {
112
112
  CAR_CACHE_SIZE: "carCacheSize",
113
113
  CAR_COMPACT_CACHE_SIZE: "carCompactCacheSize",
114
114
  CAR_META_CACHE_SIZE: "carMetaCacheSize",
115
- GENESIS_CID: "baembeiarootfireproofgenesisblockaaaafireproofgenesisblocka",
116
- LOCAL_NAME: "localName"
115
+ GENESIS_CID: "baembeiarootfireproofgenesisblockaaaafireproofgenesisblocka"
117
116
  // FS = "fs",
118
117
  };
119
118
  function throwFalsy(value) {
@@ -488,11 +487,11 @@ function storeType2DataMetaWal(store) {
488
487
  throw new Error(`unknown store ${store}`);
489
488
  }
490
489
  }
491
- function ensureURIDefaults(sthis, names, curi, uri, store, ctx) {
490
+ function ensureURIDefaults(sthis, name, curi, uri, store, ctx) {
492
491
  ctx = ctx || {};
493
- const ret = (curi ? import_cement.URI.from(curi) : uri).build().setParam(PARAM.STORE, store).defParam(PARAM.NAME, names.name);
494
- if (names.local) {
495
- ret.defParam(PARAM.LOCAL_NAME, names.local);
492
+ const ret = (curi ? import_cement.URI.from(curi) : uri).build().setParam(PARAM.STORE, store).defParam(PARAM.NAME, name);
493
+ if (!ret.hasParam(PARAM.NAME)) {
494
+ throw sthis.logger.Error().Url(ret).Any("ctx", ctx).Msg("Ledger name is required").AsError();
496
495
  }
497
496
  if (ctx.idx) {
498
497
  ret.defParam(PARAM.INDEX, "idx");
@@ -1292,13 +1291,6 @@ var import_cement7 = require("@adviser/cement");
1292
1291
  var MEMORY_VERSION = "v0.19-memory";
1293
1292
 
1294
1293
  // src/runtime/gateways/memory/gateway.ts
1295
- function cleanURI(uri) {
1296
- return uri.build().cleanParams(
1297
- PARAM.VERSION,
1298
- // PARAM.STORE,
1299
- PARAM.LOCAL_NAME
1300
- ).URI();
1301
- }
1302
1294
  var MemoryGateway = class {
1303
1295
  // readonly logger: Logger;
1304
1296
  constructor(sthis, memorys) {
@@ -1316,33 +1308,33 @@ var MemoryGateway = class {
1316
1308
  return Promise.resolve(import_cement7.Result.Ok(void 0));
1317
1309
  }
1318
1310
  destroy(baseUrl) {
1319
- const keyUrl = cleanURI(baseUrl);
1320
- const match = keyUrl.match(keyUrl);
1311
+ const keyUrl = baseUrl.toString();
1321
1312
  for (const key of this.memorys.keys()) {
1322
- if (keyUrl.match(key).score >= match.score) {
1313
+ if (key.startsWith(keyUrl)) {
1323
1314
  this.memorys.delete(key);
1324
1315
  }
1325
1316
  }
1317
+ this.memorys.clear();
1326
1318
  return Promise.resolve(import_cement7.Result.Ok(void 0));
1327
1319
  }
1328
1320
  async put(url, bytes) {
1329
- this.memorys.set(cleanURI(url).toString(), bytes);
1321
+ this.memorys.set(url.toString(), bytes);
1330
1322
  return import_cement7.Result.Ok(void 0);
1331
1323
  }
1332
1324
  // get could return a NotFoundError if the key is not found
1333
1325
  get(url) {
1334
- const x = this.memorys.get(cleanURI(url).toString());
1326
+ const x = this.memorys.get(url.toString());
1335
1327
  if (!x) {
1336
1328
  return Promise.resolve(import_cement7.Result.Err(new NotFoundError(`not found: ${url.toString()}`)));
1337
1329
  }
1338
1330
  return Promise.resolve(import_cement7.Result.Ok(x));
1339
1331
  }
1340
1332
  delete(url) {
1341
- this.memorys.delete(cleanURI(url).toString());
1333
+ this.memorys.delete(url.toString());
1342
1334
  return Promise.resolve(import_cement7.Result.Ok(void 0));
1343
1335
  }
1344
1336
  async getPlain(url, key) {
1345
- const x = this.memorys.get(cleanURI(url).build().setParam(PARAM.KEY, key).toString());
1337
+ const x = this.memorys.get(url.build().setParam(PARAM.KEY, key).toString());
1346
1338
  if (!x) {
1347
1339
  return import_cement7.Result.Err(new NotFoundError("not found"));
1348
1340
  }
@@ -1370,7 +1362,7 @@ function File2FPMsg(fpfile) {
1370
1362
 
1371
1363
  // src/runtime/gateways/fp-envelope-serialize.ts
1372
1364
  var import_cement9 = require("@adviser/cement");
1373
- var import_clock = require("@fireproof/vendor/@web3-storage/pail/clock");
1365
+ var import_clock = require("@web3-storage/pail/clock");
1374
1366
  var import_base64 = require("multiformats/bases/base64");
1375
1367
  var import_multiformats = require("multiformats");
1376
1368
  var import_link = require("multiformats/link");
@@ -2351,7 +2343,7 @@ async function parseCarFile(reader, logger) {
2351
2343
  }
2352
2344
 
2353
2345
  // src/blockstore/transaction.ts
2354
- var import_block4 = require("@fireproof/vendor/@web3-storage/pail/block");
2346
+ var import_block4 = require("@web3-storage/pail/block");
2355
2347
  var import_cement12 = require("@adviser/cement");
2356
2348
  var CarTransactionImpl = class {
2357
2349
  #memblock = new import_block4.MemoryBlockstore();
@@ -3025,44 +3017,19 @@ var AttachedRemotesImpl = class {
3025
3017
  const gws = {
3026
3018
  car: {
3027
3019
  ...gwp.car,
3028
- url: ensureURIDefaults(
3029
- this.loadable.sthis,
3030
- { name: attached.name, local: this._local?.gatewayUrls.car.url.getParam(PARAM.NAME) },
3031
- void 0,
3032
- import_cement14.URI.from(gwp.car.url),
3033
- "car"
3034
- )
3020
+ url: ensureURIDefaults(this.loadable.sthis, attached.name, gwp.car.url, import_cement14.URI.from(gwp.car.url), "car")
3035
3021
  },
3036
3022
  file: {
3037
3023
  ...gwp.file,
3038
- url: ensureURIDefaults(
3039
- this.loadable.sthis,
3040
- { name: attached.name, local: this._local?.gatewayUrls.file.url.getParam(PARAM.NAME) },
3041
- void 0,
3042
- import_cement14.URI.from(gwp.file.url),
3043
- "file",
3044
- { file: true }
3045
- )
3024
+ url: ensureURIDefaults(this.loadable.sthis, attached.name, void 0, import_cement14.URI.from(gwp.file.url), "file", { file: true })
3046
3025
  },
3047
3026
  meta: {
3048
3027
  ...gwp.meta,
3049
- url: ensureURIDefaults(
3050
- this.loadable.sthis,
3051
- { name: attached.name, local: this._local?.gatewayUrls.meta.url.getParam(PARAM.NAME) },
3052
- void 0,
3053
- import_cement14.URI.from(gwp.meta.url),
3054
- "meta"
3055
- )
3028
+ url: ensureURIDefaults(this.loadable.sthis, attached.name, void 0, import_cement14.URI.from(gwp.meta.url), "meta")
3056
3029
  },
3057
3030
  wal: gwp.wal ? {
3058
3031
  ...gwp.wal,
3059
- url: ensureURIDefaults(
3060
- this.loadable.sthis,
3061
- { name: attached.name, local: this._local?.gatewayUrls.wal?.url.getParam(PARAM.NAME) },
3062
- void 0,
3063
- import_cement14.URI.from(gwp.wal.url),
3064
- "wal"
3065
- )
3032
+ url: ensureURIDefaults(this.loadable.sthis, attached.name, void 0, import_cement14.URI.from(gwp.wal.url), "wal")
3066
3033
  } : void 0
3067
3034
  };
3068
3035
  const key = JSON.stringify(
@@ -3087,7 +3054,7 @@ var AttachedRemotesImpl = class {
3087
3054
  );
3088
3055
  if (result.stores.wal) {
3089
3056
  if (this._local) {
3090
- throw this.loadable.sthis.logger.Error().Any({ urls: result.gatewayUrls }).Msg("local store could only set once").AsError();
3057
+ throw this.loadable.sthis.logger.Error().Msg("local store could only set once").AsError();
3091
3058
  }
3092
3059
  this._local = result;
3093
3060
  }
@@ -3154,11 +3121,10 @@ var Loader = class {
3154
3121
  if (!at.stores.wal) {
3155
3122
  try {
3156
3123
  const dbMeta = await at.stores.meta.load();
3157
- if (Array.isArray(dbMeta)) {
3158
- await this.handleDbMetasFromStore(dbMeta, this.attachedStores.activate(at.stores));
3159
- } else if (!isFalsy(dbMeta)) {
3160
- throw this.logger.Error().Any({ dbMeta }).Msg("missing dbMeta").AsError();
3124
+ if (!Array.isArray(dbMeta)) {
3125
+ throw this.logger.Error().Msg("missing dbMeta").AsError();
3161
3126
  }
3127
+ await this.handleDbMetasFromStore(dbMeta, this.attachedStores.activate(at.stores));
3162
3128
  } catch (e) {
3163
3129
  this.logger.Error().Err(e).Msg("error attaching store");
3164
3130
  at.detach();
@@ -3680,7 +3646,7 @@ async function keyedCryptoFactory(url, kb, sthis) {
3680
3646
  }
3681
3647
 
3682
3648
  // src/blockstore/store.ts
3683
- var import_clock2 = require("@fireproof/vendor/@web3-storage/pail/clock");
3649
+ var import_clock2 = require("@web3-storage/pail/clock");
3684
3650
  var import_dag_json2 = require("@ipld/dag-json");
3685
3651
  var import_p_retry = __toESM(require("p-retry"), 1);
3686
3652
  var import_p_map = __toESM(require("p-map"), 1);
@@ -4430,9 +4396,9 @@ var URIInterceptor = class _URIInterceptor extends PassThroughGateway {
4430
4396
  var import_link2 = require("multiformats/link");
4431
4397
  var import_sha27 = require("multiformats/hashes/sha2");
4432
4398
  var codec2 = __toESM(require("@ipld/dag-cbor"), 1);
4433
- var import_crdt = require("@fireproof/vendor/@web3-storage/pail/crdt");
4434
- var import_clock3 = require("@fireproof/vendor/@web3-storage/pail/clock");
4435
- var Batch = __toESM(require("@fireproof/vendor/@web3-storage/pail/crdt/batch"), 1);
4399
+ var import_crdt = require("@web3-storage/pail/crdt");
4400
+ var import_clock3 = require("@web3-storage/pail/clock");
4401
+ var Batch = __toESM(require("@web3-storage/pail/crdt/batch"), 1);
4436
4402
  function time(tag) {
4437
4403
  }
4438
4404
  function timeEnd(tag) {
@@ -4744,8 +4710,8 @@ async function getBlock(blocks, cidString) {
4744
4710
  }
4745
4711
 
4746
4712
  // src/crdt-clock.ts
4747
- var import_clock4 = require("@fireproof/vendor/@web3-storage/pail/clock");
4748
- var import_crdt2 = require("@fireproof/vendor/@web3-storage/pail/crdt");
4713
+ var import_clock4 = require("@web3-storage/pail/clock");
4714
+ var import_crdt2 = require("@web3-storage/pail/crdt");
4749
4715
  var import_cement19 = require("@adviser/cement");
4750
4716
 
4751
4717
  // src/apply-head-queue.ts
@@ -5287,26 +5253,19 @@ function toStoreURIRuntime(sthis, name, sopts) {
5287
5253
  const base = import_cement21.URI.from(sopts.base);
5288
5254
  return {
5289
5255
  idx: {
5290
- car: ensureURIDefaults(sthis, { name }, sopts.idx?.car ?? sopts.data?.car, base, "car", { idx: true }),
5291
- file: ensureURIDefaults(
5292
- sthis,
5293
- { name },
5294
- sopts.idx?.file ?? sopts.idx?.car ?? sopts.data?.file ?? sopts.data?.car,
5295
- base,
5296
- "file",
5297
- {
5298
- file: true,
5299
- idx: true
5300
- }
5301
- ),
5302
- meta: ensureURIDefaults(sthis, { name }, sopts.idx?.meta ?? sopts.data?.meta, base, "meta", { idx: true }),
5303
- wal: ensureURIDefaults(sthis, { name }, sopts.idx?.wal ?? sopts.data?.wal, base, "wal", { idx: true })
5256
+ car: ensureURIDefaults(sthis, name, sopts.idx?.car ?? sopts.data?.car, base, "car", { idx: true }),
5257
+ file: ensureURIDefaults(sthis, name, sopts.idx?.file ?? sopts.idx?.car ?? sopts.data?.file ?? sopts.data?.car, base, "file", {
5258
+ file: true,
5259
+ idx: true
5260
+ }),
5261
+ meta: ensureURIDefaults(sthis, name, sopts.idx?.meta ?? sopts.data?.meta, base, "meta", { idx: true }),
5262
+ wal: ensureURIDefaults(sthis, name, sopts.idx?.wal ?? sopts.data?.wal, base, "wal", { idx: true })
5304
5263
  },
5305
5264
  data: {
5306
- car: ensureURIDefaults(sthis, { name }, sopts.data?.car, base, "car"),
5307
- file: ensureURIDefaults(sthis, { name }, sopts.data?.file ?? sopts.data?.car, base, "file", { file: true }),
5308
- meta: ensureURIDefaults(sthis, { name }, sopts.data?.meta, base, "meta"),
5309
- wal: ensureURIDefaults(sthis, { name }, sopts.data?.wal, base, "wal")
5265
+ car: ensureURIDefaults(sthis, name, sopts.data?.car, base, "car"),
5266
+ file: ensureURIDefaults(sthis, name, sopts.data?.file ?? sopts.data?.car, base, "file", { file: true }),
5267
+ meta: ensureURIDefaults(sthis, name, sopts.data?.meta, base, "meta"),
5268
+ wal: ensureURIDefaults(sthis, name, sopts.data?.wal, base, "wal")
5310
5269
  }
5311
5270
  };
5312
5271
  }
@@ -7304,6 +7263,6 @@ function buildResDelWAL(msgCtx, req, ctx) {
7304
7263
 
7305
7264
  // src/version.ts
7306
7265
  var PACKAGE_VERSION = Object.keys({
7307
- "0.20.0-dev-preview-62": "xxxx"
7266
+ "0.20.0": "xxxx"
7308
7267
  })[0];
7309
7268
  //# sourceMappingURL=index.cjs.map