@xyo-network/react-node 2.41.29 → 2.41.31
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/dist/cjs/contexts/hooks/index.d.ts +2 -0
- package/dist/cjs/contexts/hooks/index.d.ts.map +1 -0
- package/dist/cjs/contexts/hooks/index.js +5 -0
- package/dist/cjs/contexts/hooks/index.js.map +1 -0
- package/dist/cjs/contexts/hooks/useMemoryNodeUpdates.d.ts +7 -0
- package/dist/cjs/contexts/hooks/useMemoryNodeUpdates.d.ts.map +1 -0
- package/dist/cjs/contexts/hooks/useMemoryNodeUpdates.js +20 -0
- package/dist/cjs/contexts/hooks/useMemoryNodeUpdates.js.map +1 -0
- package/dist/cjs/contexts/useArchiveArchivists.d.ts +5 -1
- package/dist/cjs/contexts/useArchiveArchivists.d.ts.map +1 -1
- package/dist/cjs/contexts/useArchiveArchivists.js +11 -4
- package/dist/cjs/contexts/useArchiveArchivists.js.map +1 -1
- package/dist/cjs/contexts/useNodeQueryDiviner.d.ts +6 -1
- package/dist/cjs/contexts/useNodeQueryDiviner.d.ts.map +1 -1
- package/dist/cjs/contexts/useNodeQueryDiviner.js +10 -3
- package/dist/cjs/contexts/useNodeQueryDiviner.js.map +1 -1
- package/dist/docs.json +450 -98
- package/dist/esm/contexts/hooks/index.d.ts +2 -0
- package/dist/esm/contexts/hooks/index.d.ts.map +1 -0
- package/dist/esm/contexts/hooks/index.js +2 -0
- package/dist/esm/contexts/hooks/index.js.map +1 -0
- package/dist/esm/contexts/hooks/useMemoryNodeUpdates.d.ts +7 -0
- package/dist/esm/contexts/hooks/useMemoryNodeUpdates.d.ts.map +1 -0
- package/dist/esm/contexts/hooks/useMemoryNodeUpdates.js +16 -0
- package/dist/esm/contexts/hooks/useMemoryNodeUpdates.js.map +1 -0
- package/dist/esm/contexts/useArchiveArchivists.d.ts +5 -1
- package/dist/esm/contexts/useArchiveArchivists.d.ts.map +1 -1
- package/dist/esm/contexts/useArchiveArchivists.js +9 -3
- package/dist/esm/contexts/useArchiveArchivists.js.map +1 -1
- package/dist/esm/contexts/useNodeQueryDiviner.d.ts +6 -1
- package/dist/esm/contexts/useNodeQueryDiviner.d.ts.map +1 -1
- package/dist/esm/contexts/useNodeQueryDiviner.js +8 -2
- package/dist/esm/contexts/useNodeQueryDiviner.js.map +1 -1
- package/package.json +2 -2
- package/src/contexts/hooks/index.ts +1 -0
- package/src/contexts/hooks/useMemoryNodeUpdates.tsx +21 -0
- package/src/contexts/useArchiveArchivists.tsx +13 -3
- package/src/contexts/useNodeQueryDiviner.tsx +16 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModuleResolver } from '@xyo-network/module-model';
|
|
2
|
+
export declare const useMemoryNodeUpdates: () => {
|
|
3
|
+
resolver: ModuleResolver<import("@xyo-network/module-model").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
4
|
+
schema: string;
|
|
5
|
+
}>> | undefined;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=useMemoryNodeUpdates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMemoryNodeUpdates.d.ts","sourceRoot":"","sources":["../../../../src/contexts/hooks/useMemoryNodeUpdates.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAM1D,eAAO,MAAM,oBAAoB;;;;CAchC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { useNode } from '../useNode';
|
|
3
|
+
export const useMemoryNodeUpdates = () => {
|
|
4
|
+
const [node] = useNode();
|
|
5
|
+
const [resolver, seResolver] = useState();
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (node) {
|
|
8
|
+
node.on('moduleResolverChanged', ({ resolver }) => {
|
|
9
|
+
seResolver(resolver);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13
|
+
}, []);
|
|
14
|
+
return { resolver };
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useMemoryNodeUpdates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMemoryNodeUpdates.js","sourceRoot":"","sources":["../../../../src/contexts/hooks/useMemoryNodeUpdates.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAc,CAAA;IACpC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAA;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAChD,UAAU,CAAC,QAAQ,CAAC,CAAA;YACtB,CAAC,CAAC,CAAA;SACH;QACD,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrB,CAAC,CAAA"}
|
|
@@ -3,6 +3,10 @@ interface UseArchiveArchivists {
|
|
|
3
3
|
archivePayloadWrapper?: ArchivistWrapper;
|
|
4
4
|
archiveBoundWitnessWrapper?: ArchivistWrapper;
|
|
5
5
|
}
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const useArchiveArchivistsRaw: (archiveName?: string, required?: boolean, refresher?: unknown) => UseArchiveArchivists;
|
|
7
|
+
export declare const useArchiveArchivists: (archiveName?: string | undefined, required?: boolean | undefined, refresher?: unknown) => {
|
|
8
|
+
archiveBoundWitnessWrapper: ArchivistWrapper | undefined;
|
|
9
|
+
archivePayloadWrapper: ArchivistWrapper | undefined;
|
|
10
|
+
};
|
|
7
11
|
export {};
|
|
8
12
|
//# sourceMappingURL=useArchiveArchivists.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArchiveArchivists.d.ts","sourceRoot":"","sources":["../../../src/contexts/useArchiveArchivists.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"useArchiveArchivists.d.ts","sourceRoot":"","sources":["../../../src/contexts/useArchiveArchivists.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAQzD,UAAU,oBAAoB;IAC5B,qBAAqB,CAAC,EAAE,gBAAgB,CAAA;IACxC,0BAA0B,CAAC,EAAE,gBAAgB,CAAA;CAC9C;AAID,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,aAAa,OAAO,cAAc,OAAO,KAAG,oBAiBvG,CAAA;AAED,eAAO,MAAM,oBAAoB;;;CAKhC,CAAA"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { ArchivistWrapper } from '@xyo-network/archivist';
|
|
2
2
|
import { usePromise } from '@xyo-network/react-shared';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
|
+
import { useMemoryNodeUpdates } from './hooks';
|
|
4
5
|
import { useNode } from './useNode';
|
|
5
|
-
export const
|
|
6
|
+
export const useArchiveArchivistsRaw = (archiveName, required, refresher) => {
|
|
6
7
|
const [node] = useNode(required);
|
|
7
8
|
const payloadArchivistReq = useMemo(() => (archiveName && node ? node?.tryResolveWrapped(ArchivistWrapper, { name: [encodeURIComponent(`${archiveName}[payload]`)] }) : undefined), [archiveName, node]);
|
|
8
9
|
const boundWitnessArchivistReq = useMemo(() => archiveName && node ? node?.tryResolveWrapped(ArchivistWrapper, { name: [encodeURIComponent(`${archiveName}[boundwitness]`)] }) : undefined, [archiveName, node]);
|
|
9
|
-
const [archivePayloadWrapper] = usePromise(payloadArchivistReq, [payloadArchivistReq]);
|
|
10
|
-
const [archiveBoundWitnessWrapper] = usePromise(boundWitnessArchivistReq, [boundWitnessArchivistReq]);
|
|
10
|
+
const [archivePayloadWrapper] = usePromise(payloadArchivistReq, [payloadArchivistReq, refresher]);
|
|
11
|
+
const [archiveBoundWitnessWrapper] = usePromise(boundWitnessArchivistReq, [boundWitnessArchivistReq, refresher]);
|
|
11
12
|
return { archiveBoundWitnessWrapper: archiveBoundWitnessWrapper?.shift(), archivePayloadWrapper: archivePayloadWrapper?.shift() };
|
|
12
13
|
};
|
|
14
|
+
export const useArchiveArchivists = (...[archive, required, refresher]) => {
|
|
15
|
+
const { resolver } = useMemoryNodeUpdates();
|
|
16
|
+
const { archiveBoundWitnessWrapper, archivePayloadWrapper } = useArchiveArchivistsRaw(archive, required, refresher ?? resolver);
|
|
17
|
+
return { archiveBoundWitnessWrapper, archivePayloadWrapper };
|
|
18
|
+
};
|
|
13
19
|
//# sourceMappingURL=useArchiveArchivists.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArchiveArchivists.js","sourceRoot":"","sources":["../../../src/contexts/useArchiveArchivists.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"useArchiveArchivists.js","sourceRoot":"","sources":["../../../src/contexts/useArchiveArchivists.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAoB,EAAE,QAAkB,EAAE,SAAmB,EAAwB,EAAE;IAC7H,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAa,QAAQ,CAAC,CAAA;IAE5C,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,GAAG,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAC9I,CAAC,WAAW,EAAE,IAAI,CAAC,CACpB,CAAA;IACD,MAAM,wBAAwB,GAAG,OAAO,CACtC,GAAG,EAAE,CACH,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,GAAG,WAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAC7I,CAAC,WAAW,EAAE,IAAI,CAAC,CACpB,CAAA;IAED,MAAM,CAAC,qBAAqB,CAAC,GAAG,UAAU,CAAC,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAA;IACjG,MAAM,CAAC,0BAA0B,CAAC,GAAG,UAAU,CAAC,wBAAwB,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC,CAAA;IAEhH,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,CAAA;AACnI,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAa,EAAE,EAAE;IACpF,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAC3C,MAAM,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAA;IAE/H,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,CAAA;AAC9D,CAAC,CAAA"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { XyoPayload, XyoPayloads } from '@xyo-network/payload-model';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const useNodeQueryDivinerRaw: (moduleIdentifier?: string, query?: XyoPayload, refresher?: unknown) => [XyoPayloads | undefined, Error | undefined];
|
|
3
|
+
export declare const useNodeQueryDiviner: (moduleIdentifier?: string | undefined, query?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
4
|
+
schema: string;
|
|
5
|
+
}) | undefined, refresher?: unknown) => [XyoPayloads<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
6
|
+
schema: string;
|
|
7
|
+
}> | undefined, Error | undefined];
|
|
3
8
|
//# sourceMappingURL=useNodeQueryDiviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNodeQueryDiviner.d.ts","sourceRoot":"","sources":["../../../src/contexts/useNodeQueryDiviner.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"useNodeQueryDiviner.d.ts","sourceRoot":"","sources":["../../../src/contexts/useNodeQueryDiviner.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AASpE,eAAO,MAAM,sBAAsB,sBACd,MAAM,UACjB,UAAU,cACN,OAAO,KAClB,CAAC,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA2B7C,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;kCAK/B,CAAA"}
|
|
@@ -2,8 +2,9 @@ import { useAsyncEffect } from '@xylabs/react-shared';
|
|
|
2
2
|
import { DivinerWrapper } from '@xyo-network/diviner-wrapper';
|
|
3
3
|
import { assertDefinedEx } from '@xyo-network/react-shared';
|
|
4
4
|
import { useState } from 'react';
|
|
5
|
+
import { useMemoryNodeUpdates } from './hooks';
|
|
5
6
|
import { useNode } from './useNode';
|
|
6
|
-
export const
|
|
7
|
+
export const useNodeQueryDivinerRaw = (moduleIdentifier, query, refresher) => {
|
|
7
8
|
const [result, setResult] = useState();
|
|
8
9
|
const [error, setError] = useState();
|
|
9
10
|
const [node] = useNode();
|
|
@@ -24,7 +25,12 @@ export const useNodeQueryDiviner = (moduleIdentifier, query) => {
|
|
|
24
25
|
setError(e);
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
|
-
}, [moduleIdentifier, node, query]);
|
|
28
|
+
}, [moduleIdentifier, node, query, refresher]);
|
|
29
|
+
return [result, error];
|
|
30
|
+
};
|
|
31
|
+
export const useNodeQueryDiviner = (...[moduleIdentifier, query, refresher]) => {
|
|
32
|
+
const { resolver } = useMemoryNodeUpdates();
|
|
33
|
+
const [result, error] = useNodeQueryDivinerRaw(moduleIdentifier, query, refresher ?? resolver);
|
|
28
34
|
return [result, error];
|
|
29
35
|
};
|
|
30
36
|
//# sourceMappingURL=useNodeQueryDiviner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNodeQueryDiviner.js","sourceRoot":"","sources":["../../../src/contexts/useNodeQueryDiviner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"useNodeQueryDiviner.js","sourceRoot":"","sources":["../../../src/contexts/useNodeQueryDiviner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,gBAAyB,EACzB,KAAkB,EAClB,SAAmB,EAC2B,EAAE;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAe,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAA;IAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAc,CAAA;IAEpC,cAAc;IACZ,uDAAuD;IACvD,KAAK,IAAI,EAAE;QACT,IAAI,gBAAgB,IAAI,KAAK,IAAI,IAAI,EAAE,QAAQ,EAAE;YAC/C,IAAI;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;gBAC1F,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,oCAAoC,gBAAgB,EAAE,CAAC,CAAA;gBAErF,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;gBAClD,SAAS,CAAC,MAAM,CAAC,CAAA;gBACjB,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAChB,SAAS,CAAC,SAAS,CAAC,CAAA;gBACpB,QAAQ,CAAC,CAAU,CAAC,CAAA;aACrB;SACF;IACH,CAAC,EACD,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAC3C,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,CAAa,EAA6C,EAAE;IACpI,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAC3C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAA;IAE9F,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"@xyo-network/module-model": "^2.43.7",
|
|
21
21
|
"@xyo-network/node": "^2.43.7",
|
|
22
22
|
"@xyo-network/payload-model": "^2.43.7",
|
|
23
|
-
"@xyo-network/react-shared": "^2.41.
|
|
23
|
+
"@xyo-network/react-shared": "^2.41.31",
|
|
24
24
|
"@xyo-network/witness": "^2.43.7",
|
|
25
25
|
"lodash": "^4.17.21"
|
|
26
26
|
},
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
},
|
|
79
79
|
"sideEffects": false,
|
|
80
80
|
"types": "dist/esm/index.d.ts",
|
|
81
|
-
"version": "2.41.
|
|
81
|
+
"version": "2.41.31"
|
|
82
82
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useMemoryNodeUpdates'
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ModuleResolver } from '@xyo-network/module-model'
|
|
2
|
+
import { MemoryNode } from '@xyo-network/node'
|
|
3
|
+
import { useEffect, useState } from 'react'
|
|
4
|
+
|
|
5
|
+
import { useNode } from '../useNode'
|
|
6
|
+
|
|
7
|
+
export const useMemoryNodeUpdates = () => {
|
|
8
|
+
const [node] = useNode<MemoryNode>()
|
|
9
|
+
const [resolver, seResolver] = useState<ModuleResolver>()
|
|
10
|
+
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (node) {
|
|
13
|
+
node.on('moduleResolverChanged', ({ resolver }) => {
|
|
14
|
+
seResolver(resolver)
|
|
15
|
+
})
|
|
16
|
+
}
|
|
17
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
18
|
+
}, [])
|
|
19
|
+
|
|
20
|
+
return { resolver }
|
|
21
|
+
}
|
|
@@ -3,6 +3,7 @@ import { MemoryNode } from '@xyo-network/node'
|
|
|
3
3
|
import { usePromise } from '@xyo-network/react-shared'
|
|
4
4
|
import { useMemo } from 'react'
|
|
5
5
|
|
|
6
|
+
import { useMemoryNodeUpdates } from './hooks'
|
|
6
7
|
import { useNode } from './useNode'
|
|
7
8
|
|
|
8
9
|
interface UseArchiveArchivists {
|
|
@@ -10,7 +11,9 @@ interface UseArchiveArchivists {
|
|
|
10
11
|
archiveBoundWitnessWrapper?: ArchivistWrapper
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
type HookParams = Parameters<typeof useArchiveArchivistsRaw>
|
|
15
|
+
|
|
16
|
+
export const useArchiveArchivistsRaw = (archiveName?: string, required?: boolean, refresher?: unknown): UseArchiveArchivists => {
|
|
14
17
|
const [node] = useNode<MemoryNode>(required)
|
|
15
18
|
|
|
16
19
|
const payloadArchivistReq = useMemo(
|
|
@@ -23,8 +26,15 @@ export const useArchiveArchivists = (archiveName?: string, required?: boolean):
|
|
|
23
26
|
[archiveName, node],
|
|
24
27
|
)
|
|
25
28
|
|
|
26
|
-
const [archivePayloadWrapper] = usePromise(payloadArchivistReq, [payloadArchivistReq])
|
|
27
|
-
const [archiveBoundWitnessWrapper] = usePromise(boundWitnessArchivistReq, [boundWitnessArchivistReq])
|
|
29
|
+
const [archivePayloadWrapper] = usePromise(payloadArchivistReq, [payloadArchivistReq, refresher])
|
|
30
|
+
const [archiveBoundWitnessWrapper] = usePromise(boundWitnessArchivistReq, [boundWitnessArchivistReq, refresher])
|
|
28
31
|
|
|
29
32
|
return { archiveBoundWitnessWrapper: archiveBoundWitnessWrapper?.shift(), archivePayloadWrapper: archivePayloadWrapper?.shift() }
|
|
30
33
|
}
|
|
34
|
+
|
|
35
|
+
export const useArchiveArchivists = (...[archive, required, refresher]: HookParams) => {
|
|
36
|
+
const { resolver } = useMemoryNodeUpdates()
|
|
37
|
+
const { archiveBoundWitnessWrapper, archivePayloadWrapper } = useArchiveArchivistsRaw(archive, required, refresher ?? resolver)
|
|
38
|
+
|
|
39
|
+
return { archiveBoundWitnessWrapper, archivePayloadWrapper }
|
|
40
|
+
}
|
|
@@ -5,9 +5,16 @@ import { XyoPayload, XyoPayloads } from '@xyo-network/payload-model'
|
|
|
5
5
|
import { assertDefinedEx } from '@xyo-network/react-shared'
|
|
6
6
|
import { useState } from 'react'
|
|
7
7
|
|
|
8
|
+
import { useMemoryNodeUpdates } from './hooks'
|
|
8
9
|
import { useNode } from './useNode'
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
type HookParams = Parameters<typeof useNodeQueryDivinerRaw>
|
|
12
|
+
|
|
13
|
+
export const useNodeQueryDivinerRaw = (
|
|
14
|
+
moduleIdentifier?: string,
|
|
15
|
+
query?: XyoPayload,
|
|
16
|
+
refresher?: unknown,
|
|
17
|
+
): [XyoPayloads | undefined, Error | undefined] => {
|
|
11
18
|
const [result, setResult] = useState<XyoPayloads>()
|
|
12
19
|
const [error, setError] = useState<Error>()
|
|
13
20
|
const [node] = useNode<MemoryNode>()
|
|
@@ -30,8 +37,15 @@ export const useNodeQueryDiviner = (moduleIdentifier?: string, query?: XyoPayloa
|
|
|
30
37
|
}
|
|
31
38
|
}
|
|
32
39
|
},
|
|
33
|
-
[moduleIdentifier, node, query],
|
|
40
|
+
[moduleIdentifier, node, query, refresher],
|
|
34
41
|
)
|
|
35
42
|
|
|
36
43
|
return [result, error]
|
|
37
44
|
}
|
|
45
|
+
|
|
46
|
+
export const useNodeQueryDiviner = (...[moduleIdentifier, query, refresher]: HookParams): ReturnType<typeof useNodeQueryDivinerRaw> => {
|
|
47
|
+
const { resolver } = useMemoryNodeUpdates()
|
|
48
|
+
const [result, error] = useNodeQueryDivinerRaw(moduleIdentifier, query, refresher ?? resolver)
|
|
49
|
+
|
|
50
|
+
return [result, error]
|
|
51
|
+
}
|