@fireproof/core 0.20.0-dev-preview-14 → 0.20.0-dev-preview-15
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 +79 -44
- package/index.cjs.map +1 -1
- package/index.d.cts +22 -18
- package/index.d.ts +22 -18
- package/index.js +69 -34
- package/index.js.map +1 -1
- package/metafile-cjs.json +1 -1
- package/metafile-esm.json +1 -1
- package/package.json +1 -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");
|
@@ -1251,16 +1251,20 @@ var DefSerdeGateway = class {
|
|
1251
1251
|
this.subscribeFn = /* @__PURE__ */ new Map();
|
1252
1252
|
this.gw = gw;
|
1253
1253
|
}
|
1254
|
-
|
1254
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1255
|
+
start(sthis, baseURL, loader) {
|
1255
1256
|
return this.gw.start(baseURL, sthis);
|
1256
1257
|
}
|
1257
|
-
|
1258
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1259
|
+
async buildUrl(sthis, baseUrl, key, loader) {
|
1258
1260
|
return this.gw.buildUrl(baseUrl, key, sthis);
|
1259
1261
|
}
|
1260
|
-
|
1262
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1263
|
+
async close(sthis, uri, loader) {
|
1261
1264
|
return this.gw.close(uri, sthis);
|
1262
1265
|
}
|
1263
|
-
|
1266
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1267
|
+
async put(sthis, url, env, loader) {
|
1264
1268
|
const rUint8 = await fpSerialize(sthis, env);
|
1265
1269
|
if (rUint8.isErr()) return rUint8;
|
1266
1270
|
const ret = this.gw.put(url, rUint8.Ok(), sthis);
|
@@ -1271,12 +1275,13 @@ var DefSerdeGateway = class {
|
|
1271
1275
|
}
|
1272
1276
|
return ret;
|
1273
1277
|
}
|
1274
|
-
|
1278
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1279
|
+
async get(sthis, url, loader) {
|
1275
1280
|
const res = await this.gw.get(url, sthis);
|
1276
1281
|
if (res.isErr()) return import_cement9.Result.Err(res.Err());
|
1277
1282
|
return fpDeserialize(sthis, url, res);
|
1278
1283
|
}
|
1279
|
-
async subscribe(sthis, url, callback) {
|
1284
|
+
async subscribe(sthis, url, callback, loader) {
|
1280
1285
|
if (!this.gw.subscribe) {
|
1281
1286
|
this.subscribeFn.set(url.toString(), callback);
|
1282
1287
|
return import_cement9.Result.Ok(() => {
|
@@ -1295,13 +1300,16 @@ var DefSerdeGateway = class {
|
|
1295
1300
|
);
|
1296
1301
|
return unreg;
|
1297
1302
|
}
|
1298
|
-
|
1303
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1304
|
+
async delete(sthis, url, loader) {
|
1299
1305
|
return this.gw.delete(url, sthis);
|
1300
1306
|
}
|
1301
|
-
|
1307
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1308
|
+
async destroy(sthis, baseURL, loader) {
|
1302
1309
|
return this.gw.destroy(baseURL, sthis);
|
1303
1310
|
}
|
1304
|
-
|
1311
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
1312
|
+
async getPlain(sthis, iurl, key, loader) {
|
1305
1313
|
return this.gw.getPlain(iurl, key, sthis);
|
1306
1314
|
}
|
1307
1315
|
};
|
@@ -1936,7 +1944,7 @@ var DatabaseImpl = class {
|
|
1936
1944
|
};
|
1937
1945
|
|
1938
1946
|
// src/crdt.ts
|
1939
|
-
var
|
1947
|
+
var import_cement19 = require("@adviser/cement");
|
1940
1948
|
|
1941
1949
|
// src/blockstore/index.ts
|
1942
1950
|
var blockstore_exports = {};
|
@@ -3687,6 +3695,9 @@ function toStoreRuntime(sthis, endeOpts = {}) {
|
|
3687
3695
|
};
|
3688
3696
|
}
|
3689
3697
|
|
3698
|
+
// src/blockstore/connection-base.ts
|
3699
|
+
var import_cement17 = require("@adviser/cement");
|
3700
|
+
|
3690
3701
|
// src/blockstore/store-remote.ts
|
3691
3702
|
async function RemoteDataStore(sthis, url, opts) {
|
3692
3703
|
const ds = new DataStoreImpl(sthis, url, opts);
|
@@ -3699,6 +3710,22 @@ async function RemoteMetaStore(sthis, url, opts) {
|
|
3699
3710
|
return ms;
|
3700
3711
|
}
|
3701
3712
|
|
3713
|
+
// src/context.ts
|
3714
|
+
var Context = class {
|
3715
|
+
constructor() {
|
3716
|
+
this.ctx = /* @__PURE__ */ new Map();
|
3717
|
+
}
|
3718
|
+
set(key, value) {
|
3719
|
+
this.ctx.set(key, value);
|
3720
|
+
}
|
3721
|
+
get(key) {
|
3722
|
+
return this.ctx.get(key);
|
3723
|
+
}
|
3724
|
+
delete(key) {
|
3725
|
+
this.ctx.delete(key);
|
3726
|
+
}
|
3727
|
+
};
|
3728
|
+
|
3702
3729
|
// src/blockstore/connection-base.ts
|
3703
3730
|
function coerceLoader(ref) {
|
3704
3731
|
const refl = ref;
|
@@ -3713,10 +3740,22 @@ function coerceLoader(ref) {
|
|
3713
3740
|
}
|
3714
3741
|
var ConnectionBase = class {
|
3715
3742
|
constructor(url, logger) {
|
3716
|
-
|
3743
|
+
// loaded: Promise<void> = Promise.resolve();
|
3744
|
+
this.context = new Context();
|
3745
|
+
this._loaded = /* @__PURE__ */ new Set();
|
3746
|
+
this._metaIsLoading = false;
|
3717
3747
|
this.logger = logger;
|
3718
3748
|
this.url = url;
|
3719
3749
|
}
|
3750
|
+
loaded() {
|
3751
|
+
const f = new import_cement17.Future();
|
3752
|
+
if (!this._metaIsLoading) {
|
3753
|
+
f.resolve();
|
3754
|
+
} else {
|
3755
|
+
this._loaded.add(f);
|
3756
|
+
}
|
3757
|
+
return f;
|
3758
|
+
}
|
3720
3759
|
async refresh() {
|
3721
3760
|
await throwFalsy(throwFalsy(this.loader).remoteMetaStore).load();
|
3722
3761
|
await (await throwFalsy(this.loader).WALStore()).process();
|
@@ -3744,22 +3783,34 @@ var ConnectionBase = class {
|
|
3744
3783
|
loader
|
3745
3784
|
});
|
3746
3785
|
this.loader.remoteMetaStore = remote;
|
3747
|
-
this.
|
3786
|
+
this._metaIsLoading = true;
|
3787
|
+
this.loader.ready().then(async () => {
|
3748
3788
|
return remote.load().then(async () => {
|
3749
|
-
|
3789
|
+
const res = await (0, import_cement17.exception2Result)(async () => {
|
3790
|
+
return await (await throwFalsy(this.loader).WALStore()).process();
|
3791
|
+
});
|
3792
|
+
this._metaIsLoading = false;
|
3793
|
+
for (const f of this._loaded) {
|
3794
|
+
if (res.isErr()) {
|
3795
|
+
f.reject(res.Err());
|
3796
|
+
} else {
|
3797
|
+
f.resolve();
|
3798
|
+
}
|
3799
|
+
}
|
3800
|
+
this._loaded.clear();
|
3750
3801
|
});
|
3751
3802
|
});
|
3752
3803
|
}
|
3753
3804
|
async connectStorage(refl) {
|
3754
3805
|
const loader = coerceLoader(refl);
|
3755
|
-
if (!loader) throw this.logger.Error().Msg("
|
3806
|
+
if (!loader) throw this.logger.Error().Msg("connectStorage: loader is required").AsError();
|
3756
3807
|
this.loader = loader;
|
3757
3808
|
const dataUrl = this.url.build().defParam("store" /* STORE */, "data").URI();
|
3758
3809
|
const rgateway = await getStartedGateway(loader.sthis, dataUrl);
|
3759
3810
|
if (rgateway.isErr())
|
3760
|
-
throw this.logger.Error().Result("err", rgateway).Url(dataUrl).Msg("
|
3811
|
+
throw this.logger.Error().Result("err", rgateway).Url(dataUrl).Msg("connectStorage: gateway is required").AsError();
|
3761
3812
|
const name = dataUrl.getParam("name" /* NAME */);
|
3762
|
-
if (!name) throw this.logger.Error().Url(dataUrl).Msg("
|
3813
|
+
if (!name) throw this.logger.Error().Url(dataUrl).Msg("connectStorage: name is required").AsError;
|
3763
3814
|
loader.remoteCarStore = await RemoteDataStore(loader.sthis, this.url, {
|
3764
3815
|
gateway: rgateway.Ok().gateway,
|
3765
3816
|
loader
|
@@ -4074,7 +4125,7 @@ async function getBlock(blocks, cidString) {
|
|
4074
4125
|
// src/crdt-clock.ts
|
4075
4126
|
var import_clock4 = require("@fireproof/vendor/@web3-storage/pail/clock");
|
4076
4127
|
var import_crdt2 = require("@fireproof/vendor/@web3-storage/pail/crdt");
|
4077
|
-
var
|
4128
|
+
var import_cement18 = require("@adviser/cement");
|
4078
4129
|
|
4079
4130
|
// src/apply-head-queue.ts
|
4080
4131
|
function applyHeadQueue(worker, logger) {
|
@@ -4131,7 +4182,7 @@ var CRDTClockImpl = class {
|
|
4131
4182
|
this.zoomers = /* @__PURE__ */ new Map();
|
4132
4183
|
this.watchers = /* @__PURE__ */ new Map();
|
4133
4184
|
this.emptyWatchers = /* @__PURE__ */ new Map();
|
4134
|
-
this._ready = new
|
4185
|
+
this._ready = new import_cement18.ResolveOnce();
|
4135
4186
|
this.sthis = blockstore.sthis;
|
4136
4187
|
this.blockstore = blockstore;
|
4137
4188
|
this.logger = ensureLogger(blockstore.sthis, "CRDTClock");
|
@@ -4257,7 +4308,7 @@ async function advanceBlocks(logger, newHead, tblocks, head) {
|
|
4257
4308
|
var CRDTImpl = class {
|
4258
4309
|
constructor(sthis, opts) {
|
4259
4310
|
this.indexers = /* @__PURE__ */ new Map();
|
4260
|
-
this.onceReady = new
|
4311
|
+
this.onceReady = new import_cement19.ResolveOnce();
|
4261
4312
|
this.sthis = sthis;
|
4262
4313
|
this.crdt = this;
|
4263
4314
|
this.logger = ensureLogger(sthis, "CRDT");
|
@@ -4375,24 +4426,8 @@ var CRDTImpl = class {
|
|
4375
4426
|
}
|
4376
4427
|
};
|
4377
4428
|
|
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
4429
|
// src/ledger.ts
|
4395
|
-
var ledgers = new
|
4430
|
+
var ledgers = new import_cement20.KeyedResolvOnce();
|
4396
4431
|
function keyConfigOpts(sthis, name, opts) {
|
4397
4432
|
return JSON.stringify(
|
4398
4433
|
toSortedArray({
|
@@ -4478,7 +4513,7 @@ var LedgerImpl = class {
|
|
4478
4513
|
this.shells = /* @__PURE__ */ new Set();
|
4479
4514
|
this.context = new Context();
|
4480
4515
|
this._onClosedFns = /* @__PURE__ */ new Map();
|
4481
|
-
this._ready = new
|
4516
|
+
this._ready = new import_cement20.ResolveOnce();
|
4482
4517
|
this.opts = opts;
|
4483
4518
|
this.sthis = sthis;
|
4484
4519
|
this.id = sthis.timeOrderedNextId().str;
|
@@ -4578,7 +4613,7 @@ var LedgerImpl = class {
|
|
4578
4613
|
};
|
4579
4614
|
function defaultURI2(sthis, curi, uri, store, ctx) {
|
4580
4615
|
ctx = ctx || {};
|
4581
|
-
const ret = (curi ?
|
4616
|
+
const ret = (curi ? import_cement20.URI.from(curi) : uri).build().setParam("store" /* STORE */, store);
|
4582
4617
|
if (!ret.hasParam("name" /* NAME */)) {
|
4583
4618
|
const name = sthis.pathOps.basename(ret.URI().pathname);
|
4584
4619
|
if (!name) {
|
@@ -4605,12 +4640,12 @@ function toStoreURIRuntime(sthis, name, sopts) {
|
|
4605
4640
|
if (!sopts.base) {
|
4606
4641
|
const fp_env = sthis.env.get("FP_STORAGE_URL");
|
4607
4642
|
if (fp_env) {
|
4608
|
-
sopts = { ...sopts, base:
|
4643
|
+
sopts = { ...sopts, base: import_cement20.BuildURI.from(fp_env).setParam("urlGen" /* URL_GEN */, "fromEnv") };
|
4609
4644
|
} else {
|
4610
4645
|
sopts = { ...sopts, base: getDefaultURI(sthis).build().setParam("urlGen" /* URL_GEN */, "default") };
|
4611
4646
|
}
|
4612
4647
|
}
|
4613
|
-
const bbase =
|
4648
|
+
const bbase = import_cement20.BuildURI.from(sopts.base);
|
4614
4649
|
if (name) {
|
4615
4650
|
bbase.setParam("name" /* NAME */, name);
|
4616
4651
|
}
|
@@ -4651,7 +4686,7 @@ __export(runtime_exports, {
|
|
4651
4686
|
kc: () => keyed_crypto_exports,
|
4652
4687
|
mf: () => wait_pr_multiformats_exports,
|
4653
4688
|
registerKeyBagProviderFactory: () => registerKeyBagProviderFactory,
|
4654
|
-
runtimeFn: () =>
|
4689
|
+
runtimeFn: () => import_cement21.runtimeFn
|
4655
4690
|
});
|
4656
4691
|
|
4657
4692
|
// src/runtime/wait-pr-multiformats/index.ts
|
@@ -4665,7 +4700,7 @@ __export(wait_pr_multiformats_exports, {
|
|
4665
4700
|
var codec_interface_exports = {};
|
4666
4701
|
|
4667
4702
|
// src/runtime/index.ts
|
4668
|
-
var
|
4703
|
+
var import_cement21 = require("@adviser/cement");
|
4669
4704
|
|
4670
4705
|
// src/runtime/gateways/index.ts
|
4671
4706
|
var gateways_exports = {};
|
@@ -4685,6 +4720,6 @@ __export(file_exports, {
|
|
4685
4720
|
|
4686
4721
|
// src/version.ts
|
4687
4722
|
var PACKAGE_VERSION = Object.keys({
|
4688
|
-
"0.20.0-dev-preview-
|
4723
|
+
"0.20.0-dev-preview-15": "xxxx"
|
4689
4724
|
})[0];
|
4690
4725
|
//# sourceMappingURL=index.cjs.map
|