@xyo-network/react-node-provider 2.68.3 → 2.69.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.
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkChE,CAAA"}
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsChE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkChE,CAAA"}
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsChE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkChE,CAAA"}
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsChE,CAAA"}
@@ -30,6 +30,7 @@ __export(src_exports, {
30
30
  module.exports = __toCommonJS(src_exports);
31
31
 
32
32
  // src/MemoryProvider.tsx
33
+ var import_forget = require("@xylabs/forget");
33
34
  var import_react_async_effect = require("@xylabs/react-async-effect");
34
35
  var import_node_memory = require("@xyo-network/node-memory");
35
36
  var import_react2 = require("react");
@@ -57,9 +58,13 @@ var MemoryNodeProvider = ({ children, modules, moduleParams }) => {
57
58
  })
58
59
  );
59
60
  return () => {
60
- modules.map(async (module2) => {
61
- await node.unregister(module2);
62
- });
61
+ (0, import_forget.forget)(
62
+ Promise.all(
63
+ modules.map(async (module2) => {
64
+ await node.unregister(module2);
65
+ })
66
+ )
67
+ );
63
68
  };
64
69
  }
65
70
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.tsx","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.tsx"],"sourcesContent":["export * from './MemoryProvider'\nexport * from './ModuleRepository'\nexport * from './Node'\nexport * from './NodeDrawerContext'\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ModuleInstance, 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'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: ModuleInstance[]\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 (module) => {\n await node.register(module)\n }),\n )\n return () => {\n modules.map(async (module) => {\n await node.unregister(module)\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":["import_react","import_jsx_runtime","module","node","import_react_node_context","import_react","import_jsx_runtime","resolvers","import_react_node_context","import_react_node_context","import_react","import_jsx_runtime","import_react_node_context","import_react_shared"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.tsx","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.tsx"],"sourcesContent":["export * from './MemoryProvider'\nexport * from './ModuleRepository'\nexport * from './Node'\nexport * from './NodeDrawerContext'\n","import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ModuleInstance, 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'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: ModuleInstance[]\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 (module) => {\n await node.register(module)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (module) => {\n await node.unregister(module)\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":["import_react","import_jsx_runtime","module","node","import_react_node_context","import_react","import_jsx_runtime","resolvers","import_react_node_context","import_react_node_context","import_react","import_jsx_runtime","import_react_node_context","import_react_shared"]}
@@ -1,4 +1,5 @@
1
1
  // src/MemoryProvider.tsx
2
+ import { forget } from "@xylabs/forget";
2
3
  import { useAsyncEffect } from "@xylabs/react-async-effect";
3
4
  import { MemoryNode } from "@xyo-network/node-memory";
4
5
  import { useState } from "react";
@@ -26,9 +27,13 @@ var MemoryNodeProvider = ({ children, modules, moduleParams }) => {
26
27
  })
27
28
  );
28
29
  return () => {
29
- modules.map(async (module) => {
30
- await node.unregister(module);
31
- });
30
+ forget(
31
+ Promise.all(
32
+ modules.map(async (module) => {
33
+ await node.unregister(module);
34
+ })
35
+ )
36
+ );
32
37
  };
33
38
  }
34
39
  },
@@ -1 +1 @@
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 { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ModuleInstance, 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'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: ModuleInstance[]\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 (module) => {\n await node.register(module)\n }),\n )\n return () => {\n modules.map(async (module) => {\n await node.unregister(module)\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
+ {"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 { ModuleInstance, 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'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: ModuleInstance[]\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 (module) => {\n await node.register(module)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (module) => {\n await node.unregister(module)\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 +1 @@
1
- {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkChE,CAAA"}
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsChE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkChE,CAAA"}
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsChE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkChE,CAAA"}
1
+ {"version":3,"file":"MemoryProvider.d.ts","sourceRoot":"","sources":["../../src/MemoryProvider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKpD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,YAAY,CAAC,UAAU,CAAC,CAAA;AAE1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsChE,CAAA"}
@@ -30,6 +30,7 @@ __export(src_exports, {
30
30
  module.exports = __toCommonJS(src_exports);
31
31
 
32
32
  // src/MemoryProvider.tsx
33
+ var import_forget = require("@xylabs/forget");
33
34
  var import_react_async_effect = require("@xylabs/react-async-effect");
34
35
  var import_node_memory = require("@xyo-network/node-memory");
35
36
  var import_react2 = require("react");
@@ -57,9 +58,13 @@ var MemoryNodeProvider = ({ children, modules, moduleParams }) => {
57
58
  })
58
59
  );
59
60
  return () => {
60
- modules.map(async (module2) => {
61
- await node.unregister(module2);
62
- });
61
+ (0, import_forget.forget)(
62
+ Promise.all(
63
+ modules.map(async (module2) => {
64
+ await node.unregister(module2);
65
+ })
66
+ )
67
+ );
63
68
  };
64
69
  }
65
70
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.tsx","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.tsx"],"sourcesContent":["export * from './MemoryProvider'\nexport * from './ModuleRepository'\nexport * from './Node'\nexport * from './NodeDrawerContext'\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ModuleInstance, 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'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: ModuleInstance[]\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 (module) => {\n await node.register(module)\n }),\n )\n return () => {\n modules.map(async (module) => {\n await node.unregister(module)\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":["import_react","import_jsx_runtime","module","node","import_react_node_context","import_react","import_jsx_runtime","resolvers","import_react_node_context","import_react_node_context","import_react","import_jsx_runtime","import_react_node_context","import_react_shared"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/MemoryProvider.tsx","../../src/Node/Provider.tsx","../../src/ModuleRepository/Provider.tsx","../../src/ModuleRepository/use.tsx","../../src/NodeDrawerContext/Provider.tsx","../../src/NodeDrawerContext/use.tsx"],"sourcesContent":["export * from './MemoryProvider'\nexport * from './ModuleRepository'\nexport * from './Node'\nexport * from './NodeDrawerContext'\n","import { forget } from '@xylabs/forget'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ModuleInstance, 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'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: ModuleInstance[]\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 (module) => {\n await node.register(module)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (module) => {\n await node.unregister(module)\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":["import_react","import_jsx_runtime","module","node","import_react_node_context","import_react","import_jsx_runtime","resolvers","import_react_node_context","import_react_node_context","import_react","import_jsx_runtime","import_react_node_context","import_react_shared"]}
@@ -1,4 +1,5 @@
1
1
  // src/MemoryProvider.tsx
2
+ import { forget } from "@xylabs/forget";
2
3
  import { useAsyncEffect } from "@xylabs/react-async-effect";
3
4
  import { MemoryNode } from "@xyo-network/node-memory";
4
5
  import { useState } from "react";
@@ -26,9 +27,13 @@ var MemoryNodeProvider = ({ children, modules, moduleParams }) => {
26
27
  })
27
28
  );
28
29
  return () => {
29
- modules.map(async (module) => {
30
- await node.unregister(module);
31
- });
30
+ forget(
31
+ Promise.all(
32
+ modules.map(async (module) => {
33
+ await node.unregister(module);
34
+ })
35
+ )
36
+ );
32
37
  };
33
38
  }
34
39
  },
@@ -1 +1 @@
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 { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { ModuleInstance, 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'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: ModuleInstance[]\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 (module) => {\n await node.register(module)\n }),\n )\n return () => {\n modules.map(async (module) => {\n await node.unregister(module)\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
+ {"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 { ModuleInstance, 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'\n\nexport type MemoryNodeProviderProps = WithChildren<{\n moduleParams?: ModuleParams<NodeConfig>\n modules?: ModuleInstance[]\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 (module) => {\n await node.register(module)\n }),\n )\n return () => {\n forget(\n Promise.all(\n modules.map(async (module) => {\n await node.unregister(module)\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"]}
package/package.json CHANGED
@@ -10,17 +10,18 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/react-async-effect": "^3.0.39",
14
- "@xylabs/react-shared": "^3.0.39",
15
- "@xyo-network/module-model": "^2.90.23",
16
- "@xyo-network/node-memory": "^2.90.23",
17
- "@xyo-network/node-model": "^2.90.23",
18
- "@xyo-network/react-node-context": "~2.68.3",
19
- "@xyo-network/react-shared": "~2.68.3"
13
+ "@xylabs/forget": "^3.0.1",
14
+ "@xylabs/react-async-effect": "^3.1.0",
15
+ "@xylabs/react-shared": "^3.1.0",
16
+ "@xyo-network/module-model": "^2.91.0",
17
+ "@xyo-network/node-memory": "^2.91.0",
18
+ "@xyo-network/node-model": "^2.91.0",
19
+ "@xyo-network/react-node-context": "~2.69.0",
20
+ "@xyo-network/react-shared": "~2.69.0"
20
21
  },
21
22
  "devDependencies": {
22
- "@xylabs/ts-scripts-yarn3": "^3.2.42",
23
- "@xylabs/tsconfig-react": "^3.2.42",
23
+ "@xylabs/ts-scripts-yarn3": "^3.4.1",
24
+ "@xylabs/tsconfig-react": "^3.4.1",
24
25
  "typescript": "^5.3.3"
25
26
  },
26
27
  "peerDependencies": {
@@ -81,6 +82,6 @@
81
82
  },
82
83
  "sideEffects": false,
83
84
  "types": "dist/browser/index.d.ts",
84
- "version": "2.68.3",
85
+ "version": "2.69.0",
85
86
  "type": "module"
86
87
  }
@@ -1,3 +1,4 @@
1
+ import { forget } from '@xylabs/forget'
1
2
  import { useAsyncEffect } from '@xylabs/react-async-effect'
2
3
  import { WithChildren } from '@xylabs/react-shared'
3
4
  import { ModuleInstance, ModuleParams } from '@xyo-network/module-model'
@@ -27,9 +28,13 @@ export const MemoryNodeProvider: React.FC<MemoryNodeProviderProps> = ({ children
27
28
  }),
28
29
  )
29
30
  return () => {
30
- modules.map(async (module) => {
31
- await node.unregister(module)
32
- })
31
+ forget(
32
+ Promise.all(
33
+ modules.map(async (module) => {
34
+ await node.unregister(module)
35
+ }),
36
+ ),
37
+ )
33
38
  }
34
39
  }
35
40
  },