@fireproof/core 0.20.0-dev-preview-13 → 0.20.0-dev-preview-14
Sign up to get free protection for your applications and to get access to all the features.
- package/index.cjs +29 -5
- package/index.cjs.map +1 -1
- package/index.d.cts +3 -1
- package/index.d.ts +3 -1
- package/index.js +29 -5
- package/index.js.map +1 -1
- package/metafile-cjs.json +1 -1
- package/metafile-esm.json +1 -1
- package/package.json +1 -1
- package/tests/fireproof/all-gateway.test.ts +15 -18
package/index.cjs
CHANGED
@@ -1077,9 +1077,6 @@ var MemoryGateway = class {
|
|
1077
1077
|
// src/runtime/gateways/def-serde-gateway.ts
|
1078
1078
|
var import_cement9 = require("@adviser/cement");
|
1079
1079
|
|
1080
|
-
// src/runtime/gateways/fp-envelope-serialize.ts
|
1081
|
-
var import_cement8 = require("@adviser/cement");
|
1082
|
-
|
1083
1080
|
// src/blockstore/fp-envelope.ts
|
1084
1081
|
var import_cement7 = require("@adviser/cement");
|
1085
1082
|
var FPEnvelopeType = /* @__PURE__ */ ((FPEnvelopeType2) => {
|
@@ -1097,6 +1094,7 @@ function File2FPMsg(fpfile) {
|
|
1097
1094
|
}
|
1098
1095
|
|
1099
1096
|
// src/runtime/gateways/fp-envelope-serialize.ts
|
1097
|
+
var import_cement8 = require("@adviser/cement");
|
1100
1098
|
var import_clock = require("@fireproof/vendor/@web3-storage/pail/clock");
|
1101
1099
|
var import_base64 = require("multiformats/bases/base64");
|
1102
1100
|
var import_multiformats = require("multiformats");
|
@@ -1250,6 +1248,7 @@ async function fpDeserialize(sthis, url, intoRaw, pdecoder) {
|
|
1250
1248
|
// src/runtime/gateways/def-serde-gateway.ts
|
1251
1249
|
var DefSerdeGateway = class {
|
1252
1250
|
constructor(gw) {
|
1251
|
+
this.subscribeFn = /* @__PURE__ */ new Map();
|
1253
1252
|
this.gw = gw;
|
1254
1253
|
}
|
1255
1254
|
start(sthis, baseURL) {
|
@@ -1264,13 +1263,38 @@ var DefSerdeGateway = class {
|
|
1264
1263
|
async put(sthis, url, env) {
|
1265
1264
|
const rUint8 = await fpSerialize(sthis, env);
|
1266
1265
|
if (rUint8.isErr()) return rUint8;
|
1267
|
-
|
1266
|
+
const ret = this.gw.put(url, rUint8.Ok(), sthis);
|
1267
|
+
if (env.type === "meta" /* META */) {
|
1268
|
+
if (this.subscribeFn.has(url.toString())) {
|
1269
|
+
this.subscribeFn.get(url.toString())(env);
|
1270
|
+
}
|
1271
|
+
}
|
1272
|
+
return ret;
|
1268
1273
|
}
|
1269
1274
|
async get(sthis, url) {
|
1270
1275
|
const res = await this.gw.get(url, sthis);
|
1271
1276
|
if (res.isErr()) return import_cement9.Result.Err(res.Err());
|
1272
1277
|
return fpDeserialize(sthis, url, res);
|
1273
1278
|
}
|
1279
|
+
async subscribe(sthis, url, callback) {
|
1280
|
+
if (!this.gw.subscribe) {
|
1281
|
+
this.subscribeFn.set(url.toString(), callback);
|
1282
|
+
return import_cement9.Result.Ok(() => {
|
1283
|
+
this.subscribeFn.delete(url.toString());
|
1284
|
+
});
|
1285
|
+
}
|
1286
|
+
const unreg = await this.gw.subscribe(
|
1287
|
+
url,
|
1288
|
+
(raw2) => {
|
1289
|
+
fpDeserialize(sthis, url, import_cement9.Result.Ok(raw2)).then((res) => {
|
1290
|
+
if (res.isErr()) return;
|
1291
|
+
callback(res.Ok());
|
1292
|
+
});
|
1293
|
+
},
|
1294
|
+
sthis
|
1295
|
+
);
|
1296
|
+
return unreg;
|
1297
|
+
}
|
1274
1298
|
async delete(sthis, url) {
|
1275
1299
|
return this.gw.delete(url, sthis);
|
1276
1300
|
}
|
@@ -4661,6 +4685,6 @@ __export(file_exports, {
|
|
4661
4685
|
|
4662
4686
|
// src/version.ts
|
4663
4687
|
var PACKAGE_VERSION = Object.keys({
|
4664
|
-
"0.20.0-dev-preview-
|
4688
|
+
"0.20.0-dev-preview-14": "xxxx"
|
4665
4689
|
})[0];
|
4666
4690
|
//# sourceMappingURL=index.cjs.map
|