@xyo-network/react-node-provider 3.0.0 → 3.0.2
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.
|
@@ -1 +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 {
|
|
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 type { WithChildren } from '@xylabs/react-shared'\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 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 type { WithChildren } from '@xylabs/react-shared'\nimport type { 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 type { WithChildren } from '@xylabs/react-shared'\nimport type { ResolverEntries } from '@xyo-network/react-node-context'\nimport { ModuleRepositoryContext } 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 type { 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
|
@@ -7,21 +7,21 @@
|
|
|
7
7
|
},
|
|
8
8
|
"bugs": {
|
|
9
9
|
"email": "support@xyo.network",
|
|
10
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
10
|
+
"url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/forget": "^4.0.
|
|
14
|
-
"@xylabs/react-async-effect": "^4.0.
|
|
15
|
-
"@xylabs/react-shared": "^4.0.
|
|
16
|
-
"@xyo-network/module-model": "^3.0.
|
|
17
|
-
"@xyo-network/node-memory": "^3.0.
|
|
18
|
-
"@xyo-network/node-model": "^3.0.
|
|
19
|
-
"@xyo-network/react-node-context": "^3.0.
|
|
20
|
-
"@xyo-network/react-shared": "^3.0.
|
|
13
|
+
"@xylabs/forget": "^4.0.2",
|
|
14
|
+
"@xylabs/react-async-effect": "^4.0.3",
|
|
15
|
+
"@xylabs/react-shared": "^4.0.3",
|
|
16
|
+
"@xyo-network/module-model": "^3.0.3",
|
|
17
|
+
"@xyo-network/node-memory": "^3.0.3",
|
|
18
|
+
"@xyo-network/node-model": "^3.0.3",
|
|
19
|
+
"@xyo-network/react-node-context": "^3.0.2",
|
|
20
|
+
"@xyo-network/react-shared": "^3.0.2"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@xylabs/ts-scripts-yarn3": "^4.0.0-rc.
|
|
24
|
-
"@xylabs/tsconfig-react": "^4.0.0-rc.
|
|
23
|
+
"@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
|
|
24
|
+
"@xylabs/tsconfig-react": "^4.0.0-rc.20",
|
|
25
25
|
"typescript": "^5.5.4"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"repository": {
|
|
60
60
|
"type": "git",
|
|
61
|
-
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
|
|
61
|
+
"url": "git+https://github.com/XYOracleNetwork/sdk-xyo-react-js.git"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"lint-pkg": "npmPkgJsonLint .",
|
|
@@ -66,6 +66,6 @@
|
|
|
66
66
|
},
|
|
67
67
|
"sideEffects": false,
|
|
68
68
|
"types": "dist/browser/index.d.ts",
|
|
69
|
-
"version": "3.0.
|
|
69
|
+
"version": "3.0.2",
|
|
70
70
|
"type": "module"
|
|
71
71
|
}
|
package/src/MemoryProvider.tsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { forget } from '@xylabs/forget'
|
|
2
2
|
import { useAsyncEffect } from '@xylabs/react-async-effect'
|
|
3
|
-
import { WithChildren } from '@xylabs/react-shared'
|
|
4
|
-
import { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'
|
|
3
|
+
import type { WithChildren } from '@xylabs/react-shared'
|
|
4
|
+
import type { AttachableModuleInstance, ModuleParams } from '@xyo-network/module-model'
|
|
5
5
|
import { MemoryNode } from '@xyo-network/node-memory'
|
|
6
|
-
import { NodeConfig } from '@xyo-network/node-model'
|
|
6
|
+
import type { NodeConfig } from '@xyo-network/node-model'
|
|
7
7
|
import React, { useState } from 'react'
|
|
8
8
|
|
|
9
9
|
import { NodeProvider } from './Node/index.ts'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { WithChildren } from '@xylabs/react-shared'
|
|
2
|
-
import {
|
|
1
|
+
import type { WithChildren } from '@xylabs/react-shared'
|
|
2
|
+
import type { ResolverEntries } from '@xyo-network/react-node-context'
|
|
3
|
+
import { ModuleRepositoryContext } from '@xyo-network/react-node-context'
|
|
3
4
|
import React, { useEffect, useState } from 'react'
|
|
4
5
|
|
|
5
6
|
export interface ModuleRepositoryProviderProps extends WithChildren {
|
package/src/Node/Provider.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { WithChildren } from '@xylabs/react-shared'
|
|
2
|
-
import { NodeInstance } from '@xyo-network/node-model'
|
|
1
|
+
import type { WithChildren } from '@xylabs/react-shared'
|
|
2
|
+
import type { NodeInstance } from '@xyo-network/node-model'
|
|
3
3
|
import { NodeContext } from '@xyo-network/react-node-context'
|
|
4
4
|
import React, { useMemo } from 'react'
|
|
5
5
|
|
package/xy.config.ts
CHANGED