@xyo-network/node 2.51.4 → 2.51.6
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 +75 -17
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/cjs/NodeWrapper.js +5 -1
- package/dist/cjs/NodeWrapper.js.map +1 -1
- package/dist/docs.json +1094 -761
- package/dist/esm/MemoryNode.js +58 -6
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/esm/NodeWrapper.js +5 -1
- package/dist/esm/NodeWrapper.js.map +1 -1
- package/dist/types/MemoryNode.d.ts +2 -2
- package/dist/types/MemoryNode.d.ts.map +1 -1
- package/dist/types/NodeWrapper.d.ts +2 -1
- package/dist/types/NodeWrapper.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/MemoryNode.ts +67 -6
- package/src/NodeWrapper.ts +7 -2
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);
|
|
@@ -27,31 +28,86 @@ class MemoryNode extends AbstractNode_1.AbstractNode {
|
|
|
27
28
|
const existingModule = (yield this.resolve({ address: [address] })).pop();
|
|
28
29
|
(0, assert_1.assertEx)(!existingModule, `Module [${(_a = existingModule === null || existingModule === void 0 ? void 0 : existingModule.config.name) !== null && _a !== void 0 ? _a : existingModule === null || existingModule === void 0 ? void 0 : existingModule.address}] already attached at address [${address}]`);
|
|
29
30
|
const module = (0, assert_1.assertEx)(this.registeredModuleMap[address], 'No module registered at that address');
|
|
31
|
+
const wrapper = module_1.ModuleWrapper.wrap(module);
|
|
32
|
+
const notifiedAddresses = [];
|
|
33
|
+
const notifyOfExistingModules = (node) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
//send attach events for all existing attached modules
|
|
35
|
+
const childModules = yield node.resolve();
|
|
36
|
+
childModules.map((child) => {
|
|
37
|
+
var _a;
|
|
38
|
+
//don't report self
|
|
39
|
+
if (node.address === child.address) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
//prevent loop
|
|
43
|
+
if (notifiedAddresses.includes(child.address)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
notifiedAddresses.push(child.address);
|
|
47
|
+
const args = { module: child, name: child.config.name };
|
|
48
|
+
(_a = this.moduleAttachedEventListeners) === null || _a === void 0 ? void 0 : _a.map((listener) => listener(args));
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
yield notifyOfExistingModules(wrapper);
|
|
52
|
+
const args = { module, name: module.config.name };
|
|
53
|
+
(_b = this.moduleAttachedEventListeners) === null || _b === void 0 ? void 0 : _b.map((listener) => listener(args));
|
|
30
54
|
this.privateResolver.addResolver(module.downResolver);
|
|
31
55
|
//give it inside access
|
|
32
|
-
(
|
|
56
|
+
(_d = (_c = module.upResolver).addResolver) === null || _d === void 0 ? void 0 : _d.call(_c, this.privateResolver);
|
|
33
57
|
//give it outside access
|
|
34
|
-
(
|
|
58
|
+
(_f = (_e = module.upResolver).addResolver) === null || _f === void 0 ? void 0 : _f.call(_e, this.upResolver);
|
|
35
59
|
if (external) {
|
|
36
60
|
//expose it externally
|
|
37
61
|
this.downResolver.addResolver(module.downResolver);
|
|
38
62
|
}
|
|
39
|
-
|
|
40
|
-
|
|
63
|
+
if (NodeWrapper_1.NodeWrapper.isNodeModule(module)) {
|
|
64
|
+
if (external) {
|
|
65
|
+
const wrappedAsNode = NodeWrapper_1.NodeWrapper.wrap(module);
|
|
66
|
+
const attachEmitter = wrappedAsNode.module;
|
|
67
|
+
const detachEmitter = wrappedAsNode.module;
|
|
68
|
+
attachEmitter.on('moduleAttached', (args) => { var _a; return (_a = this.moduleAttachedEventListeners) === null || _a === void 0 ? void 0 : _a.map((listener) => listener(args)); });
|
|
69
|
+
detachEmitter.on('moduleDetached', (args) => { var _a; return (_a = this.moduleDetachedEventListeners) === null || _a === void 0 ? void 0 : _a.map((listener) => listener(args)); });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
41
72
|
});
|
|
42
73
|
}
|
|
43
74
|
detach(address) {
|
|
44
75
|
var _a, _b, _c, _d, _e;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
76
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const module = (0, assert_1.assertEx)(this.registeredModuleMap[address], 'No module found at that address');
|
|
78
|
+
this.privateResolver.removeResolver(module.downResolver);
|
|
79
|
+
//remove inside access
|
|
80
|
+
(_b = (_a = module.upResolver) === null || _a === void 0 ? void 0 : _a.removeResolver) === null || _b === void 0 ? void 0 : _b.call(_a, this.privateResolver);
|
|
81
|
+
//remove outside access
|
|
82
|
+
(_d = (_c = module.upResolver) === null || _c === void 0 ? void 0 : _c.removeResolver) === null || _d === void 0 ? void 0 : _d.call(_c, this.upResolver);
|
|
83
|
+
//remove external exposure
|
|
84
|
+
this.downResolver.removeResolver(module.downResolver);
|
|
85
|
+
const args = { module, name: module.config.name };
|
|
86
|
+
(_e = this.moduleDetachedEventListeners) === null || _e === void 0 ? void 0 : _e.map((listener) => listener(args));
|
|
87
|
+
//notify of all sub node children detach
|
|
88
|
+
const wrapper = module_1.ModuleWrapper.tryWrap(module);
|
|
89
|
+
const notifiedAddresses = [];
|
|
90
|
+
if (wrapper) {
|
|
91
|
+
const notifyOfExistingModules = (node) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
//send attach events for all existing attached modules
|
|
93
|
+
const childModules = yield node.resolve();
|
|
94
|
+
childModules.map((child) => {
|
|
95
|
+
var _a;
|
|
96
|
+
//don't report self
|
|
97
|
+
if (node.address === child.address) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
//prevent loop
|
|
101
|
+
if (notifiedAddresses.includes(child.address)) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
notifiedAddresses.push(child.address);
|
|
105
|
+
(_a = this.moduleDetachedEventListeners) === null || _a === void 0 ? void 0 : _a.map((listener) => listener({ module: child }));
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
yield notifyOfExistingModules(wrapper);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
55
111
|
}
|
|
56
112
|
register(module) {
|
|
57
113
|
(0, assert_1.assertEx)(!this.registeredModuleMap[module.address], `Module already registered at that address[${module.address}]`);
|
|
@@ -69,9 +125,11 @@ class MemoryNode extends AbstractNode_1.AbstractNode {
|
|
|
69
125
|
});
|
|
70
126
|
}
|
|
71
127
|
unregister(module) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
128
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
yield this.detach(module.address);
|
|
130
|
+
delete this.registeredModuleMap[module.address];
|
|
131
|
+
return this;
|
|
132
|
+
});
|
|
75
133
|
}
|
|
76
134
|
resolve(filter) {
|
|
77
135
|
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,
|
|
1
|
+
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/NodeWrapper.js
CHANGED
|
@@ -15,11 +15,15 @@ class NodeWrapper extends module_1.ModuleWrapper {
|
|
|
15
15
|
this._archivist = (_a = this._archivist) !== null && _a !== void 0 ? _a : new archivist_wrapper_1.ArchivistWrapper(this.module);
|
|
16
16
|
return this._archivist;
|
|
17
17
|
}
|
|
18
|
+
static isNodeModule(module) {
|
|
19
|
+
const missingRequiredQueries = this.missingRequiredQueries(module);
|
|
20
|
+
return missingRequiredQueries.length === 0;
|
|
21
|
+
}
|
|
18
22
|
static tryWrap(module, account) {
|
|
19
23
|
if (module) {
|
|
20
24
|
const missingRequiredQueries = this.missingRequiredQueries(module);
|
|
21
25
|
if (missingRequiredQueries.length > 0) {
|
|
22
|
-
console.warn(`Missing queries: ${JSON.stringify(missingRequiredQueries, null, 2)}`)
|
|
26
|
+
//console.warn(`Missing queries: ${JSON.stringify(missingRequiredQueries, null, 2)}`)
|
|
23
27
|
}
|
|
24
28
|
else {
|
|
25
29
|
return new NodeWrapper(module, account);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.js","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,gFAAmF;AACnF,sEAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"NodeWrapper.js","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,gFAAmF;AACnF,sEAAiE;AACjE,gDAA2D;AAC3D,8DAAqE;AACrE,kEAA6D;AAG7D,uCASkB;AAElB,MAAa,WAAY,SAAQ,sBAAyB;IAKxD,IAAI,SAAS;;QACX,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,oCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAAc;QAChC,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAClE,OAAO,sBAAsB,CAAC,MAAM,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,CAAU,OAAO,CAA0C,MAAgB,EAAE,OAAyB;QAC1G,IAAI,MAAM,EAAE;YACV,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAClE,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,qFAAqF;aACtF;iBAAM;gBACL,OAAO,IAAI,WAAW,CAAC,MAAiB,EAAE,OAAO,CAAC,CAAA;aACnD;SACF;IACH,CAAC;IAED,MAAM,CAAU,IAAI,CAA0C,MAAgB,EAAE,OAAyB;QACvG,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,sCAAsC,CAAC,CAAA;IACxF,CAAC;IAEK,MAAM,CAAC,OAAe,EAAE,QAAkB;;YAC9C,MAAM,YAAY,GAAG,gCAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,kCAAwB,EAAE,CAAC,CAAA;YACtH,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACpC,CAAC;KAAA;IAEK,QAAQ;;YACZ,MAAM,YAAY,GAAG,gCAAc,CAAC,KAAK,CAAuB,EAAE,MAAM,EAAE,oCAA0B,EAAE,CAAC,CAAA;YACvG,MAAM,QAAQ,GAAqB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAA,wCAAwB,EAAiB,sCAAa,CAAC,CAAC,CAAA;YACvI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACvC,CAAC;KAAA;IAEK,MAAM,CAAC,OAAe;;YAC1B,MAAM,YAAY,GAAG,gCAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,kCAAwB,EAAE,CAAC,CAAA;YAC5G,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACpC,CAAC;KAAA;IAEK,UAAU;;YACd,MAAM,YAAY,GAAG,gCAAc,CAAC,KAAK,CAAyB,EAAE,MAAM,EAAE,sCAA4B,EAAE,CAAC,CAAA;YAC3G,MAAM,QAAQ,GAAqB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAA,wCAAwB,EAAiB,sCAAa,CAAC,CAAC,CAAA;YACvI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACvC,CAAC;KAAA;;AAlDH,kCAmDC;AAlDiB,2BAAe,GAAG,CAAC,kCAAwB,EAAE,GAAG,sBAAa,CAAC,eAAe,CAAC,CAAA"}
|