@xyo-network/react-node-renderer 2.56.10 → 2.56.12

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,14 +1,6 @@
1
- import { ModuleWrapper } from '@xyo-network/module';
2
- import { NodeWrapper } from '@xyo-network/node';
3
1
  import { parseModuleType } from './lib';
4
2
  export class CytoscapeElements {
5
3
  static MaxNameLength = 20;
6
- static async buildChild(node, address) {
7
- const [result] = await node.downResolver.resolve({ address: [address] });
8
- const wrapper = ModuleWrapper.wrap(result);
9
- const description = await wrapper.describe();
10
- return CytoscapeElements.buildNode(description);
11
- }
12
4
  static buildEdge(rootNode, newNode) {
13
5
  return {
14
6
  data: {
@@ -20,12 +12,12 @@ export class CytoscapeElements {
20
12
  }
21
13
  static async buildElements(node) {
22
14
  try {
23
- const [description, newRootNode] = await CytoscapeElements.buildRootNode(node);
15
+ const [, newRootNode] = await CytoscapeElements.buildRootNode(node);
24
16
  const newElements = [newRootNode];
25
- const children = description.children;
26
- await Promise.allSettled((children ?? [])?.map(async (address) => {
17
+ const children = await Promise.all((await node.downResolver.resolve()).map(async (child) => [await child.manifest(), child.address]));
18
+ await Promise.allSettled((children ?? [])?.map(async ([child, address]) => {
27
19
  try {
28
- const newNode = await CytoscapeElements.buildChild(node, address);
20
+ const newNode = await CytoscapeElements.buildNode(child, address);
29
21
  newElements.push(newNode);
30
22
  const newEdge = CytoscapeElements.buildEdge(newRootNode, newNode);
31
23
  newElements.push(newEdge);
@@ -40,20 +32,19 @@ export class CytoscapeElements {
40
32
  console.error('Error Getting initial description', e);
41
33
  }
42
34
  }
43
- static buildNode(description) {
44
- const newNodeId = CytoscapeElements.normalizeName(description.name) ?? description.address.substring(0, 8);
35
+ static buildNode(manifest, address) {
36
+ const newNodeId = CytoscapeElements.normalizeName(manifest.config.name) ?? address.substring(0, 8);
45
37
  return {
46
38
  data: {
47
- address: description.address,
39
+ address,
48
40
  id: newNodeId,
49
- type: parseModuleType(description.queries),
41
+ type: parseModuleType(manifest.config.schema),
50
42
  },
51
43
  };
52
44
  }
53
45
  static buildRootNode = async (node) => {
54
- const nodeWrapper = NodeWrapper.wrap(node);
55
- const description = await nodeWrapper?.describe();
56
- return [description, CytoscapeElements.buildNode(description)];
46
+ const manifest = await node?.manifest();
47
+ return [manifest, CytoscapeElements.buildNode(manifest, node.address)];
57
48
  };
58
49
  static normalizeName(name) {
59
50
  if (!name)
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeElements.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CytoscapeElements.js","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,28 @@
1
- export const parseModuleType = (queries) => {
1
+ export const parseModuleType = (schema) => {
2
2
  let type = 'module';
3
- if (queries) {
4
- for (let i = 0; i < queries.length; i++) {
5
- if (queries[i].includes('archivist')) {
6
- type = 'archivist';
7
- break;
8
- }
9
- if (queries[i].includes('bridge')) {
10
- type = 'bridge';
11
- break;
12
- }
13
- if (queries[i].includes('diviner')) {
14
- type = 'diviner';
15
- break;
16
- }
17
- if (queries[i].includes('node')) {
18
- type = 'node';
19
- break;
20
- }
21
- if (queries[i].includes('sentinel')) {
22
- type = 'sentinel';
23
- break;
24
- }
25
- if (queries[i].includes('witness')) {
26
- type = 'witness';
27
- break;
28
- }
3
+ if (schema) {
4
+ if (schema.includes('archivist')) {
5
+ type = 'archivist';
6
+ }
7
+ else if (schema.includes('bridge')) {
8
+ type = 'bridge';
9
+ }
10
+ else if (schema.includes('diviner')) {
11
+ type = 'diviner';
12
+ }
13
+ else if (schema.includes('node')) {
14
+ type = 'node';
15
+ }
16
+ else if (schema.includes('sentinel')) {
17
+ type = 'sentinel';
18
+ }
19
+ else if (schema.includes('witness')) {
20
+ type = 'witness';
21
+ }
22
+ else {
29
23
  type = 'module';
30
24
  }
31
- return type;
32
25
  }
33
- return 'module';
26
+ return type;
34
27
  };
35
28
  //# sourceMappingURL=parseModuleType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseModuleType.js","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/parseModuleType.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAkB,EAAqB,EAAE;IACvE,IAAI,IAAI,GAAsB,QAAQ,CAAA;IACtC,IAAI,OAAO,EAAE;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACpC,IAAI,GAAG,WAAW,CAAA;gBAClB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACjC,IAAI,GAAG,QAAQ,CAAA;gBACf,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,GAAG,SAAS,CAAA;gBAChB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC/B,IAAI,GAAG,MAAM,CAAA;gBACb,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,GAAG,UAAU,CAAA;gBACjB,MAAK;aACN;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,GAAG,SAAS,CAAA;gBAChB,MAAK;aACN;YACD,IAAI,GAAG,QAAQ,CAAA;SAChB;QACD,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"file":"parseModuleType.js","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/parseModuleType.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAe,EAAqB,EAAE;IACpE,IAAI,IAAI,GAAsB,QAAQ,CAAA;IACtC,IAAI,MAAM,EAAE;QACV,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAChC,IAAI,GAAG,WAAW,CAAA;SACnB;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACpC,IAAI,GAAG,QAAQ,CAAA;SAChB;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACrC,IAAI,GAAG,SAAS,CAAA;SACjB;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAClC,IAAI,GAAG,MAAM,CAAA;SACd;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,GAAG,UAAU,CAAA;SAClB;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACrC,IAAI,GAAG,SAAS,CAAA;SACjB;aAAM;YACL,IAAI,GAAG,QAAQ,CAAA;SAChB;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -1,9 +1,8 @@
1
- import { ModuleDescription } from '@xyo-network/module';
1
+ import { ModuleManifest } from '@xyo-network/manifest-model';
2
2
  import { NodeModule } from '@xyo-network/node';
3
3
  import { ElementDefinition } from 'cytoscape';
4
4
  export declare class CytoscapeElements {
5
5
  static MaxNameLength: number;
6
- static buildChild(node: NodeModule, address: string): Promise<ElementDefinition>;
7
6
  static buildEdge(rootNode: ElementDefinition, newNode: ElementDefinition): {
8
7
  data: {
9
8
  id: string;
@@ -12,8 +11,8 @@ export declare class CytoscapeElements {
12
11
  };
13
12
  };
14
13
  static buildElements(node: NodeModule): Promise<ElementDefinition[] | undefined>;
15
- static buildNode(description: ModuleDescription): ElementDefinition;
16
- static buildRootNode: (node: NodeModule) => Promise<[ModuleDescription, ElementDefinition]>;
14
+ static buildNode(manifest: ModuleManifest, address: string): ElementDefinition;
15
+ static buildRootNode: (node: NodeModule) => Promise<[ModuleManifest, ElementDefinition]>;
17
16
  static normalizeName(name?: string): string | undefined;
18
17
  }
19
18
  //# sourceMappingURL=CytoscapeElements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CytoscapeElements.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,aAAa,SAAK;WAEZ,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAOzD,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;;;;;;;WAU3D,aAAa,CAAC,IAAI,EAAE,UAAU;IAyB3C,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,iBAAiB,GAAG,iBAAiB;IAWnE,MAAM,CAAC,aAAa,SAAgB,UAAU,KAAG,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAI/F;IAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM;CAKnC"}
1
+ {"version":3,"file":"CytoscapeElements.d.ts","sourceRoot":"","sources":["../../../src/Cytoscape/CytoscapeElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAI7C,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,aAAa,SAAK;IAEzB,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;;;;;;;WAU3D,aAAa,CAAC,IAAI,EAAE,UAAU;IA2B3C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB;IAW9E,MAAM,CAAC,aAAa,SAAgB,UAAU,KAAG,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAG5F;IAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM;CAKnC"}
@@ -1,3 +1,3 @@
1
1
  import { CyNodeModuleTypes } from './CyNodeModuleTypes';
2
- export declare const parseModuleType: (queries?: string[]) => CyNodeModuleTypes;
2
+ export declare const parseModuleType: (schema?: string) => CyNodeModuleTypes;
3
3
  //# sourceMappingURL=parseModuleType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseModuleType.d.ts","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/parseModuleType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,eAAO,MAAM,eAAe,aAAc,MAAM,EAAE,KAAG,iBAiCpD,CAAA"}
1
+ {"version":3,"file":"parseModuleType.d.ts","sourceRoot":"","sources":["../../../../src/Cytoscape/lib/parseModuleType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,iBAoBjD,CAAA"}
package/package.json CHANGED
@@ -13,14 +13,15 @@
13
13
  "@xylabs/react-async-effect": "^2.17.6",
14
14
  "@xylabs/react-flexbox": "^2.17.6",
15
15
  "@xylabs/react-shared": "^2.17.6",
16
- "@xyo-network/archivist-model": "^2.64.3",
17
- "@xyo-network/diviner-model": "^2.64.3",
18
- "@xyo-network/module": "^2.64.3",
19
- "@xyo-network/node": "^2.64.3",
20
- "@xyo-network/react-archivist": "^2.56.10",
21
- "@xyo-network/react-module": "^2.56.10",
22
- "@xyo-network/react-node": "^2.56.10",
23
- "@xyo-network/react-shared": "^2.56.10",
16
+ "@xyo-network/archivist-model": "^2.64.7",
17
+ "@xyo-network/diviner-model": "^2.64.7",
18
+ "@xyo-network/manifest-model": "^2.64.7",
19
+ "@xyo-network/module": "^2.64.7",
20
+ "@xyo-network/node": "^2.64.7",
21
+ "@xyo-network/react-archivist": "^2.56.12",
22
+ "@xyo-network/react-module": "^2.56.12",
23
+ "@xyo-network/react-node": "^2.56.12",
24
+ "@xyo-network/react-shared": "^2.56.12",
24
25
  "cytoscape": "^3.25.0"
25
26
  },
26
27
  "peerDependencies": {
@@ -33,20 +34,20 @@
33
34
  "react-router-dom": "^6"
34
35
  },
35
36
  "devDependencies": {
36
- "@storybook/react": "^7.0.25",
37
+ "@storybook/react": "^7.0.26",
37
38
  "@types/cytoscape": "^3.19.10",
38
39
  "@types/react-dom": "^18.2.6",
39
40
  "@xylabs/ts-scripts-yarn3": "^2.18.7",
40
41
  "@xylabs/tsconfig-react": "^2.18.7",
41
- "@xyo-network/archivist": "^2.64.3",
42
- "@xyo-network/bridge": "^2.64.3",
43
- "@xyo-network/id-plugin": "^2.64.3",
44
- "@xyo-network/module": "^2.64.3",
45
- "@xyo-network/node": "^2.64.3",
46
- "@xyo-network/react-node": "^2.56.10",
47
- "@xyo-network/react-storybook": "^2.56.10",
48
- "@xyo-network/react-wallet": "^2.56.10",
49
- "@xyo-network/sentinel": "^2.64.3",
42
+ "@xyo-network/archivist": "^2.64.7",
43
+ "@xyo-network/bridge": "^2.64.7",
44
+ "@xyo-network/id-plugin": "^2.64.7",
45
+ "@xyo-network/module": "^2.64.7",
46
+ "@xyo-network/node": "^2.64.7",
47
+ "@xyo-network/react-node": "^2.56.12",
48
+ "@xyo-network/react-storybook": "^2.56.12",
49
+ "@xyo-network/react-wallet": "^2.56.12",
50
+ "@xyo-network/sentinel": "^2.64.7",
50
51
  "typescript": "^5.1.6"
51
52
  },
52
53
  "description": "Common React library for all XYO projects that use React",
@@ -92,5 +93,5 @@
92
93
  },
93
94
  "sideEffects": false,
94
95
  "types": "dist/types/index.d.ts",
95
- "version": "2.56.10"
96
+ "version": "2.56.12"
96
97
  }
@@ -1,5 +1,5 @@
1
- import { ModuleDescription, ModuleWrapper } from '@xyo-network/module'
2
- import { NodeModule, NodeWrapper } from '@xyo-network/node'
1
+ import { ModuleManifest } from '@xyo-network/manifest-model'
2
+ import { NodeModule } from '@xyo-network/node'
3
3
  import { ElementDefinition } from 'cytoscape'
4
4
 
5
5
  import { parseModuleType } from './lib'
@@ -7,13 +7,6 @@ import { parseModuleType } from './lib'
7
7
  export class CytoscapeElements {
8
8
  static MaxNameLength = 20
9
9
 
10
- static async buildChild(node: NodeModule, address: string) {
11
- const [result] = await node.downResolver.resolve({ address: [address] })
12
- const wrapper = ModuleWrapper.wrap(result)
13
- const description = await wrapper.describe()
14
- return CytoscapeElements.buildNode(description)
15
- }
16
-
17
10
  static buildEdge(rootNode: ElementDefinition, newNode: ElementDefinition) {
18
11
  return {
19
12
  data: {
@@ -26,14 +19,16 @@ export class CytoscapeElements {
26
19
 
27
20
  static async buildElements(node: NodeModule) {
28
21
  try {
29
- const [description, newRootNode] = await CytoscapeElements.buildRootNode(node)
22
+ const [, newRootNode] = await CytoscapeElements.buildRootNode(node)
30
23
  const newElements: ElementDefinition[] = [newRootNode]
31
24
 
32
- const children = description.children
25
+ const children = await Promise.all(
26
+ (await node.downResolver.resolve()).map<Promise<[ModuleManifest, string]>>(async (child) => [await child.manifest(), child.address]),
27
+ )
33
28
  await Promise.allSettled(
34
- (children ?? [])?.map(async (address) => {
29
+ (children ?? [])?.map(async ([child, address]) => {
35
30
  try {
36
- const newNode = await CytoscapeElements.buildChild(node, address)
31
+ const newNode = await CytoscapeElements.buildNode(child, address)
37
32
  newElements.push(newNode)
38
33
 
39
34
  const newEdge = CytoscapeElements.buildEdge(newRootNode, newNode)
@@ -49,21 +44,20 @@ export class CytoscapeElements {
49
44
  }
50
45
  }
51
46
 
52
- static buildNode(description: ModuleDescription): ElementDefinition {
53
- const newNodeId = CytoscapeElements.normalizeName(description.name) ?? description.address.substring(0, 8)
47
+ static buildNode(manifest: ModuleManifest, address: string): ElementDefinition {
48
+ const newNodeId = CytoscapeElements.normalizeName(manifest.config.name) ?? address.substring(0, 8)
54
49
  return {
55
50
  data: {
56
- address: description.address,
51
+ address,
57
52
  id: newNodeId,
58
- type: parseModuleType(description.queries),
53
+ type: parseModuleType(manifest.config.schema),
59
54
  },
60
55
  }
61
56
  }
62
57
 
63
- static buildRootNode = async (node: NodeModule): Promise<[ModuleDescription, ElementDefinition]> => {
64
- const nodeWrapper = NodeWrapper.wrap(node)
65
- const description = await nodeWrapper?.describe()
66
- return [description, CytoscapeElements.buildNode(description)]
58
+ static buildRootNode = async (node: NodeModule): Promise<[ModuleManifest, ElementDefinition]> => {
59
+ const manifest = await node?.manifest()
60
+ return [manifest, CytoscapeElements.buildNode(manifest, node.address)]
67
61
  }
68
62
 
69
63
  static normalizeName(name?: string) {
@@ -1,36 +1,23 @@
1
1
  import { CyNodeModuleTypes } from './CyNodeModuleTypes'
2
2
 
3
- export const parseModuleType = (queries?: string[]): CyNodeModuleTypes => {
3
+ export const parseModuleType = (schema?: string): CyNodeModuleTypes => {
4
4
  let type: CyNodeModuleTypes = 'module'
5
- if (queries) {
6
- for (let i = 0; i < queries.length; i++) {
7
- if (queries[i].includes('archivist')) {
8
- type = 'archivist'
9
- break
10
- }
11
- if (queries[i].includes('bridge')) {
12
- type = 'bridge'
13
- break
14
- }
15
- if (queries[i].includes('diviner')) {
16
- type = 'diviner'
17
- break
18
- }
19
- if (queries[i].includes('node')) {
20
- type = 'node'
21
- break
22
- }
23
- if (queries[i].includes('sentinel')) {
24
- type = 'sentinel'
25
- break
26
- }
27
- if (queries[i].includes('witness')) {
28
- type = 'witness'
29
- break
30
- }
5
+ if (schema) {
6
+ if (schema.includes('archivist')) {
7
+ type = 'archivist'
8
+ } else if (schema.includes('bridge')) {
9
+ type = 'bridge'
10
+ } else if (schema.includes('diviner')) {
11
+ type = 'diviner'
12
+ } else if (schema.includes('node')) {
13
+ type = 'node'
14
+ } else if (schema.includes('sentinel')) {
15
+ type = 'sentinel'
16
+ } else if (schema.includes('witness')) {
17
+ type = 'witness'
18
+ } else {
31
19
  type = 'module'
32
20
  }
33
- return type
34
21
  }
35
- return 'module'
22
+ return type
36
23
  }