@peerbit/react 0.0.27 → 0.0.28
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/lib/esm/__tests__/utils.test.js +2 -2
- package/lib/esm/__tests__/utils.test.js.map +1 -1
- package/lib/esm/index.d.ts +0 -1
- package/lib/esm/index.js +0 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/useCount.js +1 -1
- package/lib/esm/useCount.js.map +1 -1
- package/lib/esm/useLocal.js +1 -1
- package/lib/esm/useLocal.js.map +1 -1
- package/lib/esm/useProgram.d.ts +2 -2
- package/lib/esm/useProgram.js +10 -7
- package/lib/esm/useProgram.js.map +1 -1
- package/lib/esm/useQuery.js +24 -8
- package/lib/esm/useQuery.js.map +1 -1
- package/lib/esm/utils.d.ts +1 -1
- package/package.json +3 -2
- package/src/__tests__/utils.test.ts +2 -2
- package/src/index.ts +0 -1
- package/src/useCount.tsx +1 -1
- package/src/useLocal.tsx +1 -1
- package/src/useProgram.tsx +24 -16
- package/src/utils.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getAllKeyPairs, getFreeKeypair, releaseKey } from "../utils";
|
|
1
|
+
import { getAllKeyPairs, getFreeKeypair, releaseKey } from "../utils.js";
|
|
2
2
|
import nodelocalstorage from "node-localstorage";
|
|
3
|
-
import { FastMutex } from "../lockstorage";
|
|
3
|
+
import { FastMutex } from "../lockstorage.js";
|
|
4
4
|
import { delay } from "@peerbit/time";
|
|
5
5
|
import { default as sodium } from "libsodium-wrappers";
|
|
6
6
|
import { v4 as uuid } from "uuid";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils.test.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -6,5 +6,4 @@ export { useLocal } from "./useLocal.js";
|
|
|
6
6
|
export { useQuery as useQuery } from "./useQuery.js";
|
|
7
7
|
export { useOnline } from "./useOnline.js";
|
|
8
8
|
export { useCount } from "./useCount.js";
|
|
9
|
-
export { debounceLeadingTrailing } from "./utils.js";
|
|
10
9
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,WAAW,EACX,OAAO,EACP,eAAe,GAElB,MAAM,cAAc,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,WAAW,EACX,OAAO,EACP,eAAe,GAElB,MAAM,cAAc,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
package/lib/esm/useCount.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClosedError } from "@peerbit/document";
|
|
2
2
|
import { useEffect, useRef, useState } from "react";
|
|
3
|
-
import { debounceLeadingTrailing } from "./utils";
|
|
3
|
+
import { debounceLeadingTrailing } from "./utils.js";
|
|
4
4
|
export const useCount = (db, options) => {
|
|
5
5
|
const [count, setCount] = useState(0);
|
|
6
6
|
const countRef = useRef(0);
|
package/lib/esm/useCount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCount.js","sourceRoot":"","sources":["../../src/useCount.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useCount.js","sourceRoot":"","sources":["../../src/useCount.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAMrD,MAAM,CAAC,MAAM,QAAQ,GAAG,CACpB,EAA2B,EAC3B,OAGe,EACjB,EAAE;IACA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;YAC5B,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC;oBACzB,KAAK,EAAE,OAAO,EAAE,KAAK;oBACrB,WAAW,EAAE,IAAI;iBACpB,CAAC,CAAC;gBACH,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;gBACzB,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;oBAC/B,OAAO;gBACX,CAAC;gBACD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,uBAAuB,CACrC,EAAE,EACF,OAAO,EAAE,QAAQ,IAAI,IAAI,CAC5B,CAAC;QAEF,MAAM,YAAY,GAAG,GAAG,EAAE;YACtB,SAAS,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,SAAS,EAAE,CAAC;QACZ,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEnD,OAAO,GAAG,EAAE;YACR,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACtD,SAAS,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC;IACN,CAAC,EAAE;QACC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW;QACxC,OAAO,EAAE,EAAE,IAAI,OAAO,EAAE,KAAK;KAChC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|
package/lib/esm/useLocal.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClosedError } from "@peerbit/document";
|
|
2
2
|
import { useEffect, useRef, useState } from "react";
|
|
3
|
-
import { debounceLeadingTrailing } from "./utils";
|
|
3
|
+
import { debounceLeadingTrailing } from "./utils.js";
|
|
4
4
|
const logWithId = (options, ...args) => {
|
|
5
5
|
if (!options?.debug)
|
|
6
6
|
return;
|
package/lib/esm/useLocal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocal.js","sourceRoot":"","sources":["../../src/useLocal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useLocal.js","sourceRoot":"","sources":["../../src/useLocal.tsx"],"names":[],"mappings":"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"}
|
package/lib/esm/useProgram.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ import { Program, OpenOptions, ProgramEvents } from "@peerbit/program";
|
|
|
2
2
|
import { PublicSignKey } from "@peerbit/crypto";
|
|
3
3
|
type ExtractArgs<T> = T extends Program<infer Args> ? Args : never;
|
|
4
4
|
type ExtractEvents<T> = T extends Program<any, infer Events> ? Events : never;
|
|
5
|
-
export declare
|
|
5
|
+
export declare function useProgram<P extends Program<ExtractArgs<P>, ExtractEvents<P>> & Program<any, ProgramEvents>>(addressOrOpen?: P | string, options?: OpenOptions<P> & {
|
|
6
6
|
id?: string;
|
|
7
7
|
keepOpenOnUnmount?: boolean;
|
|
8
|
-
})
|
|
8
|
+
}): {
|
|
9
9
|
program: P | undefined;
|
|
10
10
|
session: number;
|
|
11
11
|
loading: boolean;
|
package/lib/esm/useProgram.js
CHANGED
|
@@ -8,7 +8,7 @@ const addressOrDefined = (p) => {
|
|
|
8
8
|
return !!p;
|
|
9
9
|
}
|
|
10
10
|
};
|
|
11
|
-
export
|
|
11
|
+
export function useProgram(addressOrOpen, options) {
|
|
12
12
|
const { peer } = usePeer();
|
|
13
13
|
let [program, setProgram] = useState();
|
|
14
14
|
const [id, setId] = useState(options?.id);
|
|
@@ -28,7 +28,10 @@ export const useProgram = (addressOrOpen, options) => {
|
|
|
28
28
|
let changeListener = undefined;
|
|
29
29
|
closingRef.current.then(() => {
|
|
30
30
|
programLoadingRef.current = peer
|
|
31
|
-
?.open(addressOrOpen, {
|
|
31
|
+
?.open(addressOrOpen, {
|
|
32
|
+
...options,
|
|
33
|
+
existing: "reuse",
|
|
34
|
+
})
|
|
32
35
|
.then((p) => {
|
|
33
36
|
// if program has topics do change listening on peers
|
|
34
37
|
if ([p, ...p.allPrograms].filter((x) => x.closed === false &&
|
|
@@ -38,15 +41,15 @@ export const useProgram = (addressOrOpen, options) => {
|
|
|
38
41
|
}
|
|
39
42
|
else {
|
|
40
43
|
changeListener = () => {
|
|
41
|
-
p.getReady().then((
|
|
42
|
-
setPeers([...
|
|
44
|
+
p.getReady().then((ready) => {
|
|
45
|
+
setPeers([...ready.values()]);
|
|
43
46
|
});
|
|
44
47
|
};
|
|
45
48
|
p.events.addEventListener("join", changeListener);
|
|
46
49
|
p.events.addEventListener("leave", changeListener);
|
|
47
50
|
p.getReady()
|
|
48
|
-
.then((
|
|
49
|
-
setPeers([...
|
|
51
|
+
.then((ready) => {
|
|
52
|
+
setPeers([...ready.values()]);
|
|
50
53
|
})
|
|
51
54
|
.catch((e) => {
|
|
52
55
|
console.log("Error getReady()", e);
|
|
@@ -107,5 +110,5 @@ export const useProgram = (addressOrOpen, options) => {
|
|
|
107
110
|
peers,
|
|
108
111
|
id,
|
|
109
112
|
};
|
|
110
|
-
}
|
|
113
|
+
}
|
|
111
114
|
//# sourceMappingURL=useProgram.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProgram.js","sourceRoot":"","sources":["../../src/useProgram.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,MAAM,gBAAgB,GAAG,CACrB,CAAK,EACP,EAAE;IACA,IAAI,CAAC;QACD,OAAO,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,
|
|
1
|
+
{"version":3,"file":"useProgram.js","sourceRoot":"","sources":["../../src/useProgram.tsx"],"names":[],"mappings":"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"}
|
package/lib/esm/useQuery.js
CHANGED
|
@@ -91,7 +91,12 @@ dbOrDbs, options) => {
|
|
|
91
91
|
/* store a deterministic id (useful for external keys) */
|
|
92
92
|
setId(uuid());
|
|
93
93
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
94
|
-
}, [
|
|
94
|
+
}, [
|
|
95
|
+
dbs.map((d) => d?.address).join("|"),
|
|
96
|
+
options.query,
|
|
97
|
+
options.resolve,
|
|
98
|
+
options.reverse,
|
|
99
|
+
]);
|
|
95
100
|
/* ────────────── loadMore implementation ────────────── */
|
|
96
101
|
const batchSize = options.batchSize ?? 10;
|
|
97
102
|
const shouldWait = () => {
|
|
@@ -112,16 +117,19 @@ dbOrDbs, options) => {
|
|
|
112
117
|
try {
|
|
113
118
|
/* one-time replicator warm-up across all DBs */
|
|
114
119
|
if (shouldWait()) {
|
|
115
|
-
if (typeof options.remote === "object" &&
|
|
120
|
+
if (typeof options.remote === "object" &&
|
|
121
|
+
options.remote.warmup) {
|
|
116
122
|
await Promise.all(iterators.map(async ({ db }) => {
|
|
117
123
|
try {
|
|
118
124
|
await db.log.waitForReplicators({
|
|
119
|
-
timeout: options.remote
|
|
125
|
+
timeout: options.remote
|
|
126
|
+
.warmup,
|
|
120
127
|
signal: closeControllerRef.current?.signal,
|
|
121
128
|
});
|
|
122
129
|
}
|
|
123
130
|
catch (e) {
|
|
124
|
-
if (e instanceof AbortError ||
|
|
131
|
+
if (e instanceof AbortError ||
|
|
132
|
+
e instanceof NoPeersError)
|
|
125
133
|
return;
|
|
126
134
|
console.warn("Remote replicators not ready", e);
|
|
127
135
|
}
|
|
@@ -155,7 +163,9 @@ dbOrDbs, options) => {
|
|
|
155
163
|
const unique = processed.filter((x) => !dedupHeads.has(x.__context.head));
|
|
156
164
|
if (!unique.length)
|
|
157
165
|
return !iterators.every((i) => i.iterator.done());
|
|
158
|
-
const combined = reverseRef.current
|
|
166
|
+
const combined = reverseRef.current
|
|
167
|
+
? [...unique.reverse(), ...prev]
|
|
168
|
+
: [...prev, ...unique];
|
|
159
169
|
updateAll(combined);
|
|
160
170
|
emptyResultsRef.current = iterators.every((i) => i.iterator.done());
|
|
161
171
|
return !emptyResultsRef.current;
|
|
@@ -174,11 +184,14 @@ dbOrDbs, options) => {
|
|
|
174
184
|
if (!options.onChange || options.onChange.merge === false)
|
|
175
185
|
return;
|
|
176
186
|
const listeners = iteratorRefs.current.map(({ db, id: itId }) => {
|
|
177
|
-
const mergeFn = typeof options.onChange?.merge === "function"
|
|
187
|
+
const mergeFn = typeof options.onChange?.merge === "function"
|
|
188
|
+
? options.onChange.merge
|
|
189
|
+
: (c) => c;
|
|
178
190
|
const handler = async (e) => {
|
|
179
191
|
log("Merge change", e.detail, "it", itId);
|
|
180
192
|
const filtered = await mergeFn(e.detail);
|
|
181
|
-
if (!filtered ||
|
|
193
|
+
if (!filtered ||
|
|
194
|
+
(!filtered.added.length && !filtered.removed.length))
|
|
182
195
|
return;
|
|
183
196
|
let merged;
|
|
184
197
|
if (options.onChange?.update) {
|
|
@@ -196,7 +209,10 @@ dbOrDbs, options) => {
|
|
|
196
209
|
listeners.forEach(({ db, handler }) => db.events.removeEventListener("change", handler));
|
|
197
210
|
};
|
|
198
211
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
199
|
-
}, [
|
|
212
|
+
}, [
|
|
213
|
+
iteratorRefs.current.map((r) => r.db.address).join("|"),
|
|
214
|
+
options.onChange,
|
|
215
|
+
]);
|
|
200
216
|
/* ────────────── public API – unchanged from the caller's perspective ────────────── */
|
|
201
217
|
return {
|
|
202
218
|
items: all,
|
package/lib/esm/useQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EACH,WAAW,GAKd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
|
package/lib/esm/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Ed25519Keypair } from "@peerbit/crypto";
|
|
2
|
-
import { FastMutex } from "./lockstorage";
|
|
2
|
+
import { FastMutex } from "./lockstorage.js";
|
|
3
3
|
export declare const cookiesWhereClearedJustNow: () => boolean;
|
|
4
4
|
export declare const getClientId: (type: "session" | "local") => string;
|
|
5
5
|
export declare const releaseKey: (path: string, lock: FastMutex) => void;
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"homepage": "https://dao-xyz.github.io/peerbit-examples",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
7
7
|
"types": "lib/esm/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
+
"types": "./lib/esm/index.d.ts",
|
|
10
11
|
"import": "./lib/esm/index.js"
|
|
11
12
|
},
|
|
12
13
|
"./package.json": "./package.json"
|
|
@@ -70,5 +71,5 @@
|
|
|
70
71
|
"last 1 safari version"
|
|
71
72
|
]
|
|
72
73
|
},
|
|
73
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "85b4ffae6ced0eaf11f1891b6b43b77350429d99"
|
|
74
75
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getAllKeyPairs, getFreeKeypair, releaseKey } from "../utils";
|
|
1
|
+
import { getAllKeyPairs, getFreeKeypair, releaseKey } from "../utils.js";
|
|
2
2
|
import nodelocalstorage from "node-localstorage";
|
|
3
|
-
import { FastMutex } from "../lockstorage";
|
|
3
|
+
import { FastMutex } from "../lockstorage.js";
|
|
4
4
|
import { delay } from "@peerbit/time";
|
|
5
5
|
import { default as sodium } from "libsodium-wrappers";
|
|
6
6
|
import { v4 as uuid } from "uuid";
|
package/src/index.ts
CHANGED
package/src/useCount.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ClosedError, Documents, WithContext } from "@peerbit/document";
|
|
2
2
|
import { useEffect, useRef, useState } from "react";
|
|
3
3
|
import * as indexerTypes from "@peerbit/indexer-interface";
|
|
4
|
-
import { debounceLeadingTrailing } from "./utils";
|
|
4
|
+
import { debounceLeadingTrailing } from "./utils.js";
|
|
5
5
|
|
|
6
6
|
type QueryOptons = {
|
|
7
7
|
query: indexerTypes.Query[] | indexerTypes.QueryLike;
|
package/src/useLocal.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ClosedError, Documents, WithContext } from "@peerbit/document";
|
|
2
2
|
import { useEffect, useRef, useState } from "react";
|
|
3
3
|
import * as indexerTypes from "@peerbit/indexer-interface";
|
|
4
|
-
import { debounceLeadingTrailing } from "./utils";
|
|
4
|
+
import { debounceLeadingTrailing } from "./utils.js";
|
|
5
5
|
|
|
6
6
|
type QueryLike = {
|
|
7
7
|
query?: indexerTypes.Query[] | indexerTypes.QueryLike;
|
package/src/useProgram.tsx
CHANGED
|
@@ -14,13 +14,16 @@ const addressOrDefined = <A, B extends ProgramEvents, P extends Program<A, B>>(
|
|
|
14
14
|
type ExtractArgs<T> = T extends Program<infer Args> ? Args : never;
|
|
15
15
|
type ExtractEvents<T> = T extends Program<any, infer Events> ? Events : never;
|
|
16
16
|
|
|
17
|
-
export
|
|
17
|
+
export function useProgram<
|
|
18
18
|
P extends Program<ExtractArgs<P>, ExtractEvents<P>> &
|
|
19
19
|
Program<any, ProgramEvents>
|
|
20
20
|
>(
|
|
21
21
|
addressOrOpen?: P | string,
|
|
22
|
-
options?: OpenOptions<P> & {
|
|
23
|
-
|
|
22
|
+
options?: OpenOptions<P> & {
|
|
23
|
+
id?: string;
|
|
24
|
+
keepOpenOnUnmount?: boolean;
|
|
25
|
+
}
|
|
26
|
+
) {
|
|
24
27
|
const { peer } = usePeer();
|
|
25
28
|
let [program, setProgram] = useState<P | undefined>();
|
|
26
29
|
const [id, setId] = useState<string | undefined>(options?.id);
|
|
@@ -42,12 +45,15 @@ export const useProgram = <
|
|
|
42
45
|
|
|
43
46
|
closingRef.current.then(() => {
|
|
44
47
|
programLoadingRef.current = peer
|
|
45
|
-
?.open(addressOrOpen
|
|
46
|
-
|
|
48
|
+
?.open(addressOrOpen as P | string, {
|
|
49
|
+
...options,
|
|
50
|
+
existing: "reuse",
|
|
51
|
+
})
|
|
52
|
+
.then((p: P) => {
|
|
47
53
|
// if program has topics do change listening on peers
|
|
48
54
|
if (
|
|
49
55
|
[p, ...p.allPrograms].filter(
|
|
50
|
-
(x) =>
|
|
56
|
+
(x: any) =>
|
|
51
57
|
x.closed === false &&
|
|
52
58
|
x.getTopics &&
|
|
53
59
|
x.getTopics?.().length > 0
|
|
@@ -56,17 +62,19 @@ export const useProgram = <
|
|
|
56
62
|
setPeers([peer.identity.publicKey]);
|
|
57
63
|
} else {
|
|
58
64
|
changeListener = () => {
|
|
59
|
-
p.getReady().then(
|
|
60
|
-
|
|
61
|
-
|
|
65
|
+
p.getReady().then(
|
|
66
|
+
(ready: Map<string, PublicSignKey>) => {
|
|
67
|
+
setPeers([...ready.values()]);
|
|
68
|
+
}
|
|
69
|
+
);
|
|
62
70
|
};
|
|
63
71
|
p.events.addEventListener("join", changeListener);
|
|
64
72
|
p.events.addEventListener("leave", changeListener);
|
|
65
73
|
p.getReady()
|
|
66
|
-
.then((
|
|
67
|
-
setPeers([...
|
|
74
|
+
.then((ready: Map<string, PublicSignKey>) => {
|
|
75
|
+
setPeers([...ready.values()]);
|
|
68
76
|
})
|
|
69
|
-
.catch((e) => {
|
|
77
|
+
.catch((e: any) => {
|
|
70
78
|
console.log("Error getReady()", e);
|
|
71
79
|
});
|
|
72
80
|
}
|
|
@@ -78,7 +86,7 @@ export const useProgram = <
|
|
|
78
86
|
}
|
|
79
87
|
return p;
|
|
80
88
|
})
|
|
81
|
-
.catch((e) => {
|
|
89
|
+
.catch((e: unknown) => {
|
|
82
90
|
console.error("failed to open", e);
|
|
83
91
|
throw e;
|
|
84
92
|
})
|
|
@@ -110,7 +118,7 @@ export const useProgram = <
|
|
|
110
118
|
|
|
111
119
|
if (programLoadingRef.current === startRef) {
|
|
112
120
|
setProgram(undefined);
|
|
113
|
-
programLoadingRef.current = undefined;
|
|
121
|
+
programLoadingRef.current = undefined as any;
|
|
114
122
|
}
|
|
115
123
|
|
|
116
124
|
if (options?.keepOpenOnUnmount) {
|
|
@@ -127,7 +135,7 @@ export const useProgram = <
|
|
|
127
135
|
options?.id,
|
|
128
136
|
typeof addressOrOpen === "string"
|
|
129
137
|
? addressOrOpen
|
|
130
|
-
: addressOrDefined(addressOrOpen),
|
|
138
|
+
: addressOrDefined(addressOrOpen as P),
|
|
131
139
|
]);
|
|
132
140
|
return {
|
|
133
141
|
program,
|
|
@@ -137,4 +145,4 @@ export const useProgram = <
|
|
|
137
145
|
peers,
|
|
138
146
|
id,
|
|
139
147
|
};
|
|
140
|
-
}
|
|
148
|
+
}
|
package/src/utils.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { serialize, deserialize } from "@dao-xyz/borsh";
|
|
2
2
|
import { Ed25519Keypair, toBase64, fromBase64 } from "@peerbit/crypto";
|
|
3
|
-
import { FastMutex } from "./lockstorage";
|
|
3
|
+
import { FastMutex } from "./lockstorage.js";
|
|
4
4
|
import { v4 as uuid } from "uuid";
|
|
5
5
|
import sodium from "libsodium-wrappers";
|
|
6
6
|
|