@xyo-network/node 2.51.3 → 2.51.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.
- package/dist/cjs/MemoryNode.js +55 -13
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/docs.json +196 -180
- package/dist/esm/MemoryNode.js +39 -3
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/types/MemoryNode.d.ts +2 -2
- package/dist/types/MemoryNode.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/MemoryNode.ts +50 -3
package/dist/cjs/MemoryNode.js
CHANGED
|
@@ -8,6 +8,7 @@ const promise_1 = require("@xylabs/promise");
|
|
|
8
8
|
const module_1 = require("@xyo-network/module");
|
|
9
9
|
const AbstractNode_1 = require("./AbstractNode");
|
|
10
10
|
const Config_1 = require("./Config");
|
|
11
|
+
const NodeWrapper_1 = require("./NodeWrapper");
|
|
11
12
|
class MemoryNode extends AbstractNode_1.AbstractNode {
|
|
12
13
|
constructor() {
|
|
13
14
|
super(...arguments);
|
|
@@ -38,20 +39,59 @@ class MemoryNode extends AbstractNode_1.AbstractNode {
|
|
|
38
39
|
}
|
|
39
40
|
const args = { module, name: module.config.name };
|
|
40
41
|
(_f = this.moduleAttachedEventListeners) === null || _f === void 0 ? void 0 : _f.map((listener) => listener(args));
|
|
42
|
+
const wrappedAsNode = NodeWrapper_1.NodeWrapper.tryWrap(module);
|
|
43
|
+
if (wrappedAsNode && external) {
|
|
44
|
+
const attachEmitter = wrappedAsNode.module;
|
|
45
|
+
const detachEmitter = wrappedAsNode.module;
|
|
46
|
+
attachEmitter.on('moduleAttached', (args) => { var _a; return (_a = this.moduleAttachedEventListeners) === null || _a === void 0 ? void 0 : _a.map((listener) => listener(args)); });
|
|
47
|
+
detachEmitter.on('moduleDetached', (args) => { var _a; return (_a = this.moduleDetachedEventListeners) === null || _a === void 0 ? void 0 : _a.map((listener) => listener(args)); });
|
|
48
|
+
const notifyOfExistingModules = (node) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
//send attach events for all existing attached modules
|
|
50
|
+
const childModules = yield node.resolve();
|
|
51
|
+
yield Promise.all(childModules.map((child) => {
|
|
52
|
+
var _a;
|
|
53
|
+
(_a = this.moduleAttachedEventListeners) === null || _a === void 0 ? void 0 : _a.map((listener) => listener({ module: child }));
|
|
54
|
+
const wrappedAsNode = NodeWrapper_1.NodeWrapper.tryWrap(child);
|
|
55
|
+
if (wrappedAsNode) {
|
|
56
|
+
return notifyOfExistingModules(wrappedAsNode);
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
});
|
|
60
|
+
yield notifyOfExistingModules(wrappedAsNode);
|
|
61
|
+
}
|
|
41
62
|
});
|
|
42
63
|
}
|
|
43
64
|
detach(address) {
|
|
44
65
|
var _a, _b, _c, _d, _e;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
66
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
const module = (0, assert_1.assertEx)(this.registeredModuleMap[address], 'No module found at that address');
|
|
68
|
+
this.privateResolver.removeResolver(module.downResolver);
|
|
69
|
+
//remove inside access
|
|
70
|
+
(_b = (_a = module.upResolver) === null || _a === void 0 ? void 0 : _a.removeResolver) === null || _b === void 0 ? void 0 : _b.call(_a, this.privateResolver);
|
|
71
|
+
//remove outside access
|
|
72
|
+
(_d = (_c = module.upResolver) === null || _c === void 0 ? void 0 : _c.removeResolver) === null || _d === void 0 ? void 0 : _d.call(_c, this.upResolver);
|
|
73
|
+
//remove external exposure
|
|
74
|
+
this.downResolver.removeResolver(module.downResolver);
|
|
75
|
+
const args = { module, name: module.config.name };
|
|
76
|
+
(_e = this.moduleDetachedEventListeners) === null || _e === void 0 ? void 0 : _e.map((listener) => listener(args));
|
|
77
|
+
//notify of all sub node children detach
|
|
78
|
+
const wrappedAsNode = NodeWrapper_1.NodeWrapper.tryWrap(module);
|
|
79
|
+
if (wrappedAsNode) {
|
|
80
|
+
const notifyOfExistingModules = (node) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
//send attach events for all existing attached modules
|
|
82
|
+
const childModules = yield node.resolve();
|
|
83
|
+
yield Promise.all(childModules.map((child) => {
|
|
84
|
+
var _a;
|
|
85
|
+
(_a = this.moduleDetachedEventListeners) === null || _a === void 0 ? void 0 : _a.map((listener) => listener({ module: child }));
|
|
86
|
+
const wrappedAsNode = NodeWrapper_1.NodeWrapper.tryWrap(child);
|
|
87
|
+
if (wrappedAsNode) {
|
|
88
|
+
return notifyOfExistingModules(wrappedAsNode);
|
|
89
|
+
}
|
|
90
|
+
}));
|
|
91
|
+
});
|
|
92
|
+
yield notifyOfExistingModules(wrappedAsNode);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
55
95
|
}
|
|
56
96
|
register(module) {
|
|
57
97
|
(0, assert_1.assertEx)(!this.registeredModuleMap[module.address], `Module already registered at that address[${module.address}]`);
|
|
@@ -69,9 +109,11 @@ class MemoryNode extends AbstractNode_1.AbstractNode {
|
|
|
69
109
|
});
|
|
70
110
|
}
|
|
71
111
|
unregister(module) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
112
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
yield this.detach(module.address);
|
|
114
|
+
delete this.registeredModuleMap[module.address];
|
|
115
|
+
return this;
|
|
116
|
+
});
|
|
75
117
|
}
|
|
76
118
|
resolve(filter) {
|
|
77
119
|
var _a, _b, _c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,2CAAuC;AACvC,6CAAqD;AACrD,gDAA4E;AAE5E,iDAAiE;AACjE,qCAAuD;
|
|
1
|
+
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
|