@fireproof/core 0.20.0-dev-preview-12 → 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 +30 -5
- package/index.cjs.map +1 -1
- package/index.d.cts +19 -2
- package/index.d.ts +19 -2
- package/index.js +30 -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.d.cts
CHANGED
@@ -240,7 +240,7 @@ interface SerdeGateway {
|
|
240
240
|
put<T>(sthis: SuperThis, url: URI, body: FPEnvelope<T>, loader?: Loadable): Promise<VoidResult>;
|
241
241
|
get<S>(sthis: SuperThis, url: URI, loader?: Loadable): Promise<SerdeGetResult<S>>;
|
242
242
|
delete(sthis: SuperThis, url: URI, loader?: Loadable): Promise<VoidResult>;
|
243
|
-
subscribe
|
243
|
+
subscribe(sthis: SuperThis, url: URI, callback: (meta: FPEnvelopeMeta) => Promise<void>, loader?: Loadable): Promise<UnsubscribeResult>;
|
244
244
|
getPlain(sthis: SuperThis, url: URI, key: string, loader?: Loadable): Promise<Result<Uint8Array>>;
|
245
245
|
destroy(sthis: SuperThis, baseUrl: URI, loader?: Loadable): Promise<VoidResult>;
|
246
246
|
}
|
@@ -1532,9 +1532,26 @@ declare namespace index$2 {
|
|
1532
1532
|
export { index$2_KeyBagProviderFile as KeyBagProviderFile, index$2_sysFileSystemFactory as sysFileSystemFactory };
|
1533
1533
|
}
|
1534
1534
|
|
1535
|
+
declare class DefSerdeGateway implements SerdeGateway {
|
1536
|
+
readonly gw: Gateway;
|
1537
|
+
constructor(gw: Gateway);
|
1538
|
+
start(sthis: SuperThis, baseURL: URI): Promise<Result<URI>>;
|
1539
|
+
buildUrl(sthis: SuperThis, baseUrl: URI, key: string): Promise<Result<URI>>;
|
1540
|
+
close(sthis: SuperThis, uri: URI): Promise<Result<void>>;
|
1541
|
+
private subscribeFn;
|
1542
|
+
put<T>(sthis: SuperThis, url: URI, env: FPEnvelope<T>): Promise<Result<void>>;
|
1543
|
+
get<S>(sthis: SuperThis, url: URI): Promise<SerdeGetResult<S>>;
|
1544
|
+
subscribe(sthis: SuperThis, url: URI, callback: (meta: FPEnvelopeMeta) => Promise<void>): Promise<Result<() => void>>;
|
1545
|
+
delete(sthis: SuperThis, url: URI): Promise<Result<void>>;
|
1546
|
+
destroy(sthis: SuperThis, baseURL: URI): Promise<Result<void>>;
|
1547
|
+
getPlain(sthis: SuperThis, iurl: URI, key: string): Promise<Result<Uint8Array<ArrayBufferLike>, Error>>;
|
1548
|
+
}
|
1549
|
+
|
1535
1550
|
type index$1_CARDecodeEnvelope = CARDecodeEnvelope;
|
1536
1551
|
type index$1_CAREncodeEnvelope = CAREncodeEnvelope;
|
1537
1552
|
type index$1_Decoder = Decoder;
|
1553
|
+
type index$1_DefSerdeGateway = DefSerdeGateway;
|
1554
|
+
declare const index$1_DefSerdeGateway: typeof DefSerdeGateway;
|
1538
1555
|
type index$1_Encoder = Encoder;
|
1539
1556
|
type index$1_FILEDecodeEnvelope = FILEDecodeEnvelope;
|
1540
1557
|
type index$1_FILEEncodeEnvelope = FILEEncodeEnvelope;
|
@@ -1547,7 +1564,7 @@ type index$1_WALEncodeEnvelope = WALEncodeEnvelope;
|
|
1547
1564
|
declare const index$1_fpDeserialize: typeof fpDeserialize;
|
1548
1565
|
declare const index$1_fpSerialize: typeof fpSerialize;
|
1549
1566
|
declare namespace index$1 {
|
1550
|
-
export { type index$1_CARDecodeEnvelope as CARDecodeEnvelope, type index$1_CAREncodeEnvelope as CAREncodeEnvelope, type index$1_Decoder as Decoder, type index$1_Encoder as Encoder, type index$1_FILEDecodeEnvelope as FILEDecodeEnvelope, type index$1_FILEEncodeEnvelope as FILEEncodeEnvelope, type index$1_METADecodeEnvelope as METADecodeEnvelope, type index$1_METAEncodeEnvelope as METAEncodeEnvelope, type index$1_SerializedMeta as SerializedMeta, type index$1_SerializedWAL as SerializedWAL, type index$1_WALDecodeEnvelope as WALDecodeEnvelope, type index$1_WALEncodeEnvelope as WALEncodeEnvelope, index$2 as file, index$1_fpDeserialize as fpDeserialize, index$1_fpSerialize as fpSerialize };
|
1567
|
+
export { type index$1_CARDecodeEnvelope as CARDecodeEnvelope, type index$1_CAREncodeEnvelope as CAREncodeEnvelope, type index$1_Decoder as Decoder, index$1_DefSerdeGateway as DefSerdeGateway, type index$1_Encoder as Encoder, type index$1_FILEDecodeEnvelope as FILEDecodeEnvelope, type index$1_FILEEncodeEnvelope as FILEEncodeEnvelope, type index$1_METADecodeEnvelope as METADecodeEnvelope, type index$1_METAEncodeEnvelope as METAEncodeEnvelope, type index$1_SerializedMeta as SerializedMeta, type index$1_SerializedWAL as SerializedWAL, type index$1_WALDecodeEnvelope as WALDecodeEnvelope, type index$1_WALEncodeEnvelope as WALEncodeEnvelope, index$2 as file, index$1_fpDeserialize as fpDeserialize, index$1_fpSerialize as fpSerialize };
|
1551
1568
|
}
|
1552
1569
|
|
1553
1570
|
declare const FILESTORE_VERSION = "v0.19-file";
|
package/index.d.ts
CHANGED
@@ -240,7 +240,7 @@ interface SerdeGateway {
|
|
240
240
|
put<T>(sthis: SuperThis, url: URI, body: FPEnvelope<T>, loader?: Loadable): Promise<VoidResult>;
|
241
241
|
get<S>(sthis: SuperThis, url: URI, loader?: Loadable): Promise<SerdeGetResult<S>>;
|
242
242
|
delete(sthis: SuperThis, url: URI, loader?: Loadable): Promise<VoidResult>;
|
243
|
-
subscribe
|
243
|
+
subscribe(sthis: SuperThis, url: URI, callback: (meta: FPEnvelopeMeta) => Promise<void>, loader?: Loadable): Promise<UnsubscribeResult>;
|
244
244
|
getPlain(sthis: SuperThis, url: URI, key: string, loader?: Loadable): Promise<Result<Uint8Array>>;
|
245
245
|
destroy(sthis: SuperThis, baseUrl: URI, loader?: Loadable): Promise<VoidResult>;
|
246
246
|
}
|
@@ -1532,9 +1532,26 @@ declare namespace index$2 {
|
|
1532
1532
|
export { index$2_KeyBagProviderFile as KeyBagProviderFile, index$2_sysFileSystemFactory as sysFileSystemFactory };
|
1533
1533
|
}
|
1534
1534
|
|
1535
|
+
declare class DefSerdeGateway implements SerdeGateway {
|
1536
|
+
readonly gw: Gateway;
|
1537
|
+
constructor(gw: Gateway);
|
1538
|
+
start(sthis: SuperThis, baseURL: URI): Promise<Result<URI>>;
|
1539
|
+
buildUrl(sthis: SuperThis, baseUrl: URI, key: string): Promise<Result<URI>>;
|
1540
|
+
close(sthis: SuperThis, uri: URI): Promise<Result<void>>;
|
1541
|
+
private subscribeFn;
|
1542
|
+
put<T>(sthis: SuperThis, url: URI, env: FPEnvelope<T>): Promise<Result<void>>;
|
1543
|
+
get<S>(sthis: SuperThis, url: URI): Promise<SerdeGetResult<S>>;
|
1544
|
+
subscribe(sthis: SuperThis, url: URI, callback: (meta: FPEnvelopeMeta) => Promise<void>): Promise<Result<() => void>>;
|
1545
|
+
delete(sthis: SuperThis, url: URI): Promise<Result<void>>;
|
1546
|
+
destroy(sthis: SuperThis, baseURL: URI): Promise<Result<void>>;
|
1547
|
+
getPlain(sthis: SuperThis, iurl: URI, key: string): Promise<Result<Uint8Array<ArrayBufferLike>, Error>>;
|
1548
|
+
}
|
1549
|
+
|
1535
1550
|
type index$1_CARDecodeEnvelope = CARDecodeEnvelope;
|
1536
1551
|
type index$1_CAREncodeEnvelope = CAREncodeEnvelope;
|
1537
1552
|
type index$1_Decoder = Decoder;
|
1553
|
+
type index$1_DefSerdeGateway = DefSerdeGateway;
|
1554
|
+
declare const index$1_DefSerdeGateway: typeof DefSerdeGateway;
|
1538
1555
|
type index$1_Encoder = Encoder;
|
1539
1556
|
type index$1_FILEDecodeEnvelope = FILEDecodeEnvelope;
|
1540
1557
|
type index$1_FILEEncodeEnvelope = FILEEncodeEnvelope;
|
@@ -1547,7 +1564,7 @@ type index$1_WALEncodeEnvelope = WALEncodeEnvelope;
|
|
1547
1564
|
declare const index$1_fpDeserialize: typeof fpDeserialize;
|
1548
1565
|
declare const index$1_fpSerialize: typeof fpSerialize;
|
1549
1566
|
declare namespace index$1 {
|
1550
|
-
export { type index$1_CARDecodeEnvelope as CARDecodeEnvelope, type index$1_CAREncodeEnvelope as CAREncodeEnvelope, type index$1_Decoder as Decoder, type index$1_Encoder as Encoder, type index$1_FILEDecodeEnvelope as FILEDecodeEnvelope, type index$1_FILEEncodeEnvelope as FILEEncodeEnvelope, type index$1_METADecodeEnvelope as METADecodeEnvelope, type index$1_METAEncodeEnvelope as METAEncodeEnvelope, type index$1_SerializedMeta as SerializedMeta, type index$1_SerializedWAL as SerializedWAL, type index$1_WALDecodeEnvelope as WALDecodeEnvelope, type index$1_WALEncodeEnvelope as WALEncodeEnvelope, index$2 as file, index$1_fpDeserialize as fpDeserialize, index$1_fpSerialize as fpSerialize };
|
1567
|
+
export { type index$1_CARDecodeEnvelope as CARDecodeEnvelope, type index$1_CAREncodeEnvelope as CAREncodeEnvelope, type index$1_Decoder as Decoder, index$1_DefSerdeGateway as DefSerdeGateway, type index$1_Encoder as Encoder, type index$1_FILEDecodeEnvelope as FILEDecodeEnvelope, type index$1_FILEEncodeEnvelope as FILEEncodeEnvelope, type index$1_METADecodeEnvelope as METADecodeEnvelope, type index$1_METAEncodeEnvelope as METAEncodeEnvelope, type index$1_SerializedMeta as SerializedMeta, type index$1_SerializedWAL as SerializedWAL, type index$1_WALDecodeEnvelope as WALDecodeEnvelope, type index$1_WALEncodeEnvelope as WALEncodeEnvelope, index$2 as file, index$1_fpDeserialize as fpDeserialize, index$1_fpSerialize as fpSerialize };
|
1551
1568
|
}
|
1552
1569
|
|
1553
1570
|
declare const FILESTORE_VERSION = "v0.19-file";
|
package/index.js
CHANGED
@@ -1029,9 +1029,6 @@ var MemoryGateway = class {
|
|
1029
1029
|
// src/runtime/gateways/def-serde-gateway.ts
|
1030
1030
|
import { Result as Result7 } from "@adviser/cement";
|
1031
1031
|
|
1032
|
-
// src/runtime/gateways/fp-envelope-serialize.ts
|
1033
|
-
import { exception2Result as exception2Result2, Result as Result6 } from "@adviser/cement";
|
1034
|
-
|
1035
1032
|
// src/blockstore/fp-envelope.ts
|
1036
1033
|
import { Result as Result5 } from "@adviser/cement";
|
1037
1034
|
var FPEnvelopeType = /* @__PURE__ */ ((FPEnvelopeType2) => {
|
@@ -1049,6 +1046,7 @@ function File2FPMsg(fpfile) {
|
|
1049
1046
|
}
|
1050
1047
|
|
1051
1048
|
// src/runtime/gateways/fp-envelope-serialize.ts
|
1049
|
+
import { exception2Result as exception2Result2, Result as Result6 } from "@adviser/cement";
|
1052
1050
|
import { decodeEventBlock, EventBlock } from "@fireproof/vendor/@web3-storage/pail/clock";
|
1053
1051
|
import { base64pad } from "multiformats/bases/base64";
|
1054
1052
|
import { CID } from "multiformats";
|
@@ -1202,6 +1200,7 @@ async function fpDeserialize(sthis, url, intoRaw, pdecoder) {
|
|
1202
1200
|
// src/runtime/gateways/def-serde-gateway.ts
|
1203
1201
|
var DefSerdeGateway = class {
|
1204
1202
|
constructor(gw) {
|
1203
|
+
this.subscribeFn = /* @__PURE__ */ new Map();
|
1205
1204
|
this.gw = gw;
|
1206
1205
|
}
|
1207
1206
|
start(sthis, baseURL) {
|
@@ -1216,13 +1215,38 @@ var DefSerdeGateway = class {
|
|
1216
1215
|
async put(sthis, url, env) {
|
1217
1216
|
const rUint8 = await fpSerialize(sthis, env);
|
1218
1217
|
if (rUint8.isErr()) return rUint8;
|
1219
|
-
|
1218
|
+
const ret = this.gw.put(url, rUint8.Ok(), sthis);
|
1219
|
+
if (env.type === "meta" /* META */) {
|
1220
|
+
if (this.subscribeFn.has(url.toString())) {
|
1221
|
+
this.subscribeFn.get(url.toString())(env);
|
1222
|
+
}
|
1223
|
+
}
|
1224
|
+
return ret;
|
1220
1225
|
}
|
1221
1226
|
async get(sthis, url) {
|
1222
1227
|
const res = await this.gw.get(url, sthis);
|
1223
1228
|
if (res.isErr()) return Result7.Err(res.Err());
|
1224
1229
|
return fpDeserialize(sthis, url, res);
|
1225
1230
|
}
|
1231
|
+
async subscribe(sthis, url, callback) {
|
1232
|
+
if (!this.gw.subscribe) {
|
1233
|
+
this.subscribeFn.set(url.toString(), callback);
|
1234
|
+
return Result7.Ok(() => {
|
1235
|
+
this.subscribeFn.delete(url.toString());
|
1236
|
+
});
|
1237
|
+
}
|
1238
|
+
const unreg = await this.gw.subscribe(
|
1239
|
+
url,
|
1240
|
+
(raw2) => {
|
1241
|
+
fpDeserialize(sthis, url, Result7.Ok(raw2)).then((res) => {
|
1242
|
+
if (res.isErr()) return;
|
1243
|
+
callback(res.Ok());
|
1244
|
+
});
|
1245
|
+
},
|
1246
|
+
sthis
|
1247
|
+
);
|
1248
|
+
return unreg;
|
1249
|
+
}
|
1226
1250
|
async delete(sthis, url) {
|
1227
1251
|
return this.gw.delete(url, sthis);
|
1228
1252
|
}
|
@@ -4598,6 +4622,7 @@ import { runtimeFn as runtimeFn4 } from "@adviser/cement";
|
|
4598
4622
|
// src/runtime/gateways/index.ts
|
4599
4623
|
var gateways_exports = {};
|
4600
4624
|
__export(gateways_exports, {
|
4625
|
+
DefSerdeGateway: () => DefSerdeGateway,
|
4601
4626
|
file: () => file_exports,
|
4602
4627
|
fpDeserialize: () => fpDeserialize,
|
4603
4628
|
fpSerialize: () => fpSerialize
|
@@ -4612,7 +4637,7 @@ __export(file_exports, {
|
|
4612
4637
|
|
4613
4638
|
// src/version.ts
|
4614
4639
|
var PACKAGE_VERSION = Object.keys({
|
4615
|
-
"0.20.0-dev-preview-
|
4640
|
+
"0.20.0-dev-preview-14": "xxxx"
|
4616
4641
|
})[0];
|
4617
4642
|
export {
|
4618
4643
|
CRDTImpl,
|