@xyo-network/react-node 2.59.0-rc.2 → 2.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/hooks/useModuleFromNode.js +29 -89
- package/dist/cjs/hooks/useModuleFromNode.js.map +1 -1
- package/dist/cjs/hooks/useModulesFromNode.js +23 -51
- package/dist/cjs/hooks/useModulesFromNode.js.map +1 -1
- package/dist/docs.json +2844 -0
- package/dist/esm/hooks/useModuleFromNode.js +28 -88
- package/dist/esm/hooks/useModuleFromNode.js.map +1 -1
- package/dist/esm/hooks/useModulesFromNode.js +24 -50
- package/dist/esm/hooks/useModulesFromNode.js.map +1 -1
- package/dist/types/hooks/useModuleFromNode.d.ts.map +1 -1
- package/dist/types/hooks/useModulesFromNode.d.ts +3 -2
- package/dist/types/hooks/useModulesFromNode.d.ts.map +1 -1
- package/package.json +5 -11
- package/src/hooks/useModuleFromNode.ts +45 -0
- package/src/hooks/useModulesFromNode.ts +27 -68
- package/src/hooks/useModuleFromNode.tsx +0 -107
|
@@ -2,102 +2,42 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useModuleFromNode = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const react_shared_1 = require("@xyo-network/react-shared");
|
|
5
|
+
const react_promise_1 = require("@xylabs/react-promise");
|
|
6
|
+
const module_1 = require("@xyo-network/module");
|
|
8
7
|
const react_1 = require("react");
|
|
9
8
|
const provided_1 = require("./provided");
|
|
10
9
|
const useModuleFromNode = (nameOrAddress, config) => {
|
|
11
10
|
const [providedNode] = (0, provided_1.useProvidedNode)();
|
|
12
|
-
const
|
|
13
|
-
const [
|
|
14
|
-
const [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
try {
|
|
24
|
-
const activeNode = node !== null && node !== void 0 ? node : providedNode;
|
|
25
|
-
if (activeNode) {
|
|
26
|
-
const attachHandler = (args) => {
|
|
27
|
-
var _a, _b, _c;
|
|
28
|
-
const eventModule = args.module;
|
|
29
|
-
if (nameOrAddress && ((eventModule === null || eventModule === void 0 ? void 0 : eventModule.address) === nameOrAddress || ((_a = eventModule === null || eventModule === void 0 ? void 0 : eventModule.config) === null || _a === void 0 ? void 0 : _a.name) === nameOrAddress)) {
|
|
30
|
-
logger === null || logger === void 0 ? void 0 : logger.debug(`attachHandler-setting [${nameOrAddress}]`);
|
|
31
|
-
if (eventModule) {
|
|
32
|
-
if ((0, module_model_1.isModuleInstance)(eventModule)) {
|
|
33
|
-
setModule(eventModule);
|
|
34
|
-
setError(undefined);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
const error = Error(`Attached module failed identity check [${(_b = eventModule.config) === null || _b === void 0 ? void 0 : _b.schema}:${(_c = eventModule.config) === null || _c === void 0 ? void 0 : _c.name}:${eventModule.address}]`);
|
|
38
|
-
console.error(error.message);
|
|
39
|
-
setModule(undefined);
|
|
40
|
-
setError(error);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
setModule(undefined);
|
|
45
|
-
setError(undefined);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
const detachHandler = (args) => {
|
|
50
|
-
const eventModule = args.module;
|
|
51
|
-
if (eventModule.address === address) {
|
|
52
|
-
logger === null || logger === void 0 ? void 0 : logger.debug(`detachHandler-clearing [${address}]`);
|
|
53
|
-
setModule(undefined);
|
|
54
|
-
setError(undefined);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
const module = nameOrAddress ? yield activeNode.resolve(nameOrAddress, resolverConfig) : undefined;
|
|
58
|
-
if (mounted()) {
|
|
59
|
-
const instance = (0, module_model_1.asModuleInstance)(module);
|
|
60
|
-
if (module) {
|
|
61
|
-
if (!instance) {
|
|
62
|
-
const error = Error(`Attached module failed identity check [${(_a = module.config) === null || _a === void 0 ? void 0 : _a.schema}:${(_b = module.config) === null || _b === void 0 ? void 0 : _b.name}:${module.address}]`);
|
|
63
|
-
setModule(undefined);
|
|
64
|
-
setError(error);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
eventUnsubscribe.push(activeNode.on('moduleAttached', attachHandler));
|
|
68
|
-
eventUnsubscribe.push(activeNode.on('moduleDetached', detachHandler));
|
|
69
|
-
logger === null || logger === void 0 ? void 0 : logger.debug(`resolved [${nameOrAddress}]`);
|
|
70
|
-
setModule(instance !== null && instance !== void 0 ? instance : null);
|
|
71
|
-
setError(undefined);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
setModule(undefined);
|
|
76
|
-
setError(undefined);
|
|
77
|
-
}
|
|
11
|
+
const _a = config !== null && config !== void 0 ? config : {}, { logger, node: paramNode } = _a, resolveConfig = tslib_1.__rest(_a, ["logger", "node"]);
|
|
12
|
+
const [result, setResult] = (0, react_1.useState)();
|
|
13
|
+
const [, error] = (0, react_promise_1.usePromise)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
logger === null || logger === void 0 ? void 0 : logger.debug('useModuleFromNode: resolving');
|
|
15
|
+
const activeNode = paramNode !== null && paramNode !== void 0 ? paramNode : providedNode;
|
|
16
|
+
if (activeNode && nameOrAddress) {
|
|
17
|
+
activeNode.on('moduleAttached', ({ module }) => {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
logger === null || logger === void 0 ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${(_a = module.config.name) !== null && _a !== void 0 ? _a : module.address}]`);
|
|
20
|
+
if (module.address === nameOrAddress || ((_b = module.config) === null || _b === void 0 ? void 0 : _b.name) === nameOrAddress) {
|
|
21
|
+
setResult((0, module_1.asModuleInstance)(module));
|
|
78
22
|
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
23
|
+
});
|
|
24
|
+
activeNode.on('moduleDetached', ({ module }) => {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
logger === null || logger === void 0 ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${(_a = module.config.name) !== null && _a !== void 0 ? _a : module.address}]`);
|
|
27
|
+
if (module.address === nameOrAddress || ((_b = module.config) === null || _b === void 0 ? void 0 : _b.name) === nameOrAddress) {
|
|
28
|
+
setResult(undefined);
|
|
84
29
|
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
30
|
+
});
|
|
31
|
+
const result = yield activeNode.resolve(nameOrAddress, resolveConfig);
|
|
32
|
+
console.log(`Result: ${result === null || result === void 0 ? void 0 : result.address}`);
|
|
33
|
+
setResult(result);
|
|
34
|
+
return result;
|
|
90
35
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
setModule(undefined);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}), [nameOrAddress, providedNode, address, configMemo]);
|
|
100
|
-
return [module, error];
|
|
36
|
+
console.log('Result: No Node');
|
|
37
|
+
return undefined;
|
|
38
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
39
|
+
}), [paramNode, providedNode, nameOrAddress]);
|
|
40
|
+
return [result, error];
|
|
101
41
|
};
|
|
102
42
|
exports.useModuleFromNode = useModuleFromNode;
|
|
103
43
|
//# sourceMappingURL=useModuleFromNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModuleFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.
|
|
1
|
+
{"version":3,"file":"useModuleFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useModuleFromNode.ts"],"names":[],"mappings":";;;;AAAA,yDAAkD;AAElD,gDAAsD;AAGtD,iCAAgC;AAEhC,yCAA4C;AAOrC,MAAM,iBAAiB,GAAG,CAAC,aAAsB,EAAE,MAA6B,EAAmD,EAAE;IAC1I,MAAM,CAAC,YAAY,CAAC,GAAG,IAAA,0BAAe,GAAE,CAAA;IACxC,MAAM,KAAgD,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,EAA5D,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAmC,EAA9B,aAAa,sBAA3C,kBAA6C,CAAe,CAAA;IAClE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAA8B,CAAA;IAClE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,IAAA,0BAAU,EAAC,GAAS,EAAE;QACtC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,MAAM,UAAU,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,YAAY,CAAA;QAC5C,IAAI,UAAU,IAAI,aAAa,EAAE;YAC/B,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;gBAC7C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,sCAAsC,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,mCAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;gBAC5F,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,IAAI,CAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,IAAI,MAAK,aAAa,EAAE;oBAC7E,SAAS,CAAC,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC,CAAA;iBACpC;YACH,CAAC,CAAC,CAAA;YACF,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;gBAC7C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,sCAAsC,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,mCAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;gBAC5F,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,IAAI,CAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,IAAI,MAAK,aAAa,EAAE;oBAC7E,SAAS,CAAC,SAAS,CAAC,CAAA;iBACrB;YACH,CAAC,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;YACrE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,CAAC,CAAA;YACzC,SAAS,CAAC,MAAM,CAAC,CAAA;YACjB,OAAO,MAAM,CAAA;SACd;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,OAAO,SAAS,CAAA;QAChB,uDAAuD;IACzD,CAAC,CAAA,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;IAC5C,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AA9BY,QAAA,iBAAiB,qBA8B7B"}
|
|
@@ -3,65 +3,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useModulesFromNode = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_promise_1 = require("@xylabs/react-promise");
|
|
6
|
-
const module_model_1 = require("@xyo-network/module-model");
|
|
7
|
-
const react_module_1 = require("@xyo-network/react-module");
|
|
8
|
-
const react_shared_1 = require("@xyo-network/react-shared");
|
|
9
|
-
const compact_1 = tslib_1.__importDefault(require("lodash/compact"));
|
|
10
6
|
const react_1 = require("react");
|
|
11
7
|
const provided_1 = require("./provided");
|
|
12
8
|
const useModulesFromNode = (filter, config) => {
|
|
13
9
|
const [providedNode] = (0, provided_1.useProvidedNode)();
|
|
14
|
-
const
|
|
15
|
-
const [
|
|
16
|
-
const [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const modulesLength = (0, react_1.useRef)();
|
|
20
|
-
const eventUnsubscribe = [];
|
|
21
|
-
const [, resolvedModulesError] = (0, react_promise_1.usePromise)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
var _a;
|
|
23
|
-
const _b = configMemo !== null && configMemo !== void 0 ? configMemo : {}, { logger } = _b, resolverConfig = tslib_1.__rest(_b, ["logger"]);
|
|
24
|
-
const activeNode = (_a = configMemo === null || configMemo === void 0 ? void 0 : configMemo.node) !== null && _a !== void 0 ? _a : providedNode;
|
|
10
|
+
const _a = config !== null && config !== void 0 ? config : {}, { logger, node: paramNode } = _a, resolveConfig = tslib_1.__rest(_a, ["logger", "node"]);
|
|
11
|
+
const [result, setResult] = (0, react_1.useState)();
|
|
12
|
+
const [, error] = (0, react_promise_1.usePromise)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
+
logger === null || logger === void 0 ? void 0 : logger.debug('useModuleFromNode: resolving');
|
|
14
|
+
const activeNode = paramNode !== null && paramNode !== void 0 ? paramNode : providedNode;
|
|
25
15
|
if (activeNode) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
setResolvedModules(allResolvedModules);
|
|
32
|
-
return allResolvedModules === null || allResolvedModules === void 0 ? void 0 : allResolvedModules.length;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return modulesLength.current;
|
|
36
|
-
}), [providedNode, filter, configMemo, refreshed]);
|
|
37
|
-
(0, react_1.useEffect)(() => {
|
|
38
|
-
var _a;
|
|
39
|
-
const { logger, node } = configMemo !== null && configMemo !== void 0 ? configMemo : {};
|
|
40
|
-
const activeNode = node !== null && node !== void 0 ? node : providedNode;
|
|
41
|
-
if (activeNode) {
|
|
42
|
-
while (eventUnsubscribe.length) {
|
|
43
|
-
(_a = eventUnsubscribe.pop()) === null || _a === void 0 ? void 0 : _a();
|
|
44
|
-
}
|
|
45
|
-
eventUnsubscribe.push(activeNode.on('moduleAttached', ({ module }) => {
|
|
46
|
-
var _a;
|
|
47
|
-
logger === null || logger === void 0 ? void 0 : logger.debug(`moduleAttached: useModulesFromNode [${(_a = module.config.name) !== null && _a !== void 0 ? _a : module.address}]`);
|
|
48
|
-
refresh();
|
|
16
|
+
activeNode.on('moduleAttached', ({ module }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
var _b;
|
|
18
|
+
logger === null || logger === void 0 ? void 0 : logger.debug(`useModuleFromNode: moduleAttached [${(_b = module.config.name) !== null && _b !== void 0 ? _b : module.address}]`);
|
|
19
|
+
const moduleInstances = yield activeNode.resolve(filter, resolveConfig);
|
|
20
|
+
setResult(moduleInstances);
|
|
49
21
|
}));
|
|
50
|
-
|
|
51
|
-
var
|
|
52
|
-
logger === null || logger === void 0 ? void 0 : logger.debug(`
|
|
53
|
-
|
|
22
|
+
activeNode.on('moduleDetached', ({ module }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
+
var _c;
|
|
24
|
+
logger === null || logger === void 0 ? void 0 : logger.debug(`useModuleFromNode: moduleDetached [${(_c = module.config.name) !== null && _c !== void 0 ? _c : module.address}]`);
|
|
25
|
+
const moduleInstances = yield activeNode.resolve(filter, resolveConfig);
|
|
26
|
+
setResult(moduleInstances);
|
|
54
27
|
}));
|
|
28
|
+
const moduleInstances = yield activeNode.resolve(filter, resolveConfig);
|
|
29
|
+
setResult(moduleInstances);
|
|
30
|
+
setResult(moduleInstances);
|
|
31
|
+
return moduleInstances;
|
|
55
32
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
eventUnsubscribe.pop();
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
}, [providedNode, configMemo]);
|
|
64
|
-
return [resolvedModules, resolvedModulesError];
|
|
33
|
+
console.log('Result: No Node');
|
|
34
|
+
return undefined;
|
|
35
|
+
}), [paramNode, providedNode, filter]);
|
|
36
|
+
return [result, error];
|
|
65
37
|
};
|
|
66
38
|
exports.useModulesFromNode = useModulesFromNode;
|
|
67
39
|
//# sourceMappingURL=useModulesFromNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModulesFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useModulesFromNode.ts"],"names":[],"mappings":";;;;AAAA,yDAAkD;
|
|
1
|
+
{"version":3,"file":"useModulesFromNode.js","sourceRoot":"","sources":["../../../src/hooks/useModulesFromNode.ts"],"names":[],"mappings":";;;;AAAA,yDAAkD;AAGlD,iCAAgC;AAEhC,yCAA4C;AAGrC,MAAM,kBAAkB,GAAG,CAAC,MAAqB,EAAE,MAA6B,EAAqD,EAAE;IAC5I,MAAM,CAAC,YAAY,CAAC,GAAG,IAAA,0BAAe,GAAE,CAAA;IACxC,MAAM,KAAgD,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,EAA5D,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAmC,EAA9B,aAAa,sBAA3C,kBAA6C,CAAe,CAAA;IAClE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAgC,CAAA;IACpE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,IAAA,0BAAU,EAAC,GAAS,EAAE;QACtC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,MAAM,UAAU,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,YAAY,CAAA;QAC5C,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAO,EAAE,MAAM,EAAE,EAAE,EAAE;;gBACnD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,sCAAsC,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,mCAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;gBAC5F,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;gBACvE,SAAS,CAAC,eAAe,CAAC,CAAA;YAC5B,CAAC,CAAA,CAAC,CAAA;YACF,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAO,EAAE,MAAM,EAAE,EAAE,EAAE;;gBACnD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,sCAAsC,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,mCAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;gBAC5F,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;gBACvE,SAAS,CAAC,eAAe,CAAC,CAAA;YAC5B,CAAC,CAAA,CAAC,CAAA;YACF,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YACvE,SAAS,CAAC,eAAe,CAAC,CAAA;YAC1B,SAAS,CAAC,eAAe,CAAC,CAAA;YAC1B,OAAO,eAAe,CAAA;SACvB;QACD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IACrC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AA3BY,QAAA,kBAAkB,sBA2B9B"}
|