@xyo-network/react-node 2.40.9 → 2.40.11
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/MemoryProvider.d.ts +9 -0
- package/dist/cjs/contexts/MemoryProvider.d.ts.map +1 -0
- package/dist/cjs/contexts/MemoryProvider.js +24 -0
- package/dist/cjs/contexts/MemoryProvider.js.map +1 -0
- package/dist/cjs/contexts/index.d.ts +1 -0
- package/dist/cjs/contexts/index.d.ts.map +1 -1
- package/dist/cjs/contexts/index.js +1 -0
- package/dist/cjs/contexts/index.js.map +1 -1
- package/dist/cjs/contexts/useArchivistModule.js +1 -1
- package/dist/cjs/contexts/useArchivistModule.js.map +1 -1
- package/dist/cjs/contexts/useDivinerModule.js +1 -1
- package/dist/cjs/contexts/useDivinerModule.js.map +1 -1
- package/dist/cjs/contexts/useModule.d.ts +5 -6
- package/dist/cjs/contexts/useModule.d.ts.map +1 -1
- package/dist/cjs/contexts/useModule.js +10 -2
- package/dist/cjs/contexts/useModule.js.map +1 -1
- package/dist/cjs/contexts/useModules.d.ts +1 -6
- package/dist/cjs/contexts/useModules.d.ts.map +1 -1
- package/dist/cjs/contexts/useWitnessModule.js +1 -1
- package/dist/cjs/contexts/useWitnessModule.js.map +1 -1
- package/dist/docs.json +361 -243
- package/dist/esm/contexts/MemoryProvider.d.ts +9 -0
- package/dist/esm/contexts/MemoryProvider.d.ts.map +1 -0
- package/dist/esm/contexts/MemoryProvider.js +18 -0
- package/dist/esm/contexts/MemoryProvider.js.map +1 -0
- package/dist/esm/contexts/index.d.ts +1 -0
- package/dist/esm/contexts/index.d.ts.map +1 -1
- package/dist/esm/contexts/index.js +1 -0
- package/dist/esm/contexts/index.js.map +1 -1
- package/dist/esm/contexts/useArchivistModule.js +1 -1
- package/dist/esm/contexts/useArchivistModule.js.map +1 -1
- package/dist/esm/contexts/useDivinerModule.js +1 -1
- package/dist/esm/contexts/useDivinerModule.js.map +1 -1
- package/dist/esm/contexts/useModule.d.ts +5 -6
- package/dist/esm/contexts/useModule.d.ts.map +1 -1
- package/dist/esm/contexts/useModule.js +10 -2
- package/dist/esm/contexts/useModule.js.map +1 -1
- package/dist/esm/contexts/useModules.d.ts +1 -6
- package/dist/esm/contexts/useModules.d.ts.map +1 -1
- package/dist/esm/contexts/useWitnessModule.js +1 -1
- package/dist/esm/contexts/useWitnessModule.js.map +1 -1
- package/package.json +2 -4
- package/src/contexts/MemoryProvider.tsx +32 -0
- package/src/contexts/index.ts +1 -0
- package/src/contexts/useArchivistModule.ts +1 -1
- package/src/contexts/useDivinerModule.ts +1 -1
- package/src/contexts/useModule.ts +13 -2
- package/src/contexts/useWitnessModule.ts +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { WithChildren } from '@xylabs/react-shared';
|
|
3
|
+
import { XyoModuleParams } from '@xyo-network/module';
|
|
4
|
+
import { NodeConfig } from '@xyo-network/node';
|
|
5
|
+
export declare type MemoryNodeProviderProps = WithChildren<{
|
|
6
|
+
required?: boolean;
|
|
7
|
+
}> & XyoModuleParams<NodeConfig>;
|
|
8
|
+
export declare const MemoryNodeProvider: React.FC<MemoryNodeProviderProps>;
|
|
9
|
+
//# sourceMappingURL=MemoryProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../../src/contexts/MemoryProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAK1D,oBAAY,uBAAuB,GAAG,YAAY,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,eAAe,CAAC,UAAU,CAAC,CAAA;AAE7B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmBhE,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useAsyncEffect } from '@xylabs/react-shared';
|
|
3
|
+
import { MemoryNode } from '@xyo-network/node';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { NodeProvider } from './Provider';
|
|
6
|
+
export const MemoryNodeProvider = ({ children, required = false, ...params }) => {
|
|
7
|
+
const [node, setNode] = useState();
|
|
8
|
+
useAsyncEffect(
|
|
9
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10
|
+
async (mounted) => {
|
|
11
|
+
const node = await MemoryNode.create(params);
|
|
12
|
+
if (mounted()) {
|
|
13
|
+
setNode(node);
|
|
14
|
+
}
|
|
15
|
+
}, [params]);
|
|
16
|
+
return (_jsx(NodeProvider, { node: node, required: required, children: children }));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=MemoryProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryProvider.js","sourceRoot":"","sources":["../../../src/contexts/MemoryProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,UAAU,EAAc,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAOzC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;IACjH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAc,CAAA;IAE9C,cAAc;IACZ,uDAAuD;IACvD,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;IACH,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IAED,OAAO,CACL,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,YACzC,QAAQ,GACI,CAChB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { XyoArchivistWrapper } from '@xyo-network/archivist';
|
|
2
2
|
import { useModule } from './useModule';
|
|
3
3
|
export const useArchivistModule = (address) => {
|
|
4
|
-
const module = useModule(address);
|
|
4
|
+
const module = useModule({ address });
|
|
5
5
|
return module ? new XyoArchivistWrapper(module) : undefined;
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=useArchivistModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useArchivistModule.js","sourceRoot":"","sources":["../../../src/contexts/useArchivistModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useArchivistModule.js","sourceRoot":"","sources":["../../../src/contexts/useArchivistModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACrC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7D,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { XyoDivinerWrapper } from '@xyo-network/diviner';
|
|
2
2
|
import { useModule } from './useModule';
|
|
3
3
|
export const useDivinerModule = (address) => {
|
|
4
|
-
const module = useModule(address);
|
|
4
|
+
const module = useModule({ address });
|
|
5
5
|
return module ? new XyoDivinerWrapper(module) : undefined;
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=useDivinerModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDivinerModule.js","sourceRoot":"","sources":["../../../src/contexts/useDivinerModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useDivinerModule.js","sourceRoot":"","sources":["../../../src/contexts/useDivinerModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACrC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3D,CAAC,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} & {
|
|
1
|
+
export interface ModuleIdentifier {
|
|
2
|
+
address?: string;
|
|
3
|
+
schema?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare const useModule: ({ address, schema }: ModuleIdentifier) => import("@xyo-network/module").Module<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
7
6
|
schema: string;
|
|
8
7
|
}> | null | undefined;
|
|
9
8
|
//# sourceMappingURL=useModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/contexts/useModule.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"useModule.d.ts","sourceRoot":"","sources":["../../../src/contexts/useModule.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,SAAS,wBAAyB,gBAAgB;;qBAS9D,CAAA"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { useNode } from './useNode';
|
|
2
|
-
export const useModule = (address) => {
|
|
2
|
+
export const useModule = ({ address, schema }) => {
|
|
3
3
|
const [node] = useNode();
|
|
4
|
-
|
|
4
|
+
if (address) {
|
|
5
|
+
return node?.resolve([address]).shift();
|
|
6
|
+
}
|
|
7
|
+
else if (schema) {
|
|
8
|
+
return node?.find([schema]).shift();
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
5
13
|
};
|
|
6
14
|
//# sourceMappingURL=useModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/contexts/useModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"useModule.js","sourceRoot":"","sources":["../../../src/contexts/useModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAoB,EAAE,EAAE;IACjE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAA;IACxB,IAAI,OAAO,EAAE;QACX,OAAO,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;KACxC;SAAM,IAAI,MAAM,EAAE;QACjB,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;KACpC;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC,CAAA"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
export declare const useModules: () => (import("@xyo-network/module").
|
|
2
|
-
security?: {
|
|
3
|
-
allowed?: Record<string, string[][]> | undefined;
|
|
4
|
-
disallowed?: Record<string, string[]> | undefined;
|
|
5
|
-
} | undefined;
|
|
6
|
-
} & {
|
|
1
|
+
export declare const useModules: () => (import("@xyo-network/module").Module<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
7
2
|
schema: string;
|
|
8
3
|
}> | null)[] | undefined;
|
|
9
4
|
//# sourceMappingURL=useModules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../../src/contexts/useModules.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"useModules.d.ts","sourceRoot":"","sources":["../../../src/contexts/useModules.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;wBAItB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { XyoWitnessWrapper } from '@xyo-network/witness';
|
|
2
2
|
import { useModule } from './useModule';
|
|
3
3
|
export const useWitnessModule = (address) => {
|
|
4
|
-
const module = useModule(address);
|
|
4
|
+
const module = useModule({ address });
|
|
5
5
|
return module ? new XyoWitnessWrapper(module) : undefined;
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=useWitnessModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWitnessModule.js","sourceRoot":"","sources":["../../../src/contexts/useWitnessModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useWitnessModule.js","sourceRoot":"","sources":["../../../src/contexts/useWitnessModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACrC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3D,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/react-flexbox": "^2.15.1",
|
|
14
14
|
"@xylabs/react-shared": "^2.15.1",
|
|
15
|
-
"@xyo-network/react-shared": "^2.40.
|
|
15
|
+
"@xyo-network/react-shared": "^2.40.11",
|
|
16
16
|
"lodash": "^4.17.21",
|
|
17
17
|
"tslib": "^2.4.1"
|
|
18
18
|
},
|
|
@@ -26,8 +26,6 @@
|
|
|
26
26
|
"@xyo-network/module": "*",
|
|
27
27
|
"@xyo-network/node": "*",
|
|
28
28
|
"@xyo-network/witness": "*",
|
|
29
|
-
"axios": "^1.1.3",
|
|
30
|
-
"pako": "^2.0.4",
|
|
31
29
|
"react": "^18.2.0",
|
|
32
30
|
"react-dom": "^18.2.0",
|
|
33
31
|
"react-router-dom": "^6.3.0"
|
|
@@ -75,5 +73,5 @@
|
|
|
75
73
|
},
|
|
76
74
|
"sideEffects": false,
|
|
77
75
|
"types": "dist/esm/index.d.ts",
|
|
78
|
-
"version": "2.40.
|
|
76
|
+
"version": "2.40.11"
|
|
79
77
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useAsyncEffect, WithChildren } from '@xylabs/react-shared'
|
|
2
|
+
import { XyoModuleParams } from '@xyo-network/module'
|
|
3
|
+
import { MemoryNode, NodeConfig } from '@xyo-network/node'
|
|
4
|
+
import { useState } from 'react'
|
|
5
|
+
|
|
6
|
+
import { NodeProvider } from './Provider'
|
|
7
|
+
|
|
8
|
+
export type MemoryNodeProviderProps = WithChildren<{
|
|
9
|
+
required?: boolean
|
|
10
|
+
}> &
|
|
11
|
+
XyoModuleParams<NodeConfig>
|
|
12
|
+
|
|
13
|
+
export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, required = false, ...params }) => {
|
|
14
|
+
const [node, setNode] = useState<MemoryNode>()
|
|
15
|
+
|
|
16
|
+
useAsyncEffect(
|
|
17
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
18
|
+
async (mounted) => {
|
|
19
|
+
const node = await MemoryNode.create(params)
|
|
20
|
+
if (mounted()) {
|
|
21
|
+
setNode(node)
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
[params],
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<NodeProvider node={node} required={required}>
|
|
29
|
+
{children}
|
|
30
|
+
</NodeProvider>
|
|
31
|
+
)
|
|
32
|
+
}
|
package/src/contexts/index.ts
CHANGED
|
@@ -3,6 +3,6 @@ import { XyoArchivistWrapper } from '@xyo-network/archivist'
|
|
|
3
3
|
import { useModule } from './useModule'
|
|
4
4
|
|
|
5
5
|
export const useArchivistModule = (address?: string) => {
|
|
6
|
-
const module = useModule(address)
|
|
6
|
+
const module = useModule({ address })
|
|
7
7
|
return module ? new XyoArchivistWrapper(module) : undefined
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@ import { XyoDivinerWrapper } from '@xyo-network/diviner'
|
|
|
3
3
|
import { useModule } from './useModule'
|
|
4
4
|
|
|
5
5
|
export const useDivinerModule = (address?: string) => {
|
|
6
|
-
const module = useModule(address)
|
|
6
|
+
const module = useModule({ address })
|
|
7
7
|
return module ? new XyoDivinerWrapper(module) : undefined
|
|
8
8
|
}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { useNode } from './useNode'
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export interface ModuleIdentifier {
|
|
4
|
+
address?: string
|
|
5
|
+
schema?: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const useModule = ({ address, schema }: ModuleIdentifier) => {
|
|
4
9
|
const [node] = useNode()
|
|
5
|
-
|
|
10
|
+
if (address) {
|
|
11
|
+
return node?.resolve([address]).shift()
|
|
12
|
+
} else if (schema) {
|
|
13
|
+
return node?.find([schema]).shift()
|
|
14
|
+
} else {
|
|
15
|
+
return undefined
|
|
16
|
+
}
|
|
6
17
|
}
|
|
@@ -3,6 +3,6 @@ import { XyoWitnessWrapper } from '@xyo-network/witness'
|
|
|
3
3
|
import { useModule } from './useModule'
|
|
4
4
|
|
|
5
5
|
export const useWitnessModule = (address?: string) => {
|
|
6
|
-
const module = useModule(address)
|
|
6
|
+
const module = useModule({ address })
|
|
7
7
|
return module ? new XyoWitnessWrapper(module) : undefined
|
|
8
8
|
}
|