@xyo-network/react-node-provider 2.47.45

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.
Files changed (74) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +13 -0
  3. package/dist/cjs/MemoryProvider.js +23 -0
  4. package/dist/cjs/MemoryProvider.js.map +1 -0
  5. package/dist/cjs/ModuleRepository/Provider.js +40 -0
  6. package/dist/cjs/ModuleRepository/Provider.js.map +1 -0
  7. package/dist/cjs/ModuleRepository/index.js +6 -0
  8. package/dist/cjs/ModuleRepository/index.js.map +1 -0
  9. package/dist/cjs/ModuleRepository/use.js +8 -0
  10. package/dist/cjs/ModuleRepository/use.js.map +1 -0
  11. package/dist/cjs/Node/Provider.js +13 -0
  12. package/dist/cjs/Node/Provider.js.map +1 -0
  13. package/dist/cjs/Node/index.js +5 -0
  14. package/dist/cjs/Node/index.js.map +1 -0
  15. package/dist/cjs/NodeDrawerContext/Provider.js +15 -0
  16. package/dist/cjs/NodeDrawerContext/Provider.js.map +1 -0
  17. package/dist/cjs/NodeDrawerContext/index.js +6 -0
  18. package/dist/cjs/NodeDrawerContext/index.js.map +1 -0
  19. package/dist/cjs/NodeDrawerContext/use.js +8 -0
  20. package/dist/cjs/NodeDrawerContext/use.js.map +1 -0
  21. package/dist/cjs/index.js +8 -0
  22. package/dist/cjs/index.js.map +1 -0
  23. package/dist/docs.json +890 -0
  24. package/dist/esm/MemoryProvider.js +18 -0
  25. package/dist/esm/MemoryProvider.js.map +1 -0
  26. package/dist/esm/ModuleRepository/Provider.js +39 -0
  27. package/dist/esm/ModuleRepository/Provider.js.map +1 -0
  28. package/dist/esm/ModuleRepository/index.js +3 -0
  29. package/dist/esm/ModuleRepository/index.js.map +1 -0
  30. package/dist/esm/ModuleRepository/use.js +4 -0
  31. package/dist/esm/ModuleRepository/use.js.map +1 -0
  32. package/dist/esm/Node/Provider.js +9 -0
  33. package/dist/esm/Node/Provider.js.map +1 -0
  34. package/dist/esm/Node/index.js +2 -0
  35. package/dist/esm/Node/index.js.map +1 -0
  36. package/dist/esm/NodeDrawerContext/Provider.js +11 -0
  37. package/dist/esm/NodeDrawerContext/Provider.js.map +1 -0
  38. package/dist/esm/NodeDrawerContext/index.js +3 -0
  39. package/dist/esm/NodeDrawerContext/index.js.map +1 -0
  40. package/dist/esm/NodeDrawerContext/use.js +4 -0
  41. package/dist/esm/NodeDrawerContext/use.js.map +1 -0
  42. package/dist/esm/index.js +5 -0
  43. package/dist/esm/index.js.map +1 -0
  44. package/dist/types/MemoryProvider.d.ts +10 -0
  45. package/dist/types/MemoryProvider.d.ts.map +1 -0
  46. package/dist/types/ModuleRepository/Provider.d.ts +9 -0
  47. package/dist/types/ModuleRepository/Provider.d.ts.map +1 -0
  48. package/dist/types/ModuleRepository/index.d.ts +3 -0
  49. package/dist/types/ModuleRepository/index.d.ts.map +1 -0
  50. package/dist/types/ModuleRepository/use.d.ts +2 -0
  51. package/dist/types/ModuleRepository/use.d.ts.map +1 -0
  52. package/dist/types/Node/Provider.d.ts +8 -0
  53. package/dist/types/Node/Provider.d.ts.map +1 -0
  54. package/dist/types/Node/index.d.ts +2 -0
  55. package/dist/types/Node/index.d.ts.map +1 -0
  56. package/dist/types/NodeDrawerContext/Provider.d.ts +7 -0
  57. package/dist/types/NodeDrawerContext/Provider.d.ts.map +1 -0
  58. package/dist/types/NodeDrawerContext/index.d.ts +3 -0
  59. package/dist/types/NodeDrawerContext/index.d.ts.map +1 -0
  60. package/dist/types/NodeDrawerContext/use.d.ts +2 -0
  61. package/dist/types/NodeDrawerContext/use.d.ts.map +1 -0
  62. package/dist/types/index.d.ts +5 -0
  63. package/dist/types/index.d.ts.map +1 -0
  64. package/package.json +77 -0
  65. package/src/MemoryProvider.tsx +29 -0
  66. package/src/ModuleRepository/Provider.tsx +49 -0
  67. package/src/ModuleRepository/index.ts +2 -0
  68. package/src/ModuleRepository/use.tsx +4 -0
  69. package/src/Node/Provider.tsx +15 -0
  70. package/src/Node/index.ts +1 -0
  71. package/src/NodeDrawerContext/Provider.tsx +17 -0
  72. package/src/NodeDrawerContext/index.ts +2 -0
  73. package/src/NodeDrawerContext/use.tsx +4 -0
  74. package/src/index.ts +4 -0
@@ -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 './Node';
6
+ export const MemoryNodeProvider = ({ children, moduleParams }) => {
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(moduleParams);
12
+ if (mounted()) {
13
+ setNode(node);
14
+ }
15
+ }, [moduleParams]);
16
+ return _jsx(NodeProvider, { node: node, children: children });
17
+ };
18
+ //# sourceMappingURL=MemoryProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryProvider.js","sourceRoot":"","sources":["../../src/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,QAAQ,CAAA;AAQrC,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;IAClG,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,YAAY,CAAC,CAAA;QAClD,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,CAAA;SACd;IACH,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;IAED,OAAO,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,YAAG,QAAQ,GAAgB,CAAA;AAC5D,CAAC,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ModuleRepositoryContext } from '@xyo-network/react-node-context';
3
+ import { useEffect, useState } from 'react';
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/ModuleRepository/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAmB,MAAM,iCAAiC,CAAA;AAC1F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAM3C,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,3 @@
1
+ export * from './Provider';
2
+ export * from './use';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ModuleRepository/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { ModuleRepositoryContext } from '@xyo-network/react-node-context';
2
+ import { useContextEx } from '@xyo-network/react-shared';
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/ModuleRepository/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { NodeContext } from '@xyo-network/react-node-context';
3
+ import { useMemo } from 'react';
4
+ export const NodeProvider = ({ node, children }) => {
5
+ //save a reference to it
6
+ const memoNode = useMemo(() => node, [node]);
7
+ return _jsx(NodeContext.Provider, { value: { node: memoNode, provided: true }, children: children });
8
+ };
9
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/Node/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAM/B,MAAM,CAAC,MAAM,YAAY,GAA8C,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5F,wBAAwB;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAE5C,OAAO,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAG,QAAQ,GAAwB,CAAA;AAC3G,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Provider';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Node/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { NodeDrawerContext } from '@xyo-network/react-node-context';
3
+ import { useEffect, useState } from 'react';
4
+ export const NodeDrawerProvider = ({ children, defaultOpen = false }) => {
5
+ const [open, setOpen] = useState(defaultOpen);
6
+ useEffect(() => {
7
+ setOpen(defaultOpen);
8
+ }, [defaultOpen]);
9
+ return _jsx(NodeDrawerContext.Provider, { value: { open, provided: true, setOpen }, children: children });
10
+ };
11
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/NodeDrawerContext/Provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAM3C,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EAAE,QAAQ,EAAE,WAAW,GAAG,KAAK,EAAE,EAAE,EAAE;IACzG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,WAAW,CAAC,CAAA;IACtB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAG,QAAQ,GAA8B,CAAA;AACtH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Provider';
2
+ export * from './use';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/NodeDrawerContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { NodeDrawerContext } from '@xyo-network/react-node-context';
2
+ import { useContextEx } from '@xyo-network/react-shared';
3
+ export const useNodeDrawer = (required = true) => useContextEx(NodeDrawerContext, 'NodeDrawer', required);
4
+ //# sourceMappingURL=use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/NodeDrawerContext/use.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,GAAG,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './MemoryProvider';
2
+ export * from './ModuleRepository';
3
+ export * from './Node';
4
+ export * from './NodeDrawerContext';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { WithChildren } from '@xylabs/react-shared';
3
+ import { ModuleParams } from '@xyo-network/module';
4
+ import { NodeConfig } from '@xyo-network/node';
5
+ export type MemoryNodeProviderProps = WithChildren<{
6
+ moduleParams?: ModuleParams<NodeConfig>;
7
+ required?: boolean;
8
+ }> & ModuleParams<NodeConfig>;
9
+ export declare const MemoryNodeProvider: React.FC<MemoryNodeProviderProps>;
10
+ //# sourceMappingURL=MemoryProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAK1D,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAehE,CAAA"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { WithChildren } from '@xylabs/react-shared';
3
+ import { ResolverEntries } from '@xyo-network/react-node-context';
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/ModuleRepository/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAA2B,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAG1F,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,3 @@
1
+ export * from './Provider';
2
+ export * from './use';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ModuleRepository/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useModuleRepository: (required?: boolean) => Omit<import("@xyo-network/react-node-context").ModuleRepositoryContextState & import("@xyo-network/react-shared").ContextExState, "provided">;
2
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/ModuleRepository/use.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,uKAA4F,CAAA"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { WithChildren } from '@xylabs/react-shared';
3
+ import { NodeModule } from '@xyo-network/node';
4
+ export interface NodeProviderProps {
5
+ node?: NodeModule;
6
+ }
7
+ export declare const NodeProvider: React.FC<WithChildren<NodeProviderProps>>;
8
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/Node/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI9C,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAKlE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Provider';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Node/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { WithChildren } from '@xylabs/react-shared';
3
+ export interface NodeDrawerProviderProps extends WithChildren {
4
+ defaultOpen?: boolean;
5
+ }
6
+ export declare const NodeDrawerProvider: React.FC<NodeDrawerProviderProps>;
7
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/NodeDrawerContext/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAInD,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAQhE,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './Provider';
2
+ export * from './use';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/NodeDrawerContext/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useNodeDrawer: (required?: boolean) => Omit<import("@xyo-network/react-node-context").NodeDrawerState & import("@xyo-network/react-shared").ContextExState, "provided">;
2
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/NodeDrawerContext/use.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,0JAA+E,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './MemoryProvider';
2
+ export * from './ModuleRepository';
3
+ export * from './Node';
4
+ export * from './NodeDrawerContext';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,qBAAqB,CAAA"}
package/package.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@xyo-network/react-node-provider",
3
+ "author": {
4
+ "email": "support@xyo.network",
5
+ "name": "XYO Development Team",
6
+ "url": "https://xyo.network"
7
+ },
8
+ "bugs": {
9
+ "email": "support@xyo.network",
10
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
+ },
12
+ "dependencies": {
13
+ "@xylabs/react-shared": "^2.16.14",
14
+ "@xyo-network/module": "^2.54.7",
15
+ "@xyo-network/node": "^2.54.7",
16
+ "@xyo-network/react-node-context": "^2.47.45",
17
+ "@xyo-network/react-shared": "^2.47.45"
18
+ },
19
+ "devDependencies": {
20
+ "@xylabs/ts-scripts-yarn3": "^2.16.1",
21
+ "@xylabs/tsconfig-react": "^2.16.1",
22
+ "typescript": "^4.9.5"
23
+ },
24
+ "peerDependencies": {
25
+ "@mui/icons-material": "^5",
26
+ "@mui/material": "^5",
27
+ "@mui/styles": "^5",
28
+ "axios": "^1",
29
+ "react": "^18",
30
+ "react-dom": "^18",
31
+ "react-router-dom": "^6"
32
+ },
33
+ "description": "Common React library for all XYO projects that use React",
34
+ "browser": "dist/esm/index.js",
35
+ "docs": "dist/docs.json",
36
+ "exports": {
37
+ ".": {
38
+ "node": {
39
+ "import": "./dist/esm/index.js",
40
+ "require": "./dist/cjs/index.js"
41
+ },
42
+ "browser": {
43
+ "import": "./dist/esm/index.js",
44
+ "require": "./dist/cjs/index.js"
45
+ },
46
+ "default": "./dist/esm/index.js"
47
+ },
48
+ "./dist/docs.json": {
49
+ "default": "./dist/docs.json"
50
+ },
51
+ "./package.json": "./package.json"
52
+ },
53
+ "main": "dist/cjs/index.js",
54
+ "module": "dist/esm/index.js",
55
+ "homepage": "https://xyo.network",
56
+ "keywords": [
57
+ "xyo",
58
+ "utility",
59
+ "typescript",
60
+ "react"
61
+ ],
62
+ "license": "LGPL-3.0",
63
+ "publishConfig": {
64
+ "access": "public"
65
+ },
66
+ "repository": {
67
+ "type": "git",
68
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
69
+ },
70
+ "scripts": {
71
+ "lint-pkg": "npmPkgJsonLint .",
72
+ "license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\""
73
+ },
74
+ "sideEffects": false,
75
+ "types": "dist/types/index.d.ts",
76
+ "version": "2.47.45"
77
+ }
@@ -0,0 +1,29 @@
1
+ import { useAsyncEffect, WithChildren } from '@xylabs/react-shared'
2
+ import { ModuleParams } from '@xyo-network/module'
3
+ import { MemoryNode, NodeConfig } from '@xyo-network/node'
4
+ import { useState } from 'react'
5
+
6
+ import { NodeProvider } from './Node'
7
+
8
+ export type MemoryNodeProviderProps = WithChildren<{
9
+ moduleParams?: ModuleParams<NodeConfig>
10
+ required?: boolean
11
+ }> &
12
+ ModuleParams<NodeConfig>
13
+
14
+ export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, moduleParams }) => {
15
+ const [node, setNode] = useState<MemoryNode>()
16
+
17
+ useAsyncEffect(
18
+ // eslint-disable-next-line react-hooks/exhaustive-deps
19
+ async (mounted) => {
20
+ const node = await MemoryNode.create(moduleParams)
21
+ if (mounted()) {
22
+ setNode(node)
23
+ }
24
+ },
25
+ [moduleParams],
26
+ )
27
+
28
+ return <NodeProvider node={node}>{children}</NodeProvider>
29
+ }
@@ -0,0 +1,49 @@
1
+ import { WithChildren } from '@xylabs/react-shared'
2
+ import { ModuleRepositoryContext, ResolverEntries } from '@xyo-network/react-node-context'
3
+ import { useEffect, useState } from 'react'
4
+
5
+ interface ModuleRepositoryProviderProps extends WithChildren {
6
+ defaultResolvers?: ResolverEntries
7
+ }
8
+
9
+ export const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> = ({ children, defaultResolvers }) => {
10
+ const [resolvers, setResolvers] = useState<ResolverEntries | undefined>(defaultResolvers)
11
+
12
+ useEffect(() => {
13
+ setResolvers(defaultResolvers)
14
+ }, [defaultResolvers])
15
+
16
+ const updateResolvers = (resolverEntries?: ResolverEntries) => {
17
+ if (resolverEntries) {
18
+ setResolvers((resolvers) => ({
19
+ ...resolvers,
20
+ ...resolverEntries,
21
+ }))
22
+ return true
23
+ } else {
24
+ return false
25
+ }
26
+ }
27
+
28
+ const removeResolvers = (names?: string[]) => {
29
+ if (names?.length) {
30
+ setResolvers((resolvers) => {
31
+ if (resolvers) {
32
+ names.forEach((name) => {
33
+ delete resolvers[name]
34
+ })
35
+ return { ...resolvers }
36
+ }
37
+ })
38
+ return true
39
+ } else {
40
+ return false
41
+ }
42
+ }
43
+
44
+ return (
45
+ <ModuleRepositoryContext.Provider value={{ provided: true, removeResolvers, resolvers, updateResolvers }}>
46
+ {children}
47
+ </ModuleRepositoryContext.Provider>
48
+ )
49
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Provider'
2
+ export * from './use'
@@ -0,0 +1,4 @@
1
+ import { ModuleRepositoryContext } from '@xyo-network/react-node-context'
2
+ import { useContextEx } from '@xyo-network/react-shared'
3
+
4
+ export const useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext, 'ModuleRepository', required)
@@ -0,0 +1,15 @@
1
+ import { WithChildren } from '@xylabs/react-shared'
2
+ import { NodeModule } from '@xyo-network/node'
3
+ import { NodeContext } from '@xyo-network/react-node-context'
4
+ import { useMemo } from 'react'
5
+
6
+ export interface NodeProviderProps {
7
+ node?: NodeModule
8
+ }
9
+
10
+ export const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node, children }) => {
11
+ //save a reference to it
12
+ const memoNode = useMemo(() => node, [node])
13
+
14
+ return <NodeContext.Provider value={{ node: memoNode, provided: true }}>{children}</NodeContext.Provider>
15
+ }
@@ -0,0 +1 @@
1
+ export * from './Provider'
@@ -0,0 +1,17 @@
1
+ import { WithChildren } from '@xylabs/react-shared'
2
+ import { NodeDrawerContext } from '@xyo-network/react-node-context'
3
+ import { useEffect, useState } from 'react'
4
+
5
+ export interface NodeDrawerProviderProps extends WithChildren {
6
+ defaultOpen?: boolean
7
+ }
8
+
9
+ export const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {
10
+ const [open, setOpen] = useState(defaultOpen)
11
+
12
+ useEffect(() => {
13
+ setOpen(defaultOpen)
14
+ }, [defaultOpen])
15
+
16
+ return <NodeDrawerContext.Provider value={{ open, provided: true, setOpen }}>{children}</NodeDrawerContext.Provider>
17
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Provider'
2
+ export * from './use'
@@ -0,0 +1,4 @@
1
+ import { NodeDrawerContext } from '@xyo-network/react-node-context'
2
+ import { useContextEx } from '@xyo-network/react-shared'
3
+
4
+ export const useNodeDrawer = (required = true) => useContextEx(NodeDrawerContext, 'NodeDrawer', required)
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './MemoryProvider'
2
+ export * from './ModuleRepository'
3
+ export * from './Node'
4
+ export * from './NodeDrawerContext'