@xyo-network/react-node 2.41.19 → 2.41.21
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/ModuleRepository/Context.d.ts +4 -0
- package/dist/cjs/contexts/ModuleRepository/Context.d.ts.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/Context.js +6 -0
- package/dist/cjs/contexts/ModuleRepository/Context.js.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/Provider.d.ts +9 -0
- package/dist/cjs/contexts/ModuleRepository/Provider.d.ts.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/Provider.js +40 -0
- package/dist/cjs/contexts/ModuleRepository/Provider.js.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/State.d.ts +11 -0
- package/dist/cjs/contexts/ModuleRepository/State.d.ts.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/State.js +3 -0
- package/dist/cjs/contexts/ModuleRepository/State.js.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/index.d.ts +5 -0
- package/dist/cjs/contexts/ModuleRepository/index.d.ts.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/index.js +8 -0
- package/dist/cjs/contexts/ModuleRepository/index.js.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/use.d.ts +2 -0
- package/dist/cjs/contexts/ModuleRepository/use.d.ts.map +1 -0
- package/dist/cjs/contexts/ModuleRepository/use.js +8 -0
- package/dist/cjs/contexts/ModuleRepository/use.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/useNode.d.ts +1 -1
- package/dist/cjs/contexts/useNode.js +2 -2
- package/dist/cjs/contexts/useNode.js.map +1 -1
- package/dist/cjs/contexts/useNodeQueryDiviner.js +4 -4
- package/dist/cjs/contexts/useNodeQueryDiviner.js.map +1 -1
- package/dist/docs.json +590 -146
- package/dist/esm/contexts/ModuleRepository/Context.d.ts +4 -0
- package/dist/esm/contexts/ModuleRepository/Context.d.ts.map +1 -0
- package/dist/esm/contexts/ModuleRepository/Context.js +3 -0
- package/dist/esm/contexts/ModuleRepository/Context.js.map +1 -0
- package/dist/esm/contexts/ModuleRepository/Provider.d.ts +9 -0
- package/dist/esm/contexts/ModuleRepository/Provider.d.ts.map +1 -0
- package/dist/esm/contexts/ModuleRepository/Provider.js +39 -0
- package/dist/esm/contexts/ModuleRepository/Provider.js.map +1 -0
- package/dist/esm/contexts/ModuleRepository/State.d.ts +11 -0
- package/dist/esm/contexts/ModuleRepository/State.d.ts.map +1 -0
- package/dist/esm/contexts/ModuleRepository/State.js +2 -0
- package/dist/esm/contexts/ModuleRepository/State.js.map +1 -0
- package/dist/esm/contexts/ModuleRepository/index.d.ts +5 -0
- package/dist/esm/contexts/ModuleRepository/index.d.ts.map +1 -0
- package/dist/esm/contexts/ModuleRepository/index.js +5 -0
- package/dist/esm/contexts/ModuleRepository/index.js.map +1 -0
- package/dist/esm/contexts/ModuleRepository/use.d.ts +2 -0
- package/dist/esm/contexts/ModuleRepository/use.d.ts.map +1 -0
- package/dist/esm/contexts/ModuleRepository/use.js +4 -0
- package/dist/esm/contexts/ModuleRepository/use.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/useNode.d.ts +1 -1
- package/dist/esm/contexts/useNode.js +2 -2
- package/dist/esm/contexts/useNode.js.map +1 -1
- package/dist/esm/contexts/useNodeQueryDiviner.js +4 -4
- package/dist/esm/contexts/useNodeQueryDiviner.js.map +1 -1
- package/package.json +2 -2
- package/src/contexts/ModuleRepository/Context.ts +5 -0
- package/src/contexts/ModuleRepository/Provider.tsx +51 -0
- package/src/contexts/ModuleRepository/State.ts +12 -0
- package/src/contexts/ModuleRepository/index.ts +4 -0
- package/src/contexts/ModuleRepository/use.tsx +5 -0
- package/src/contexts/index.ts +1 -0
- package/src/contexts/useNode.ts +2 -2
- package/src/contexts/useNodeQueryDiviner.tsx +4 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ModuleRepositoryContextState } from './State';
|
|
3
|
+
export declare const ModuleRepositoryContext: import("react").Context<ModuleRepositoryContextState & import("@xyo-network/react-shared").ContextExState>;
|
|
4
|
+
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/Context.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAEtD,eAAO,MAAM,uBAAuB,4GAAkD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,EAAgC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { WithChildren } from '@xylabs/react-shared';
|
|
3
|
+
import { ResolverEntries } from './State';
|
|
4
|
+
interface ModuleRepositoryProviderProps extends WithChildren {
|
|
5
|
+
defaultResolvers?: ResolverEntries;
|
|
6
|
+
}
|
|
7
|
+
export declare const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,6BAA8B,SAAQ,YAAY;IAC1D,gBAAgB,CAAC,EAAE,eAAe,CAAA;CACnC;AAED,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAwC5E,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { ModuleRepositoryContext } from './Context';
|
|
4
|
+
export const ModuleRepositoryProvider = ({ children, defaultResolvers }) => {
|
|
5
|
+
const [resolvers, setResolvers] = useState(defaultResolvers);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
setResolvers(defaultResolvers);
|
|
8
|
+
}, [defaultResolvers]);
|
|
9
|
+
const updateResolvers = (resolverEntries) => {
|
|
10
|
+
if (resolverEntries) {
|
|
11
|
+
setResolvers((resolvers) => ({
|
|
12
|
+
...resolvers,
|
|
13
|
+
...resolverEntries,
|
|
14
|
+
}));
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const removeResolvers = (names) => {
|
|
22
|
+
if (names?.length) {
|
|
23
|
+
setResolvers((resolvers) => {
|
|
24
|
+
if (resolvers) {
|
|
25
|
+
names.forEach((name) => {
|
|
26
|
+
delete resolvers[name];
|
|
27
|
+
});
|
|
28
|
+
return { ...resolvers };
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
return (_jsx(ModuleRepositoryContext.Provider, { value: { provided: true, removeResolvers, resolvers, updateResolvers }, children: children }));
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=Provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAOnD,MAAM,CAAC,MAAM,wBAAwB,GAA4C,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE;IAClH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA8B,gBAAgB,CAAC,CAAA;IAEzF,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAChC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAEtB,MAAM,eAAe,GAAG,CAAC,eAAiC,EAAE,EAAE;QAC5D,IAAI,eAAe,EAAE;YACnB,YAAY,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC3B,GAAG,SAAS;gBACZ,GAAG,eAAe;aACnB,CAAC,CAAC,CAAA;YACH,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,KAAgB,EAAE,EAAE;QAC3C,IAAI,KAAK,EAAE,MAAM,EAAE;YACjB,YAAY,CAAC,CAAC,SAAS,EAAE,EAAE;gBACzB,IAAI,SAAS,EAAE;oBACb,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;oBACxB,CAAC,CAAC,CAAA;oBACF,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;iBACxB;YACH,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;SACZ;aAAM;YACL,OAAO,KAAK,CAAA;SACb;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,YACrG,QAAQ,GACwB,CACpC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ModuleRepository } from '@xyo-network/module-model';
|
|
2
|
+
import { ContextExState } from '@xyo-network/react-shared';
|
|
3
|
+
export interface ResolverEntries {
|
|
4
|
+
[name: string]: ModuleRepository;
|
|
5
|
+
}
|
|
6
|
+
export interface ModuleRepositoryContextState extends ContextExState {
|
|
7
|
+
resolvers?: ResolverEntries;
|
|
8
|
+
removeResolvers?: (names?: string[]) => boolean;
|
|
9
|
+
updateResolvers?: (resolvers: ResolverEntries) => boolean;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=State.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE1D,MAAM,WAAW,eAAe;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;CACjC;AAED,MAAM,WAAW,4BAA6B,SAAQ,cAAc;IAClE,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAA;IAC/C,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,OAAO,CAAA;CAC1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.js","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/State.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/use.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,+IAA4F,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { useContextEx } from '@xyo-network/react-shared';
|
|
2
|
+
import { ModuleRepositoryContext } from './Context';
|
|
3
|
+
export const useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext, 'ModuleRepository', required);
|
|
4
|
+
//# sourceMappingURL=use.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/ModuleRepository/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,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,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,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,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,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,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,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,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
|
|
@@ -4,7 +4,7 @@ export declare const useNode: <T extends NodeModule<import("@xyo-network/module-
|
|
|
4
4
|
schema: string;
|
|
5
5
|
}>> = NodeModule<import("@xyo-network/module-model").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
6
6
|
schema: string;
|
|
7
|
-
}>>>() => [T | undefined, Dispatch<NodeModule<import("@xyo-network/module-model").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
7
|
+
}>>>(required?: boolean) => [T | undefined, Dispatch<NodeModule<import("@xyo-network/module-model").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
8
8
|
schema: string;
|
|
9
9
|
}>>> | undefined];
|
|
10
10
|
//# sourceMappingURL=useNode.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useContextEx } from '@xyo-network/react-shared';
|
|
2
2
|
import { NodeContext } from './Context';
|
|
3
|
-
export const useNode = () => {
|
|
4
|
-
const { node, setNode } = useContextEx(NodeContext, 'Node');
|
|
3
|
+
export const useNode = (required = true) => {
|
|
4
|
+
const { node, setNode } = useContextEx(NodeContext, 'Node', required);
|
|
5
5
|
return [node, setNode];
|
|
6
6
|
};
|
|
7
7
|
//# sourceMappingURL=useNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/contexts/useNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"useNode.js","sourceRoot":"","sources":["../../../src/contexts/useNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAoC,QAAQ,GAAG,IAAI,EAAqD,EAAE;IAC/H,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAErE,OAAO,CAAC,IAAS,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAA"}
|
|
@@ -10,11 +10,11 @@ export const useNodeQueryDiviner = (moduleIdentifier, query) => {
|
|
|
10
10
|
useAsyncEffect(
|
|
11
11
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12
12
|
async () => {
|
|
13
|
-
if (moduleIdentifier && query) {
|
|
13
|
+
if (moduleIdentifier && query && node?.resolver) {
|
|
14
14
|
try {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
const result = await diviner?.divine([query]);
|
|
15
|
+
const diviner = await node.tryResolveWrapped(DivinerWrapper, { name: [moduleIdentifier] });
|
|
16
|
+
assertDefinedEx(diviner?.[0], `Unable to find moduleIdentifier: ${moduleIdentifier}`);
|
|
17
|
+
const result = await diviner?.[0]?.divine([query]);
|
|
18
18
|
setResult(result);
|
|
19
19
|
setError(undefined);
|
|
20
20
|
}
|
|
@@ -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;AAEnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,gBAAyB,EAAE,KAAkB,EAAgD,EAAE;IACjI,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,EAAE;
|
|
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;AAEnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,gBAAyB,EAAE,KAAkB,EAAgD,EAAE;IACjI,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,CAAC,CAChC,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@xyo-network/node": "^2.43.5",
|
|
24
24
|
"@xyo-network/payload-builder": "^2.43.5",
|
|
25
25
|
"@xyo-network/payload-model": "^2.43.5",
|
|
26
|
-
"@xyo-network/react-shared": "^2.41.
|
|
26
|
+
"@xyo-network/react-shared": "^2.41.21",
|
|
27
27
|
"@xyo-network/witness": "^2.43.5",
|
|
28
28
|
"lodash": "^4.17.21"
|
|
29
29
|
},
|
|
@@ -81,5 +81,5 @@
|
|
|
81
81
|
},
|
|
82
82
|
"sideEffects": false,
|
|
83
83
|
"types": "dist/esm/index.d.ts",
|
|
84
|
-
"version": "2.41.
|
|
84
|
+
"version": "2.41.21"
|
|
85
85
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { WithChildren } from '@xylabs/react-shared'
|
|
2
|
+
import { useEffect, useState } from 'react'
|
|
3
|
+
|
|
4
|
+
import { ModuleRepositoryContext } from './Context'
|
|
5
|
+
import { ResolverEntries } from './State'
|
|
6
|
+
|
|
7
|
+
interface ModuleRepositoryProviderProps extends WithChildren {
|
|
8
|
+
defaultResolvers?: ResolverEntries
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> = ({ children, defaultResolvers }) => {
|
|
12
|
+
const [resolvers, setResolvers] = useState<ResolverEntries | undefined>(defaultResolvers)
|
|
13
|
+
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
setResolvers(defaultResolvers)
|
|
16
|
+
}, [defaultResolvers])
|
|
17
|
+
|
|
18
|
+
const updateResolvers = (resolverEntries?: ResolverEntries) => {
|
|
19
|
+
if (resolverEntries) {
|
|
20
|
+
setResolvers((resolvers) => ({
|
|
21
|
+
...resolvers,
|
|
22
|
+
...resolverEntries,
|
|
23
|
+
}))
|
|
24
|
+
return true
|
|
25
|
+
} else {
|
|
26
|
+
return false
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const removeResolvers = (names?: string[]) => {
|
|
31
|
+
if (names?.length) {
|
|
32
|
+
setResolvers((resolvers) => {
|
|
33
|
+
if (resolvers) {
|
|
34
|
+
names.forEach((name) => {
|
|
35
|
+
delete resolvers[name]
|
|
36
|
+
})
|
|
37
|
+
return { ...resolvers }
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
return true
|
|
41
|
+
} else {
|
|
42
|
+
return false
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<ModuleRepositoryContext.Provider value={{ provided: true, removeResolvers, resolvers, updateResolvers }}>
|
|
48
|
+
{children}
|
|
49
|
+
</ModuleRepositoryContext.Provider>
|
|
50
|
+
)
|
|
51
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ModuleRepository } from '@xyo-network/module-model'
|
|
2
|
+
import { ContextExState } from '@xyo-network/react-shared'
|
|
3
|
+
|
|
4
|
+
export interface ResolverEntries {
|
|
5
|
+
[name: string]: ModuleRepository
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ModuleRepositoryContextState extends ContextExState {
|
|
9
|
+
resolvers?: ResolverEntries
|
|
10
|
+
removeResolvers?: (names?: string[]) => boolean
|
|
11
|
+
updateResolvers?: (resolvers: ResolverEntries) => boolean
|
|
12
|
+
}
|
package/src/contexts/index.ts
CHANGED
package/src/contexts/useNode.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { Dispatch } from 'react'
|
|
|
4
4
|
|
|
5
5
|
import { NodeContext } from './Context'
|
|
6
6
|
|
|
7
|
-
export const useNode = <T extends NodeModule = NodeModule>(): [T | undefined, Dispatch<NodeModule> | undefined] => {
|
|
8
|
-
const { node, setNode } = useContextEx(NodeContext, 'Node')
|
|
7
|
+
export const useNode = <T extends NodeModule = NodeModule>(required = true): [T | undefined, Dispatch<NodeModule> | undefined] => {
|
|
8
|
+
const { node, setNode } = useContextEx(NodeContext, 'Node', required)
|
|
9
9
|
|
|
10
10
|
return [node as T, setNode]
|
|
11
11
|
}
|
|
@@ -15,12 +15,12 @@ export const useNodeQueryDiviner = (moduleIdentifier?: string, query?: XyoPayloa
|
|
|
15
15
|
useAsyncEffect(
|
|
16
16
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17
17
|
async () => {
|
|
18
|
-
if (moduleIdentifier && query) {
|
|
18
|
+
if (moduleIdentifier && query && node?.resolver) {
|
|
19
19
|
try {
|
|
20
|
-
const
|
|
21
|
-
|
|
20
|
+
const diviner = await node.tryResolveWrapped(DivinerWrapper, { name: [moduleIdentifier] })
|
|
21
|
+
assertDefinedEx(diviner?.[0], `Unable to find moduleIdentifier: ${moduleIdentifier}`)
|
|
22
22
|
|
|
23
|
-
const result = await diviner?.divine([query])
|
|
23
|
+
const result = await diviner?.[0]?.divine([query])
|
|
24
24
|
setResult(result)
|
|
25
25
|
setError(undefined)
|
|
26
26
|
} catch (e) {
|