@xyo-network/react-node-provider 7.4.1 → 7.5.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.
- package/dist/browser/index.mjs +57 -53
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +18 -18
package/dist/browser/index.mjs
CHANGED
|
@@ -1,78 +1,82 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/MemoryProvider.tsx
|
|
2
5
|
import { forget } from "@xylabs/forget";
|
|
3
6
|
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
4
7
|
import { MemoryNode } from "@xyo-network/node-memory";
|
|
5
|
-
import { useState } from "react";
|
|
8
|
+
import React2, { useState } from "react";
|
|
6
9
|
|
|
7
10
|
// src/Node/Provider.tsx
|
|
8
11
|
import { NodeContext } from "@xyo-network/react-node-context";
|
|
9
|
-
import { useMemo } from "react";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
import React, { useMemo } from "react";
|
|
13
|
+
var NodeProvider = /* @__PURE__ */ __name(({ node, children }) => {
|
|
14
|
+
const memoNode = useMemo(() => node, [
|
|
15
|
+
node
|
|
16
|
+
]);
|
|
17
|
+
const value = useMemo(() => ({
|
|
18
|
+
node: memoNode,
|
|
19
|
+
provided: true
|
|
20
|
+
}), [
|
|
21
|
+
memoNode
|
|
22
|
+
]);
|
|
23
|
+
return /* @__PURE__ */ React.createElement(NodeContext, {
|
|
24
|
+
value
|
|
25
|
+
}, children);
|
|
26
|
+
}, "NodeProvider");
|
|
16
27
|
|
|
17
28
|
// src/MemoryProvider.tsx
|
|
18
|
-
|
|
19
|
-
var MemoryNodeProvider = ({
|
|
20
|
-
children,
|
|
21
|
-
modules,
|
|
22
|
-
moduleParams
|
|
23
|
-
}) => {
|
|
29
|
+
var MemoryNodeProvider = /* @__PURE__ */ __name(({ children, modules, moduleParams }) => {
|
|
24
30
|
const [node, setNode] = useState(null);
|
|
25
|
-
useAsyncEffect(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
await
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
},
|
|
53
|
-
[moduleParams]
|
|
54
|
-
);
|
|
55
|
-
return /* @__PURE__ */ jsx2(NodeProvider, { node, children });
|
|
56
|
-
};
|
|
31
|
+
useAsyncEffect(async () => {
|
|
32
|
+
if (node && modules) {
|
|
33
|
+
await Promise.all(modules.map(async (mod) => {
|
|
34
|
+
await node.register(mod);
|
|
35
|
+
}));
|
|
36
|
+
return () => {
|
|
37
|
+
forget(Promise.all(modules.map(async (mod) => {
|
|
38
|
+
await node.unregister(mod);
|
|
39
|
+
})));
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}, [
|
|
43
|
+
modules,
|
|
44
|
+
node
|
|
45
|
+
]);
|
|
46
|
+
useAsyncEffect(async (mounted) => {
|
|
47
|
+
const node2 = await MemoryNode.create(moduleParams ?? {});
|
|
48
|
+
if (mounted()) {
|
|
49
|
+
setNode(node2);
|
|
50
|
+
}
|
|
51
|
+
}, [
|
|
52
|
+
moduleParams
|
|
53
|
+
]);
|
|
54
|
+
return /* @__PURE__ */ React2.createElement(NodeProvider, {
|
|
55
|
+
node
|
|
56
|
+
}, children);
|
|
57
|
+
}, "MemoryNodeProvider");
|
|
57
58
|
|
|
58
59
|
// src/NodeDrawerContext/Provider.tsx
|
|
59
60
|
import { NodeDrawerContext } from "@xyo-network/react-node-context";
|
|
60
|
-
import { useMemo as useMemo2, useState as useState2 } from "react";
|
|
61
|
-
|
|
62
|
-
var NodeDrawerProvider = ({ children, defaultOpen = false }) => {
|
|
61
|
+
import React3, { useMemo as useMemo2, useState as useState2 } from "react";
|
|
62
|
+
var NodeDrawerProvider = /* @__PURE__ */ __name(({ children, defaultOpen = false }) => {
|
|
63
63
|
const [open, setOpen] = useState2(() => defaultOpen);
|
|
64
64
|
const value = useMemo2(() => ({
|
|
65
65
|
open,
|
|
66
66
|
provided: true,
|
|
67
67
|
setOpen
|
|
68
|
-
}), [
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
}), [
|
|
69
|
+
open
|
|
70
|
+
]);
|
|
71
|
+
return /* @__PURE__ */ React3.createElement(NodeDrawerContext, {
|
|
72
|
+
value
|
|
73
|
+
}, children);
|
|
74
|
+
}, "NodeDrawerProvider");
|
|
71
75
|
|
|
72
76
|
// src/NodeDrawerContext/use.ts
|
|
73
77
|
import { useContextEx } from "@xylabs/react-shared";
|
|
74
78
|
import { NodeDrawerContext as NodeDrawerContext2 } from "@xyo-network/react-node-context";
|
|
75
|
-
var useNodeDrawer = (required = true) => useContextEx(NodeDrawerContext2, "NodeDrawer", required);
|
|
79
|
+
var useNodeDrawer = /* @__PURE__ */ __name((required = true) => useContextEx(NodeDrawerContext2, "NodeDrawer", required), "useNodeDrawer");
|
|
76
80
|
export {
|
|
77
81
|
MemoryNodeProvider,
|
|
78
82
|
NodeDrawerProvider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.ts"],"sourcesContent":["import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport type { NodeConfig } from '@xyo-network/node-model'\nimport type { PropsWithChildren } from 'react'\nimport React, { useState } from 'react'\n\nimport { NodeProvider } from './Node/index.ts'\n\nexport type MemoryNodeProviderProps = PropsWithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: AttachableModuleInstance[]\n required?: boolean\n}>\n& ModuleParams<NodeConfig>\n\nexport const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({\n children, modules, moduleParams,\n}) => {\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 type { NodeInstance } from '@xyo-network/node-model'\nimport type { NodeContextState } from '@xyo-network/react-node-context'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport type { PropsWithChildren } from 'react'\nimport React, { useMemo } from 'react'\n\nexport interface NodeProviderProps {\n node?: NodeInstance | null\n}\n\nexport const NodeProvider: React.FC<PropsWithChildren<NodeProviderProps>> = ({ node, children }) => {\n // save a reference to it\n const memoNode = useMemo(() => node, [node])\n\n const value: NodeContextState = useMemo(() => ({ node: memoNode, provided: true }), [memoNode])\n\n return (\n <NodeContext value={value}>\n {children}\n </NodeContext>\n )\n}\n","import type { NodeDrawerState } from '@xyo-network/react-node-context'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nexport interface NodeDrawerProviderProps extends PropsWithChildren {\n defaultOpen?: boolean\n}\n\nexport const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {\n const [open, setOpen] = useState(() => defaultOpen)\n\n const value: NodeDrawerState = useMemo(() => ({\n open, provided: true, setOpen,\n }), [open])\n\n return (\n <NodeDrawerContext value={value}>\n {children}\n </NodeDrawerContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\nimport type { NodeDrawerState } from '@xyo-network/react-node-context'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\n\nexport const useNodeDrawer = (required = true) => useContextEx<NodeDrawerState>(NodeDrawerContext, 'NodeDrawer', required)\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.ts"],"sourcesContent":["import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport type { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport type { NodeConfig } from '@xyo-network/node-model'\nimport type { PropsWithChildren } from 'react'\nimport React, { useState } from 'react'\n\nimport { NodeProvider } from './Node/index.ts'\n\nexport type MemoryNodeProviderProps = PropsWithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: AttachableModuleInstance[]\n required?: boolean\n}>\n& ModuleParams<NodeConfig>\n\nexport const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({\n children, modules, moduleParams,\n}) => {\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 type { NodeInstance } from '@xyo-network/node-model'\nimport type { NodeContextState } from '@xyo-network/react-node-context'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport type { PropsWithChildren } from 'react'\nimport React, { useMemo } from 'react'\n\nexport interface NodeProviderProps {\n node?: NodeInstance | null\n}\n\nexport const NodeProvider: React.FC<PropsWithChildren<NodeProviderProps>> = ({ node, children }) => {\n // save a reference to it\n const memoNode = useMemo(() => node, [node])\n\n const value: NodeContextState = useMemo(() => ({ node: memoNode, provided: true }), [memoNode])\n\n return (\n <NodeContext value={value}>\n {children}\n </NodeContext>\n )\n}\n","import type { NodeDrawerState } from '@xyo-network/react-node-context'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\nimport type { PropsWithChildren } from 'react'\nimport React, { useMemo, useState } from 'react'\n\nexport interface NodeDrawerProviderProps extends PropsWithChildren {\n defaultOpen?: boolean\n}\n\nexport const NodeDrawerProvider: React.FC<NodeDrawerProviderProps> = ({ children, defaultOpen = false }) => {\n const [open, setOpen] = useState(() => defaultOpen)\n\n const value: NodeDrawerState = useMemo(() => ({\n open, provided: true, setOpen,\n }), [open])\n\n return (\n <NodeDrawerContext value={value}>\n {children}\n </NodeDrawerContext>\n )\n}\n","import { useContextEx } from '@xylabs/react-shared'\nimport type { NodeDrawerState } from '@xyo-network/react-node-context'\nimport { NodeDrawerContext } from '@xyo-network/react-node-context'\n\nexport const useNodeDrawer = (required = true) => useContextEx<NodeDrawerState>(NodeDrawerContext, 'NodeDrawer', required)\n"],"mappings":";;;;AAAA,SAASA,cAAc;AACvB,SAASC,sBAAsB;AAE/B,SAASC,kBAAkB;AAG3B,OAAOC,UAASC,gBAAgB;;;ACJhC,SAASC,mBAAmB;AAE5B,OAAOC,SAASC,eAAe;AAMxB,IAAMC,eAA+D,wBAAC,EAAEC,MAAMC,SAAQ,MAAE;AAE7F,QAAMC,WAAWC,QAAQ,MAAMH,MAAM;IAACA;GAAK;AAE3C,QAAMI,QAA0BD,QAAQ,OAAO;IAAEH,MAAME;IAAUG,UAAU;EAAK,IAAI;IAACH;GAAS;AAE9F,SACE,sBAAA,cAACI,aAAAA;IAAYF;KACVH,QAAAA;AAGP,GAX4E;;;ADOrE,IAAMM,qBAAwD,wBAAC,EACpEC,UAAUC,SAASC,aAAY,MAChC;AACC,QAAM,CAACC,MAAMC,OAAAA,IAAWC,SAA4B,IAAA;AAEpDC,iBAEE,YAAA;AACE,QAAIH,QAAQF,SAAS;AACnB,YAAMM,QAAQC,IACZP,QAAQQ,IAAI,OAAOC,QAAAA;AACjB,cAAMP,KAAKQ,SAASD,GAAAA;MACtB,CAAA,CAAA;AAEF,aAAO,MAAA;AACLE,eACEL,QAAQC,IACNP,QAAQQ,IAAI,OAAOC,QAAAA;AACjB,gBAAMP,KAAKU,WAAWH,GAAAA;QACxB,CAAA,CAAA,CAAA;MAGN;IACF;EACF,GACA;IAACT;IAASE;GAAK;AAGjBG,iBAEE,OAAOQ,YAAAA;AACL,UAAMX,QAAO,MAAMY,WAAWC,OAAOd,gBAAgB,CAAC,CAAA;AACtD,QAAIY,QAAAA,GAAW;AACbV,cAAQD,KAAAA;IACV;EACF,GACA;IAACD;GAAa;AAGhB,SAAO,gBAAAe,OAAA,cAACC,cAAAA;IAAaf;KAAaH,QAAAA;AACpC,GAxCqE;;;AEhBrE,SAASmB,yBAAyB;AAElC,OAAOC,UAASC,WAAAA,UAASC,YAAAA,iBAAgB;AAMlC,IAAMC,qBAAwD,wBAAC,EAAEC,UAAUC,cAAc,MAAK,MAAE;AACrG,QAAM,CAACC,MAAMC,OAAAA,IAAWC,UAAS,MAAMH,WAAAA;AAEvC,QAAMI,QAAyBC,SAAQ,OAAO;IAC5CJ;IAAMK,UAAU;IAAMJ;EACxB,IAAI;IAACD;GAAK;AAEV,SACE,gBAAAM,OAAA,cAACC,mBAAAA;IAAkBJ;KAChBL,QAAAA;AAGP,GAZqE;;;ACTrE,SAASU,oBAAoB;AAE7B,SAASC,qBAAAA,0BAAyB;AAE3B,IAAMC,gBAAgB,wBAACC,WAAW,SAASC,aAA8BC,oBAAmB,cAAcF,QAAAA,GAApF;","names":["forget","useAsyncEffect","MemoryNode","React","useState","NodeContext","React","useMemo","NodeProvider","node","children","memoNode","useMemo","value","provided","NodeContext","MemoryNodeProvider","children","modules","moduleParams","node","setNode","useState","useAsyncEffect","Promise","all","map","mod","register","forget","unregister","mounted","MemoryNode","create","React","NodeProvider","NodeDrawerContext","React","useMemo","useState","NodeDrawerProvider","children","defaultOpen","open","setOpen","useState","value","useMemo","provided","React","NodeDrawerContext","useContextEx","NodeDrawerContext","useNodeDrawer","required","useContextEx","NodeDrawerContext"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-node-provider",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.5.0",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -43,24 +43,24 @@
|
|
|
43
43
|
"src"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@xylabs/forget": "~5.0.
|
|
47
|
-
"@xylabs/react-async-effect": "~7.1.
|
|
48
|
-
"@xylabs/react-shared": "~7.1.
|
|
49
|
-
"@xyo-network/module-model": "~5.2
|
|
50
|
-
"@xyo-network/node-memory": "~5.2
|
|
51
|
-
"@xyo-network/node-model": "~5.2
|
|
52
|
-
"@xyo-network/react-node-context": "
|
|
46
|
+
"@xylabs/forget": "~5.0.64",
|
|
47
|
+
"@xylabs/react-async-effect": "~7.1.9",
|
|
48
|
+
"@xylabs/react-shared": "~7.1.9",
|
|
49
|
+
"@xyo-network/module-model": "~5.3.2",
|
|
50
|
+
"@xyo-network/node-memory": "~5.3.2",
|
|
51
|
+
"@xyo-network/node-model": "~5.3.2",
|
|
52
|
+
"@xyo-network/react-node-context": "7.5.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@mui/icons-material": "~7.3.
|
|
56
|
-
"@mui/material": "~7.3.
|
|
57
|
-
"@types/react": "^19.2.
|
|
58
|
-
"@xylabs/ts-scripts-yarn3": "~7.2
|
|
59
|
-
"@xylabs/tsconfig": "~7.2
|
|
60
|
-
"@xylabs/tsconfig-dom": "~7.2
|
|
61
|
-
"@xylabs/tsconfig-react": "~7.2
|
|
62
|
-
"react": "^19.2.
|
|
63
|
-
"react-dom": "^19.2.
|
|
55
|
+
"@mui/icons-material": "~7.3.7",
|
|
56
|
+
"@mui/material": "~7.3.7",
|
|
57
|
+
"@types/react": "^19.2.10",
|
|
58
|
+
"@xylabs/ts-scripts-yarn3": "~7.3.2",
|
|
59
|
+
"@xylabs/tsconfig": "~7.3.2",
|
|
60
|
+
"@xylabs/tsconfig-dom": "~7.3.2",
|
|
61
|
+
"@xylabs/tsconfig-react": "~7.3.2",
|
|
62
|
+
"react": "^19.2.4",
|
|
63
|
+
"react-dom": "^19.2.4",
|
|
64
64
|
"typescript": "^5.9.3"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
@@ -73,4 +73,4 @@
|
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
75
|
"docs": "dist/docs.json"
|
|
76
|
-
}
|
|
76
|
+
}
|