@xyo-network/react-node-provider 2.81.10 → 2.82.0

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 (191) hide show
  1. package/dist/browser/MemoryProvider.d.cts +1 -0
  2. package/dist/browser/MemoryProvider.d.cts.map +1 -1
  3. package/dist/browser/MemoryProvider.d.mts +1 -0
  4. package/dist/browser/MemoryProvider.d.mts.map +1 -1
  5. package/dist/browser/MemoryProvider.d.ts +1 -0
  6. package/dist/browser/MemoryProvider.d.ts.map +1 -1
  7. package/dist/browser/ModuleRepository/Provider.d.cts +1 -0
  8. package/dist/browser/ModuleRepository/Provider.d.cts.map +1 -1
  9. package/dist/browser/ModuleRepository/Provider.d.mts +1 -0
  10. package/dist/browser/ModuleRepository/Provider.d.mts.map +1 -1
  11. package/dist/browser/ModuleRepository/Provider.d.ts +1 -0
  12. package/dist/browser/ModuleRepository/Provider.d.ts.map +1 -1
  13. package/dist/browser/ModuleRepository/index.d.cts +2 -2
  14. package/dist/browser/ModuleRepository/index.d.cts.map +1 -1
  15. package/dist/browser/ModuleRepository/index.d.mts +2 -2
  16. package/dist/browser/ModuleRepository/index.d.mts.map +1 -1
  17. package/dist/browser/ModuleRepository/index.d.ts +2 -2
  18. package/dist/browser/ModuleRepository/index.d.ts.map +1 -1
  19. package/dist/browser/ModuleRepository/use.d.cts.map +1 -1
  20. package/dist/browser/ModuleRepository/use.d.mts.map +1 -1
  21. package/dist/browser/ModuleRepository/use.d.ts.map +1 -1
  22. package/dist/browser/Node/Provider.d.cts +1 -0
  23. package/dist/browser/Node/Provider.d.cts.map +1 -1
  24. package/dist/browser/Node/Provider.d.mts +1 -0
  25. package/dist/browser/Node/Provider.d.mts.map +1 -1
  26. package/dist/browser/Node/Provider.d.ts +1 -0
  27. package/dist/browser/Node/Provider.d.ts.map +1 -1
  28. package/dist/browser/Node/index.d.cts +1 -1
  29. package/dist/browser/Node/index.d.cts.map +1 -1
  30. package/dist/browser/Node/index.d.mts +1 -1
  31. package/dist/browser/Node/index.d.mts.map +1 -1
  32. package/dist/browser/Node/index.d.ts +1 -1
  33. package/dist/browser/Node/index.d.ts.map +1 -1
  34. package/dist/browser/NodeDrawerContext/Provider.d.cts +1 -0
  35. package/dist/browser/NodeDrawerContext/Provider.d.cts.map +1 -1
  36. package/dist/browser/NodeDrawerContext/Provider.d.mts +1 -0
  37. package/dist/browser/NodeDrawerContext/Provider.d.mts.map +1 -1
  38. package/dist/browser/NodeDrawerContext/Provider.d.ts +1 -0
  39. package/dist/browser/NodeDrawerContext/Provider.d.ts.map +1 -1
  40. package/dist/browser/NodeDrawerContext/index.d.cts +2 -2
  41. package/dist/browser/NodeDrawerContext/index.d.cts.map +1 -1
  42. package/dist/browser/NodeDrawerContext/index.d.mts +2 -2
  43. package/dist/browser/NodeDrawerContext/index.d.mts.map +1 -1
  44. package/dist/browser/NodeDrawerContext/index.d.ts +2 -2
  45. package/dist/browser/NodeDrawerContext/index.d.ts.map +1 -1
  46. package/dist/browser/NodeDrawerContext/use.d.cts.map +1 -1
  47. package/dist/browser/NodeDrawerContext/use.d.mts.map +1 -1
  48. package/dist/browser/NodeDrawerContext/use.d.ts.map +1 -1
  49. package/dist/browser/index.cjs +93 -64
  50. package/dist/browser/index.cjs.map +1 -1
  51. package/dist/browser/index.d.cts +4 -4
  52. package/dist/browser/index.d.cts.map +1 -1
  53. package/dist/browser/index.d.mts +4 -4
  54. package/dist/browser/index.d.mts.map +1 -1
  55. package/dist/browser/index.d.ts +4 -4
  56. package/dist/browser/index.d.ts.map +1 -1
  57. package/dist/browser/index.mjs +143 -0
  58. package/dist/browser/index.mjs.map +1 -0
  59. package/dist/neutral/MemoryProvider.d.cts +1 -0
  60. package/dist/neutral/MemoryProvider.d.cts.map +1 -1
  61. package/dist/neutral/MemoryProvider.d.mts +1 -0
  62. package/dist/neutral/MemoryProvider.d.mts.map +1 -1
  63. package/dist/neutral/MemoryProvider.d.ts +1 -0
  64. package/dist/neutral/MemoryProvider.d.ts.map +1 -1
  65. package/dist/neutral/ModuleRepository/Provider.d.cts +1 -0
  66. package/dist/neutral/ModuleRepository/Provider.d.cts.map +1 -1
  67. package/dist/neutral/ModuleRepository/Provider.d.mts +1 -0
  68. package/dist/neutral/ModuleRepository/Provider.d.mts.map +1 -1
  69. package/dist/neutral/ModuleRepository/Provider.d.ts +1 -0
  70. package/dist/neutral/ModuleRepository/Provider.d.ts.map +1 -1
  71. package/dist/neutral/ModuleRepository/index.d.cts +2 -2
  72. package/dist/neutral/ModuleRepository/index.d.cts.map +1 -1
  73. package/dist/neutral/ModuleRepository/index.d.mts +2 -2
  74. package/dist/neutral/ModuleRepository/index.d.mts.map +1 -1
  75. package/dist/neutral/ModuleRepository/index.d.ts +2 -2
  76. package/dist/neutral/ModuleRepository/index.d.ts.map +1 -1
  77. package/dist/neutral/ModuleRepository/use.d.cts.map +1 -1
  78. package/dist/neutral/ModuleRepository/use.d.mts.map +1 -1
  79. package/dist/neutral/ModuleRepository/use.d.ts.map +1 -1
  80. package/dist/neutral/Node/Provider.d.cts +1 -0
  81. package/dist/neutral/Node/Provider.d.cts.map +1 -1
  82. package/dist/neutral/Node/Provider.d.mts +1 -0
  83. package/dist/neutral/Node/Provider.d.mts.map +1 -1
  84. package/dist/neutral/Node/Provider.d.ts +1 -0
  85. package/dist/neutral/Node/Provider.d.ts.map +1 -1
  86. package/dist/neutral/Node/index.d.cts +1 -1
  87. package/dist/neutral/Node/index.d.cts.map +1 -1
  88. package/dist/neutral/Node/index.d.mts +1 -1
  89. package/dist/neutral/Node/index.d.mts.map +1 -1
  90. package/dist/neutral/Node/index.d.ts +1 -1
  91. package/dist/neutral/Node/index.d.ts.map +1 -1
  92. package/dist/neutral/NodeDrawerContext/Provider.d.cts +1 -0
  93. package/dist/neutral/NodeDrawerContext/Provider.d.cts.map +1 -1
  94. package/dist/neutral/NodeDrawerContext/Provider.d.mts +1 -0
  95. package/dist/neutral/NodeDrawerContext/Provider.d.mts.map +1 -1
  96. package/dist/neutral/NodeDrawerContext/Provider.d.ts +1 -0
  97. package/dist/neutral/NodeDrawerContext/Provider.d.ts.map +1 -1
  98. package/dist/neutral/NodeDrawerContext/index.d.cts +2 -2
  99. package/dist/neutral/NodeDrawerContext/index.d.cts.map +1 -1
  100. package/dist/neutral/NodeDrawerContext/index.d.mts +2 -2
  101. package/dist/neutral/NodeDrawerContext/index.d.mts.map +1 -1
  102. package/dist/neutral/NodeDrawerContext/index.d.ts +2 -2
  103. package/dist/neutral/NodeDrawerContext/index.d.ts.map +1 -1
  104. package/dist/neutral/NodeDrawerContext/use.d.cts.map +1 -1
  105. package/dist/neutral/NodeDrawerContext/use.d.mts.map +1 -1
  106. package/dist/neutral/NodeDrawerContext/use.d.ts.map +1 -1
  107. package/dist/neutral/index.cjs +93 -64
  108. package/dist/neutral/index.cjs.map +1 -1
  109. package/dist/neutral/index.d.cts +4 -4
  110. package/dist/neutral/index.d.cts.map +1 -1
  111. package/dist/neutral/index.d.mts +4 -4
  112. package/dist/neutral/index.d.mts.map +1 -1
  113. package/dist/neutral/index.d.ts +4 -4
  114. package/dist/neutral/index.d.ts.map +1 -1
  115. package/dist/neutral/index.mjs +143 -0
  116. package/dist/neutral/index.mjs.map +1 -0
  117. package/dist/node/MemoryProvider.d.cts +1 -0
  118. package/dist/node/MemoryProvider.d.cts.map +1 -1
  119. package/dist/node/MemoryProvider.d.mts +1 -0
  120. package/dist/node/MemoryProvider.d.mts.map +1 -1
  121. package/dist/node/MemoryProvider.d.ts +1 -0
  122. package/dist/node/MemoryProvider.d.ts.map +1 -1
  123. package/dist/node/ModuleRepository/Provider.d.cts +1 -0
  124. package/dist/node/ModuleRepository/Provider.d.cts.map +1 -1
  125. package/dist/node/ModuleRepository/Provider.d.mts +1 -0
  126. package/dist/node/ModuleRepository/Provider.d.mts.map +1 -1
  127. package/dist/node/ModuleRepository/Provider.d.ts +1 -0
  128. package/dist/node/ModuleRepository/Provider.d.ts.map +1 -1
  129. package/dist/node/ModuleRepository/index.d.cts +2 -2
  130. package/dist/node/ModuleRepository/index.d.cts.map +1 -1
  131. package/dist/node/ModuleRepository/index.d.mts +2 -2
  132. package/dist/node/ModuleRepository/index.d.mts.map +1 -1
  133. package/dist/node/ModuleRepository/index.d.ts +2 -2
  134. package/dist/node/ModuleRepository/index.d.ts.map +1 -1
  135. package/dist/node/ModuleRepository/use.d.cts.map +1 -1
  136. package/dist/node/ModuleRepository/use.d.mts.map +1 -1
  137. package/dist/node/ModuleRepository/use.d.ts.map +1 -1
  138. package/dist/node/Node/Provider.d.cts +1 -0
  139. package/dist/node/Node/Provider.d.cts.map +1 -1
  140. package/dist/node/Node/Provider.d.mts +1 -0
  141. package/dist/node/Node/Provider.d.mts.map +1 -1
  142. package/dist/node/Node/Provider.d.ts +1 -0
  143. package/dist/node/Node/Provider.d.ts.map +1 -1
  144. package/dist/node/Node/index.d.cts +1 -1
  145. package/dist/node/Node/index.d.cts.map +1 -1
  146. package/dist/node/Node/index.d.mts +1 -1
  147. package/dist/node/Node/index.d.mts.map +1 -1
  148. package/dist/node/Node/index.d.ts +1 -1
  149. package/dist/node/Node/index.d.ts.map +1 -1
  150. package/dist/node/NodeDrawerContext/Provider.d.cts +1 -0
  151. package/dist/node/NodeDrawerContext/Provider.d.cts.map +1 -1
  152. package/dist/node/NodeDrawerContext/Provider.d.mts +1 -0
  153. package/dist/node/NodeDrawerContext/Provider.d.mts.map +1 -1
  154. package/dist/node/NodeDrawerContext/Provider.d.ts +1 -0
  155. package/dist/node/NodeDrawerContext/Provider.d.ts.map +1 -1
  156. package/dist/node/NodeDrawerContext/index.d.cts +2 -2
  157. package/dist/node/NodeDrawerContext/index.d.cts.map +1 -1
  158. package/dist/node/NodeDrawerContext/index.d.mts +2 -2
  159. package/dist/node/NodeDrawerContext/index.d.mts.map +1 -1
  160. package/dist/node/NodeDrawerContext/index.d.ts +2 -2
  161. package/dist/node/NodeDrawerContext/index.d.ts.map +1 -1
  162. package/dist/node/NodeDrawerContext/use.d.cts.map +1 -1
  163. package/dist/node/NodeDrawerContext/use.d.mts.map +1 -1
  164. package/dist/node/NodeDrawerContext/use.d.ts.map +1 -1
  165. package/dist/node/index.cjs +93 -64
  166. package/dist/node/index.cjs.map +1 -1
  167. package/dist/node/index.d.cts +4 -4
  168. package/dist/node/index.d.cts.map +1 -1
  169. package/dist/node/index.d.mts +4 -4
  170. package/dist/node/index.d.mts.map +1 -1
  171. package/dist/node/index.d.ts +4 -4
  172. package/dist/node/index.d.ts.map +1 -1
  173. package/dist/node/index.mjs +143 -0
  174. package/dist/node/index.mjs.map +1 -0
  175. package/package.json +15 -15
  176. package/src/MemoryProvider.tsx +5 -5
  177. package/src/ModuleRepository/Provider.tsx +3 -2
  178. package/src/ModuleRepository/index.ts +2 -2
  179. package/src/Node/Provider.tsx +3 -2
  180. package/src/Node/index.ts +1 -1
  181. package/src/NodeDrawerContext/Provider.tsx +2 -1
  182. package/src/NodeDrawerContext/index.ts +2 -2
  183. package/src/index.ts +4 -4
  184. package/dist/browser/index.js +0 -122
  185. package/dist/browser/index.js.map +0 -1
  186. package/dist/neutral/index.js +0 -122
  187. package/dist/neutral/index.js.map +0 -1
  188. package/dist/node/index.js +0 -122
  189. package/dist/node/index.js.map +0 -1
  190. /package/src/ModuleRepository/{use.tsx → use.ts} +0 -0
  191. /package/src/NodeDrawerContext/{use.tsx → use.ts} +0 -0
@@ -0,0 +1,143 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/MemoryProvider.tsx
5
+ import { forget } from "@xylabs/forget";
6
+ import { useAsyncEffect } from "@xylabs/react-async-effect";
7
+ import { MemoryNode } from "@xyo-network/node-memory";
8
+ import React2, { useState } from "react";
9
+
10
+ // src/Node/Provider.tsx
11
+ import { NodeContext } from "@xyo-network/react-node-context";
12
+ import React, { useMemo } from "react";
13
+ var NodeProvider = /* @__PURE__ */ __name(({ node, children }) => {
14
+ const memoNode = useMemo(() => node, [
15
+ node
16
+ ]);
17
+ return /* @__PURE__ */ React.createElement(NodeContext.Provider, {
18
+ value: {
19
+ node: memoNode,
20
+ provided: true
21
+ }
22
+ }, children);
23
+ }, "NodeProvider");
24
+
25
+ // src/MemoryProvider.tsx
26
+ var MemoryNodeProvider = /* @__PURE__ */ __name(({ children, modules, moduleParams }) => {
27
+ const [node, setNode] = useState(null);
28
+ useAsyncEffect(async () => {
29
+ if (node && modules) {
30
+ await Promise.all(modules.map(async (mod) => {
31
+ await node.register(mod);
32
+ }));
33
+ return () => {
34
+ forget(Promise.all(modules.map(async (mod) => {
35
+ await node.unregister(mod);
36
+ })));
37
+ };
38
+ }
39
+ }, [
40
+ modules,
41
+ node
42
+ ]);
43
+ useAsyncEffect(async (mounted) => {
44
+ const node2 = await MemoryNode.create(moduleParams);
45
+ if (mounted()) {
46
+ setNode(node2);
47
+ }
48
+ }, [
49
+ moduleParams
50
+ ]);
51
+ return /* @__PURE__ */ React2.createElement(NodeProvider, {
52
+ node
53
+ }, children);
54
+ }, "MemoryNodeProvider");
55
+
56
+ // src/ModuleRepository/Provider.tsx
57
+ import { ModuleRepositoryContext } from "@xyo-network/react-node-context";
58
+ import React3, { useEffect, useState as useState2 } from "react";
59
+ var ModuleRepositoryProvider = /* @__PURE__ */ __name(({ children, defaultResolvers }) => {
60
+ const [resolvers, setResolvers] = useState2(defaultResolvers);
61
+ useEffect(() => {
62
+ setResolvers(defaultResolvers);
63
+ }, [
64
+ defaultResolvers
65
+ ]);
66
+ const updateResolvers = /* @__PURE__ */ __name((resolverEntries) => {
67
+ if (resolverEntries) {
68
+ setResolvers((resolvers2) => ({
69
+ ...resolvers2,
70
+ ...resolverEntries
71
+ }));
72
+ return true;
73
+ } else {
74
+ return false;
75
+ }
76
+ }, "updateResolvers");
77
+ const removeResolvers = /* @__PURE__ */ __name((names) => {
78
+ if (names == null ? void 0 : names.length) {
79
+ setResolvers((resolvers2) => {
80
+ if (resolvers2) {
81
+ for (const name of names) {
82
+ delete resolvers2[name];
83
+ }
84
+ return {
85
+ ...resolvers2
86
+ };
87
+ }
88
+ });
89
+ return true;
90
+ } else {
91
+ return false;
92
+ }
93
+ }, "removeResolvers");
94
+ return (
95
+ // eslint-disable-next-line @eslint-react/no-unstable-context-value
96
+ /* @__PURE__ */ React3.createElement(ModuleRepositoryContext.Provider, {
97
+ value: {
98
+ provided: true,
99
+ removeResolvers,
100
+ resolvers,
101
+ updateResolvers
102
+ }
103
+ }, children)
104
+ );
105
+ }, "ModuleRepositoryProvider");
106
+
107
+ // src/ModuleRepository/use.ts
108
+ import { ModuleRepositoryContext as ModuleRepositoryContext2 } from "@xyo-network/react-node-context";
109
+ import { useContextEx } from "@xyo-network/react-shared";
110
+ var useModuleRepository = /* @__PURE__ */ __name((required = false) => useContextEx(ModuleRepositoryContext2, "ModuleRepository", required), "useModuleRepository");
111
+
112
+ // src/NodeDrawerContext/Provider.tsx
113
+ import { NodeDrawerContext } from "@xyo-network/react-node-context";
114
+ import React4, { useEffect as useEffect2, useState as useState3 } from "react";
115
+ var NodeDrawerProvider = /* @__PURE__ */ __name(({ children, defaultOpen = false }) => {
116
+ const [open, setOpen] = useState3(defaultOpen);
117
+ useEffect2(() => {
118
+ setOpen(defaultOpen);
119
+ }, [
120
+ defaultOpen
121
+ ]);
122
+ return /* @__PURE__ */ React4.createElement(NodeDrawerContext.Provider, {
123
+ value: {
124
+ open,
125
+ provided: true,
126
+ setOpen
127
+ }
128
+ }, children);
129
+ }, "NodeDrawerProvider");
130
+
131
+ // src/NodeDrawerContext/use.ts
132
+ import { NodeDrawerContext as NodeDrawerContext2 } from "@xyo-network/react-node-context";
133
+ import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
134
+ var useNodeDrawer = /* @__PURE__ */ __name((required = true) => useContextEx2(NodeDrawerContext2, "NodeDrawer", required), "useNodeDrawer");
135
+ export {
136
+ MemoryNodeProvider,
137
+ ModuleRepositoryProvider,
138
+ NodeDrawerProvider,
139
+ NodeProvider,
140
+ useModuleRepository,
141
+ useNodeDrawer
142
+ };
143
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.ts","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.ts"],"sourcesContent":["import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfig } from '@xyo-network/node-model'\nimport React, { useState } from 'react'\n\nimport { NodeProvider } from './Node/index.ts'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: AttachableModuleInstance[]\n required?: boolean\n}> &\nModuleParams<NodeConfig>\n\nexport const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, modules, moduleParams }) => {\n const [node, setNode] = useState<MemoryNode | null>(null)\n\n useAsyncEffect(\n\n async () => {\n if (node && modules) {\n await Promise.all(\n modules.map(async (mod) => {\n await node.register(mod)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (mod) => {\n await node.unregister(mod)\n }),\n ),\n )\n }\n }\n },\n [modules, node],\n )\n\n useAsyncEffect(\n\n async (mounted) => {\n const node = await MemoryNode.create(moduleParams)\n if (mounted()) {\n setNode(node)\n }\n },\n [moduleParams],\n )\n\n return <NodeProvider node={node}>{children}</NodeProvider>\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport React, { useMemo } from 'react'\n\nexport interface NodeProviderProps {\n node?: NodeInstance | null\n}\n\nexport const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node, children }) => {\n // save a reference to it\n const memoNode = useMemo(() => node, [node])\n\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n return <NodeContext.Provider value={{ node: memoNode, provided: true }}>{children}</NodeContext.Provider>\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { ModuleRepositoryContext, ResolverEntries } from '@xyo-network/react-node-context'\nimport React, { useEffect, useState } from 'react'\n\nexport interface ModuleRepositoryProviderProps extends WithChildren {\n defaultResolvers?: ResolverEntries\n}\n\nexport const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> = ({ children, defaultResolvers }) => {\n const [resolvers, setResolvers] = useState<ResolverEntries | undefined>(defaultResolvers)\n\n useEffect(() => {\n setResolvers(defaultResolvers)\n }, [defaultResolvers])\n\n const updateResolvers = (resolverEntries?: ResolverEntries) => {\n if (resolverEntries) {\n setResolvers(resolvers => ({\n ...resolvers,\n ...resolverEntries,\n }))\n return true\n } else {\n return false\n }\n }\n\n const removeResolvers = (names?: string[]) => {\n if (names?.length) {\n setResolvers((resolvers) => {\n if (resolvers) {\n for (const name of names) {\n delete resolvers[name]\n }\n return { ...resolvers }\n }\n })\n return true\n } else {\n return false\n }\n }\n\n return (\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n <ModuleRepositoryContext.Provider value={{ provided: true, removeResolvers, resolvers, updateResolvers }}>\n {children}\n </ModuleRepositoryContext.Provider>\n )\n}\n","import { ModuleRepositoryContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext, 'ModuleRepository', required)\n","import { WithChildren } from '@xylabs/react-shared'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport React, { useEffect, useState } from 'react'\n\nexport interface NodeDrawerProviderProps extends WithChildren {\n defaultOpen?: boolean\n}\n\nexport const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {\n const [open, setOpen] = useState(defaultOpen)\n\n useEffect(() => {\n setOpen(defaultOpen)\n }, [defaultOpen])\n\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n return <NodeDrawerContext.Provider value={{ open, provided: true, setOpen }}>{children}</NodeDrawerContext.Provider>\n}\n","import { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useNodeDrawer = (required = true) => useContextEx(NodeDrawerContext, 'NodeDrawer', required)\n"],"mappings":"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","names":["forget","useAsyncEffect","MemoryNode","React","useState","NodeContext","React","useMemo","NodeProvider","node","children","memoNode","useMemo","NodeContext","Provider","value","provided","MemoryNodeProvider","children","modules","moduleParams","node","setNode","useState","useAsyncEffect","Promise","all","map","mod","register","forget","unregister","mounted","MemoryNode","create","React","NodeProvider","ModuleRepositoryContext","React","useEffect","useState","ModuleRepositoryProvider","children","defaultResolvers","resolvers","setResolvers","useState","useEffect","updateResolvers","resolverEntries","removeResolvers","names","length","name","React","ModuleRepositoryContext","Provider","value","provided","ModuleRepositoryContext","useContextEx","useModuleRepository","required","useContextEx","ModuleRepositoryContext","NodeDrawerContext","React","useEffect","useState","NodeDrawerProvider","children","defaultOpen","open","setOpen","useState","useEffect","React","NodeDrawerContext","Provider","value","provided","NodeDrawerContext","useContextEx","useNodeDrawer","required","useContextEx","NodeDrawerContext"]}
package/package.json CHANGED
@@ -10,18 +10,18 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/forget": "^3.6.4",
14
- "@xylabs/react-async-effect": "^3.4.1",
15
- "@xylabs/react-shared": "^3.4.1",
16
- "@xyo-network/module-model": "^2.110.9",
17
- "@xyo-network/node-memory": "^2.110.9",
18
- "@xyo-network/node-model": "^2.110.9",
19
- "@xyo-network/react-node-context": "^2.81.10",
20
- "@xyo-network/react-shared": "^2.81.10"
13
+ "@xylabs/forget": "^3.6.12",
14
+ "@xylabs/react-async-effect": "^3.4.2",
15
+ "@xylabs/react-shared": "^3.4.2",
16
+ "@xyo-network/module-model": "^2.111.3",
17
+ "@xyo-network/node-memory": "^2.111.3",
18
+ "@xyo-network/node-model": "^2.111.3",
19
+ "@xyo-network/react-node-context": "^2.82.0",
20
+ "@xyo-network/react-shared": "^2.82.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@xylabs/ts-scripts-yarn3": "^3.12.4",
24
- "@xylabs/tsconfig-react": "^3.12.4",
23
+ "@xylabs/ts-scripts-yarn3": "^3.15.16",
24
+ "@xylabs/tsconfig-react": "^3.15.16",
25
25
  "typescript": "^5.5.4"
26
26
  },
27
27
  "peerDependencies": {
@@ -38,7 +38,7 @@
38
38
  "node": {
39
39
  "import": {
40
40
  "types": "./dist/node/index.d.mts",
41
- "default": "./dist/node/index.js"
41
+ "default": "./dist/node/index.mjs"
42
42
  },
43
43
  "require": {
44
44
  "types": "./dist/node/index.d.cts",
@@ -48,19 +48,19 @@
48
48
  "browser": {
49
49
  "import": {
50
50
  "types": "./dist/browser/index.d.mts",
51
- "default": "./dist/browser/index.js"
51
+ "default": "./dist/browser/index.mjs"
52
52
  },
53
53
  "require": {
54
54
  "types": "./dist/browser/index.d.cts",
55
55
  "default": "./dist/browser/index.cjs"
56
56
  }
57
57
  },
58
- "default": "./dist/browser/index.js"
58
+ "default": "./dist/browser/index.mjs"
59
59
  },
60
60
  "./package.json": "./package.json"
61
61
  },
62
62
  "main": "dist/browser/index.cjs",
63
- "module": "dist/browser/index.js",
63
+ "module": "dist/browser/index.mjs",
64
64
  "homepage": "https://xyo.network",
65
65
  "keywords": [
66
66
  "xyo",
@@ -82,6 +82,6 @@
82
82
  },
83
83
  "sideEffects": false,
84
84
  "types": "dist/browser/index.d.ts",
85
- "version": "2.81.10",
85
+ "version": "2.82.0",
86
86
  "type": "module"
87
87
  }
@@ -4,22 +4,22 @@ import { WithChildren } from '@xylabs/react-shared'
4
4
  import { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'
5
5
  import { MemoryNode } from '@xyo-network/node-memory'
6
6
  import { NodeConfig } from '@xyo-network/node-model'
7
- import { useState } from 'react'
7
+ import React, { useState } from 'react'
8
8
 
9
- import { NodeProvider } from './Node/index.js'
9
+ import { NodeProvider } from './Node/index.ts'
10
10
 
11
11
  export type MemoryNodeProviderProps = WithChildren<{
12
12
  moduleParams?: ModuleParams<NodeConfig>
13
13
  modules?: AttachableModuleInstance[]
14
14
  required?: boolean
15
15
  }> &
16
- ModuleParams<NodeConfig>
16
+ ModuleParams<NodeConfig>
17
17
 
18
18
  export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, modules, moduleParams }) => {
19
19
  const [node, setNode] = useState<MemoryNode | null>(null)
20
20
 
21
21
  useAsyncEffect(
22
- // eslint-disable-next-line react-hooks/exhaustive-deps
22
+
23
23
  async () => {
24
24
  if (node && modules) {
25
25
  await Promise.all(
@@ -42,7 +42,7 @@ export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children
42
42
  )
43
43
 
44
44
  useAsyncEffect(
45
- // eslint-disable-next-line react-hooks/exhaustive-deps
45
+
46
46
  async (mounted) => {
47
47
  const node = await MemoryNode.create(moduleParams)
48
48
  if (mounted()) {
@@ -1,6 +1,6 @@
1
1
  import { WithChildren } from '@xylabs/react-shared'
2
2
  import { ModuleRepositoryContext, ResolverEntries } from '@xyo-network/react-node-context'
3
- import { useEffect, useState } from 'react'
3
+ import React, { useEffect, useState } from 'react'
4
4
 
5
5
  export interface ModuleRepositoryProviderProps extends WithChildren {
6
6
  defaultResolvers?: ResolverEntries
@@ -15,7 +15,7 @@ export const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> =
15
15
 
16
16
  const updateResolvers = (resolverEntries?: ResolverEntries) => {
17
17
  if (resolverEntries) {
18
- setResolvers((resolvers) => ({
18
+ setResolvers(resolvers => ({
19
19
  ...resolvers,
20
20
  ...resolverEntries,
21
21
  }))
@@ -42,6 +42,7 @@ export const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> =
42
42
  }
43
43
 
44
44
  return (
45
+ // eslint-disable-next-line @eslint-react/no-unstable-context-value
45
46
  <ModuleRepositoryContext.Provider value={{ provided: true, removeResolvers, resolvers, updateResolvers }}>
46
47
  {children}
47
48
  </ModuleRepositoryContext.Provider>
@@ -1,2 +1,2 @@
1
- export * from './Provider.js'
2
- export * from './use.js'
1
+ export * from './Provider.tsx'
2
+ export * from './use.ts'
@@ -1,15 +1,16 @@
1
1
  import { WithChildren } from '@xylabs/react-shared'
2
2
  import { NodeInstance } from '@xyo-network/node-model'
3
3
  import { NodeContext } from '@xyo-network/react-node-context'
4
- import { useMemo } from 'react'
4
+ import React, { useMemo } from 'react'
5
5
 
6
6
  export interface NodeProviderProps {
7
7
  node?: NodeInstance | null
8
8
  }
9
9
 
10
10
  export const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node, children }) => {
11
- //save a reference to it
11
+ // save a reference to it
12
12
  const memoNode = useMemo(() => node, [node])
13
13
 
14
+ // eslint-disable-next-line @eslint-react/no-unstable-context-value
14
15
  return <NodeContext.Provider value={{ node: memoNode, provided: true }}>{children}</NodeContext.Provider>
15
16
  }
package/src/Node/index.ts CHANGED
@@ -1 +1 @@
1
- export * from './Provider.js'
1
+ export * from './Provider.tsx'
@@ -1,6 +1,6 @@
1
1
  import { WithChildren } from '@xylabs/react-shared'
2
2
  import { NodeDrawerContext } from '@xyo-network/react-node-context'
3
- import { useEffect, useState } from 'react'
3
+ import React, { useEffect, useState } from 'react'
4
4
 
5
5
  export interface NodeDrawerProviderProps extends WithChildren {
6
6
  defaultOpen?: boolean
@@ -13,5 +13,6 @@ export const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children
13
13
  setOpen(defaultOpen)
14
14
  }, [defaultOpen])
15
15
 
16
+ // eslint-disable-next-line @eslint-react/no-unstable-context-value
16
17
  return <NodeDrawerContext.Provider value={{ open, provided: true, setOpen }}>{children}</NodeDrawerContext.Provider>
17
18
  }
@@ -1,2 +1,2 @@
1
- export * from './Provider.js'
2
- export * from './use.js'
1
+ export * from './Provider.tsx'
2
+ export * from './use.ts'
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './MemoryProvider.js'
2
- export * from './ModuleRepository/index.js'
3
- export * from './Node/index.js'
4
- export * from './NodeDrawerContext/index.js'
1
+ export * from './MemoryProvider.tsx'
2
+ export * from './ModuleRepository/index.ts'
3
+ export * from './Node/index.ts'
4
+ export * from './NodeDrawerContext/index.ts'
@@ -1,122 +0,0 @@
1
- // src/MemoryProvider.tsx
2
- import { forget } from "@xylabs/forget";
3
- import { useAsyncEffect } from "@xylabs/react-async-effect";
4
- import { MemoryNode } from "@xyo-network/node-memory";
5
- import { useState } from "react";
6
-
7
- // src/Node/Provider.tsx
8
- import { NodeContext } from "@xyo-network/react-node-context";
9
- import { useMemo } from "react";
10
- import { jsx } from "react/jsx-runtime";
11
- var NodeProvider = ({ node, children }) => {
12
- const memoNode = useMemo(() => node, [node]);
13
- return /* @__PURE__ */ jsx(NodeContext.Provider, { value: { node: memoNode, provided: true }, children });
14
- };
15
-
16
- // src/MemoryProvider.tsx
17
- import { jsx as jsx2 } from "react/jsx-runtime";
18
- var MemoryNodeProvider = ({ children, modules, moduleParams }) => {
19
- const [node, setNode] = useState(null);
20
- useAsyncEffect(
21
- // eslint-disable-next-line react-hooks/exhaustive-deps
22
- async () => {
23
- if (node && modules) {
24
- await Promise.all(
25
- modules.map(async (mod) => {
26
- await node.register(mod);
27
- })
28
- );
29
- return () => {
30
- forget(
31
- Promise.all(
32
- modules.map(async (mod) => {
33
- await node.unregister(mod);
34
- })
35
- )
36
- );
37
- };
38
- }
39
- },
40
- [modules, node]
41
- );
42
- useAsyncEffect(
43
- // eslint-disable-next-line react-hooks/exhaustive-deps
44
- async (mounted) => {
45
- const node2 = await MemoryNode.create(moduleParams);
46
- if (mounted()) {
47
- setNode(node2);
48
- }
49
- },
50
- [moduleParams]
51
- );
52
- return /* @__PURE__ */ jsx2(NodeProvider, { node, children });
53
- };
54
-
55
- // src/ModuleRepository/Provider.tsx
56
- import { ModuleRepositoryContext } from "@xyo-network/react-node-context";
57
- import { useEffect, useState as useState2 } from "react";
58
- import { jsx as jsx3 } from "react/jsx-runtime";
59
- var ModuleRepositoryProvider = ({ children, defaultResolvers }) => {
60
- const [resolvers, setResolvers] = useState2(defaultResolvers);
61
- useEffect(() => {
62
- setResolvers(defaultResolvers);
63
- }, [defaultResolvers]);
64
- const updateResolvers = (resolverEntries) => {
65
- if (resolverEntries) {
66
- setResolvers((resolvers2) => ({
67
- ...resolvers2,
68
- ...resolverEntries
69
- }));
70
- return true;
71
- } else {
72
- return false;
73
- }
74
- };
75
- const removeResolvers = (names) => {
76
- if (names?.length) {
77
- setResolvers((resolvers2) => {
78
- if (resolvers2) {
79
- for (const name of names) {
80
- delete resolvers2[name];
81
- }
82
- return { ...resolvers2 };
83
- }
84
- });
85
- return true;
86
- } else {
87
- return false;
88
- }
89
- };
90
- return /* @__PURE__ */ jsx3(ModuleRepositoryContext.Provider, { value: { provided: true, removeResolvers, resolvers, updateResolvers }, children });
91
- };
92
-
93
- // src/ModuleRepository/use.tsx
94
- import { ModuleRepositoryContext as ModuleRepositoryContext2 } from "@xyo-network/react-node-context";
95
- import { useContextEx } from "@xyo-network/react-shared";
96
- var useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext2, "ModuleRepository", required);
97
-
98
- // src/NodeDrawerContext/Provider.tsx
99
- import { NodeDrawerContext } from "@xyo-network/react-node-context";
100
- import { useEffect as useEffect2, useState as useState3 } from "react";
101
- import { jsx as jsx4 } from "react/jsx-runtime";
102
- var NodeDrawerProvider = ({ children, defaultOpen = false }) => {
103
- const [open, setOpen] = useState3(defaultOpen);
104
- useEffect2(() => {
105
- setOpen(defaultOpen);
106
- }, [defaultOpen]);
107
- return /* @__PURE__ */ jsx4(NodeDrawerContext.Provider, { value: { open, provided: true, setOpen }, children });
108
- };
109
-
110
- // src/NodeDrawerContext/use.tsx
111
- import { NodeDrawerContext as NodeDrawerContext2 } from "@xyo-network/react-node-context";
112
- import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
113
- var useNodeDrawer = (required = true) => useContextEx2(NodeDrawerContext2, "NodeDrawer", required);
114
- export {
115
- MemoryNodeProvider,
116
- ModuleRepositoryProvider,
117
- NodeDrawerProvider,
118
- NodeProvider,
119
- useModuleRepository,
120
- useNodeDrawer
121
- };
122
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.tsx","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.tsx"],"sourcesContent":["import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfig } from '@xyo-network/node-model'\nimport { useState } from 'react'\n\nimport { NodeProvider } from './Node/index.js'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: AttachableModuleInstance[]\n required?: boolean\n}> &\n ModuleParams<NodeConfig>\n\nexport const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, modules, moduleParams }) => {\n const [node, setNode] = useState<MemoryNode | null>(null)\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (node && modules) {\n await Promise.all(\n modules.map(async (mod) => {\n await node.register(mod)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (mod) => {\n await node.unregister(mod)\n }),\n ),\n )\n }\n }\n },\n [modules, node],\n )\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const node = await MemoryNode.create(moduleParams)\n if (mounted()) {\n setNode(node)\n }\n },\n [moduleParams],\n )\n\n return <NodeProvider node={node}>{children}</NodeProvider>\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useMemo } from 'react'\n\nexport interface NodeProviderProps {\n node?: NodeInstance | null\n}\n\nexport const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node, children }) => {\n //save a reference to it\n const memoNode = useMemo(() => node, [node])\n\n return <NodeContext.Provider value={{ node: memoNode, provided: true }}>{children}</NodeContext.Provider>\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { ModuleRepositoryContext, ResolverEntries } from '@xyo-network/react-node-context'\nimport { useEffect, useState } from 'react'\n\nexport interface ModuleRepositoryProviderProps extends WithChildren {\n defaultResolvers?: ResolverEntries\n}\n\nexport const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> = ({ children, defaultResolvers }) => {\n const [resolvers, setResolvers] = useState<ResolverEntries | undefined>(defaultResolvers)\n\n useEffect(() => {\n setResolvers(defaultResolvers)\n }, [defaultResolvers])\n\n const updateResolvers = (resolverEntries?: ResolverEntries) => {\n if (resolverEntries) {\n setResolvers((resolvers) => ({\n ...resolvers,\n ...resolverEntries,\n }))\n return true\n } else {\n return false\n }\n }\n\n const removeResolvers = (names?: string[]) => {\n if (names?.length) {\n setResolvers((resolvers) => {\n if (resolvers) {\n for (const name of names) {\n delete resolvers[name]\n }\n return { ...resolvers }\n }\n })\n return true\n } else {\n return false\n }\n }\n\n return (\n <ModuleRepositoryContext.Provider value={{ provided: true, removeResolvers, resolvers, updateResolvers }}>\n {children}\n </ModuleRepositoryContext.Provider>\n )\n}\n","import { ModuleRepositoryContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext, 'ModuleRepository', required)\n","import { WithChildren } from '@xylabs/react-shared'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport { useEffect, useState } from 'react'\n\nexport interface NodeDrawerProviderProps extends WithChildren {\n defaultOpen?: boolean\n}\n\nexport const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {\n const [open, setOpen] = useState(defaultOpen)\n\n useEffect(() => {\n setOpen(defaultOpen)\n }, [defaultOpen])\n\n return <NodeDrawerContext.Provider value={{ open, provided: true, setOpen }}>{children}</NodeDrawerContext.Provider>\n}\n","import { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useNodeDrawer = (required = true) => useContextEx(NodeDrawerContext, 'NodeDrawer', required)\n"],"mappings":"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","names":["jsx","node","useState","jsx","resolvers","ModuleRepositoryContext","useEffect","useState","jsx","NodeDrawerContext","useContextEx"]}
@@ -1,122 +0,0 @@
1
- // src/MemoryProvider.tsx
2
- import { forget } from "@xylabs/forget";
3
- import { useAsyncEffect } from "@xylabs/react-async-effect";
4
- import { MemoryNode } from "@xyo-network/node-memory";
5
- import { useState } from "react";
6
-
7
- // src/Node/Provider.tsx
8
- import { NodeContext } from "@xyo-network/react-node-context";
9
- import { useMemo } from "react";
10
- import { jsx } from "react/jsx-runtime";
11
- var NodeProvider = ({ node, children }) => {
12
- const memoNode = useMemo(() => node, [node]);
13
- return /* @__PURE__ */ jsx(NodeContext.Provider, { value: { node: memoNode, provided: true }, children });
14
- };
15
-
16
- // src/MemoryProvider.tsx
17
- import { jsx as jsx2 } from "react/jsx-runtime";
18
- var MemoryNodeProvider = ({ children, modules, moduleParams }) => {
19
- const [node, setNode] = useState(null);
20
- useAsyncEffect(
21
- // eslint-disable-next-line react-hooks/exhaustive-deps
22
- async () => {
23
- if (node && modules) {
24
- await Promise.all(
25
- modules.map(async (mod) => {
26
- await node.register(mod);
27
- })
28
- );
29
- return () => {
30
- forget(
31
- Promise.all(
32
- modules.map(async (mod) => {
33
- await node.unregister(mod);
34
- })
35
- )
36
- );
37
- };
38
- }
39
- },
40
- [modules, node]
41
- );
42
- useAsyncEffect(
43
- // eslint-disable-next-line react-hooks/exhaustive-deps
44
- async (mounted) => {
45
- const node2 = await MemoryNode.create(moduleParams);
46
- if (mounted()) {
47
- setNode(node2);
48
- }
49
- },
50
- [moduleParams]
51
- );
52
- return /* @__PURE__ */ jsx2(NodeProvider, { node, children });
53
- };
54
-
55
- // src/ModuleRepository/Provider.tsx
56
- import { ModuleRepositoryContext } from "@xyo-network/react-node-context";
57
- import { useEffect, useState as useState2 } from "react";
58
- import { jsx as jsx3 } from "react/jsx-runtime";
59
- var ModuleRepositoryProvider = ({ children, defaultResolvers }) => {
60
- const [resolvers, setResolvers] = useState2(defaultResolvers);
61
- useEffect(() => {
62
- setResolvers(defaultResolvers);
63
- }, [defaultResolvers]);
64
- const updateResolvers = (resolverEntries) => {
65
- if (resolverEntries) {
66
- setResolvers((resolvers2) => ({
67
- ...resolvers2,
68
- ...resolverEntries
69
- }));
70
- return true;
71
- } else {
72
- return false;
73
- }
74
- };
75
- const removeResolvers = (names) => {
76
- if (names?.length) {
77
- setResolvers((resolvers2) => {
78
- if (resolvers2) {
79
- for (const name of names) {
80
- delete resolvers2[name];
81
- }
82
- return { ...resolvers2 };
83
- }
84
- });
85
- return true;
86
- } else {
87
- return false;
88
- }
89
- };
90
- return /* @__PURE__ */ jsx3(ModuleRepositoryContext.Provider, { value: { provided: true, removeResolvers, resolvers, updateResolvers }, children });
91
- };
92
-
93
- // src/ModuleRepository/use.tsx
94
- import { ModuleRepositoryContext as ModuleRepositoryContext2 } from "@xyo-network/react-node-context";
95
- import { useContextEx } from "@xyo-network/react-shared";
96
- var useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext2, "ModuleRepository", required);
97
-
98
- // src/NodeDrawerContext/Provider.tsx
99
- import { NodeDrawerContext } from "@xyo-network/react-node-context";
100
- import { useEffect as useEffect2, useState as useState3 } from "react";
101
- import { jsx as jsx4 } from "react/jsx-runtime";
102
- var NodeDrawerProvider = ({ children, defaultOpen = false }) => {
103
- const [open, setOpen] = useState3(defaultOpen);
104
- useEffect2(() => {
105
- setOpen(defaultOpen);
106
- }, [defaultOpen]);
107
- return /* @__PURE__ */ jsx4(NodeDrawerContext.Provider, { value: { open, provided: true, setOpen }, children });
108
- };
109
-
110
- // src/NodeDrawerContext/use.tsx
111
- import { NodeDrawerContext as NodeDrawerContext2 } from "@xyo-network/react-node-context";
112
- import { useContextEx as useContextEx2 } from "@xyo-network/react-shared";
113
- var useNodeDrawer = (required = true) => useContextEx2(NodeDrawerContext2, "NodeDrawer", required);
114
- export {
115
- MemoryNodeProvider,
116
- ModuleRepositoryProvider,
117
- NodeDrawerProvider,
118
- NodeProvider,
119
- useModuleRepository,
120
- useNodeDrawer
121
- };
122
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.tsx","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.tsx"],"sourcesContent":["import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfig } from '@xyo-network/node-model'\nimport { useState } from 'react'\n\nimport { NodeProvider } from './Node/index.js'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: AttachableModuleInstance[]\n required?: boolean\n}> &\n ModuleParams<NodeConfig>\n\nexport const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children, modules, moduleParams }) => {\n const [node, setNode] = useState<MemoryNode | null>(null)\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n if (node && modules) {\n await Promise.all(\n modules.map(async (mod) => {\n await node.register(mod)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (mod) => {\n await node.unregister(mod)\n }),\n ),\n )\n }\n }\n },\n [modules, node],\n )\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const node = await MemoryNode.create(moduleParams)\n if (mounted()) {\n setNode(node)\n }\n },\n [moduleParams],\n )\n\n return <NodeProvider node={node}>{children}</NodeProvider>\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useMemo } from 'react'\n\nexport interface NodeProviderProps {\n node?: NodeInstance | null\n}\n\nexport const NodeProvider: React.FC<WithChildren<NodeProviderProps>> = ({ node, children }) => {\n //save a reference to it\n const memoNode = useMemo(() => node, [node])\n\n return <NodeContext.Provider value={{ node: memoNode, provided: true }}>{children}</NodeContext.Provider>\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { ModuleRepositoryContext, ResolverEntries } from '@xyo-network/react-node-context'\nimport { useEffect, useState } from 'react'\n\nexport interface ModuleRepositoryProviderProps extends WithChildren {\n defaultResolvers?: ResolverEntries\n}\n\nexport const ModuleRepositoryProvider: React.FC<ModuleRepositoryProviderProps> = ({ children, defaultResolvers }) => {\n const [resolvers, setResolvers] = useState<ResolverEntries | undefined>(defaultResolvers)\n\n useEffect(() => {\n setResolvers(defaultResolvers)\n }, [defaultResolvers])\n\n const updateResolvers = (resolverEntries?: ResolverEntries) => {\n if (resolverEntries) {\n setResolvers((resolvers) => ({\n ...resolvers,\n ...resolverEntries,\n }))\n return true\n } else {\n return false\n }\n }\n\n const removeResolvers = (names?: string[]) => {\n if (names?.length) {\n setResolvers((resolvers) => {\n if (resolvers) {\n for (const name of names) {\n delete resolvers[name]\n }\n return { ...resolvers }\n }\n })\n return true\n } else {\n return false\n }\n }\n\n return (\n <ModuleRepositoryContext.Provider value={{ provided: true, removeResolvers, resolvers, updateResolvers }}>\n {children}\n </ModuleRepositoryContext.Provider>\n )\n}\n","import { ModuleRepositoryContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useModuleRepository = (required = false) => useContextEx(ModuleRepositoryContext, 'ModuleRepository', required)\n","import { WithChildren } from '@xylabs/react-shared'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport { useEffect, useState } from 'react'\n\nexport interface NodeDrawerProviderProps extends WithChildren {\n defaultOpen?: boolean\n}\n\nexport const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {\n const [open, setOpen] = useState(defaultOpen)\n\n useEffect(() => {\n setOpen(defaultOpen)\n }, [defaultOpen])\n\n return <NodeDrawerContext.Provider value={{ open, provided: true, setOpen }}>{children}</NodeDrawerContext.Provider>\n}\n","import { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport { useContextEx } from '@xyo-network/react-shared'\n\nexport const useNodeDrawer = (required = true) => useContextEx(NodeDrawerContext, 'NodeDrawer', required)\n"],"mappings":"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","names":["jsx","node","useState","jsx","resolvers","ModuleRepositoryContext","useEffect","useState","jsx","NodeDrawerContext","useContextEx"]}