@fireproof/core 0.20.0-dev-preview-58 → 0.20.0-dev-preview-61
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 +1 -1
- package/index.cjs +90 -91
- package/index.cjs.map +1 -1
- package/index.js +12 -13
- package/index.js.map +1 -1
- package/metafile-cjs.json +1 -1
- package/metafile-esm.json +1 -1
- package/package.json +2 -2
- package/react/index.cjs +59 -70
- package/react/index.cjs.map +1 -1
- package/react/index.d.cts +13 -41
- package/react/index.d.ts +13 -41
- package/react/index.js +58 -69
- package/react/index.js.map +1 -1
- package/react/metafile-cjs.json +1 -1
- package/react/metafile-esm.json +1 -1
- package/tests/fireproof/attachable.test.ts +1 -2
- package/tests/fireproof/crdt.test.ts +14 -4
- package/tests/react/{useFireproof.test.tsx → use-fireproof.test.tsx} +92 -13
package/deno.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"imports": {
|
3
3
|
"@fireproof/core": "./index.js",
|
4
|
-
"@adviser/cement": "npm:@adviser/cement@~0.4.
|
4
|
+
"@adviser/cement": "npm:@adviser/cement@~0.4.7",
|
5
5
|
"@fireproof/vendor": "npm:@fireproof/vendor@~2.0.2",
|
6
6
|
"@ipld/car": "npm:@ipld/car@^5.4.0",
|
7
7
|
"@ipld/dag-cbor": "npm:@ipld/dag-cbor@^9.2.2",
|
package/index.cjs
CHANGED
@@ -1904,7 +1904,7 @@ var Index = class {
|
|
1904
1904
|
this.mapFnString = "";
|
1905
1905
|
this.byKey = new IndexTree();
|
1906
1906
|
this.byId = new IndexTree();
|
1907
|
-
this.includeDocsDefault =
|
1907
|
+
this.includeDocsDefault = true;
|
1908
1908
|
this.logger = ensureLogger(sthis, "Index");
|
1909
1909
|
this.blockstore = crdt.indexBlockstore;
|
1910
1910
|
this.crdt = crdt;
|
@@ -5298,7 +5298,7 @@ __export(runtime_exports, {
|
|
5298
5298
|
keysByFingerprint: () => keysByFingerprint,
|
5299
5299
|
mf: () => wait_pr_multiformats_exports,
|
5300
5300
|
registerKeyBagProviderFactory: () => registerKeyBagProviderFactory,
|
5301
|
-
runtimeFn: () =>
|
5301
|
+
runtimeFn: () => import_cement28.runtimeFn,
|
5302
5302
|
sts: () => sts_service_exports,
|
5303
5303
|
toKeyWithFingerPrint: () => toKeyWithFingerPrint
|
5304
5304
|
});
|
@@ -5409,7 +5409,7 @@ var SessionTokenService = class _SessionTokenService {
|
|
5409
5409
|
};
|
5410
5410
|
|
5411
5411
|
// src/runtime/index.ts
|
5412
|
-
var
|
5412
|
+
var import_cement28 = require("@adviser/cement");
|
5413
5413
|
|
5414
5414
|
// src/runtime/gateways/index.ts
|
5415
5415
|
var gateways_exports = {};
|
@@ -5438,7 +5438,7 @@ __export(gateway_exports2, {
|
|
5438
5438
|
registerFireproofCloudStoreProtocol: () => registerFireproofCloudStoreProtocol,
|
5439
5439
|
toCloud: () => toCloud
|
5440
5440
|
});
|
5441
|
-
var
|
5441
|
+
var import_cement27 = require("@adviser/cement");
|
5442
5442
|
|
5443
5443
|
// src/protocols/cloud/msg-types.ts
|
5444
5444
|
var VERSION = "FP-MSG-1.0";
|
@@ -5877,7 +5877,7 @@ var HttpConnection = class extends MsgRawConnectionBase {
|
|
5877
5877
|
this,
|
5878
5878
|
req,
|
5879
5879
|
this.logger.Error().Any(url).Str("status", res.status.toString()).Str("statusText", res.statusText).Msg("HTTP Error").AsError(),
|
5880
|
-
await res.text()
|
5880
|
+
await res.text().catch(() => "no body")
|
5881
5881
|
)
|
5882
5882
|
);
|
5883
5883
|
}
|
@@ -6319,14 +6319,13 @@ function buildResDelData(msgCtx, req, ctx) {
|
|
6319
6319
|
}
|
6320
6320
|
|
6321
6321
|
// src/protocols/cloud/msg-types-meta.ts
|
6322
|
-
var import_cement26 = require("@adviser/cement");
|
6323
6322
|
function buildReqPutMeta(sthis, auth, signedUrlParams, meta, gwCtx) {
|
6324
6323
|
return {
|
6325
6324
|
auth,
|
6326
6325
|
tid: sthis.nextId().str,
|
6327
6326
|
type: "reqPutMeta",
|
6328
6327
|
...gwCtx,
|
6329
|
-
version:
|
6328
|
+
version: VERSION,
|
6330
6329
|
methodParams: {
|
6331
6330
|
method: "PUT",
|
6332
6331
|
store: "meta"
|
@@ -6349,7 +6348,7 @@ function buildResPutMeta(_msgCtx, req, meta, signedUrl) {
|
|
6349
6348
|
tenant: req.tenant,
|
6350
6349
|
type: "resPutMeta",
|
6351
6350
|
signedUrl,
|
6352
|
-
version:
|
6351
|
+
version: VERSION
|
6353
6352
|
};
|
6354
6353
|
}
|
6355
6354
|
function MsgIsResPutMeta(qs) {
|
@@ -6364,7 +6363,7 @@ function buildBindGetMeta(sthis, auth, params, gwCtx) {
|
|
6364
6363
|
tid: sthis.nextId().str,
|
6365
6364
|
...gwCtx,
|
6366
6365
|
type: "bindGetMeta",
|
6367
|
-
version:
|
6366
|
+
version: VERSION,
|
6368
6367
|
params
|
6369
6368
|
};
|
6370
6369
|
}
|
@@ -6379,7 +6378,7 @@ function buildEventGetMeta(_msgCtx, req, meta, gwCtx, signedUrl) {
|
|
6379
6378
|
type: "eventGetMeta",
|
6380
6379
|
params: req.params,
|
6381
6380
|
methodParams: { method: "GET", store: "meta" },
|
6382
|
-
version:
|
6381
|
+
version: VERSION
|
6383
6382
|
};
|
6384
6383
|
}
|
6385
6384
|
function MsgIsEventGetMeta(qs) {
|
@@ -6394,7 +6393,7 @@ function buildReqDelMeta(sthis, auth, params, gwCtx, meta) {
|
|
6394
6393
|
params,
|
6395
6394
|
meta,
|
6396
6395
|
type: "reqDelMeta",
|
6397
|
-
version:
|
6396
|
+
version: VERSION
|
6398
6397
|
// params: signedUrlParams,
|
6399
6398
|
};
|
6400
6399
|
}
|
@@ -6412,7 +6411,7 @@ function buildResDelMeta(req, params, signedUrl) {
|
|
6412
6411
|
tenant: req.tenant,
|
6413
6412
|
type: "resDelMeta",
|
6414
6413
|
// key: req.key,
|
6415
|
-
version:
|
6414
|
+
version: VERSION
|
6416
6415
|
};
|
6417
6416
|
}
|
6418
6417
|
function MsgIsResDelMeta(qs) {
|
@@ -6420,7 +6419,7 @@ function MsgIsResDelMeta(qs) {
|
|
6420
6419
|
}
|
6421
6420
|
|
6422
6421
|
// src/runtime/meta-key-hack.ts
|
6423
|
-
var
|
6422
|
+
var import_cement26 = require("@adviser/cement");
|
6424
6423
|
function fromV1toV2SerializedMetaKey(v1s, keys = []) {
|
6425
6424
|
const res = v1s.reduce(
|
6426
6425
|
(acc, v1) => {
|
@@ -6473,7 +6472,7 @@ function toV2SerializedMetaKey(or) {
|
|
6473
6472
|
async function V2SerializedMetaKeyExtractKey(ctx, v2) {
|
6474
6473
|
const kb = await ctx.loader.keyBag();
|
6475
6474
|
if (!kb) {
|
6476
|
-
return Promise.resolve(
|
6475
|
+
return Promise.resolve(import_cement26.Result.Err(new Error("missing keybag")));
|
6477
6476
|
}
|
6478
6477
|
const dataUrl = await ctx.loader.attachedStores.local().active.car.url();
|
6479
6478
|
const keyName = dataUrl.getParam(PARAM.STORE_KEY);
|
@@ -6492,19 +6491,19 @@ async function V2SerializedMetaKeyExtractKey(ctx, v2) {
|
|
6492
6491
|
}
|
6493
6492
|
}
|
6494
6493
|
}
|
6495
|
-
return Promise.resolve(
|
6494
|
+
return Promise.resolve(import_cement26.Result.Ok(v2.metas));
|
6496
6495
|
}
|
6497
6496
|
async function decodeAsToSerializedMeta(ctx, raw2) {
|
6498
|
-
const rJsObj = (0,
|
6497
|
+
const rJsObj = (0, import_cement26.exception2Result)(() => JSON.parse(ctx.loader.sthis.txt.decode(raw2)));
|
6499
6498
|
if (rJsObj.isErr()) {
|
6500
|
-
return
|
6499
|
+
return import_cement26.Result.Err(rJsObj);
|
6501
6500
|
}
|
6502
6501
|
const v2 = toV2SerializedMetaKey(rJsObj.unwrap());
|
6503
6502
|
const metas = await V2SerializedMetaKeyExtractKey(ctx, v2);
|
6504
6503
|
if (metas.isErr()) {
|
6505
|
-
return
|
6504
|
+
return import_cement26.Result.Err(metas);
|
6506
6505
|
}
|
6507
|
-
return
|
6506
|
+
return import_cement26.Result.Ok({
|
6508
6507
|
metas: metas.Ok(),
|
6509
6508
|
keys: v2.keys
|
6510
6509
|
});
|
@@ -6518,13 +6517,13 @@ function addKeyToDbMetaDecoder(ctx) {
|
|
6518
6517
|
meta: async (sthis, raw2) => {
|
6519
6518
|
const r = await decodeAsToSerializedMeta(ctx, raw2);
|
6520
6519
|
if (r.isErr()) {
|
6521
|
-
return Promise.resolve(
|
6520
|
+
return Promise.resolve(import_cement26.Result.Err(r));
|
6522
6521
|
}
|
6523
6522
|
if (lastDecodedMetas.length > 2) {
|
6524
6523
|
lastDecodedMetas.shift();
|
6525
6524
|
}
|
6526
6525
|
lastDecodedMetas.push(r.Ok());
|
6527
|
-
return Promise.resolve(
|
6526
|
+
return Promise.resolve(import_cement26.Result.Ok(r.Ok().metas));
|
6528
6527
|
}
|
6529
6528
|
}
|
6530
6529
|
};
|
@@ -6533,15 +6532,15 @@ async function wrapEncode(ctx, payload, fn) {
|
|
6533
6532
|
const carStore = ctx.loader.attachedStores.local().active.car;
|
6534
6533
|
const kb = await ctx.loader.keyBag();
|
6535
6534
|
if (!kb) {
|
6536
|
-
return Promise.resolve(
|
6535
|
+
return Promise.resolve(import_cement26.Result.Err(new Error("missing keybag")));
|
6537
6536
|
}
|
6538
6537
|
const keyName = carStore.url().getParam(PARAM.STORE_KEY) ?? "";
|
6539
6538
|
const rKex = await kb.getNamedKey(keyName);
|
6540
6539
|
if (rKex.isErr()) {
|
6541
|
-
return Promise.resolve(
|
6540
|
+
return Promise.resolve(import_cement26.Result.Err(rKex.Err()));
|
6542
6541
|
}
|
6543
6542
|
const keyMaterials = await rKex.Ok().asKeysItem().then((i) => Object.values(i.keys).map((i2) => i2.key));
|
6544
|
-
return Promise.resolve(
|
6543
|
+
return Promise.resolve(import_cement26.Result.Ok(fn(payload, keyMaterials)));
|
6545
6544
|
}
|
6546
6545
|
function encodeAsV1SerializedMetaKey(ctx, payload) {
|
6547
6546
|
return wrapEncode(ctx, payload, (payload2, keyM) => payload2.map((p) => ({ ...p, key: keyM })));
|
@@ -6570,15 +6569,15 @@ function addKeyToDbMetaEncoder(ctx, version) {
|
|
6570
6569
|
obj = await encodeAsV2SerializedMetaKey(ctx, payload);
|
6571
6570
|
break;
|
6572
6571
|
default:
|
6573
|
-
return Promise.resolve(
|
6572
|
+
return Promise.resolve(import_cement26.Result.Err(`unknown version:[${version}]`));
|
6574
6573
|
}
|
6575
6574
|
if (obj.isErr()) {
|
6576
|
-
return Promise.resolve(
|
6575
|
+
return Promise.resolve(import_cement26.Result.Err(obj));
|
6577
6576
|
}
|
6578
6577
|
try {
|
6579
|
-
return Promise.resolve(
|
6578
|
+
return Promise.resolve(import_cement26.Result.Ok(sthis.txt.encode(JSON.stringify(obj.Ok()))));
|
6580
6579
|
} catch (e) {
|
6581
|
-
return Promise.resolve(
|
6580
|
+
return Promise.resolve(import_cement26.Result.Err(e));
|
6582
6581
|
}
|
6583
6582
|
}
|
6584
6583
|
}
|
@@ -6622,7 +6621,7 @@ var AddKeyToDbMetaGateway = class {
|
|
6622
6621
|
};
|
6623
6622
|
|
6624
6623
|
// src/runtime/gateways/cloud/gateway.ts
|
6625
|
-
var
|
6624
|
+
var VERSION2 = "v0.1-fp-cloud";
|
6626
6625
|
var BaseGateway = class {
|
6627
6626
|
constructor(sthis, module2) {
|
6628
6627
|
this.sthis = sthis;
|
@@ -6630,12 +6629,12 @@ var BaseGateway = class {
|
|
6630
6629
|
}
|
6631
6630
|
async buildReqSignedUrl(type, method, store, uri, conn) {
|
6632
6631
|
const rParams = uri.getParamsResult({
|
6633
|
-
key:
|
6634
|
-
store:
|
6635
|
-
path:
|
6636
|
-
tenant:
|
6637
|
-
name:
|
6638
|
-
index:
|
6632
|
+
key: import_cement27.param.REQUIRED,
|
6633
|
+
store: import_cement27.param.REQUIRED,
|
6634
|
+
path: import_cement27.param.OPTIONAL,
|
6635
|
+
tenant: import_cement27.param.REQUIRED,
|
6636
|
+
name: import_cement27.param.REQUIRED,
|
6637
|
+
index: import_cement27.param.OPTIONAL
|
6639
6638
|
});
|
6640
6639
|
if (rParams.isErr()) {
|
6641
6640
|
return buildErrorMsg(this, {}, rParams.Err());
|
@@ -6666,7 +6665,7 @@ var BaseGateway = class {
|
|
6666
6665
|
...params,
|
6667
6666
|
key: params.key
|
6668
6667
|
},
|
6669
|
-
version:
|
6668
|
+
version: VERSION2
|
6670
6669
|
};
|
6671
6670
|
}
|
6672
6671
|
async getReqSignedUrl(type, method, store, waitForFn, uri, conn) {
|
@@ -6678,7 +6677,7 @@ var BaseGateway = class {
|
|
6678
6677
|
}
|
6679
6678
|
async putObject(uri, uploadUrl, body, conn) {
|
6680
6679
|
this.logger.Debug().Any("url", { uploadUrl, uri }).Msg("put-fetch-url");
|
6681
|
-
const rUpload = await (0,
|
6680
|
+
const rUpload = await (0, import_cement27.exception2Result)(async () => fetch(uploadUrl, { method: "PUT", body }));
|
6682
6681
|
if (rUpload.isErr()) {
|
6683
6682
|
return this.logger.Error().Url(uploadUrl, "uploadUrl").Err(rUpload).Msg("Error in put fetch").ResultError();
|
6684
6683
|
}
|
@@ -6688,39 +6687,39 @@ var BaseGateway = class {
|
|
6688
6687
|
if (uri.getParam("testMode")) {
|
6689
6688
|
conn.citem.trackPuts.add(uri.toString());
|
6690
6689
|
}
|
6691
|
-
return
|
6690
|
+
return import_cement27.Result.Ok(void 0);
|
6692
6691
|
}
|
6693
6692
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
6694
6693
|
async getObject(uri, downloadUrl, _conn) {
|
6695
6694
|
this.logger.Debug().Any("url", { downloadUrl, uri }).Msg("get-fetch-url");
|
6696
|
-
const rDownload = await (0,
|
6695
|
+
const rDownload = await (0, import_cement27.exception2Result)(async () => fetch(downloadUrl.toString(), { method: "GET" }));
|
6697
6696
|
if (rDownload.isErr()) {
|
6698
6697
|
return this.logger.Error().Url(downloadUrl, "uploadUrl").Err(rDownload).Msg("Error in get downloadUrl").ResultError();
|
6699
6698
|
}
|
6700
6699
|
const download = rDownload.Ok();
|
6701
6700
|
if (!download.ok) {
|
6702
6701
|
if (download.status === 404) {
|
6703
|
-
return
|
6702
|
+
return import_cement27.Result.Err(new NotFoundError("Not found"));
|
6704
6703
|
}
|
6705
6704
|
return this.logger.Error().Url(downloadUrl, "uploadUrl").Err(rDownload).Msg("Error in get fetch").ResultError();
|
6706
6705
|
}
|
6707
|
-
return
|
6706
|
+
return import_cement27.Result.Ok((0, import_cement27.to_uint8)(await download.arrayBuffer()));
|
6708
6707
|
}
|
6709
6708
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
6710
6709
|
async delObject(uri, deleteUrl, _conn) {
|
6711
6710
|
this.logger.Debug().Any("url", { deleteUrl, uri }).Msg("get-fetch-url");
|
6712
|
-
const rDelete = await (0,
|
6711
|
+
const rDelete = await (0, import_cement27.exception2Result)(async () => fetch(deleteUrl.toString(), { method: "DELETE" }));
|
6713
6712
|
if (rDelete.isErr()) {
|
6714
6713
|
return this.logger.Error().Url(deleteUrl, "deleteUrl").Err(rDelete).Msg("Error in get deleteURL").ResultError();
|
6715
6714
|
}
|
6716
6715
|
const download = rDelete.Ok();
|
6717
6716
|
if (!download.ok) {
|
6718
6717
|
if (download.status === 404) {
|
6719
|
-
return
|
6718
|
+
return import_cement27.Result.Err(new NotFoundError("Not found"));
|
6720
6719
|
}
|
6721
6720
|
return this.logger.Error().Url(deleteUrl, "deleteUrl").Err(rDelete).Msg("Error in del fetch").ResultError();
|
6722
6721
|
}
|
6723
|
-
return
|
6722
|
+
return import_cement27.Result.Ok(void 0);
|
6724
6723
|
}
|
6725
6724
|
};
|
6726
6725
|
var DataGateway = class extends BaseGateway {
|
@@ -6763,15 +6762,15 @@ var DataGateway = class extends BaseGateway {
|
|
6763
6762
|
};
|
6764
6763
|
function getGwCtx(conn, uri) {
|
6765
6764
|
const rParams = uri.getParamsResult({
|
6766
|
-
tid:
|
6767
|
-
tenant:
|
6768
|
-
ledger:
|
6765
|
+
tid: import_cement27.param.OPTIONAL,
|
6766
|
+
tenant: import_cement27.param.REQUIRED,
|
6767
|
+
ledger: import_cement27.param.REQUIRED
|
6769
6768
|
});
|
6770
6769
|
if (rParams.isErr()) {
|
6771
|
-
return
|
6770
|
+
return import_cement27.Result.Err(rParams);
|
6772
6771
|
}
|
6773
6772
|
const r = rParams.Ok();
|
6774
|
-
return
|
6773
|
+
return import_cement27.Result.Ok({
|
6775
6774
|
tid: r.tid,
|
6776
6775
|
conn,
|
6777
6776
|
tenant: {
|
@@ -6791,11 +6790,11 @@ var MetaGateway = class extends BaseGateway {
|
|
6791
6790
|
}
|
6792
6791
|
const rGwCtx = getGwCtx(ctx.conn.conn.Ok().conn, uri);
|
6793
6792
|
if (rGwCtx.isErr()) {
|
6794
|
-
return
|
6793
|
+
return import_cement27.Result.Err(rGwCtx);
|
6795
6794
|
}
|
6796
6795
|
const rAuthType = await ctx.conn.conn.Ok().authType();
|
6797
6796
|
if (rAuthType.isErr()) {
|
6798
|
-
return
|
6797
|
+
return import_cement27.Result.Err(rAuthType);
|
6799
6798
|
}
|
6800
6799
|
const res = await ctx.conn.conn.Ok().request(buildBindGetMeta(ctx.loader.sthis, rAuthType.Ok(), reqSignedUrl.params, rGwCtx.Ok()), {
|
6801
6800
|
waitFor: MsgIsEventGetMeta
|
@@ -6806,9 +6805,9 @@ var MetaGateway = class extends BaseGateway {
|
|
6806
6805
|
const rV2Meta = await V2SerializedMetaKeyExtractKey(ctx, res.meta);
|
6807
6806
|
const rMeta = await decode2DbMetaEvents(ctx.loader.sthis, rV2Meta);
|
6808
6807
|
if (rMeta.isErr()) {
|
6809
|
-
return
|
6808
|
+
return import_cement27.Result.Err(rMeta);
|
6810
6809
|
}
|
6811
|
-
return
|
6810
|
+
return import_cement27.Result.Ok({
|
6812
6811
|
type: "meta",
|
6813
6812
|
payload: rMeta.Ok()
|
6814
6813
|
});
|
@@ -6821,11 +6820,11 @@ var MetaGateway = class extends BaseGateway {
|
|
6821
6820
|
}
|
6822
6821
|
const rGwCtx = getGwCtx(ctx.conn.conn.Ok().conn, uri);
|
6823
6822
|
if (rGwCtx.isErr()) {
|
6824
|
-
return
|
6823
|
+
return import_cement27.Result.Err(rGwCtx);
|
6825
6824
|
}
|
6826
6825
|
const rAuthType = await ctx.conn.conn.Ok().authType();
|
6827
6826
|
if (rAuthType.isErr()) {
|
6828
|
-
return
|
6827
|
+
return import_cement27.Result.Err(rAuthType);
|
6829
6828
|
}
|
6830
6829
|
const serializedMeta = await dbMetaEvent2Serialized(ctx.loader.sthis, meta.payload);
|
6831
6830
|
const rKeyedMeta = await encodeAsV2SerializedMetaKey(ctx, serializedMeta);
|
@@ -6839,7 +6838,7 @@ var MetaGateway = class extends BaseGateway {
|
|
6839
6838
|
if (MsgIsError(resMsg)) {
|
6840
6839
|
return this.logger.Error().Err(resMsg).Msg("Error in buildResSignedUrl").ResultError();
|
6841
6840
|
}
|
6842
|
-
return
|
6841
|
+
return import_cement27.Result.Ok(void 0);
|
6843
6842
|
}
|
6844
6843
|
async delete(ctx, uri) {
|
6845
6844
|
const reqSignedUrl = await this.getReqSignedUrl("reqDelMeta", "DELETE", "meta", MsgIsResDelData, uri, ctx.conn);
|
@@ -6848,11 +6847,11 @@ var MetaGateway = class extends BaseGateway {
|
|
6848
6847
|
}
|
6849
6848
|
const rGwCtx = getGwCtx(ctx.conn.conn.Ok().conn, uri);
|
6850
6849
|
if (rGwCtx.isErr()) {
|
6851
|
-
return
|
6850
|
+
return import_cement27.Result.Err(rGwCtx);
|
6852
6851
|
}
|
6853
6852
|
const rAuthType = await ctx.conn.conn.Ok().authType();
|
6854
6853
|
if (rAuthType.isErr()) {
|
6855
|
-
return
|
6854
|
+
return import_cement27.Result.Err(rAuthType);
|
6856
6855
|
}
|
6857
6856
|
const reqDelMeta = buildReqDelMeta(ctx.loader.sthis, rAuthType.Ok(), reqSignedUrl.params, rGwCtx.Ok());
|
6858
6857
|
const resMsg = await ctx.conn.conn.Ok().request(reqDelMeta, {
|
@@ -6861,7 +6860,7 @@ var MetaGateway = class extends BaseGateway {
|
|
6861
6860
|
if (MsgIsError(resMsg)) {
|
6862
6861
|
return this.logger.Error().Err(resMsg).Msg("Error in buildResSignedUrl").ResultError();
|
6863
6862
|
}
|
6864
|
-
return
|
6863
|
+
return import_cement27.Result.Ok(void 0);
|
6865
6864
|
}
|
6866
6865
|
};
|
6867
6866
|
var WALGateway = class extends BaseGateway {
|
@@ -6876,40 +6875,40 @@ var WALGateway = class extends BaseGateway {
|
|
6876
6875
|
name: 0
|
6877
6876
|
});
|
6878
6877
|
if (rKey.isErr()) {
|
6879
|
-
return
|
6878
|
+
return import_cement27.Result.Err(rKey.Err());
|
6880
6879
|
}
|
6881
6880
|
const { name, key } = rKey.Ok();
|
6882
|
-
return
|
6881
|
+
return import_cement27.Result.Ok(`${name}:${key}`);
|
6883
6882
|
}
|
6884
6883
|
async get(ctx, uri) {
|
6885
6884
|
const rKey = this.getWalKeyFromUri(uri);
|
6886
6885
|
if (rKey.isErr()) {
|
6887
|
-
return
|
6886
|
+
return import_cement27.Result.Err(rKey.Err());
|
6888
6887
|
}
|
6889
6888
|
const wal = this.wals.get(rKey.Ok());
|
6890
6889
|
if (!wal) {
|
6891
|
-
return
|
6890
|
+
return import_cement27.Result.Err(new NotFoundError("Not found"));
|
6892
6891
|
}
|
6893
|
-
return
|
6892
|
+
return import_cement27.Result.Ok(wal);
|
6894
6893
|
}
|
6895
6894
|
async put(ctx, uri, body) {
|
6896
6895
|
const rKey = this.getWalKeyFromUri(uri);
|
6897
6896
|
if (rKey.isErr()) {
|
6898
|
-
return
|
6897
|
+
return import_cement27.Result.Err(rKey.Err());
|
6899
6898
|
}
|
6900
6899
|
this.wals.set(rKey.Ok(), body);
|
6901
|
-
return
|
6900
|
+
return import_cement27.Result.Ok(void 0);
|
6902
6901
|
}
|
6903
6902
|
async delete(ctx, uri) {
|
6904
6903
|
const rKey = this.getWalKeyFromUri(uri);
|
6905
6904
|
if (rKey.isErr()) {
|
6906
|
-
return
|
6905
|
+
return import_cement27.Result.Err(rKey.Err());
|
6907
6906
|
}
|
6908
6907
|
this.wals.delete(rKey.Ok());
|
6909
|
-
return
|
6908
|
+
return import_cement27.Result.Ok(void 0);
|
6910
6909
|
}
|
6911
6910
|
};
|
6912
|
-
var storeTypedGateways = new
|
6911
|
+
var storeTypedGateways = new import_cement27.KeyedResolvOnce();
|
6913
6912
|
function getStoreTypeGateway(sthis, uri) {
|
6914
6913
|
const store = uri.getParam("store");
|
6915
6914
|
switch (store) {
|
@@ -6937,7 +6936,7 @@ var FireproofCloudGateway = class {
|
|
6937
6936
|
});
|
6938
6937
|
}
|
6939
6938
|
async buildUrl(ctx, baseUrl, key) {
|
6940
|
-
return
|
6939
|
+
return import_cement27.Result.Ok(baseUrl.build().setParam("key", key).URI());
|
6941
6940
|
}
|
6942
6941
|
async start(ctx, uri) {
|
6943
6942
|
await this.sthis.start();
|
@@ -6945,22 +6944,22 @@ var FireproofCloudGateway = class {
|
|
6945
6944
|
if (rName.isErr()) {
|
6946
6945
|
return this.logger.Error().Err(rName).Msg("name not found").ResultError();
|
6947
6946
|
}
|
6948
|
-
const ret = uri.build().defParam("version",
|
6947
|
+
const ret = uri.build().defParam("version", VERSION2);
|
6949
6948
|
ret.defParam("protocol", "wss");
|
6950
6949
|
const retURI = ret.URI();
|
6951
6950
|
const matchURI = connectionURI(retURI);
|
6952
6951
|
this.#connectionURIs.set(matchURI.toString(), {
|
6953
6952
|
uri: matchURI,
|
6954
6953
|
matchRes: matchURI.match(matchURI),
|
6955
|
-
connection: new
|
6954
|
+
connection: new import_cement27.ResolveOnce(),
|
6956
6955
|
trackPuts: /* @__PURE__ */ new Set()
|
6957
6956
|
});
|
6958
|
-
return
|
6957
|
+
return import_cement27.Result.Ok(retURI);
|
6959
6958
|
}
|
6960
6959
|
async get(ctx, uri) {
|
6961
6960
|
const conn = await this.getCloudConnectionItem(uri);
|
6962
6961
|
if (conn.conn.isErr()) {
|
6963
|
-
return
|
6962
|
+
return import_cement27.Result.Err(conn.conn);
|
6964
6963
|
}
|
6965
6964
|
const ret = await getStoreTypeGateway(ctx.loader.sthis, uri).get({ ...ctx, conn }, uri);
|
6966
6965
|
return ret;
|
@@ -7003,7 +7002,7 @@ var FireproofCloudGateway = class {
|
|
7003
7002
|
const rAuth = await conn.msgConnAuth();
|
7004
7003
|
await conn.close(rAuth.Ok());
|
7005
7004
|
this.#connectionURIs.delete(rConn.citem.uri.toString());
|
7006
|
-
return
|
7005
|
+
return import_cement27.Result.Ok(void 0);
|
7007
7006
|
}
|
7008
7007
|
// fireproof://localhost:1999/?name=test-public-api&protocol=ws&store=meta
|
7009
7008
|
async getCloudConnection(uri) {
|
@@ -7029,11 +7028,11 @@ var FireproofCloudGateway = class {
|
|
7029
7028
|
}
|
7030
7029
|
const conn = await bestMatch.connection.once(async () => {
|
7031
7030
|
const rParams = uri.getParamsResult({
|
7032
|
-
name:
|
7031
|
+
name: import_cement27.param.REQUIRED,
|
7033
7032
|
protocol: "https",
|
7034
|
-
store:
|
7035
|
-
storekey:
|
7036
|
-
tenant:
|
7033
|
+
store: import_cement27.param.REQUIRED,
|
7034
|
+
storekey: import_cement27.param.OPTIONAL,
|
7035
|
+
tenant: import_cement27.param.REQUIRED
|
7037
7036
|
});
|
7038
7037
|
if (rParams.isErr()) {
|
7039
7038
|
return this.logger.Error().Url(uri).Err(rParams).Msg("getCloudConnection:err").ResultError();
|
@@ -7041,16 +7040,16 @@ var FireproofCloudGateway = class {
|
|
7041
7040
|
const params = rParams.Ok();
|
7042
7041
|
const rAuth = await authTypeFromUri(this.logger, uri);
|
7043
7042
|
if (rAuth.isErr()) {
|
7044
|
-
return
|
7043
|
+
return import_cement27.Result.Err(rAuth);
|
7045
7044
|
}
|
7046
7045
|
const qOpen = buildReqOpen(this.sthis, rAuth.Ok(), {});
|
7047
7046
|
const cUrl = uri.build().protocol(params.protocol).cleanParams().URI();
|
7048
7047
|
return Msger.connect(this.sthis, rAuth.Ok(), cUrl, qOpen);
|
7049
7048
|
});
|
7050
7049
|
if (conn.isErr()) {
|
7051
|
-
return { conn:
|
7050
|
+
return { conn: import_cement27.Result.Err(conn), citem: bestMatch };
|
7052
7051
|
}
|
7053
|
-
return { conn:
|
7052
|
+
return { conn: import_cement27.Result.Ok(conn.Ok().attachAuth(() => authTypeFromUri(this.logger, uri))), citem: bestMatch };
|
7054
7053
|
}
|
7055
7054
|
// private notifySubscribers(data: Uint8Array, callbacks: ((msg: Uint8Array) => void)[] = []): void {
|
7056
7055
|
// for (const cb of callbacks) {
|
@@ -7063,28 +7062,28 @@ var FireproofCloudGateway = class {
|
|
7063
7062
|
// }
|
7064
7063
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
7065
7064
|
async subscribe(ctx, url, callback) {
|
7066
|
-
return
|
7065
|
+
return import_cement27.Result.Err(new Error("Not implemented"));
|
7067
7066
|
}
|
7068
7067
|
async destroy(ctx, uri) {
|
7069
7068
|
const item = await this.getCloudConnectionItem(uri);
|
7070
7069
|
if (item.conn.isErr()) {
|
7071
7070
|
return item.conn;
|
7072
7071
|
}
|
7073
|
-
await Promise.all(Array.from(item.citem.trackPuts).map(async (k) => this.delete(ctx,
|
7074
|
-
return
|
7072
|
+
await Promise.all(Array.from(item.citem.trackPuts).map(async (k) => this.delete(ctx, import_cement27.URI.from(k))));
|
7073
|
+
return import_cement27.Result.Ok(void 0);
|
7075
7074
|
}
|
7076
7075
|
async getPlain() {
|
7077
|
-
return
|
7076
|
+
return import_cement27.Result.Err(new Error("Not implemented"));
|
7078
7077
|
}
|
7079
7078
|
};
|
7080
|
-
var onceRegisterFireproofCloudStoreProtocol = new
|
7079
|
+
var onceRegisterFireproofCloudStoreProtocol = new import_cement27.KeyedResolvOnce();
|
7081
7080
|
function registerFireproofCloudStoreProtocol(protocol = "fpcloud:") {
|
7082
7081
|
return onceRegisterFireproofCloudStoreProtocol.get(protocol).once(() => {
|
7083
|
-
|
7082
|
+
import_cement27.URI.protocolHasHostpart(protocol);
|
7084
7083
|
return registerStoreProtocol({
|
7085
7084
|
protocol,
|
7086
7085
|
defaultURI() {
|
7087
|
-
return
|
7086
|
+
return import_cement27.URI.from("fpcloud://fireproof.cloud/");
|
7088
7087
|
},
|
7089
7088
|
serdegateway: async (sthis) => {
|
7090
7089
|
return new FireproofCloudGateway(sthis);
|
@@ -7094,7 +7093,7 @@ function registerFireproofCloudStoreProtocol(protocol = "fpcloud:") {
|
|
7094
7093
|
}
|
7095
7094
|
registerFireproofCloudStoreProtocol();
|
7096
7095
|
function toCloud(url) {
|
7097
|
-
const urlObj =
|
7096
|
+
const urlObj = import_cement27.URI.from(url);
|
7098
7097
|
if (urlObj.protocol !== "fpcloud:") {
|
7099
7098
|
throw new Error("url must have fireproof protocol");
|
7100
7099
|
}
|
@@ -7264,6 +7263,6 @@ function buildResDelWAL(msgCtx, req, ctx) {
|
|
7264
7263
|
|
7265
7264
|
// src/version.ts
|
7266
7265
|
var PACKAGE_VERSION = Object.keys({
|
7267
|
-
"0.20.0-dev-preview-
|
7266
|
+
"0.20.0-dev-preview-61": "xxxx"
|
7268
7267
|
})[0];
|
7269
7268
|
//# sourceMappingURL=index.cjs.map
|