@vibes.diy/api-pkg 2.2.5 → 2.2.7
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/ensure-storage.d.ts +9 -2
- package/ensure-storage.js +17 -4
- package/ensure-storage.js.map +1 -1
- package/package.json +2 -2
package/ensure-storage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Result, Option, URI, PeerStream, Peer } from "@adviser/cement";
|
|
2
|
-
import { VibesAssetStorage, FetchResult } from "@vibes.diy/api-types";
|
|
2
|
+
import type { StorageProgressFn, VibesAssetStorage, FetchResult } from "@vibes.diy/api-types";
|
|
3
3
|
import { sha256 } from "@noble/hashes/sha2.js";
|
|
4
4
|
export interface CalcCidResult {
|
|
5
5
|
cid: string;
|
|
@@ -23,8 +23,15 @@ export declare class Cider {
|
|
|
23
23
|
constructor(inStream: ReadableStream<Uint8Array>);
|
|
24
24
|
readonly getCID: () => Promise<CalcCidResult>;
|
|
25
25
|
}
|
|
26
|
+
export interface PeerFactoryOptions {
|
|
27
|
+
readonly onProgress?: StorageProgressFn;
|
|
28
|
+
}
|
|
26
29
|
export interface StoragePeer {
|
|
27
30
|
fetch: PeerFetch;
|
|
28
|
-
factory: (cider: Cider) => PeerWithCommit;
|
|
31
|
+
factory: (cider: Cider, opts?: PeerFactoryOptions) => PeerWithCommit;
|
|
32
|
+
}
|
|
33
|
+
export interface EnsureStorageOptions {
|
|
34
|
+
readonly peerTimeout?: number;
|
|
29
35
|
}
|
|
30
36
|
export declare function ensureStorage(...peers: StoragePeer[]): VibesAssetStorage;
|
|
37
|
+
export declare function ensureStorage(opts: EnsureStorageOptions, ...peers: StoragePeer[]): VibesAssetStorage;
|
package/ensure-storage.js
CHANGED
|
@@ -22,7 +22,12 @@ export class Cider {
|
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
const DEFAULT_PEER_TIMEOUT_MS = 5000;
|
|
26
|
+
export function ensureStorage(...args) {
|
|
27
|
+
const [first, ...rest] = args;
|
|
28
|
+
const opts = first && !("fetch" in first) ? first : {};
|
|
29
|
+
const peers = first && !("fetch" in first) ? rest : args;
|
|
30
|
+
const peerTimeout = opts.peerTimeout ?? DEFAULT_PEER_TIMEOUT_MS;
|
|
26
31
|
return {
|
|
27
32
|
fetch: async (iurl) => {
|
|
28
33
|
const url = URI.from(iurl);
|
|
@@ -37,11 +42,19 @@ export function ensureStorage(...peers) {
|
|
|
37
42
|
url: url.toString(),
|
|
38
43
|
};
|
|
39
44
|
},
|
|
40
|
-
ensure: async (...
|
|
45
|
+
ensure: (async (...args) => {
|
|
46
|
+
const [firstArg, ...restArgs] = args;
|
|
47
|
+
const isStream = (v) => !!v && typeof v.getReader === "function";
|
|
48
|
+
const firstIsOpts = firstArg !== undefined && !isStream(firstArg);
|
|
49
|
+
const callOpts = firstIsOpts ? firstArg : {};
|
|
50
|
+
const items = firstIsOpts
|
|
51
|
+
? restArgs
|
|
52
|
+
: args;
|
|
53
|
+
const factoryOpts = { onProgress: callOpts.onProgress };
|
|
41
54
|
const tees = await Promise.allSettled(items.map((item) => {
|
|
42
55
|
const [lag1, lag2] = coerceStreamUint8(item).tee();
|
|
43
56
|
const cider = new Cider(lag1);
|
|
44
|
-
return teeWriter(peers.map((i) => i.factory(cider)), lag2).then(async (rTee) => {
|
|
57
|
+
return teeWriter(peers.map((i) => i.factory(cider, factoryOpts)), lag2, { peerTimeout }).then(async (rTee) => {
|
|
45
58
|
if (rTee.isErr()) {
|
|
46
59
|
return Result.Err(rTee);
|
|
47
60
|
}
|
|
@@ -76,7 +89,7 @@ export function ensureStorage(...peers) {
|
|
|
76
89
|
size,
|
|
77
90
|
});
|
|
78
91
|
});
|
|
79
|
-
},
|
|
92
|
+
}),
|
|
80
93
|
};
|
|
81
94
|
}
|
|
82
95
|
//# sourceMappingURL=ensure-storage.js.map
|
package/ensure-storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-storage.js","sourceRoot":"","sources":["../jsr/ensure-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAoB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE3H,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAqBtD,MAAM,OAAO,KAAK;IACP,CAAC,CAAmC;IAC7C,IAAI,GAAG,CAAC,CAAC;IACA,oBAAoB,CAAgB;IAC7C,YAAY,QAAoC;QAC9C,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5D,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAEQ,MAAM,GAAG,IAAI,CAAC,GAA2B,EAAE;QAClD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE;YACzC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAE9C,OAAO;gBACL,GAAG;gBACH,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"ensure-storage.js","sourceRoot":"","sources":["../jsr/ensure-storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-pkg",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"@fireproof/core-types-protocols-cloud": "~0.24.19",
|
|
17
17
|
"@fireproof/core-types-protocols-dashboard": "~0.24.19",
|
|
18
18
|
"@noble/hashes": "~2.0.1",
|
|
19
|
-
"@vibes.diy/api-types": "2.2.
|
|
19
|
+
"@vibes.diy/api-types": "2.2.7",
|
|
20
20
|
"acorn": "~8.16.0",
|
|
21
21
|
"arktype": "~2.2.0",
|
|
22
22
|
"multiformats": "~13.4.2",
|