@peerbit/react 0.0.26 → 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.d.ts +33 -15
- package/lib/esm/useQuery.js +156 -192
- 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/useQuery.tsx +240 -305
- 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.d.ts
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import { Documents, DocumentsChange, WithContext } from "@peerbit/document";
|
|
2
2
|
import * as indexerTypes from "@peerbit/indexer-interface";
|
|
3
|
-
import { WithIndexedContext } from "@peerbit/document
|
|
4
|
-
type QueryLike = {
|
|
5
|
-
query?: indexerTypes.Query[] | indexerTypes.QueryLike;
|
|
6
|
-
sort?: indexerTypes.Sort[] | indexerTypes.Sort | indexerTypes.SortLike;
|
|
7
|
-
};
|
|
3
|
+
import { WithIndexedContext } from "@peerbit/document";
|
|
8
4
|
type QueryOptions = {
|
|
9
5
|
query: QueryLike;
|
|
10
6
|
id?: string;
|
|
11
7
|
};
|
|
12
|
-
type
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
eager?: boolean;
|
|
8
|
+
export type QueryLike = {
|
|
9
|
+
/** Mongo-style selector or array of selectors */
|
|
10
|
+
query?: indexerTypes.QueryLike | indexerTypes.Query[];
|
|
11
|
+
/** Sort definition compatible with `@peerbit/indexer-interface` */
|
|
12
|
+
sort?: indexerTypes.SortLike | indexerTypes.Sort | indexerTypes.Sort[];
|
|
18
13
|
};
|
|
19
|
-
|
|
14
|
+
/**
|
|
15
|
+
* All the non-DB-specific options supported by the original single-DB hook.
|
|
16
|
+
* They stay fully backward-compatible.
|
|
17
|
+
*/
|
|
18
|
+
export type UseQuerySharedOptions<T, I, R extends boolean | undefined, RT> = {
|
|
20
19
|
resolve?: R;
|
|
21
20
|
transform?: (r: RT) => Promise<RT>;
|
|
22
21
|
debounce?: number;
|
|
@@ -26,15 +25,34 @@ export declare const useQuery: <T extends Record<string, any>, I extends Record<
|
|
|
26
25
|
reverse?: boolean;
|
|
27
26
|
batchSize?: number;
|
|
28
27
|
prefetch?: boolean;
|
|
28
|
+
ignoreUpdates?: boolean;
|
|
29
29
|
onChange?: {
|
|
30
30
|
merge?: boolean | ((c: DocumentsChange<T, I>) => DocumentsChange<T, I> | Promise<DocumentsChange<T, I>> | undefined);
|
|
31
31
|
update?: (prev: RT[], change: DocumentsChange<T, I>) => RT[] | Promise<RT[]>;
|
|
32
32
|
};
|
|
33
33
|
local?: boolean;
|
|
34
|
-
remote?: boolean |
|
|
35
|
-
|
|
34
|
+
remote?: boolean | {
|
|
35
|
+
warmup?: number;
|
|
36
|
+
joining?: {
|
|
37
|
+
waitFor?: number;
|
|
38
|
+
};
|
|
39
|
+
eager?: boolean;
|
|
40
|
+
};
|
|
41
|
+
} & QueryOptions;
|
|
42
|
+
/**
|
|
43
|
+
* `useQuery` – unified hook that accepts **either**
|
|
44
|
+
* 1. a single `Documents` instance
|
|
45
|
+
* 2. an array of `Documents` instances
|
|
46
|
+
* 3. *or* omits the first argument and provides `dbs` inside the `options` object.
|
|
47
|
+
*
|
|
48
|
+
* It supersedes the original single-DB version as well as the experimental
|
|
49
|
+
* `useMultiQuery` so callers never have to choose between two APIs.
|
|
50
|
+
*/
|
|
51
|
+
export declare const useQuery: <T extends Record<string, any>, I extends Record<string, any>, R extends boolean | undefined = true, RT = R extends false ? WithContext<I> : WithIndexedContext<T, I>>(
|
|
52
|
+
/** Single DB or list of DBs. 100 % backward-compatible with the old single param. */
|
|
53
|
+
dbOrDbs: Documents<T, I> | Documents<T, I>[] | undefined, options: UseQuerySharedOptions<T, I, R, RT>) => {
|
|
36
54
|
items: RT[];
|
|
37
|
-
loadMore: (n?: number
|
|
55
|
+
loadMore: (n?: number) => Promise<boolean>;
|
|
38
56
|
isLoading: boolean;
|
|
39
57
|
empty: () => boolean;
|
|
40
58
|
id: string | undefined;
|