@fireproof/core 0.20.0-dev-preview-14 → 0.20.0-dev-preview-16
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/index.cjs +88 -48
- package/index.cjs.map +1 -1
- package/index.d.cts +43 -19
- package/index.d.ts +43 -19
- package/index.js +78 -38
- package/index.js.map +1 -1
- package/{web → indexdb}/index.cjs +5 -5
- package/indexdb/index.cjs.map +1 -0
- package/{web → indexdb}/index.d.cts +1 -1
- package/{web → indexdb}/index.d.ts +1 -1
- package/{web → indexdb}/index.js +4 -4
- package/indexdb/index.js.map +1 -0
- package/indexdb/metafile-cjs.json +1 -0
- package/indexdb/metafile-esm.json +1 -0
- package/metafile-cjs.json +1 -1
- package/metafile-esm.json +1 -1
- package/package.json +10 -10
- package/react/index.d.cts +1 -1
- package/react/index.d.ts +1 -1
- package/tests/blockstore/keyed-crypto-indexdb-file.test.ts +1 -1
- package/tests/blockstore/keyed-crypto.test.ts +1 -1
- package/web/index.cjs.map +0 -1
- package/web/index.js.map +0 -1
- package/web/metafile-cjs.json +0 -1
- package/web/metafile-esm.json +0 -1
package/index.cjs
CHANGED
@@ -71,7 +71,7 @@ __export(index_exports, {
|
|
71
71
|
module.exports = __toCommonJS(index_exports);
|
72
72
|
|
73
73
|
// src/ledger.ts
|
74
|
-
var
|
74
|
+
var import_cement20 = require("@adviser/cement");
|
75
75
|
|
76
76
|
// src/utils.ts
|
77
77
|
var import_cement = require("@adviser/cement");
|
@@ -786,7 +786,7 @@ var keyBagProviderFactories = new Map(
|
|
786
786
|
{
|
787
787
|
protocol: "indexdb:",
|
788
788
|
factory: async (url, sthis) => {
|
789
|
-
const { KeyBagProviderImpl } = await import("@fireproof/core/
|
789
|
+
const { KeyBagProviderImpl } = await import("@fireproof/core/indexdb");
|
790
790
|
return new KeyBagProviderImpl(url, sthis);
|
791
791
|
}
|
792
792
|
},
|
@@ -880,7 +880,7 @@ var import_cement10 = require("@adviser/cement");
|
|
880
880
|
// src/runtime/gateways/file/version.ts
|
881
881
|
var FILESTORE_VERSION = "v0.19-file";
|
882
882
|
|
883
|
-
// src/runtime/gateways/indexdb
|
883
|
+
// src/runtime/gateways/indexdb-version.ts
|
884
884
|
var INDEXDB_VERSION = "v0.19-indexdb";
|
885
885
|
|
886
886
|
// src/runtime/gateways/file/gateway-impl.ts
|
@@ -1023,6 +1023,10 @@ var FileGateway = class {
|
|
1023
1023
|
};
|
1024
1024
|
|
1025
1025
|
// src/runtime/gateways/memory/gateway.ts
|
1026
|
+
var gateway_exports = {};
|
1027
|
+
__export(gateway_exports, {
|
1028
|
+
MemoryGateway: () => MemoryGateway
|
1029
|
+
});
|
1026
1030
|
var import_cement6 = require("@adviser/cement");
|
1027
1031
|
|
1028
1032
|
// src/runtime/gateways/memory/version.ts
|
@@ -1251,16 +1255,20 @@ var DefSerdeGateway = class {
|
|
1251
1255
|
this.subscribeFn = /* @__PURE__ */ new Map();
|
1252
1256
|
this.gw = gw;
|
1253
1257
|
}
|
1254
|
-
|
1258
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1259
|
+
start(sthis, baseURL, loader) {
|
1255
1260
|
return this.gw.start(baseURL, sthis);
|
1256
1261
|
}
|
1257
|
-
|
1262
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1263
|
+
async buildUrl(sthis, baseUrl, key, loader) {
|
1258
1264
|
return this.gw.buildUrl(baseUrl, key, sthis);
|
1259
1265
|
}
|
1260
|
-
|
1266
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1267
|
+
async close(sthis, uri, loader) {
|
1261
1268
|
return this.gw.close(uri, sthis);
|
1262
1269
|
}
|
1263
|
-
|
1270
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1271
|
+
async put(sthis, url, env, loader) {
|
1264
1272
|
const rUint8 = await fpSerialize(sthis, env);
|
1265
1273
|
if (rUint8.isErr()) return rUint8;
|
1266
1274
|
const ret = this.gw.put(url, rUint8.Ok(), sthis);
|
@@ -1271,12 +1279,13 @@ var DefSerdeGateway = class {
|
|
1271
1279
|
}
|
1272
1280
|
return ret;
|
1273
1281
|
}
|
1274
|
-
|
1282
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1283
|
+
async get(sthis, url, loader) {
|
1275
1284
|
const res = await this.gw.get(url, sthis);
|
1276
1285
|
if (res.isErr()) return import_cement9.Result.Err(res.Err());
|
1277
1286
|
return fpDeserialize(sthis, url, res);
|
1278
1287
|
}
|
1279
|
-
async subscribe(sthis, url, callback) {
|
1288
|
+
async subscribe(sthis, url, callback, loader) {
|
1280
1289
|
if (!this.gw.subscribe) {
|
1281
1290
|
this.subscribeFn.set(url.toString(), callback);
|
1282
1291
|
return import_cement9.Result.Ok(() => {
|
@@ -1295,13 +1304,16 @@ var DefSerdeGateway = class {
|
|
1295
1304
|
);
|
1296
1305
|
return unreg;
|
1297
1306
|
}
|
1298
|
-
|
1307
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1308
|
+
async delete(sthis, url, loader) {
|
1299
1309
|
return this.gw.delete(url, sthis);
|
1300
1310
|
}
|
1301
|
-
|
1311
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1312
|
+
async destroy(sthis, baseURL, loader) {
|
1302
1313
|
return this.gw.destroy(baseURL, sthis);
|
1303
1314
|
}
|
1304
|
-
|
1315
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1316
|
+
async getPlain(sthis, iurl, key, loader) {
|
1305
1317
|
return this.gw.getPlain(iurl, key, sthis);
|
1306
1318
|
}
|
1307
1319
|
};
|
@@ -1386,7 +1398,7 @@ if ((0, import_cement10.runtimeFn)().isBrowser) {
|
|
1386
1398
|
return import_cement10.BuildURI.from("indexdb://").pathname("fp").setParam("version" /* VERSION */, INDEXDB_VERSION).setParam("runtime" /* RUNTIME */, "browser").URI();
|
1387
1399
|
},
|
1388
1400
|
gateway: async () => {
|
1389
|
-
const { GatewayImpl } = await import("@fireproof/core/
|
1401
|
+
const { GatewayImpl } = await import("@fireproof/core/indexdb");
|
1390
1402
|
return new GatewayImpl();
|
1391
1403
|
}
|
1392
1404
|
});
|
@@ -1936,7 +1948,7 @@ var DatabaseImpl = class {
|
|
1936
1948
|
};
|
1937
1949
|
|
1938
1950
|
// src/crdt.ts
|
1939
|
-
var
|
1951
|
+
var import_cement19 = require("@adviser/cement");
|
1940
1952
|
|
1941
1953
|
// src/blockstore/index.ts
|
1942
1954
|
var blockstore_exports = {};
|
@@ -3687,6 +3699,9 @@ function toStoreRuntime(sthis, endeOpts = {}) {
|
|
3687
3699
|
};
|
3688
3700
|
}
|
3689
3701
|
|
3702
|
+
// src/blockstore/connection-base.ts
|
3703
|
+
var import_cement17 = require("@adviser/cement");
|
3704
|
+
|
3690
3705
|
// src/blockstore/store-remote.ts
|
3691
3706
|
async function RemoteDataStore(sthis, url, opts) {
|
3692
3707
|
const ds = new DataStoreImpl(sthis, url, opts);
|
@@ -3699,6 +3714,22 @@ async function RemoteMetaStore(sthis, url, opts) {
|
|
3699
3714
|
return ms;
|
3700
3715
|
}
|
3701
3716
|
|
3717
|
+
// src/context.ts
|
3718
|
+
var Context = class {
|
3719
|
+
constructor() {
|
3720
|
+
this.ctx = /* @__PURE__ */ new Map();
|
3721
|
+
}
|
3722
|
+
set(key, value) {
|
3723
|
+
this.ctx.set(key, value);
|
3724
|
+
}
|
3725
|
+
get(key) {
|
3726
|
+
return this.ctx.get(key);
|
3727
|
+
}
|
3728
|
+
delete(key) {
|
3729
|
+
this.ctx.delete(key);
|
3730
|
+
}
|
3731
|
+
};
|
3732
|
+
|
3702
3733
|
// src/blockstore/connection-base.ts
|
3703
3734
|
function coerceLoader(ref) {
|
3704
3735
|
const refl = ref;
|
@@ -3713,10 +3744,22 @@ function coerceLoader(ref) {
|
|
3713
3744
|
}
|
3714
3745
|
var ConnectionBase = class {
|
3715
3746
|
constructor(url, logger) {
|
3716
|
-
|
3747
|
+
// loaded: Promise<void> = Promise.resolve();
|
3748
|
+
this.context = new Context();
|
3749
|
+
this._loaded = /* @__PURE__ */ new Set();
|
3750
|
+
this._metaIsLoading = false;
|
3717
3751
|
this.logger = logger;
|
3718
3752
|
this.url = url;
|
3719
3753
|
}
|
3754
|
+
loaded() {
|
3755
|
+
const f = new import_cement17.Future();
|
3756
|
+
if (!this._metaIsLoading) {
|
3757
|
+
f.resolve();
|
3758
|
+
} else {
|
3759
|
+
this._loaded.add(f);
|
3760
|
+
}
|
3761
|
+
return f;
|
3762
|
+
}
|
3720
3763
|
async refresh() {
|
3721
3764
|
await throwFalsy(throwFalsy(this.loader).remoteMetaStore).load();
|
3722
3765
|
await (await throwFalsy(this.loader).WALStore()).process();
|
@@ -3744,22 +3787,34 @@ var ConnectionBase = class {
|
|
3744
3787
|
loader
|
3745
3788
|
});
|
3746
3789
|
this.loader.remoteMetaStore = remote;
|
3747
|
-
this.
|
3790
|
+
this._metaIsLoading = true;
|
3791
|
+
this.loader.ready().then(async () => {
|
3748
3792
|
return remote.load().then(async () => {
|
3749
|
-
|
3793
|
+
const res = await (0, import_cement17.exception2Result)(async () => {
|
3794
|
+
return await (await throwFalsy(this.loader).WALStore()).process();
|
3795
|
+
});
|
3796
|
+
this._metaIsLoading = false;
|
3797
|
+
for (const f of this._loaded) {
|
3798
|
+
if (res.isErr()) {
|
3799
|
+
f.reject(res.Err());
|
3800
|
+
} else {
|
3801
|
+
f.resolve();
|
3802
|
+
}
|
3803
|
+
}
|
3804
|
+
this._loaded.clear();
|
3750
3805
|
});
|
3751
3806
|
});
|
3752
3807
|
}
|
3753
3808
|
async connectStorage(refl) {
|
3754
3809
|
const loader = coerceLoader(refl);
|
3755
|
-
if (!loader) throw this.logger.Error().Msg("
|
3810
|
+
if (!loader) throw this.logger.Error().Msg("connectStorage: loader is required").AsError();
|
3756
3811
|
this.loader = loader;
|
3757
3812
|
const dataUrl = this.url.build().defParam("store" /* STORE */, "data").URI();
|
3758
3813
|
const rgateway = await getStartedGateway(loader.sthis, dataUrl);
|
3759
3814
|
if (rgateway.isErr())
|
3760
|
-
throw this.logger.Error().Result("err", rgateway).Url(dataUrl).Msg("
|
3815
|
+
throw this.logger.Error().Result("err", rgateway).Url(dataUrl).Msg("connectStorage: gateway is required").AsError();
|
3761
3816
|
const name = dataUrl.getParam("name" /* NAME */);
|
3762
|
-
if (!name) throw this.logger.Error().Url(dataUrl).Msg("
|
3817
|
+
if (!name) throw this.logger.Error().Url(dataUrl).Msg("connectStorage: name is required").AsError;
|
3763
3818
|
loader.remoteCarStore = await RemoteDataStore(loader.sthis, this.url, {
|
3764
3819
|
gateway: rgateway.Ok().gateway,
|
3765
3820
|
loader
|
@@ -4074,7 +4129,7 @@ async function getBlock(blocks, cidString) {
|
|
4074
4129
|
// src/crdt-clock.ts
|
4075
4130
|
var import_clock4 = require("@fireproof/vendor/@web3-storage/pail/clock");
|
4076
4131
|
var import_crdt2 = require("@fireproof/vendor/@web3-storage/pail/crdt");
|
4077
|
-
var
|
4132
|
+
var import_cement18 = require("@adviser/cement");
|
4078
4133
|
|
4079
4134
|
// src/apply-head-queue.ts
|
4080
4135
|
function applyHeadQueue(worker, logger) {
|
@@ -4131,7 +4186,7 @@ var CRDTClockImpl = class {
|
|
4131
4186
|
this.zoomers = /* @__PURE__ */ new Map();
|
4132
4187
|
this.watchers = /* @__PURE__ */ new Map();
|
4133
4188
|
this.emptyWatchers = /* @__PURE__ */ new Map();
|
4134
|
-
this._ready = new
|
4189
|
+
this._ready = new import_cement18.ResolveOnce();
|
4135
4190
|
this.sthis = blockstore.sthis;
|
4136
4191
|
this.blockstore = blockstore;
|
4137
4192
|
this.logger = ensureLogger(blockstore.sthis, "CRDTClock");
|
@@ -4257,7 +4312,7 @@ async function advanceBlocks(logger, newHead, tblocks, head) {
|
|
4257
4312
|
var CRDTImpl = class {
|
4258
4313
|
constructor(sthis, opts) {
|
4259
4314
|
this.indexers = /* @__PURE__ */ new Map();
|
4260
|
-
this.onceReady = new
|
4315
|
+
this.onceReady = new import_cement19.ResolveOnce();
|
4261
4316
|
this.sthis = sthis;
|
4262
4317
|
this.crdt = this;
|
4263
4318
|
this.logger = ensureLogger(sthis, "CRDT");
|
@@ -4375,24 +4430,8 @@ var CRDTImpl = class {
|
|
4375
4430
|
}
|
4376
4431
|
};
|
4377
4432
|
|
4378
|
-
// src/context.ts
|
4379
|
-
var Context = class {
|
4380
|
-
constructor() {
|
4381
|
-
this.ctx = /* @__PURE__ */ new Map();
|
4382
|
-
}
|
4383
|
-
set(key, value) {
|
4384
|
-
this.ctx.set(key, value);
|
4385
|
-
}
|
4386
|
-
get(key) {
|
4387
|
-
return this.ctx.get(key);
|
4388
|
-
}
|
4389
|
-
delete(key) {
|
4390
|
-
this.ctx.delete(key);
|
4391
|
-
}
|
4392
|
-
};
|
4393
|
-
|
4394
4433
|
// src/ledger.ts
|
4395
|
-
var ledgers = new
|
4434
|
+
var ledgers = new import_cement20.KeyedResolvOnce();
|
4396
4435
|
function keyConfigOpts(sthis, name, opts) {
|
4397
4436
|
return JSON.stringify(
|
4398
4437
|
toSortedArray({
|
@@ -4478,7 +4517,7 @@ var LedgerImpl = class {
|
|
4478
4517
|
this.shells = /* @__PURE__ */ new Set();
|
4479
4518
|
this.context = new Context();
|
4480
4519
|
this._onClosedFns = /* @__PURE__ */ new Map();
|
4481
|
-
this._ready = new
|
4520
|
+
this._ready = new import_cement20.ResolveOnce();
|
4482
4521
|
this.opts = opts;
|
4483
4522
|
this.sthis = sthis;
|
4484
4523
|
this.id = sthis.timeOrderedNextId().str;
|
@@ -4578,7 +4617,7 @@ var LedgerImpl = class {
|
|
4578
4617
|
};
|
4579
4618
|
function defaultURI2(sthis, curi, uri, store, ctx) {
|
4580
4619
|
ctx = ctx || {};
|
4581
|
-
const ret = (curi ?
|
4620
|
+
const ret = (curi ? import_cement20.URI.from(curi) : uri).build().setParam("store" /* STORE */, store);
|
4582
4621
|
if (!ret.hasParam("name" /* NAME */)) {
|
4583
4622
|
const name = sthis.pathOps.basename(ret.URI().pathname);
|
4584
4623
|
if (!name) {
|
@@ -4605,12 +4644,12 @@ function toStoreURIRuntime(sthis, name, sopts) {
|
|
4605
4644
|
if (!sopts.base) {
|
4606
4645
|
const fp_env = sthis.env.get("FP_STORAGE_URL");
|
4607
4646
|
if (fp_env) {
|
4608
|
-
sopts = { ...sopts, base:
|
4647
|
+
sopts = { ...sopts, base: import_cement20.BuildURI.from(fp_env).setParam("urlGen" /* URL_GEN */, "fromEnv") };
|
4609
4648
|
} else {
|
4610
4649
|
sopts = { ...sopts, base: getDefaultURI(sthis).build().setParam("urlGen" /* URL_GEN */, "default") };
|
4611
4650
|
}
|
4612
4651
|
}
|
4613
|
-
const bbase =
|
4652
|
+
const bbase = import_cement20.BuildURI.from(sopts.base);
|
4614
4653
|
if (name) {
|
4615
4654
|
bbase.setParam("name" /* NAME */, name);
|
4616
4655
|
}
|
@@ -4651,7 +4690,7 @@ __export(runtime_exports, {
|
|
4651
4690
|
kc: () => keyed_crypto_exports,
|
4652
4691
|
mf: () => wait_pr_multiformats_exports,
|
4653
4692
|
registerKeyBagProviderFactory: () => registerKeyBagProviderFactory,
|
4654
|
-
runtimeFn: () =>
|
4693
|
+
runtimeFn: () => import_cement21.runtimeFn
|
4655
4694
|
});
|
4656
4695
|
|
4657
4696
|
// src/runtime/wait-pr-multiformats/index.ts
|
@@ -4665,7 +4704,7 @@ __export(wait_pr_multiformats_exports, {
|
|
4665
4704
|
var codec_interface_exports = {};
|
4666
4705
|
|
4667
4706
|
// src/runtime/index.ts
|
4668
|
-
var
|
4707
|
+
var import_cement21 = require("@adviser/cement");
|
4669
4708
|
|
4670
4709
|
// src/runtime/gateways/index.ts
|
4671
4710
|
var gateways_exports = {};
|
@@ -4673,7 +4712,8 @@ __export(gateways_exports, {
|
|
4673
4712
|
DefSerdeGateway: () => DefSerdeGateway,
|
4674
4713
|
file: () => file_exports,
|
4675
4714
|
fpDeserialize: () => fpDeserialize,
|
4676
|
-
fpSerialize: () => fpSerialize
|
4715
|
+
fpSerialize: () => fpSerialize,
|
4716
|
+
memory: () => gateway_exports
|
4677
4717
|
});
|
4678
4718
|
|
4679
4719
|
// src/runtime/gateways/file/index.ts
|
@@ -4685,6 +4725,6 @@ __export(file_exports, {
|
|
4685
4725
|
|
4686
4726
|
// src/version.ts
|
4687
4727
|
var PACKAGE_VERSION = Object.keys({
|
4688
|
-
"0.20.0-dev-preview-
|
4728
|
+
"0.20.0-dev-preview-16": "xxxx"
|
4689
4729
|
})[0];
|
4690
4730
|
//# sourceMappingURL=index.cjs.map
|