@xyo-network/react-node 2.57.3 → 2.57.5

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.
@@ -20,6 +20,7 @@ const useModuleFromNode = (nameOrAddress, config) => {
20
20
  if (node) {
21
21
  const attachHandler = (args) => {
22
22
  const eventModule = args.module;
23
+ console.log('attachHandler: ', eventModule.address);
23
24
  if (nameOrAddress && ((eventModule === null || eventModule === void 0 ? void 0 : eventModule.address) === nameOrAddress || (eventModule === null || eventModule === void 0 ? void 0 : eventModule.config.name) === nameOrAddress)) {
24
25
  logger === null || logger === void 0 ? void 0 : logger.debug(`attachHandler-setting [${nameOrAddress}]`);
25
26
  if (eventModule) {
@@ -28,8 +29,10 @@ const useModuleFromNode = (nameOrAddress, config) => {
28
29
  setError(undefined);
29
30
  }
30
31
  else {
31
- setModule(null);
32
- setError(Error('Attached module failed identity check'));
32
+ const error = Error(`Attached module failed identity check [${eventModule.config.name}:${eventModule.address}]`);
33
+ console.error(error.message);
34
+ setModule(undefined);
35
+ setError(error);
33
36
  }
34
37
  }
35
38
  else {
@@ -40,24 +43,27 @@ const useModuleFromNode = (nameOrAddress, config) => {
40
43
  };
41
44
  const detachHandler = (args) => {
42
45
  const eventModule = args.module;
46
+ console.log('detachHandler: ', eventModule.address);
43
47
  if (eventModule.address === address) {
44
48
  logger === null || logger === void 0 ? void 0 : logger.debug(`detachHandler-clearing [${address}]`);
45
- setModule(null);
49
+ setModule(undefined);
46
50
  setError(undefined);
47
51
  }
48
52
  };
49
53
  const module = nameOrAddress ? yield node.resolve(nameOrAddress, resolverConfig) : undefined;
50
54
  if (mounted()) {
55
+ const instance = (0, module_model_1.asModuleInstance)(module);
51
56
  if (module) {
52
- if (!(0, module_model_1.isModuleInstance)(module)) {
53
- setModule(null);
54
- setError(Error('Resolved module failed identity check'));
57
+ if (!instance) {
58
+ const error = Error(`Attached module failed identity check [${module.config.name}:${module.address}]`);
59
+ setModule(undefined);
60
+ setError(error);
55
61
  }
56
62
  else {
57
63
  eventUnsubscribe.push(node.on('moduleAttached', attachHandler));
58
64
  eventUnsubscribe.push(node.on('moduleDetached', detachHandler));
59
65
  logger === null || logger === void 0 ? void 0 : logger.debug(`resolved [${nameOrAddress}]`);
60
- setModule(module !== null && module !== void 0 ? module : null);
66
+ setModule(instance !== null && instance !== void 0 ? instance : null);
61
67
  setError(undefined);
62
68
  }
63
69
  }
@@ -69,7 +75,7 @@ const useModuleFromNode = (nameOrAddress, config) => {
69
75
  }
70
76
  else {
71
77
  if (mounted()) {
72
- setModule(node);
78
+ setModule(node ? node : undefined);
73
79
  setError(undefined);
74
80
  }
75
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useModuleFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModuleFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.tsx"],"names":[],"mappings":";;;;AAAA,mEAA2D;AAG3D,4DAAmH;AAEnH,iCAAyC;AAEzC,yCAA4C;AAMrC,MAAM,iBAAiB,GAAG,CAAC,aAAsB,EAAE,MAA6B,EAAmD,EAAE;IAC1I,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,0BAAe,GAAE,CAAA;IAChC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAkB,CAAA;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAA;IAE3C,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAExD,IAAA,mCAAc;IACZ,uDAAuD;IACvD,CAAO,OAAO,EAAE,EAAE;QAChB,MAAM,KAAgC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,EAA5C,EAAE,MAAM,OAAoC,EAA/B,cAAc,sBAA3B,UAA6B,CAAe,CAAA;QAClD,MAAM,gBAAgB,GAA+B,EAAE,CAAA;QACvD,IAAI;YACF,IAAI,IAAI,EAAE;gBACR,MAAM,aAAa,GAAG,CAAC,IAA6B,EAAE,EAAE;oBACtD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAA;oBAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;oBACnD,IAAI,aAAa,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,MAAK,aAAa,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC,IAAI,MAAK,aAAa,CAAC,EAAE;wBAC3G,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,0BAA0B,aAAa,GAAG,CAAC,CAAA;wBACzD,IAAI,WAAW,EAAE;4BACf,IAAI,IAAA,+BAAgB,EAAC,WAAW,CAAC,EAAE;gCACjC,SAAS,CAAC,WAAW,CAAC,CAAA;gCACtB,QAAQ,CAAC,SAAS,CAAC,CAAA;6BACpB;iCAAM;gCACL,MAAM,KAAK,GAAG,KAAK,CAAC,0CAA0C,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,GAAG,CAAC,CAAA;gCAChH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gCAC5B,SAAS,CAAC,SAAS,CAAC,CAAA;gCACpB,QAAQ,CAAC,KAAK,CAAC,CAAA;6BAChB;yBACF;6BAAM;4BACL,SAAS,CAAC,SAAS,CAAC,CAAA;4BACpB,QAAQ,CAAC,SAAS,CAAC,CAAA;yBACpB;qBACF;gBACH,CAAC,CAAA;gBACD,MAAM,aAAa,GAAG,CAAC,IAA6B,EAAE,EAAE;oBACtD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAA;oBAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;oBACnD,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,EAAE;wBACnC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,2BAA2B,OAAO,GAAG,CAAC,CAAA;wBACpD,SAAS,CAAC,SAAS,CAAC,CAAA;wBACpB,QAAQ,CAAC,SAAS,CAAC,CAAA;qBACpB;gBACH,CAAC,CAAA;gBACD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC5F,IAAI,OAAO,EAAE,EAAE;oBACb,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAA;oBACzC,IAAI,MAAM,EAAE;wBACV,IAAI,CAAC,QAAQ,EAAE;4BACb,MAAM,KAAK,GAAG,KAAK,CAAC,0CAA0C,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;4BACtG,SAAS,CAAC,SAAS,CAAC,CAAA;4BACpB,QAAQ,CAAC,KAAK,CAAC,CAAA;yBAChB;6BAAM;4BACL,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAA;4BAC/D,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAA;4BAC/D,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,aAAa,aAAa,GAAG,CAAC,CAAA;4BAC5C,SAAS,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,CAAC,CAAA;4BAC3B,QAAQ,CAAC,SAAS,CAAC,CAAA;yBACpB;qBACF;yBAAM;wBACL,SAAS,CAAC,SAAS,CAAC,CAAA;wBACpB,QAAQ,CAAC,SAAS,CAAC,CAAA;qBACpB;iBACF;aACF;iBAAM;gBACL,IAAI,OAAO,EAAE,EAAE;oBACb,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;oBAClC,QAAQ,CAAC,SAAS,CAAC,CAAA;iBACpB;aACF;YACD,OAAO,GAAG,EAAE;gBACV,qCAAqC;gBACrC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;YAC5C,CAAC,CAAA;SACF;QAAC,OAAO,EAAE,EAAE;YACX,IAAI,OAAO,EAAE,EAAE;gBACb,MAAM,KAAK,GAAG,EAAW,CAAA;gBACzB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACf,SAAS,CAAC,SAAS,CAAC,CAAA;aACrB;SACF;IACH,CAAC,CAAA,EACD,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CACvC,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AAvFY,QAAA,iBAAiB,qBAuF7B"}
@@ -7,7 +7,9 @@ const useNodeFromNode = (nameOrAddress, config) => {
7
7
  const [module, error] = (0, useModuleFromNode_1.useModuleFromNode)(nameOrAddress, config);
8
8
  const instance = (0, node_model_1.asNodeInstance)(module);
9
9
  if (module && !instance) {
10
- return [null, Error('Resolved mode is not a NodeInstance')];
10
+ const error = Error(`Resolved module is not a NodeInstance [${module.config.name}:${module.address}]`);
11
+ console.error(error.message);
12
+ return [undefined, error];
11
13
  }
12
14
  return [instance, error];
13
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useNodeFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useNodeFromNode.tsx"],"names":[],"mappings":";;;AAAA,wDAAsE;AAEtE,2DAA6E;AAEtE,MAAM,eAAe,GAAG,CAAC,aAAsB,EAAE,MAA6B,EAAwD,EAAE;IAC7I,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAA,qCAAiB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAG,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAA;IACvC,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE;QACvB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAA;KAC5D;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC,CAAA;AAPY,QAAA,eAAe,mBAO3B"}
1
+ {"version":3,"file":"useNodeFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useNodeFromNode.tsx"],"names":[],"mappings":";;;AAAA,wDAAsE;AAEtE,2DAA6E;AAEtE,MAAM,eAAe,GAAG,CAAC,aAAsB,EAAE,MAA6B,EAAiD,EAAE;IACtI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAA,qCAAiB,EAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAG,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAA;IACvC,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,0CAA0C,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;QACtG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;KAC1B;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B"}
package/dist/docs.json CHANGED
@@ -601,7 +601,7 @@
601
601
  "fileName": "packages/modules/packages/node/src/components/NodeDrawer.tsx",
602
602
  "line": 10,
603
603
  "character": 17,
604
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/components/NodeDrawer.tsx#L10"
604
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/components/NodeDrawer.tsx#L10"
605
605
  }
606
606
  ],
607
607
  "extendedTypes": [
@@ -1349,7 +1349,7 @@
1349
1349
  "fileName": "packages/modules/packages/node/src/hooks/useModuleFromNode.tsx",
1350
1350
  "line": 10,
1351
1351
  "character": 12,
1352
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L10"
1352
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L10"
1353
1353
  }
1354
1354
  ],
1355
1355
  "type": {
@@ -1386,7 +1386,7 @@
1386
1386
  "fileName": "packages/modules/packages/node/src/hooks/useModuleFromNode.tsx",
1387
1387
  "line": 11,
1388
1388
  "character": 2,
1389
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L11"
1389
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L11"
1390
1390
  }
1391
1391
  ],
1392
1392
  "type": {
@@ -1413,7 +1413,7 @@
1413
1413
  "fileName": "packages/modules/packages/node/src/hooks/useModuleFromNode.tsx",
1414
1414
  "line": 10,
1415
1415
  "character": 57,
1416
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L10"
1416
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L10"
1417
1417
  }
1418
1418
  ]
1419
1419
  }
@@ -1681,7 +1681,7 @@
1681
1681
  "fileName": "packages/modules/packages/node/src/components/Node.tsx",
1682
1682
  "line": 7,
1683
1683
  "character": 13,
1684
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/components/Node.tsx#L7"
1684
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/components/Node.tsx#L7"
1685
1685
  }
1686
1686
  ],
1687
1687
  "signatures": [
@@ -1772,7 +1772,7 @@
1772
1772
  "fileName": "packages/modules/packages/node/src/components/NodeDrawer.tsx",
1773
1773
  "line": 12,
1774
1774
  "character": 13,
1775
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/components/NodeDrawer.tsx#L12"
1775
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/components/NodeDrawer.tsx#L12"
1776
1776
  }
1777
1777
  ],
1778
1778
  "signatures": [
@@ -2045,7 +2045,7 @@
2045
2045
  "fileName": "packages/modules/packages/node/src/hooks/useModuleFromNode.tsx",
2046
2046
  "line": 14,
2047
2047
  "character": 13,
2048
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L14"
2048
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L14"
2049
2049
  }
2050
2050
  ],
2051
2051
  "signatures": [
@@ -2060,7 +2060,7 @@
2060
2060
  "fileName": "packages/modules/packages/node/src/hooks/useModuleFromNode.tsx",
2061
2061
  "line": 14,
2062
2062
  "character": 33,
2063
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L14"
2063
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useModuleFromNode.tsx#L14"
2064
2064
  }
2065
2065
  ],
2066
2066
  "parameters": [
@@ -2103,10 +2103,6 @@
2103
2103
  "type": "intrinsic",
2104
2104
  "name": "undefined"
2105
2105
  },
2106
- {
2107
- "type": "literal",
2108
- "value": null
2109
- },
2110
2106
  {
2111
2107
  "type": "reference",
2112
2108
  "target": {
@@ -2443,7 +2439,7 @@
2443
2439
  "fileName": "packages/modules/packages/node/src/hooks/useModulesFromNode.ts",
2444
2440
  "line": 11,
2445
2441
  "character": 13,
2446
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useModulesFromNode.ts#L11"
2442
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useModulesFromNode.ts#L11"
2447
2443
  }
2448
2444
  ],
2449
2445
  "signatures": [
@@ -2458,7 +2454,7 @@
2458
2454
  "fileName": "packages/modules/packages/node/src/hooks/useModulesFromNode.ts",
2459
2455
  "line": 11,
2460
2456
  "character": 34,
2461
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useModulesFromNode.ts#L11"
2457
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useModulesFromNode.ts#L11"
2462
2458
  }
2463
2459
  ],
2464
2460
  "parameters": [
@@ -3071,7 +3067,7 @@
3071
3067
  "fileName": "packages/modules/packages/node/src/hooks/useNodeFromNode.tsx",
3072
3068
  "line": 5,
3073
3069
  "character": 13,
3074
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useNodeFromNode.tsx#L5"
3070
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useNodeFromNode.tsx#L5"
3075
3071
  }
3076
3072
  ],
3077
3073
  "signatures": [
@@ -3086,7 +3082,7 @@
3086
3082
  "fileName": "packages/modules/packages/node/src/hooks/useNodeFromNode.tsx",
3087
3083
  "line": 5,
3088
3084
  "character": 31,
3089
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/useNodeFromNode.tsx#L5"
3085
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/useNodeFromNode.tsx#L5"
3090
3086
  }
3091
3087
  ],
3092
3088
  "parameters": [
@@ -3129,10 +3125,6 @@
3129
3125
  "type": "intrinsic",
3130
3126
  "name": "undefined"
3131
3127
  },
3132
- {
3133
- "type": "literal",
3134
- "value": null
3135
- },
3136
3128
  {
3137
3129
  "type": "reference",
3138
3130
  "target": {
@@ -3426,7 +3418,7 @@
3426
3418
  "fileName": "packages/modules/packages/node/src/hooks/provided/useProvidedNode.tsx",
3427
3419
  "line": 5,
3428
3420
  "character": 13,
3429
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/provided/useProvidedNode.tsx#L5"
3421
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/provided/useProvidedNode.tsx#L5"
3430
3422
  }
3431
3423
  ],
3432
3424
  "signatures": [
@@ -3441,7 +3433,7 @@
3441
3433
  "fileName": "packages/modules/packages/node/src/hooks/provided/useProvidedNode.tsx",
3442
3434
  "line": 5,
3443
3435
  "character": 31,
3444
- "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/841f51a1e1d8/packages/modules/packages/node/src/hooks/provided/useProvidedNode.tsx#L5"
3436
+ "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/blob/736d3607dd4d/packages/modules/packages/node/src/hooks/provided/useProvidedNode.tsx#L5"
3445
3437
  }
3446
3438
  ],
3447
3439
  "type": {
@@ -1,5 +1,5 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-async-effect';
2
- import { isModuleInstance } from '@xyo-network/module-model';
2
+ import { asModuleInstance, isModuleInstance } from '@xyo-network/module-model';
3
3
  import { useMemo, useState } from 'react';
4
4
  import { useProvidedNode } from './provided';
5
5
  export const useModuleFromNode = (nameOrAddress, config) => {
@@ -16,6 +16,7 @@ export const useModuleFromNode = (nameOrAddress, config) => {
16
16
  if (node) {
17
17
  const attachHandler = (args) => {
18
18
  const eventModule = args.module;
19
+ console.log('attachHandler: ', eventModule.address);
19
20
  if (nameOrAddress && (eventModule?.address === nameOrAddress || eventModule?.config.name === nameOrAddress)) {
20
21
  logger?.debug(`attachHandler-setting [${nameOrAddress}]`);
21
22
  if (eventModule) {
@@ -24,8 +25,10 @@ export const useModuleFromNode = (nameOrAddress, config) => {
24
25
  setError(undefined);
25
26
  }
26
27
  else {
27
- setModule(null);
28
- setError(Error('Attached module failed identity check'));
28
+ const error = Error(`Attached module failed identity check [${eventModule.config.name}:${eventModule.address}]`);
29
+ console.error(error.message);
30
+ setModule(undefined);
31
+ setError(error);
29
32
  }
30
33
  }
31
34
  else {
@@ -36,24 +39,27 @@ export const useModuleFromNode = (nameOrAddress, config) => {
36
39
  };
37
40
  const detachHandler = (args) => {
38
41
  const eventModule = args.module;
42
+ console.log('detachHandler: ', eventModule.address);
39
43
  if (eventModule.address === address) {
40
44
  logger?.debug(`detachHandler-clearing [${address}]`);
41
- setModule(null);
45
+ setModule(undefined);
42
46
  setError(undefined);
43
47
  }
44
48
  };
45
49
  const module = nameOrAddress ? await node.resolve(nameOrAddress, resolverConfig) : undefined;
46
50
  if (mounted()) {
51
+ const instance = asModuleInstance(module);
47
52
  if (module) {
48
- if (!isModuleInstance(module)) {
49
- setModule(null);
50
- setError(Error('Resolved module failed identity check'));
53
+ if (!instance) {
54
+ const error = Error(`Attached module failed identity check [${module.config.name}:${module.address}]`);
55
+ setModule(undefined);
56
+ setError(error);
51
57
  }
52
58
  else {
53
59
  eventUnsubscribe.push(node.on('moduleAttached', attachHandler));
54
60
  eventUnsubscribe.push(node.on('moduleDetached', detachHandler));
55
61
  logger?.debug(`resolved [${nameOrAddress}]`);
56
- setModule(module ?? null);
62
+ setModule(instance ?? null);
57
63
  setError(undefined);
58
64
  }
59
65
  }
@@ -65,7 +71,7 @@ export const useModuleFromNode = (nameOrAddress, config) => {
65
71
  }
66
72
  else {
67
73
  if (mounted()) {
68
- setModule(node);
74
+ setModule(node ? node : undefined);
69
75
  setError(undefined);
70
76
  }
71
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useModuleFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModuleFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.tsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ export const useNodeFromNode = (nameOrAddress, config) => {
4
4
  const [module, error] = useModuleFromNode(nameOrAddress, config);
5
5
  const instance = asNodeInstance(module);
6
6
  if (module && !instance) {
7
- return [null, Error('Resolved mode is not a NodeInstance')];
7
+ const error = Error(`Resolved module is not a NodeInstance [${module.config.name}:${module.address}]`);
8
+ console.error(error.message);
9
+ return [undefined, error];
8
10
  }
9
11
  return [instance, error];
10
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useNodeFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useNodeFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,yBAAyB,CAAA;AAEtE,OAAO,EAAwB,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE7E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAsB,EAAE,MAA6B,EAAwD,EAAE;IAC7I,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE;QACvB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAA;KAC5D;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC,CAAA"}
1
+ {"version":3,"file":"useNodeFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useNodeFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgB,MAAM,yBAAyB,CAAA;AAEtE,OAAO,EAAwB,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE7E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAsB,EAAE,MAA6B,EAAiD,EAAE;IACtI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,0CAA0C,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;QACtG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;KAC1B;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC,CAAA"}
@@ -3,5 +3,5 @@ import { ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model';
3
3
  export type ModuleFromNodeConfig = ModuleFilterOptions & {
4
4
  logger?: Logger;
5
5
  };
6
- export declare const useModuleFromNode: (nameOrAddress?: string, config?: ModuleFromNodeConfig) => [ModuleInstance | null | undefined, Error | undefined];
6
+ export declare const useModuleFromNode: (nameOrAddress?: string, config?: ModuleFromNodeConfig) => [ModuleInstance | undefined, Error | undefined];
7
7
  //# sourceMappingURL=useModuleFromNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useModuleFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAoB,mBAAmB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAMjG,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,iBAAiB,mBAAoB,MAAM,WAAW,oBAAoB,KAAG,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAiF9I,CAAA"}
1
+ {"version":3,"file":"useModuleFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAsC,mBAAmB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAMnH,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,iBAAiB,mBAAoB,MAAM,WAAW,oBAAoB,KAAG,CAAC,cAAc,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAuFvI,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { NodeInstance } from '@xyo-network/node-model';
2
2
  import { ModuleFromNodeConfig } from './useModuleFromNode';
3
- export declare const useNodeFromNode: (nameOrAddress?: string, config?: ModuleFromNodeConfig) => [NodeInstance | null | undefined, Error | undefined];
3
+ export declare const useNodeFromNode: (nameOrAddress?: string, config?: ModuleFromNodeConfig) => [NodeInstance | undefined, Error | undefined];
4
4
  //# sourceMappingURL=useNodeFromNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNodeFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtE,OAAO,EAAE,oBAAoB,EAAqB,MAAM,qBAAqB,CAAA;AAE7E,eAAO,MAAM,eAAe,mBAAoB,MAAM,WAAW,oBAAoB,KAAG,CAAC,YAAY,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAO1I,CAAA"}
1
+ {"version":3,"file":"useNodeFromNode.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNodeFromNode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtE,OAAO,EAAE,oBAAoB,EAAqB,MAAM,qBAAqB,CAAA;AAE7E,eAAO,MAAM,eAAe,mBAAoB,MAAM,WAAW,oBAAoB,KAAG,CAAC,YAAY,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CASnI,CAAA"}
package/package.json CHANGED
@@ -15,15 +15,15 @@
15
15
  "@xylabs/react-flexbox": "~2.17.6",
16
16
  "@xylabs/react-promise": "~2.17.6",
17
17
  "@xylabs/react-shared": "~2.17.6",
18
- "@xyo-network/core": "~2.66.5",
19
- "@xyo-network/module": "~2.66.5",
20
- "@xyo-network/module-events": "~2.66.5",
21
- "@xyo-network/module-model": "~2.66.5",
22
- "@xyo-network/node": "~2.66.5",
23
- "@xyo-network/node-model": "~2.66.5",
24
- "@xyo-network/react-module": "~2.57.3",
25
- "@xyo-network/react-node-context": "~2.57.3",
26
- "@xyo-network/react-node-provider": "~2.57.3",
18
+ "@xyo-network/core": "~2.66.8",
19
+ "@xyo-network/module": "~2.66.8",
20
+ "@xyo-network/module-events": "~2.66.8",
21
+ "@xyo-network/module-model": "~2.66.8",
22
+ "@xyo-network/node": "~2.66.8",
23
+ "@xyo-network/node-model": "~2.66.8",
24
+ "@xyo-network/react-module": "~2.57.5",
25
+ "@xyo-network/react-node-context": "~2.57.5",
26
+ "@xyo-network/react-node-provider": "~2.57.5",
27
27
  "lodash": "^4.17.21"
28
28
  },
29
29
  "devDependencies": {
@@ -31,9 +31,9 @@
31
31
  "@types/lodash": "^4.14.195",
32
32
  "@xylabs/ts-scripts-yarn3": "^2.18.11",
33
33
  "@xylabs/tsconfig-react": "^2.18.11",
34
- "@xyo-network/payload-model": "~2.66.5",
35
- "@xyo-network/react-storybook": "~2.57.3",
36
- "@xyo-network/react-wallet": "~2.57.3",
34
+ "@xyo-network/payload-model": "~2.66.8",
35
+ "@xyo-network/react-storybook": "~2.57.5",
36
+ "@xyo-network/react-wallet": "~2.57.5",
37
37
  "typescript": "^5.1.6"
38
38
  },
39
39
  "peerDependencies": {
@@ -88,5 +88,5 @@
88
88
  },
89
89
  "sideEffects": false,
90
90
  "types": "dist/types/index.d.ts",
91
- "version": "2.57.3"
91
+ "version": "2.57.5"
92
92
  }
@@ -9,7 +9,7 @@ import { DefaultSeedPhrase } from '@xyo-network/react-storybook'
9
9
  import { useWallet, WalletProvider } from '@xyo-network/react-wallet'
10
10
  import { useEffect, useState } from 'react'
11
11
 
12
- import { useModuleFromNode, useProvidedNode } from '../hooks'
12
+ import { useModuleFromNode, useNodeFromNode, useProvidedNode } from '../hooks'
13
13
 
14
14
  const TestModuleConfigSchema = 'network.xyo.test.module'
15
15
  class TestModule extends AbstractModule {
@@ -55,6 +55,7 @@ const Template: StoryFn<React.FC> = (props) => {
55
55
  const [description, setDescription] = useState<string>()
56
56
 
57
57
  const [account] = useWallet({ mnemonic: DefaultSeedPhrase, path: '0' })
58
+ const [node2] = useNodeFromNode((node ? node : undefined)?.address)
58
59
 
59
60
  useAsyncEffect(
60
61
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1,7 +1,7 @@
1
1
  import { useAsyncEffect } from '@xylabs/react-async-effect'
2
2
  import { Logger } from '@xyo-network/core'
3
3
  import { EventUnsubscribeFunction } from '@xyo-network/module-events'
4
- import { isModuleInstance, ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model'
4
+ import { asModuleInstance, isModuleInstance, ModuleFilterOptions, ModuleInstance } from '@xyo-network/module-model'
5
5
  import { ModuleAttachedEventArgs, ModuleDetachedEventArgs } from '@xyo-network/node'
6
6
  import { useMemo, useState } from 'react'
7
7
 
@@ -11,9 +11,9 @@ export type ModuleFromNodeConfig = ModuleFilterOptions & {
11
11
  logger?: Logger
12
12
  }
13
13
 
14
- export const useModuleFromNode = (nameOrAddress?: string, config?: ModuleFromNodeConfig): [ModuleInstance | null | undefined, Error | undefined] => {
14
+ export const useModuleFromNode = (nameOrAddress?: string, config?: ModuleFromNodeConfig): [ModuleInstance | undefined, Error | undefined] => {
15
15
  const [node] = useProvidedNode()
16
- const [module, setModule] = useState<ModuleInstance | null>()
16
+ const [module, setModule] = useState<ModuleInstance>()
17
17
  const [error, setError] = useState<Error>()
18
18
 
19
19
  const address = useMemo(() => module?.address, [module])
@@ -27,6 +27,7 @@ export const useModuleFromNode = (nameOrAddress?: string, config?: ModuleFromNod
27
27
  if (node) {
28
28
  const attachHandler = (args: ModuleAttachedEventArgs) => {
29
29
  const eventModule = args.module
30
+ console.log('attachHandler: ', eventModule.address)
30
31
  if (nameOrAddress && (eventModule?.address === nameOrAddress || eventModule?.config.name === nameOrAddress)) {
31
32
  logger?.debug(`attachHandler-setting [${nameOrAddress}]`)
32
33
  if (eventModule) {
@@ -34,8 +35,10 @@ export const useModuleFromNode = (nameOrAddress?: string, config?: ModuleFromNod
34
35
  setModule(eventModule)
35
36
  setError(undefined)
36
37
  } else {
37
- setModule(null)
38
- setError(Error('Attached module failed identity check'))
38
+ const error = Error(`Attached module failed identity check [${eventModule.config.name}:${eventModule.address}]`)
39
+ console.error(error.message)
40
+ setModule(undefined)
41
+ setError(error)
39
42
  }
40
43
  } else {
41
44
  setModule(undefined)
@@ -45,23 +48,26 @@ export const useModuleFromNode = (nameOrAddress?: string, config?: ModuleFromNod
45
48
  }
46
49
  const detachHandler = (args: ModuleDetachedEventArgs) => {
47
50
  const eventModule = args.module
51
+ console.log('detachHandler: ', eventModule.address)
48
52
  if (eventModule.address === address) {
49
53
  logger?.debug(`detachHandler-clearing [${address}]`)
50
- setModule(null)
54
+ setModule(undefined)
51
55
  setError(undefined)
52
56
  }
53
57
  }
54
58
  const module = nameOrAddress ? await node.resolve(nameOrAddress, resolverConfig) : undefined
55
59
  if (mounted()) {
60
+ const instance = asModuleInstance(module)
56
61
  if (module) {
57
- if (!isModuleInstance(module)) {
58
- setModule(null)
59
- setError(Error('Resolved module failed identity check'))
62
+ if (!instance) {
63
+ const error = Error(`Attached module failed identity check [${module.config.name}:${module.address}]`)
64
+ setModule(undefined)
65
+ setError(error)
60
66
  } else {
61
67
  eventUnsubscribe.push(node.on('moduleAttached', attachHandler))
62
68
  eventUnsubscribe.push(node.on('moduleDetached', detachHandler))
63
69
  logger?.debug(`resolved [${nameOrAddress}]`)
64
- setModule(module ?? null)
70
+ setModule(instance ?? null)
65
71
  setError(undefined)
66
72
  }
67
73
  } else {
@@ -71,7 +77,7 @@ export const useModuleFromNode = (nameOrAddress?: string, config?: ModuleFromNod
71
77
  }
72
78
  } else {
73
79
  if (mounted()) {
74
- setModule(node)
80
+ setModule(node ? node : undefined)
75
81
  setError(undefined)
76
82
  }
77
83
  }
@@ -2,11 +2,13 @@ import { asNodeInstance, NodeInstance } from '@xyo-network/node-model'
2
2
 
3
3
  import { ModuleFromNodeConfig, useModuleFromNode } from './useModuleFromNode'
4
4
 
5
- export const useNodeFromNode = (nameOrAddress?: string, config?: ModuleFromNodeConfig): [NodeInstance | null | undefined, Error | undefined] => {
5
+ export const useNodeFromNode = (nameOrAddress?: string, config?: ModuleFromNodeConfig): [NodeInstance | undefined, Error | undefined] => {
6
6
  const [module, error] = useModuleFromNode(nameOrAddress, config)
7
7
  const instance = asNodeInstance(module)
8
8
  if (module && !instance) {
9
- return [null, Error('Resolved mode is not a NodeInstance')]
9
+ const error = Error(`Resolved module is not a NodeInstance [${module.config.name}:${module.address}]`)
10
+ console.error(error.message)
11
+ return [undefined, error]
10
12
  }
11
13
  return [instance, error]
12
14
  }