@xyo-network/react-node 2.74.0 → 2.75.1
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/components/render/RenderModule.d.cts.map +1 -1
- package/dist/browser/components/render/RenderModule.d.mts.map +1 -1
- package/dist/browser/components/render/RenderModule.d.ts.map +1 -1
- package/dist/browser/hooks/WeakModuleFromNodeConfig.d.cts +9 -0
- package/dist/browser/hooks/WeakModuleFromNodeConfig.d.cts.map +1 -0
- package/dist/browser/hooks/WeakModuleFromNodeConfig.d.mts +9 -0
- package/dist/browser/hooks/WeakModuleFromNodeConfig.d.mts.map +1 -0
- package/dist/browser/hooks/WeakModuleFromNodeConfig.d.ts +9 -0
- package/dist/browser/hooks/WeakModuleFromNodeConfig.d.ts.map +1 -0
- package/dist/browser/hooks/index.d.cts +4 -0
- package/dist/browser/hooks/index.d.cts.map +1 -1
- package/dist/browser/hooks/index.d.mts +4 -0
- package/dist/browser/hooks/index.d.mts.map +1 -1
- package/dist/browser/hooks/index.d.ts +4 -0
- package/dist/browser/hooks/index.d.ts.map +1 -1
- package/dist/browser/hooks/useModuleFilterOptions.d.cts.map +1 -1
- package/dist/browser/hooks/useModuleFilterOptions.d.mts.map +1 -1
- package/dist/browser/hooks/useModuleFilterOptions.d.ts.map +1 -1
- package/dist/browser/hooks/useModuleFromNode.d.cts +1 -0
- package/dist/browser/hooks/useModuleFromNode.d.cts.map +1 -1
- package/dist/browser/hooks/useModuleFromNode.d.mts +1 -0
- package/dist/browser/hooks/useModuleFromNode.d.mts.map +1 -1
- package/dist/browser/hooks/useModuleFromNode.d.ts +1 -0
- package/dist/browser/hooks/useModuleFromNode.d.ts.map +1 -1
- package/dist/browser/hooks/useModulesFromNode.d.cts +1 -0
- package/dist/browser/hooks/useModulesFromNode.d.cts.map +1 -1
- package/dist/browser/hooks/useModulesFromNode.d.mts +1 -0
- package/dist/browser/hooks/useModulesFromNode.d.mts.map +1 -1
- package/dist/browser/hooks/useModulesFromNode.d.ts +1 -0
- package/dist/browser/hooks/useModulesFromNode.d.ts.map +1 -1
- package/dist/browser/hooks/useNodeConfigNodeField.d.cts.map +1 -1
- package/dist/browser/hooks/useNodeConfigNodeField.d.mts.map +1 -1
- package/dist/browser/hooks/useNodeConfigNodeField.d.ts.map +1 -1
- package/dist/browser/hooks/useWeakModuleFromNode.d.cts +4 -0
- package/dist/browser/hooks/useWeakModuleFromNode.d.cts.map +1 -0
- package/dist/browser/hooks/useWeakModuleFromNode.d.mts +4 -0
- package/dist/browser/hooks/useWeakModuleFromNode.d.mts.map +1 -0
- package/dist/browser/hooks/useWeakModuleFromNode.d.ts +4 -0
- package/dist/browser/hooks/useWeakModuleFromNode.d.ts.map +1 -0
- package/dist/browser/hooks/useWeakModulesFromNode.d.cts +4 -0
- package/dist/browser/hooks/useWeakModulesFromNode.d.cts.map +1 -0
- package/dist/browser/hooks/useWeakModulesFromNode.d.mts +4 -0
- package/dist/browser/hooks/useWeakModulesFromNode.d.mts.map +1 -0
- package/dist/browser/hooks/useWeakModulesFromNode.d.ts +4 -0
- package/dist/browser/hooks/useWeakModulesFromNode.d.ts.map +1 -0
- package/dist/browser/hooks/useWeakNodeConfigNodeField.d.cts +4 -0
- package/dist/browser/hooks/useWeakNodeConfigNodeField.d.cts.map +1 -0
- package/dist/browser/hooks/useWeakNodeConfigNodeField.d.mts +4 -0
- package/dist/browser/hooks/useWeakNodeConfigNodeField.d.mts.map +1 -0
- package/dist/browser/hooks/useWeakNodeConfigNodeField.d.ts +4 -0
- package/dist/browser/hooks/useWeakNodeConfigNodeField.d.ts.map +1 -0
- package/dist/browser/index.cjs +102 -8
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +100 -6
- package/dist/browser/index.js.map +1 -1
- package/dist/node/components/render/RenderModule.d.cts.map +1 -1
- package/dist/node/components/render/RenderModule.d.mts.map +1 -1
- package/dist/node/components/render/RenderModule.d.ts.map +1 -1
- package/dist/node/hooks/WeakModuleFromNodeConfig.d.cts +9 -0
- package/dist/node/hooks/WeakModuleFromNodeConfig.d.cts.map +1 -0
- package/dist/node/hooks/WeakModuleFromNodeConfig.d.mts +9 -0
- package/dist/node/hooks/WeakModuleFromNodeConfig.d.mts.map +1 -0
- package/dist/node/hooks/WeakModuleFromNodeConfig.d.ts +9 -0
- package/dist/node/hooks/WeakModuleFromNodeConfig.d.ts.map +1 -0
- package/dist/node/hooks/index.d.cts +4 -0
- package/dist/node/hooks/index.d.cts.map +1 -1
- package/dist/node/hooks/index.d.mts +4 -0
- package/dist/node/hooks/index.d.mts.map +1 -1
- package/dist/node/hooks/index.d.ts +4 -0
- package/dist/node/hooks/index.d.ts.map +1 -1
- package/dist/node/hooks/useModuleFilterOptions.d.cts.map +1 -1
- package/dist/node/hooks/useModuleFilterOptions.d.mts.map +1 -1
- package/dist/node/hooks/useModuleFilterOptions.d.ts.map +1 -1
- package/dist/node/hooks/useModuleFromNode.d.cts +1 -0
- package/dist/node/hooks/useModuleFromNode.d.cts.map +1 -1
- package/dist/node/hooks/useModuleFromNode.d.mts +1 -0
- package/dist/node/hooks/useModuleFromNode.d.mts.map +1 -1
- package/dist/node/hooks/useModuleFromNode.d.ts +1 -0
- package/dist/node/hooks/useModuleFromNode.d.ts.map +1 -1
- package/dist/node/hooks/useModulesFromNode.d.cts +1 -0
- package/dist/node/hooks/useModulesFromNode.d.cts.map +1 -1
- package/dist/node/hooks/useModulesFromNode.d.mts +1 -0
- package/dist/node/hooks/useModulesFromNode.d.mts.map +1 -1
- package/dist/node/hooks/useModulesFromNode.d.ts +1 -0
- package/dist/node/hooks/useModulesFromNode.d.ts.map +1 -1
- package/dist/node/hooks/useNodeConfigNodeField.d.cts.map +1 -1
- package/dist/node/hooks/useNodeConfigNodeField.d.mts.map +1 -1
- package/dist/node/hooks/useNodeConfigNodeField.d.ts.map +1 -1
- package/dist/node/hooks/useWeakModuleFromNode.d.cts +4 -0
- package/dist/node/hooks/useWeakModuleFromNode.d.cts.map +1 -0
- package/dist/node/hooks/useWeakModuleFromNode.d.mts +4 -0
- package/dist/node/hooks/useWeakModuleFromNode.d.mts.map +1 -0
- package/dist/node/hooks/useWeakModuleFromNode.d.ts +4 -0
- package/dist/node/hooks/useWeakModuleFromNode.d.ts.map +1 -0
- package/dist/node/hooks/useWeakModulesFromNode.d.cts +4 -0
- package/dist/node/hooks/useWeakModulesFromNode.d.cts.map +1 -0
- package/dist/node/hooks/useWeakModulesFromNode.d.mts +4 -0
- package/dist/node/hooks/useWeakModulesFromNode.d.mts.map +1 -0
- package/dist/node/hooks/useWeakModulesFromNode.d.ts +4 -0
- package/dist/node/hooks/useWeakModulesFromNode.d.ts.map +1 -0
- package/dist/node/hooks/useWeakNodeConfigNodeField.d.cts +4 -0
- package/dist/node/hooks/useWeakNodeConfigNodeField.d.cts.map +1 -0
- package/dist/node/hooks/useWeakNodeConfigNodeField.d.mts +4 -0
- package/dist/node/hooks/useWeakNodeConfigNodeField.d.mts.map +1 -0
- package/dist/node/hooks/useWeakNodeConfigNodeField.d.ts +4 -0
- package/dist/node/hooks/useWeakNodeConfigNodeField.d.ts.map +1 -0
- package/dist/node/index.cjs +108 -8
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +102 -6
- package/dist/node/index.js.map +1 -1
- package/package.json +13 -13
- package/src/components/render/RenderModule.tsx +6 -5
- package/src/hooks/WeakModuleFromNodeConfig.ts +12 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useModuleFilterOptions.ts +2 -0
- package/src/hooks/useModuleFromNode.ts +3 -0
- package/src/hooks/useModulesFromNode.ts +3 -1
- package/src/hooks/useNodeConfigNodeField.ts +2 -0
- package/src/hooks/useWeakModuleFromNode.ts +48 -0
- package/src/hooks/useWeakModulesFromNode.ts +41 -0
- package/src/hooks/useWeakNodeConfigNodeField.ts +12 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ModuleFilter, ModuleInstance } from '@xyo-network/module-model';
|
|
2
2
|
import { ModuleFromNodeConfig } from './ModuleFromNodeConfig';
|
|
3
|
+
/** @deprecated use useModulesFromNode */
|
|
3
4
|
export declare const useModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [ModuleInstance[] | undefined, Error | undefined];
|
|
4
5
|
//# sourceMappingURL=useModulesFromNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModulesFromNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModulesFromNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,YAAa,YAAY,WAAW,oBAAoB,KAAG,CAAC,cAAc,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA0BzI,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ModuleFilter, ModuleInstance } from '@xyo-network/module-model';
|
|
2
2
|
import { ModuleFromNodeConfig } from './ModuleFromNodeConfig';
|
|
3
|
+
/** @deprecated use useModulesFromNode */
|
|
3
4
|
export declare const useModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [ModuleInstance[] | undefined, Error | undefined];
|
|
4
5
|
//# sourceMappingURL=useModulesFromNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModulesFromNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModulesFromNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,YAAa,YAAY,WAAW,oBAAoB,KAAG,CAAC,cAAc,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA0BzI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeConfigNodeField.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeConfigNodeField.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,eAAO,MAAM,sBAAsB,YAAa,oBAAoB,GAAG,SAAS,KAAG,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,GAAG,SAAS,CAI/H,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeConfigNodeField.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeConfigNodeField.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,eAAO,MAAM,sBAAsB,YAAa,oBAAoB,GAAG,SAAS,KAAG,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,GAAG,SAAS,CAI/H,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeConfigNodeField.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeConfigNodeField.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,eAAO,MAAM,sBAAsB,YAAa,oBAAoB,GAAG,SAAS,KAAG,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,GAAG,SAAS,CAI/H,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleInstance } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from './ModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakModuleFromNode: (nameOrAddressOrInstance?: string | ModuleInstance, config?: ModuleFromNodeConfig) => [WeakRef<ModuleInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakModuleFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakModuleFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModuleFromNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG9F,OAAO,EAAE,oBAAoB,EAAiC,MAAM,wBAAwB,CAAA;AAI5F,eAAO,MAAM,qBAAqB,6BACN,MAAM,GAAG,cAAc,WACxC,oBAAoB,KAC5B,CAAC,QAAQ,cAAc,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAoCzD,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleInstance } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from './ModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakModuleFromNode: (nameOrAddressOrInstance?: string | ModuleInstance, config?: ModuleFromNodeConfig) => [WeakRef<ModuleInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakModuleFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakModuleFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModuleFromNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG9F,OAAO,EAAE,oBAAoB,EAAiC,MAAM,wBAAwB,CAAA;AAI5F,eAAO,MAAM,qBAAqB,6BACN,MAAM,GAAG,cAAc,WACxC,oBAAoB,KAC5B,CAAC,QAAQ,cAAc,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAoCzD,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleInstance } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from './ModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakModuleFromNode: (nameOrAddressOrInstance?: string | ModuleInstance, config?: ModuleFromNodeConfig) => [WeakRef<ModuleInstance> | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakModuleFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakModuleFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModuleFromNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG9F,OAAO,EAAE,oBAAoB,EAAiC,MAAM,wBAAwB,CAAA;AAI5F,eAAO,MAAM,qBAAqB,6BACN,MAAM,GAAG,cAAc,WACxC,oBAAoB,KAC5B,CAAC,QAAQ,cAAc,CAAC,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAoCzD,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFilter, ModuleInstance } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from './ModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<ModuleInstance>[] | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakModulesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModulesFromNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,eAAO,MAAM,sBAAsB,YACxB,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,cAAc,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA6B3D,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFilter, ModuleInstance } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from './ModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<ModuleInstance>[] | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakModulesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModulesFromNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,eAAO,MAAM,sBAAsB,YACxB,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,cAAc,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA6B3D,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ModuleFilter, ModuleInstance } from '@xyo-network/module-model';
|
|
2
|
+
import { ModuleFromNodeConfig } from './ModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakModulesFromNode: (filter?: ModuleFilter, config?: ModuleFromNodeConfig) => [WeakRef<ModuleInstance>[] | undefined, Error | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakModulesFromNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakModulesFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakModulesFromNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAI7D,eAAO,MAAM,sBAAsB,YACxB,YAAY,WACZ,oBAAoB,KAC5B,CAAC,QAAQ,cAAc,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CA6B3D,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NodeInstance } from '@xyo-network/node-model';
|
|
2
|
+
import { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakNodeConfigNodeField: (config?: WeakModuleFromNodeConfig | undefined) => [string | undefined, WeakRef<NodeInstance> | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakNodeConfigNodeField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakNodeConfigNodeField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,eAAO,MAAM,0BAA0B,YAC5B,wBAAwB,GAAG,SAAS,KAC5C,CAAC,MAAM,GAAG,SAAS,EAAE,QAAQ,YAAY,CAAC,GAAG,SAAS,CAIxD,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NodeInstance } from '@xyo-network/node-model';
|
|
2
|
+
import { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakNodeConfigNodeField: (config?: WeakModuleFromNodeConfig | undefined) => [string | undefined, WeakRef<NodeInstance> | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakNodeConfigNodeField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakNodeConfigNodeField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,eAAO,MAAM,0BAA0B,YAC5B,wBAAwB,GAAG,SAAS,KAC5C,CAAC,MAAM,GAAG,SAAS,EAAE,QAAQ,YAAY,CAAC,GAAG,SAAS,CAIxD,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NodeInstance } from '@xyo-network/node-model';
|
|
2
|
+
import { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig';
|
|
3
|
+
export declare const useWeakNodeConfigNodeField: (config?: WeakModuleFromNodeConfig | undefined) => [string | undefined, WeakRef<NodeInstance> | undefined];
|
|
4
|
+
//# sourceMappingURL=useWeakNodeConfigNodeField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWeakNodeConfigNodeField.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWeakNodeConfigNodeField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,eAAO,MAAM,0BAA0B,YAC5B,wBAAwB,GAAG,SAAS,KAC5C,CAAC,MAAM,GAAG,SAAS,EAAE,QAAQ,YAAY,CAAC,GAAG,SAAS,CAIxD,CAAA"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -31,7 +31,11 @@ __export(src_exports, {
|
|
|
31
31
|
useNodeConfigNodeField: () => useNodeConfigNodeField,
|
|
32
32
|
useNodeDescription: () => useNodeDescription,
|
|
33
33
|
useNodeFromNode: () => useNodeFromNode,
|
|
34
|
-
useProvidedNode: () => useProvidedNode
|
|
34
|
+
useProvidedNode: () => useProvidedNode,
|
|
35
|
+
useWeakModuleFromNode: () => useWeakModuleFromNode,
|
|
36
|
+
useWeakModuleFromNodeConfigLogger: () => useWeakModuleFromNodeConfigLogger,
|
|
37
|
+
useWeakModulesFromNode: () => useWeakModulesFromNode,
|
|
38
|
+
useWeakNodeConfigNodeField: () => useWeakNodeConfigNodeField
|
|
35
39
|
});
|
|
36
40
|
module.exports = __toCommonJS(src_exports);
|
|
37
41
|
|
|
@@ -147,7 +151,6 @@ var useModulesFromNode = (filter, config) => {
|
|
|
147
151
|
});
|
|
148
152
|
const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve("*", filterOptions);
|
|
149
153
|
setResult(moduleInstances);
|
|
150
|
-
setResult(moduleInstances);
|
|
151
154
|
return moduleInstances;
|
|
152
155
|
}
|
|
153
156
|
console.log("Result: No Node");
|
|
@@ -183,6 +186,96 @@ var useNodeFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
183
186
|
return [instance, error];
|
|
184
187
|
};
|
|
185
188
|
|
|
189
|
+
// src/hooks/useWeakModuleFromNode.ts
|
|
190
|
+
var import_react_promise5 = require("@xylabs/react-promise");
|
|
191
|
+
var import_module_model3 = require("@xyo-network/module-model");
|
|
192
|
+
var import_react5 = require("react");
|
|
193
|
+
var useWeakModuleFromNode = (nameOrAddressOrInstance, config) => {
|
|
194
|
+
const [node, nodeError] = useNode(config);
|
|
195
|
+
const logger = useModuleFromNodeConfigLogger(config);
|
|
196
|
+
const filterOptions = useModuleFilterOptions(config);
|
|
197
|
+
const [result, setResult] = (0, import_react5.useState)();
|
|
198
|
+
const [, error] = (0, import_react_promise5.usePromise)(async () => {
|
|
199
|
+
logger == null ? void 0 : logger.debug("useModuleFromNode: resolving");
|
|
200
|
+
const nodeInstance = node;
|
|
201
|
+
if (nodeInstance && nameOrAddressOrInstance) {
|
|
202
|
+
nodeInstance.on("moduleAttached", ({ module: module2 }) => {
|
|
203
|
+
var _a;
|
|
204
|
+
logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
|
|
205
|
+
if (module2.address === nameOrAddressOrInstance || ((_a = module2.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
|
|
206
|
+
const instance = (0, import_module_model3.asModuleInstance)(module2);
|
|
207
|
+
setResult(instance ? new WeakRef(instance) : void 0);
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
nodeInstance.on("moduleDetached", ({ module: module2 }) => {
|
|
211
|
+
var _a;
|
|
212
|
+
logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
|
|
213
|
+
if (module2.address === nameOrAddressOrInstance || ((_a = module2.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
|
|
214
|
+
setResult(void 0);
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
if ((0, import_module_model3.isModuleInstance)(nameOrAddressOrInstance)) {
|
|
218
|
+
setResult(new WeakRef(nameOrAddressOrInstance));
|
|
219
|
+
} else {
|
|
220
|
+
const result2 = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions);
|
|
221
|
+
logger == null ? void 0 : logger.debug(`Result: ${result2 == null ? void 0 : result2.address}`);
|
|
222
|
+
setResult(result2 ? new WeakRef(result2) : void 0);
|
|
223
|
+
}
|
|
224
|
+
return result;
|
|
225
|
+
}
|
|
226
|
+
logger == null ? void 0 : logger.debug("Result: No Node");
|
|
227
|
+
return;
|
|
228
|
+
}, [node, nameOrAddressOrInstance]);
|
|
229
|
+
return [result, nodeError ?? error];
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
// src/hooks/useWeakModulesFromNode.ts
|
|
233
|
+
var import_react_promise6 = require("@xylabs/react-promise");
|
|
234
|
+
var import_react6 = require("react");
|
|
235
|
+
var useWeakModulesFromNode = (filter, config) => {
|
|
236
|
+
const [node, nodeError] = useNode(config);
|
|
237
|
+
const logger = config == null ? void 0 : config.logger;
|
|
238
|
+
const filterOptions = useModuleFilterOptions();
|
|
239
|
+
const [result, setResult] = (0, import_react6.useState)();
|
|
240
|
+
const [, error] = (0, import_react_promise6.usePromise)(async () => {
|
|
241
|
+
logger == null ? void 0 : logger.debug("useModuleFromNode: resolving");
|
|
242
|
+
const nodeInstance = node;
|
|
243
|
+
if (nodeInstance) {
|
|
244
|
+
nodeInstance.on("moduleAttached", async ({ module: module2 }) => {
|
|
245
|
+
const nodeInstance2 = node;
|
|
246
|
+
logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${module2.config.name ?? module2.address}]`);
|
|
247
|
+
const moduleInstances2 = filter ? await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve(filter, filterOptions)) : await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve("*", filterOptions));
|
|
248
|
+
setResult(moduleInstances2 == null ? void 0 : moduleInstances2.map((module3) => new WeakRef(module3)));
|
|
249
|
+
});
|
|
250
|
+
nodeInstance.on("moduleDetached", async ({ module: module2 }) => {
|
|
251
|
+
const nodeInstance2 = node;
|
|
252
|
+
logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${module2.config.name ?? module2.address}]`);
|
|
253
|
+
const moduleInstances2 = filter ? await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve(filter, filterOptions)) : await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve("*", filterOptions));
|
|
254
|
+
setResult(moduleInstances2 == null ? void 0 : moduleInstances2.map((module3) => new WeakRef(module3)));
|
|
255
|
+
});
|
|
256
|
+
const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve("*", filterOptions);
|
|
257
|
+
setResult(moduleInstances == null ? void 0 : moduleInstances.map((module2) => new WeakRef(module2)));
|
|
258
|
+
return moduleInstances;
|
|
259
|
+
}
|
|
260
|
+
console.log("Result: No Node");
|
|
261
|
+
return;
|
|
262
|
+
}, [node, filter]);
|
|
263
|
+
return [result, nodeError ?? error];
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
// src/hooks/useWeakNodeConfigNodeField.ts
|
|
267
|
+
var import_react7 = require("react");
|
|
268
|
+
var useWeakNodeConfigNodeField = (config) => {
|
|
269
|
+
const nodeAddress = (0, import_react7.useMemo)(() => typeof (config == null ? void 0 : config.node) === "string" ? config == null ? void 0 : config.node : void 0, [config == null ? void 0 : config.node]);
|
|
270
|
+
const nodeInstance = (0, import_react7.useMemo)(() => typeof (config == null ? void 0 : config.node) === "object" ? config == null ? void 0 : config.node : void 0, [config == null ? void 0 : config.node]);
|
|
271
|
+
return [nodeAddress, nodeInstance];
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
// src/hooks/WeakModuleFromNodeConfig.ts
|
|
275
|
+
var useWeakModuleFromNodeConfigLogger = (config) => {
|
|
276
|
+
return config == null ? void 0 : config.logger;
|
|
277
|
+
};
|
|
278
|
+
|
|
186
279
|
// src/components/NodeDescriptionBox.tsx
|
|
187
280
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
188
281
|
var NodeDescriptionBox = ({ node, ...props }) => {
|
|
@@ -211,23 +304,23 @@ var import_react_node_provider = require("@xyo-network/react-node-provider");
|
|
|
211
304
|
var import_icons_material = require("@mui/icons-material");
|
|
212
305
|
var import_material2 = require("@mui/material");
|
|
213
306
|
var import_x_tree_view2 = require("@mui/x-tree-view");
|
|
214
|
-
var
|
|
307
|
+
var import_react9 = require("react");
|
|
215
308
|
|
|
216
309
|
// src/components/render/RenderModule.tsx
|
|
217
310
|
var import_material = require("@mui/material");
|
|
218
311
|
var import_x_tree_view = require("@mui/x-tree-view");
|
|
219
312
|
var import_react_async_effect = require("@xylabs/react-async-effect");
|
|
220
|
-
var
|
|
313
|
+
var import_react8 = require("react");
|
|
221
314
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
222
315
|
var RenderModule = ({ module: module2, idRef }) => {
|
|
223
316
|
const { address, queries } = module2 ?? {};
|
|
224
|
-
const [childModules, setChildModules] = (0,
|
|
317
|
+
const [childModules, setChildModules] = (0, import_react8.useState)();
|
|
225
318
|
(0, import_react_async_effect.useAsyncEffect)(
|
|
226
319
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
227
320
|
async (mounted) => {
|
|
228
321
|
const children = (await module2.resolve("*")).filter((childModule) => childModule.address !== address);
|
|
229
322
|
if (mounted()) {
|
|
230
|
-
setChildModules(children);
|
|
323
|
+
setChildModules(children.map((childModule) => new WeakRef(childModule)));
|
|
231
324
|
}
|
|
232
325
|
},
|
|
233
326
|
[module2, address]
|
|
@@ -241,7 +334,10 @@ var RenderModule = ({ module: module2, idRef }) => {
|
|
|
241
334
|
queries.map((query, index) => {
|
|
242
335
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_x_tree_view.TreeItem, { nodeId: increment(), label: `query : ${query}`, sx: { mb: index === queries.length - 1 ? 1.5 : 0.5 } }, query);
|
|
243
336
|
}),
|
|
244
|
-
childModules && childModules.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_x_tree_view.TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((
|
|
337
|
+
childModules && childModules.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_x_tree_view.TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModuleRef) => {
|
|
338
|
+
const childModule = childModuleRef.deref();
|
|
339
|
+
return childModule ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(RenderModule, { module: childModule, idRef }, childModule == null ? void 0 : childModule.address) : null;
|
|
340
|
+
}) }) : null
|
|
245
341
|
] });
|
|
246
342
|
};
|
|
247
343
|
var StyledAddressTreeItem = (0, import_material.styled)(import_x_tree_view.TreeItem, { name: "StyledAddressTreeItem" })(({ theme }) => ({
|
|
@@ -253,7 +349,7 @@ var StyledAddressTreeItem = (0, import_material.styled)(import_x_tree_view.TreeI
|
|
|
253
349
|
// src/components/render/ModuleDescriptionBox.tsx
|
|
254
350
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
255
351
|
var ModuleDescriptionBox = ({ module: module2 }) => {
|
|
256
|
-
const idRef = (0,
|
|
352
|
+
const idRef = (0, import_react9.useRef)({ idIncrementor: 0, ids: [] });
|
|
257
353
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: module2 ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
|
|
258
354
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material2.Typography, { variant: "h4", children: "Node Configuration" }),
|
|
259
355
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
@@ -301,6 +397,10 @@ __reExport(src_exports, require("@xyo-network/react-node-provider"), module.expo
|
|
|
301
397
|
useNodeDescription,
|
|
302
398
|
useNodeFromNode,
|
|
303
399
|
useProvidedNode,
|
|
400
|
+
useWeakModuleFromNode,
|
|
401
|
+
useWeakModuleFromNodeConfigLogger,
|
|
402
|
+
useWeakModulesFromNode,
|
|
403
|
+
useWeakNodeConfigNodeField,
|
|
304
404
|
...require("@xyo-network/react-node-context"),
|
|
305
405
|
...require("@xyo-network/react-node-provider")
|
|
306
406
|
});
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/useModuleFilterOptions.ts","../../src/hooks/useModuleFromNode.ts","../../src/hooks/useNode.ts","../../src/hooks/useNodeConfigNodeField.ts","../../src/hooks/useModulesFromNode.ts","../../src/hooks/useNodeDescription.ts","../../src/hooks/useNodeFromNode.tsx","../../src/components/Node.tsx","../../src/components/NodeDrawer.tsx","../../src/components/render/ModuleDescriptionBox.tsx","../../src/components/render/RenderModule.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\nexport * from '@xyo-network/react-node-context'\nexport * from '@xyo-network/react-node-provider'\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useNodeDescription({ node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: NodeInstance | string\n}\n\nexport const useModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","import { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asModuleInstance, isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useModuleFromNode = (\n nameOrAddressOrInstance?: string | ModuleInstance,\n config?: ModuleFromNodeConfig,\n): [ModuleInstance | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<ModuleInstance | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node && nameOrAddressOrInstance) {\n node.on('moduleAttached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(asModuleInstance(module))\n }\n })\n node.on('moduleDetached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (isModuleInstance(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(result)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useNode } from './useNode'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFromNode } from './useModuleFromNode'\n\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asNodeInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a NodeInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case 'description':\n default: {\n return <NodeDescriptionBox {...props} />\n }\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox module={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n module?: ModuleInstance | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {module ?\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule module={module} idRef={idRef} />\n </StyledTreeView>\n </>\n : module === null ?\n <Typography variant=\"h4\">Node loading...</Typography>\n : <Typography variant=\"h4\">Node not found</Typography>}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n module: ModuleInstance\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const { address, queries } = module ?? {}\n const [childModules, setChildModules] = useState<ModuleInstance[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const children = (await module.resolve('*')).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children)\n }\n },\n [module, address],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ?\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModule) => (\n <RenderModule key={childModule.address} module={childModule} idRef={idRef} />\n ))}\n </TreeItem>\n : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n"],"mappings":"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","names":["import_react_promise","import_react","import_react","module","result","import_react_promise","import_react","module","moduleInstances","import_react_promise","import_module_model","import_node_model","module","error","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_material","import_x_tree_view","import_react","import_react","import_jsx_runtime","module","import_jsx_runtime","module","ExpandMoreIcon","ChevronRightIcon","import_jsx_runtime","CloseIcon"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/NodeDescriptionBox.tsx","../../src/hooks/ModuleFromNodeConfig.ts","../../src/hooks/provided/useProvidedNode.tsx","../../src/hooks/useModuleFilterOptions.ts","../../src/hooks/useModuleFromNode.ts","../../src/hooks/useNode.ts","../../src/hooks/useNodeConfigNodeField.ts","../../src/hooks/useModulesFromNode.ts","../../src/hooks/useNodeDescription.ts","../../src/hooks/useNodeFromNode.tsx","../../src/hooks/useWeakModuleFromNode.ts","../../src/hooks/useWeakModulesFromNode.ts","../../src/hooks/useWeakNodeConfigNodeField.ts","../../src/hooks/WeakModuleFromNodeConfig.ts","../../src/components/Node.tsx","../../src/components/NodeDrawer.tsx","../../src/components/render/ModuleDescriptionBox.tsx","../../src/components/render/RenderModule.tsx"],"sourcesContent":["export * from './components'\nexport * from './hooks'\nexport * from '@xyo-network/react-node-context'\nexport * from '@xyo-network/react-node-provider'\n","import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { useNodeDescription } from '../hooks'\n\nexport interface NodeDescriptionBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n}\n\nexport const NodeDescriptionBox: React.FC<NodeDescriptionBoxProps> = ({ node, ...props }) => {\n const [description, error] = useNodeDescription({ node })\n\n return (\n <FlexCol {...props}>\n <code color={error ? 'red' : undefined}>{error ? error.message : JSON.stringify(description, null, 2)}</code>\n </FlexCol>\n )\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type ModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: NodeInstance | string\n}\n\nexport const useModuleFromNodeConfigLogger = (config?: ModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { NodeContext } from '@xyo-network/react-node-context'\nimport { useContext } from 'react'\n\nexport const useProvidedNode = (): [NodeInstance | null | undefined] => {\n const { node } = useContext(NodeContext)\n return [node]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useModuleFilterOptions = (config?: ModuleFromNodeConfig) => {\n const { direction, identity, maxDepth } = config ?? {}\n return { direction, identity, maxDepth }\n}\n","/* eslint-disable import/no-deprecated */\n/* eslint-disable deprecation/deprecation */\nimport { usePromise } from '@xylabs/react-promise'\nimport { asModuleInstance, isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useWeakModuleFromNode */\nexport const useModuleFromNode = (\n nameOrAddressOrInstance?: string | ModuleInstance,\n config?: ModuleFromNodeConfig,\n): [ModuleInstance | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<ModuleInstance | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node && nameOrAddressOrInstance) {\n node.on('moduleAttached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(asModuleInstance(module))\n }\n })\n node.on('moduleDetached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (isModuleInstance(nameOrAddressOrInstance)) {\n setResult(nameOrAddressOrInstance)\n } else {\n const result = await node.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(result)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useProvidedNode } from './provided'\nimport { useNodeConfigNodeField } from './useNodeConfigNodeField'\n\nexport const useNode = (config?: ModuleFromNodeConfig | undefined): [NodeInstance | undefined, Error | undefined] => {\n const [nodeAddress, nodeInstance] = useNodeConfigNodeField(config)\n const [providedNode] = useProvidedNode()\n const [nodeAddressNode, error] = usePromise(async () => {\n if (providedNode && nodeAddress) {\n return asNodeInstance(await providedNode.resolve(nodeAddress), 'Module is not a node')\n }\n }, [providedNode, nodeAddress])\n return [nodeAddressNode ?? nodeInstance ?? providedNode ?? undefined, error]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\n\nexport const useNodeConfigNodeField = (config?: ModuleFromNodeConfig | undefined): [string | undefined, NodeInstance | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","/* eslint-disable deprecation/deprecation */\n/* eslint-disable import/no-deprecated */\nimport { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\n/** @deprecated use useModulesFromNode */\nexport const useModulesFromNode = (filter?: ModuleFilter, config?: ModuleFromNodeConfig): [ModuleInstance[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<ModuleInstance[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n if (node) {\n node.on('moduleAttached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n node.on('moduleDetached', async ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n })\n const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve('*', filterOptions)\n setResult(moduleInstances)\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleDescription, ModuleDescriptionPayload, ModuleDescriptionSchema } from '@xyo-network/module-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useNode } from './useNode'\n\nexport const useNodeDescription = (config?: ModuleFromNodeConfig | undefined): [ModuleDescription | undefined, Error | undefined] => {\n const [activeNode, nodeError] = useNode(config)\n const [description, error] = usePromise(async () => {\n const state = await activeNode?.state()\n return state?.find<ModuleDescriptionPayload>(isPayloadOfSchemaType(ModuleDescriptionSchema))\n }, [activeNode])\n return [description, nodeError ?? error]\n}\n","import { asNodeInstance, NodeInstance } from '@xyo-network/node-model'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFromNode } from './useModuleFromNode'\n\nexport const useNodeFromNode = (\n nameOrAddressOrInstance?: string | NodeInstance,\n config?: ModuleFromNodeConfig,\n): [NodeInstance | undefined, Error | undefined] => {\n const [module, error] = useModuleFromNode(nameOrAddressOrInstance, config)\n const instance = asNodeInstance(module)\n if (module && !instance) {\n const error = new Error(`Resolved module is not a NodeInstance [${module.config?.schema}:${module.config?.name}:${module.address}]`)\n console.error(error.message)\n return [undefined, error]\n }\n return [instance, error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { asModuleInstance, isModuleInstance, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig, useModuleFromNodeConfigLogger } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModuleFromNode = (\n nameOrAddressOrInstance?: string | ModuleInstance,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance> | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = useModuleFromNodeConfigLogger(config)\n const filterOptions = useModuleFilterOptions(config)\n const [result, setResult] = useState<WeakRef<ModuleInstance> | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const nodeInstance = node\n if (nodeInstance && nameOrAddressOrInstance) {\n nodeInstance.on('moduleAttached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n const instance = asModuleInstance(module)\n setResult(instance ? new WeakRef(instance) : undefined)\n }\n })\n nodeInstance.on('moduleDetached', ({ module }) => {\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n if (module.address === nameOrAddressOrInstance || module.config?.name === nameOrAddressOrInstance) {\n setResult(undefined)\n }\n })\n if (isModuleInstance(nameOrAddressOrInstance)) {\n setResult(new WeakRef(nameOrAddressOrInstance))\n } else {\n const result = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions)\n logger?.debug(`Result: ${result?.address}`)\n setResult(result ? new WeakRef(result) : undefined)\n }\n return result\n }\n logger?.debug('Result: No Node')\n return\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [node, nameOrAddressOrInstance])\n return [result, nodeError ?? error]\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { ModuleFilter, ModuleInstance } from '@xyo-network/module-model'\nimport { useState } from 'react'\n\nimport { ModuleFromNodeConfig } from './ModuleFromNodeConfig'\nimport { useModuleFilterOptions } from './useModuleFilterOptions'\nimport { useNode } from './useNode'\n\nexport const useWeakModulesFromNode = (\n filter?: ModuleFilter,\n config?: ModuleFromNodeConfig,\n): [WeakRef<ModuleInstance>[] | undefined, Error | undefined] => {\n const [node, nodeError] = useNode(config)\n const logger = config?.logger\n const filterOptions = useModuleFilterOptions()\n const [result, setResult] = useState<WeakRef<ModuleInstance>[] | undefined>()\n const [, error] = usePromise(async () => {\n logger?.debug('useModuleFromNode: resolving')\n const nodeInstance = node\n if (nodeInstance) {\n nodeInstance.on('moduleAttached', async ({ module }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n })\n nodeInstance.on('moduleDetached', async ({ module }) => {\n const nodeInstance = node\n logger?.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`)\n const moduleInstances = filter ? await nodeInstance?.resolve(filter, filterOptions) : await nodeInstance?.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n })\n const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve('*', filterOptions)\n setResult(moduleInstances?.map((module) => new WeakRef(module)))\n return moduleInstances\n }\n console.log('Result: No Node')\n return\n }, [node, filter])\n return [result, nodeError ?? error]\n}\n","import { NodeInstance } from '@xyo-network/node-model'\nimport { useMemo } from 'react'\n\nimport { WeakModuleFromNodeConfig } from './WeakModuleFromNodeConfig'\n\nexport const useWeakNodeConfigNodeField = (\n config?: WeakModuleFromNodeConfig | undefined,\n): [string | undefined, WeakRef<NodeInstance> | undefined] => {\n const nodeAddress = useMemo(() => (typeof config?.node === 'string' ? config?.node : undefined), [config?.node])\n const nodeInstance = useMemo(() => (typeof config?.node === 'object' ? config?.node : undefined), [config?.node])\n return [nodeAddress, nodeInstance]\n}\n","import { Logger } from '@xylabs/logger'\nimport { ModuleFilterOptions } from '@xyo-network/module-model'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nexport type WeakModuleFromNodeConfig = ModuleFilterOptions & {\n logger?: Logger\n node?: WeakRef<NodeInstance> | string\n}\n\nexport const useWeakModuleFromNodeConfigLogger = (config?: WeakModuleFromNodeConfig) => {\n return config?.logger\n}\n","import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { NodeDescriptionBox } from './NodeDescriptionBox'\n\nexport interface NodeBoxProps extends FlexBoxProps {\n node?: string | NodeInstance\n variant?: 'description'\n}\n\nexport const NodeBox: React.FC<NodeBoxProps> = ({ variant, ...props }) => {\n switch (variant) {\n // eslint-disable-next-line unicorn/no-useless-switch-case\n case 'description':\n default: {\n return <NodeDescriptionBox {...props} />\n }\n }\n}\n","import { Close as CloseIcon } from '@mui/icons-material'\nimport { ClickAwayListener, Drawer, DrawerProps, IconButton } from '@mui/material'\nimport { FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport type { WithChildren } from '@xylabs/react-shared'\nimport { useNodeDrawer } from '@xyo-network/react-node-provider'\n\nimport { useProvidedNode } from '../hooks'\nimport { ModuleDescriptionBox } from './render'\n\nexport interface NodeDrawerProps extends WithChildren, Omit<DrawerProps, 'open'> {}\n\nexport const NodeDrawer: React.FC<NodeDrawerProps> = ({ children, ...props }) => {\n const { open, setOpen } = useNodeDrawer()\n const [node] = useProvidedNode()\n\n return (\n <Drawer open={open ?? false} anchor=\"right\" {...props}>\n <ClickAwayListener onClickAway={() => setOpen?.(false)}>\n <FlexGrowCol role=\"presentation\" justifyContent=\"start\" p={2} rowGap={2} minWidth=\"33vw\">\n <FlexRow alignContent=\"start\" justifyContent=\"start\" width=\"100%\">\n <IconButton onClick={() => setOpen?.(false)}>\n <CloseIcon />\n </IconButton>\n </FlexRow>\n <ModuleDescriptionBox module={node} />\n {children}\n </FlexGrowCol>\n </ClickAwayListener>\n </Drawer>\n )\n}\n","import { ChevronRight as ChevronRightIcon, ExpandMore as ExpandMoreIcon } from '@mui/icons-material'\nimport { styled, Typography } from '@mui/material'\nimport { TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { useRef } from 'react'\n\nimport { RenderModule } from './RenderModule'\n\nexport interface ModuleDescriptionProps extends FlexBoxProps {\n module?: ModuleInstance | null\n}\nexport const ModuleDescriptionBox: React.FC<ModuleDescriptionProps> = ({ module }) => {\n const idRef = useRef<{ idIncrementor: number; ids: string[] }>({ idIncrementor: 0, ids: [] })\n\n return (\n <>\n {module ?\n <>\n <Typography variant=\"h4\">Node Configuration</Typography>\n <StyledTreeView\n aria-label=\"file system navigator\"\n defaultCollapseIcon={<ExpandMoreIcon />}\n defaultExpandIcon={<ChevronRightIcon />}\n sx={{ flexGrow: 1 }}\n >\n <RenderModule module={module} idRef={idRef} />\n </StyledTreeView>\n </>\n : module === null ?\n <Typography variant=\"h4\">Node loading...</Typography>\n : <Typography variant=\"h4\">Node not found</Typography>}\n </>\n )\n}\n\nconst StyledTreeView = styled(TreeView, { name: 'StyledTreeView' })(() => ({\n height: 'auto',\n maxWidth: 'auto',\n}))\n","import { styled } from '@mui/material'\nimport { TreeItem } from '@mui/x-tree-view'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { ModuleInstance } from '@xyo-network/module-model'\nimport { MutableRefObject, useState } from 'react'\n\ninterface RenderModuleProps {\n idRef: MutableRefObject<{\n idIncrementor: number\n ids: string[]\n }>\n module: ModuleInstance\n}\n\nexport const RenderModule: React.FC<RenderModuleProps> = ({ module, idRef }) => {\n const { address, queries } = module ?? {}\n const [childModules, setChildModules] = useState<WeakRef<ModuleInstance>[]>()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const children = (await module.resolve('*')).filter((childModule) => childModule.address !== address)\n if (mounted()) {\n setChildModules(children.map((childModule) => new WeakRef(childModule)))\n }\n },\n [module, address],\n )\n\n const increment = () => {\n const newId = (idRef.current.idIncrementor++).toString()\n idRef.current.ids.push(newId)\n return newId\n }\n\n return (\n <StyledAddressTreeItem nodeId={increment()} label={`address: ${address}`}>\n {queries.map((query, index) => {\n return <TreeItem key={query} nodeId={increment()} label={`query : ${query}`} sx={{ mb: index === queries.length - 1 ? 1.5 : 0.5 }} />\n })}\n {childModules && childModules.length > 0 ?\n <TreeItem nodeId={increment()} label={'children'} sx={{ mb: 0.5 }}>\n {childModules.map((childModuleRef) => {\n const childModule = childModuleRef.deref()\n return childModule ? <RenderModule key={childModule?.address} module={childModule} idRef={idRef} /> : null\n })}\n </TreeItem>\n : null}\n </StyledAddressTreeItem>\n )\n}\n\nconst StyledAddressTreeItem = styled(TreeItem, { name: 'StyledAddressTreeItem' })(({ theme }) => ({\n '& .MuiTreeItem-content': {\n marginBottom: theme.spacing(0.25),\n },\n}))\n"],"mappings":"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","names":["import_react_promise","import_react","import_react","module","result","import_react_promise","import_react","module","moduleInstances","import_react_promise","import_module_model","import_node_model","module","error","import_react_promise","import_module_model","import_react","module","result","import_react_promise","import_react","module","nodeInstance","moduleInstances","import_react","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_material","import_x_tree_view","import_react","import_react","import_jsx_runtime","module","import_jsx_runtime","module","ExpandMoreIcon","ChevronRightIcon","import_jsx_runtime","CloseIcon"]}
|
package/dist/node/index.js
CHANGED
|
@@ -110,7 +110,6 @@ var useModulesFromNode = (filter, config) => {
|
|
|
110
110
|
});
|
|
111
111
|
const moduleInstances = filter ? await node.resolve(filter, filterOptions) : await node.resolve("*", filterOptions);
|
|
112
112
|
setResult(moduleInstances);
|
|
113
|
-
setResult(moduleInstances);
|
|
114
113
|
return moduleInstances;
|
|
115
114
|
}
|
|
116
115
|
console.log("Result: No Node");
|
|
@@ -146,6 +145,96 @@ var useNodeFromNode = (nameOrAddressOrInstance, config) => {
|
|
|
146
145
|
return [instance, error];
|
|
147
146
|
};
|
|
148
147
|
|
|
148
|
+
// src/hooks/useWeakModuleFromNode.ts
|
|
149
|
+
import { usePromise as usePromise5 } from "@xylabs/react-promise";
|
|
150
|
+
import { asModuleInstance as asModuleInstance2, isModuleInstance as isModuleInstance2 } from "@xyo-network/module-model";
|
|
151
|
+
import { useState as useState3 } from "react";
|
|
152
|
+
var useWeakModuleFromNode = (nameOrAddressOrInstance, config) => {
|
|
153
|
+
const [node, nodeError] = useNode(config);
|
|
154
|
+
const logger = useModuleFromNodeConfigLogger(config);
|
|
155
|
+
const filterOptions = useModuleFilterOptions(config);
|
|
156
|
+
const [result, setResult] = useState3();
|
|
157
|
+
const [, error] = usePromise5(async () => {
|
|
158
|
+
logger == null ? void 0 : logger.debug("useModuleFromNode: resolving");
|
|
159
|
+
const nodeInstance = node;
|
|
160
|
+
if (nodeInstance && nameOrAddressOrInstance) {
|
|
161
|
+
nodeInstance.on("moduleAttached", ({ module }) => {
|
|
162
|
+
var _a;
|
|
163
|
+
logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`);
|
|
164
|
+
if (module.address === nameOrAddressOrInstance || ((_a = module.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
|
|
165
|
+
const instance = asModuleInstance2(module);
|
|
166
|
+
setResult(instance ? new WeakRef(instance) : void 0);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
nodeInstance.on("moduleDetached", ({ module }) => {
|
|
170
|
+
var _a;
|
|
171
|
+
logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`);
|
|
172
|
+
if (module.address === nameOrAddressOrInstance || ((_a = module.config) == null ? void 0 : _a.name) === nameOrAddressOrInstance) {
|
|
173
|
+
setResult(void 0);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
if (isModuleInstance2(nameOrAddressOrInstance)) {
|
|
177
|
+
setResult(new WeakRef(nameOrAddressOrInstance));
|
|
178
|
+
} else {
|
|
179
|
+
const result2 = await nodeInstance.resolve(nameOrAddressOrInstance, filterOptions);
|
|
180
|
+
logger == null ? void 0 : logger.debug(`Result: ${result2 == null ? void 0 : result2.address}`);
|
|
181
|
+
setResult(result2 ? new WeakRef(result2) : void 0);
|
|
182
|
+
}
|
|
183
|
+
return result;
|
|
184
|
+
}
|
|
185
|
+
logger == null ? void 0 : logger.debug("Result: No Node");
|
|
186
|
+
return;
|
|
187
|
+
}, [node, nameOrAddressOrInstance]);
|
|
188
|
+
return [result, nodeError ?? error];
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
// src/hooks/useWeakModulesFromNode.ts
|
|
192
|
+
import { usePromise as usePromise6 } from "@xylabs/react-promise";
|
|
193
|
+
import { useState as useState4 } from "react";
|
|
194
|
+
var useWeakModulesFromNode = (filter, config) => {
|
|
195
|
+
const [node, nodeError] = useNode(config);
|
|
196
|
+
const logger = config == null ? void 0 : config.logger;
|
|
197
|
+
const filterOptions = useModuleFilterOptions();
|
|
198
|
+
const [result, setResult] = useState4();
|
|
199
|
+
const [, error] = usePromise6(async () => {
|
|
200
|
+
logger == null ? void 0 : logger.debug("useModuleFromNode: resolving");
|
|
201
|
+
const nodeInstance = node;
|
|
202
|
+
if (nodeInstance) {
|
|
203
|
+
nodeInstance.on("moduleAttached", async ({ module }) => {
|
|
204
|
+
const nodeInstance2 = node;
|
|
205
|
+
logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${module.config.name ?? module.address}]`);
|
|
206
|
+
const moduleInstances2 = filter ? await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve(filter, filterOptions)) : await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve("*", filterOptions));
|
|
207
|
+
setResult(moduleInstances2 == null ? void 0 : moduleInstances2.map((module2) => new WeakRef(module2)));
|
|
208
|
+
});
|
|
209
|
+
nodeInstance.on("moduleDetached", async ({ module }) => {
|
|
210
|
+
const nodeInstance2 = node;
|
|
211
|
+
logger == null ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${module.config.name ?? module.address}]`);
|
|
212
|
+
const moduleInstances2 = filter ? await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve(filter, filterOptions)) : await (nodeInstance2 == null ? void 0 : nodeInstance2.resolve("*", filterOptions));
|
|
213
|
+
setResult(moduleInstances2 == null ? void 0 : moduleInstances2.map((module2) => new WeakRef(module2)));
|
|
214
|
+
});
|
|
215
|
+
const moduleInstances = filter ? await nodeInstance.resolve(filter, filterOptions) : await nodeInstance.resolve("*", filterOptions);
|
|
216
|
+
setResult(moduleInstances == null ? void 0 : moduleInstances.map((module) => new WeakRef(module)));
|
|
217
|
+
return moduleInstances;
|
|
218
|
+
}
|
|
219
|
+
console.log("Result: No Node");
|
|
220
|
+
return;
|
|
221
|
+
}, [node, filter]);
|
|
222
|
+
return [result, nodeError ?? error];
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
// src/hooks/useWeakNodeConfigNodeField.ts
|
|
226
|
+
import { useMemo as useMemo2 } from "react";
|
|
227
|
+
var useWeakNodeConfigNodeField = (config) => {
|
|
228
|
+
const nodeAddress = useMemo2(() => typeof (config == null ? void 0 : config.node) === "string" ? config == null ? void 0 : config.node : void 0, [config == null ? void 0 : config.node]);
|
|
229
|
+
const nodeInstance = useMemo2(() => typeof (config == null ? void 0 : config.node) === "object" ? config == null ? void 0 : config.node : void 0, [config == null ? void 0 : config.node]);
|
|
230
|
+
return [nodeAddress, nodeInstance];
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
// src/hooks/WeakModuleFromNodeConfig.ts
|
|
234
|
+
var useWeakModuleFromNodeConfigLogger = (config) => {
|
|
235
|
+
return config == null ? void 0 : config.logger;
|
|
236
|
+
};
|
|
237
|
+
|
|
149
238
|
// src/components/NodeDescriptionBox.tsx
|
|
150
239
|
import { jsx } from "react/jsx-runtime";
|
|
151
240
|
var NodeDescriptionBox = ({ node, ...props }) => {
|
|
@@ -180,17 +269,17 @@ import { useRef } from "react";
|
|
|
180
269
|
import { styled } from "@mui/material";
|
|
181
270
|
import { TreeItem } from "@mui/x-tree-view";
|
|
182
271
|
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
183
|
-
import { useState as
|
|
272
|
+
import { useState as useState5 } from "react";
|
|
184
273
|
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
185
274
|
var RenderModule = ({ module, idRef }) => {
|
|
186
275
|
const { address, queries } = module ?? {};
|
|
187
|
-
const [childModules, setChildModules] =
|
|
276
|
+
const [childModules, setChildModules] = useState5();
|
|
188
277
|
useAsyncEffect(
|
|
189
278
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
190
279
|
async (mounted) => {
|
|
191
280
|
const children = (await module.resolve("*")).filter((childModule) => childModule.address !== address);
|
|
192
281
|
if (mounted()) {
|
|
193
|
-
setChildModules(children);
|
|
282
|
+
setChildModules(children.map((childModule) => new WeakRef(childModule)));
|
|
194
283
|
}
|
|
195
284
|
},
|
|
196
285
|
[module, address]
|
|
@@ -204,7 +293,10 @@ var RenderModule = ({ module, idRef }) => {
|
|
|
204
293
|
queries.map((query, index) => {
|
|
205
294
|
return /* @__PURE__ */ jsx3(TreeItem, { nodeId: increment(), label: `query : ${query}`, sx: { mb: index === queries.length - 1 ? 1.5 : 0.5 } }, query);
|
|
206
295
|
}),
|
|
207
|
-
childModules && childModules.length > 0 ? /* @__PURE__ */ jsx3(TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((
|
|
296
|
+
childModules && childModules.length > 0 ? /* @__PURE__ */ jsx3(TreeItem, { nodeId: increment(), label: "children", sx: { mb: 0.5 }, children: childModules.map((childModuleRef) => {
|
|
297
|
+
const childModule = childModuleRef.deref();
|
|
298
|
+
return childModule ? /* @__PURE__ */ jsx3(RenderModule, { module: childModule, idRef }, childModule == null ? void 0 : childModule.address) : null;
|
|
299
|
+
}) }) : null
|
|
208
300
|
] });
|
|
209
301
|
};
|
|
210
302
|
var StyledAddressTreeItem = styled(TreeItem, { name: "StyledAddressTreeItem" })(({ theme }) => ({
|
|
@@ -262,6 +354,10 @@ export {
|
|
|
262
354
|
useNodeConfigNodeField,
|
|
263
355
|
useNodeDescription,
|
|
264
356
|
useNodeFromNode,
|
|
265
|
-
useProvidedNode
|
|
357
|
+
useProvidedNode,
|
|
358
|
+
useWeakModuleFromNode,
|
|
359
|
+
useWeakModuleFromNodeConfigLogger,
|
|
360
|
+
useWeakModulesFromNode,
|
|
361
|
+
useWeakNodeConfigNodeField
|
|
266
362
|
};
|
|
267
363
|
//# sourceMappingURL=index.js.map
|