@xyo-network/node 2.70.4 → 2.70.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/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +31687 -38980
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +5 -15
- package/src/index.ts +2 -2
- package/dist/cjs/AbstractNode.js +0 -214
- package/dist/cjs/AbstractNode.js.map +0 -1
- package/dist/cjs/MemoryNode.js +0 -186
- package/dist/cjs/MemoryNode.js.map +0 -1
- package/dist/esm/AbstractNode.js +0 -169
- package/dist/esm/AbstractNode.js.map +0 -1
- package/dist/esm/MemoryNode.js +0 -157
- package/dist/esm/MemoryNode.js.map +0 -1
- package/dist/types/AbstractNode.d.ts +0 -33
- package/dist/types/AbstractNode.d.ts.map +0 -1
- package/dist/types/MemoryNode.d.ts +0 -21
- package/dist/types/MemoryNode.d.ts.map +0 -1
- package/src/AbstractNode.ts +0 -242
- package/src/MemoryNode.ts +0 -209
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from '
|
|
1
|
+
export * from '@xyo-network/node-abstract';
|
|
2
|
+
export * from '@xyo-network/node-memory';
|
|
3
3
|
export * from '@xyo-network/node-model';
|
|
4
4
|
export * from '@xyo-network/node-wrapper';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from '
|
|
1
|
+
export * from '@xyo-network/node-abstract';
|
|
2
|
+
export * from '@xyo-network/node-memory';
|
|
3
3
|
export * from '@xyo-network/node-model';
|
|
4
4
|
export * from '@xyo-network/node-wrapper';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA"}
|
package/package.json
CHANGED
|
@@ -10,22 +10,12 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
14
|
-
"@xyo-network/
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/module": "~2.70.4",
|
|
18
|
-
"@xyo-network/module-abstract": "~2.70.4",
|
|
19
|
-
"@xyo-network/module-model": "~2.70.4",
|
|
20
|
-
"@xyo-network/node-model": "~2.70.4",
|
|
21
|
-
"@xyo-network/node-wrapper": "~2.70.4",
|
|
22
|
-
"@xyo-network/payload-builder": "~2.70.4",
|
|
23
|
-
"@xyo-network/payload-model": "~2.70.4",
|
|
24
|
-
"@xyo-network/promise": "~2.70.4",
|
|
25
|
-
"lodash": "^4.17.21"
|
|
13
|
+
"@xyo-network/node-abstract": "~2.70.6",
|
|
14
|
+
"@xyo-network/node-memory": "~2.70.6",
|
|
15
|
+
"@xyo-network/node-model": "~2.70.6",
|
|
16
|
+
"@xyo-network/node-wrapper": "~2.70.6"
|
|
26
17
|
},
|
|
27
18
|
"devDependencies": {
|
|
28
|
-
"@types/lodash": "^4.14.196",
|
|
29
19
|
"@xylabs/ts-scripts-yarn3": "^2.19.0",
|
|
30
20
|
"@xylabs/tsconfig": "^2.19.0",
|
|
31
21
|
"typescript": "^5.1.6"
|
|
@@ -63,5 +53,5 @@
|
|
|
63
53
|
},
|
|
64
54
|
"sideEffects": false,
|
|
65
55
|
"types": "dist/types/index.d.ts",
|
|
66
|
-
"version": "2.70.
|
|
56
|
+
"version": "2.70.6"
|
|
67
57
|
}
|
package/src/index.ts
CHANGED
package/dist/cjs/AbstractNode.js
DELETED
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractNode = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const assert_1 = require("@xylabs/assert");
|
|
6
|
-
const address_payload_plugin_1 = require("@xyo-network/address-payload-plugin");
|
|
7
|
-
const boundwitness_builder_1 = require("@xyo-network/boundwitness-builder");
|
|
8
|
-
const manifest_model_1 = require("@xyo-network/manifest-model");
|
|
9
|
-
const module_abstract_1 = require("@xyo-network/module-abstract");
|
|
10
|
-
const module_model_1 = require("@xyo-network/module-model");
|
|
11
|
-
const node_model_1 = require("@xyo-network/node-model");
|
|
12
|
-
const payload_builder_1 = require("@xyo-network/payload-builder");
|
|
13
|
-
class AbstractNode extends module_abstract_1.AbstractModuleInstance {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.privateResolver = new module_abstract_1.CompositeModuleResolver();
|
|
17
|
-
this.isNode = true;
|
|
18
|
-
}
|
|
19
|
-
get isModuleResolver() {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
get queries() {
|
|
23
|
-
return [node_model_1.NodeAttachQuerySchema, node_model_1.NodeDetachQuerySchema, node_model_1.NodeAttachedQuerySchema, node_model_1.NodeRegisteredQuerySchema, ...super.queries];
|
|
24
|
-
}
|
|
25
|
-
get _queryAccountPaths() {
|
|
26
|
-
return {
|
|
27
|
-
'network.xyo.query.node.attach': '1/1',
|
|
28
|
-
'network.xyo.query.node.attached': '1/2',
|
|
29
|
-
'network.xyo.query.node.detach': '1/3',
|
|
30
|
-
'network.xyo.query.node.registered': '1/4',
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
static isNode(module) {
|
|
34
|
-
return module.isNode;
|
|
35
|
-
}
|
|
36
|
-
attached() {
|
|
37
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
return (yield this.attachedModules()).map((module) => module.address);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
attachedModules() {
|
|
42
|
-
var _a;
|
|
43
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
return (yield ((_a = this.resolve(undefined, { direction: 'down', maxDepth: 2 })) !== null && _a !== void 0 ? _a : [])).filter((module) => module.address !== this.address);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
manifest(ignoreAddresses) {
|
|
48
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
return yield this.manifestHandler(ignoreAddresses);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
register(_module) {
|
|
53
|
-
throw new Error('Method not implemented.');
|
|
54
|
-
}
|
|
55
|
-
registered() {
|
|
56
|
-
throw new Error('Method not implemented.');
|
|
57
|
-
}
|
|
58
|
-
registeredModules() {
|
|
59
|
-
throw new Error('Method not implemented.');
|
|
60
|
-
}
|
|
61
|
-
resolve(nameOrAddressOrFilter, options) {
|
|
62
|
-
const _super = Object.create(null, {
|
|
63
|
-
resolve: { get: () => super.resolve }
|
|
64
|
-
});
|
|
65
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
//checking type of nameOrAddressOrFilter before calling other functions since TS seems
|
|
67
|
-
//to need help here narrowing before the call
|
|
68
|
-
if (typeof nameOrAddressOrFilter === 'string') {
|
|
69
|
-
switch (options === null || options === void 0 ? void 0 : options.visibility) {
|
|
70
|
-
case 'private': {
|
|
71
|
-
return yield this.resolvePrivate(nameOrAddressOrFilter);
|
|
72
|
-
}
|
|
73
|
-
case 'all': {
|
|
74
|
-
return yield this.resolveAll(nameOrAddressOrFilter);
|
|
75
|
-
}
|
|
76
|
-
default: {
|
|
77
|
-
return yield _super.resolve.call(this, nameOrAddressOrFilter, options);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
switch (options === null || options === void 0 ? void 0 : options.visibility) {
|
|
83
|
-
case 'all': {
|
|
84
|
-
return yield this.resolveAll(nameOrAddressOrFilter);
|
|
85
|
-
}
|
|
86
|
-
case 'private': {
|
|
87
|
-
return yield this.resolvePrivate(nameOrAddressOrFilter);
|
|
88
|
-
}
|
|
89
|
-
default: {
|
|
90
|
-
return yield _super.resolve.call(this, nameOrAddressOrFilter, options);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
unregister(_module) {
|
|
97
|
-
throw new Error('Method not implemented.');
|
|
98
|
-
}
|
|
99
|
-
discoverHandler() {
|
|
100
|
-
const _super = Object.create(null, {
|
|
101
|
-
discoverHandler: { get: () => super.discoverHandler }
|
|
102
|
-
});
|
|
103
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
const childMods = yield this.attachedModules();
|
|
105
|
-
const childModAddresses = childMods.map((mod) => new payload_builder_1.PayloadBuilder({ schema: address_payload_plugin_1.AddressSchema }).fields({ address: mod.address, name: mod.config.name }).build());
|
|
106
|
-
return [...(yield _super.discoverHandler.call(this)), ...childModAddresses];
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
manifestHandler(ignoreAddresses = []) {
|
|
110
|
-
const _super = Object.create(null, {
|
|
111
|
-
manifestHandler: { get: () => super.manifestHandler }
|
|
112
|
-
});
|
|
113
|
-
var _a, _b;
|
|
114
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
115
|
-
const manifest = Object.assign(Object.assign({}, (yield _super.manifestHandler.call(this))), { schema: manifest_model_1.NodeManifestPayloadSchema });
|
|
116
|
-
const newIgnoreAddresses = [...ignoreAddresses, this.address];
|
|
117
|
-
const notThisModule = (module) => module.address !== this.address && !ignoreAddresses.includes(module.address);
|
|
118
|
-
const toManifest = (module) => module.manifest(newIgnoreAddresses);
|
|
119
|
-
const privateModules = yield Promise.all((yield this.privateResolver.resolve()).filter(notThisModule).map(toManifest));
|
|
120
|
-
if (privateModules.length > 0) {
|
|
121
|
-
manifest.modules = (_a = manifest.modules) !== null && _a !== void 0 ? _a : {};
|
|
122
|
-
manifest.modules.private = privateModules;
|
|
123
|
-
}
|
|
124
|
-
const publicModules = yield Promise.all((yield this.resolve()).filter(notThisModule).map(toManifest));
|
|
125
|
-
if (publicModules.length > 0) {
|
|
126
|
-
manifest.modules = (_b = manifest.modules) !== null && _b !== void 0 ? _b : {};
|
|
127
|
-
manifest.modules.public = publicModules;
|
|
128
|
-
}
|
|
129
|
-
return manifest;
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
queryHandler(query, payloads, queryConfig) {
|
|
133
|
-
const _super = Object.create(null, {
|
|
134
|
-
queryHandler: { get: () => super.queryHandler }
|
|
135
|
-
});
|
|
136
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
const wrapper = boundwitness_builder_1.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
138
|
-
const queryPayload = yield wrapper.getQuery();
|
|
139
|
-
(0, assert_1.assertEx)(this.queryable(query, payloads, queryConfig));
|
|
140
|
-
const resultPayloads = [];
|
|
141
|
-
switch (queryPayload.schema) {
|
|
142
|
-
case node_model_1.NodeAttachQuerySchema: {
|
|
143
|
-
const address = yield this.attach(queryPayload.nameOrAddress, queryPayload.external);
|
|
144
|
-
if (address) {
|
|
145
|
-
const payload = new payload_builder_1.PayloadBuilder({ schema: address_payload_plugin_1.AddressSchema }).fields({ address }).build();
|
|
146
|
-
resultPayloads.push(payload);
|
|
147
|
-
}
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
150
|
-
case node_model_1.NodeDetachQuerySchema: {
|
|
151
|
-
const address = yield this.detach(queryPayload.nameOrAddress);
|
|
152
|
-
if (address) {
|
|
153
|
-
const payload = new payload_builder_1.PayloadBuilder({ schema: address_payload_plugin_1.AddressSchema }).fields({ address }).build();
|
|
154
|
-
resultPayloads.push(payload);
|
|
155
|
-
}
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
case node_model_1.NodeAttachedQuerySchema: {
|
|
159
|
-
const addresses = yield this.attached();
|
|
160
|
-
for (const address of addresses) {
|
|
161
|
-
const payload = new payload_builder_1.PayloadBuilder({ schema: address_payload_plugin_1.AddressSchema }).fields({ address }).build();
|
|
162
|
-
resultPayloads.push(payload);
|
|
163
|
-
}
|
|
164
|
-
break;
|
|
165
|
-
}
|
|
166
|
-
case node_model_1.NodeRegisteredQuerySchema: {
|
|
167
|
-
const addresses = yield this.registered();
|
|
168
|
-
for (const address of addresses) {
|
|
169
|
-
const payload = new payload_builder_1.PayloadBuilder({ schema: address_payload_plugin_1.AddressSchema }).fields({ address }).build();
|
|
170
|
-
resultPayloads.push(payload);
|
|
171
|
-
}
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
default:
|
|
175
|
-
return yield _super.queryHandler.call(this, query, payloads);
|
|
176
|
-
}
|
|
177
|
-
return resultPayloads;
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
resolveAll(nameOrAddressOrFilter, options) {
|
|
181
|
-
const _super = Object.create(null, {
|
|
182
|
-
resolve: { get: () => super.resolve }
|
|
183
|
-
});
|
|
184
|
-
var _a;
|
|
185
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
186
|
-
switch (typeof nameOrAddressOrFilter) {
|
|
187
|
-
case 'string': {
|
|
188
|
-
return (_a = (yield this.resolvePrivate(nameOrAddressOrFilter, options))) !== null && _a !== void 0 ? _a : (yield _super.resolve.call(this, nameOrAddressOrFilter, options));
|
|
189
|
-
}
|
|
190
|
-
default: {
|
|
191
|
-
return [...(yield this.resolvePrivate(nameOrAddressOrFilter, options)), ...(yield _super.resolve.call(this, nameOrAddressOrFilter, options))].filter(module_model_1.duplicateModules);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
resolvePrivate(nameOrAddressOrFilter, options) {
|
|
197
|
-
var _a;
|
|
198
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
199
|
-
const direction = (_a = options === null || options === void 0 ? void 0 : options.direction) !== null && _a !== void 0 ? _a : 'all';
|
|
200
|
-
const down = direction === 'down' || direction === 'all';
|
|
201
|
-
switch (typeof nameOrAddressOrFilter) {
|
|
202
|
-
case 'string': {
|
|
203
|
-
return down ? yield this.privateResolver.resolve(nameOrAddressOrFilter) : undefined;
|
|
204
|
-
}
|
|
205
|
-
default: {
|
|
206
|
-
return down ? yield this.privateResolver.resolve(nameOrAddressOrFilter) : undefined;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
exports.AbstractNode = AbstractNode;
|
|
213
|
-
AbstractNode.configSchemas = [node_model_1.NodeConfigSchema];
|
|
214
|
-
//# sourceMappingURL=AbstractNode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/MemoryNode.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemoryNode = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const assert_1 = require("@xylabs/assert");
|
|
6
|
-
const node_model_1 = require("@xyo-network/node-model");
|
|
7
|
-
const compact_1 = tslib_1.__importDefault(require("lodash/compact"));
|
|
8
|
-
const AbstractNode_1 = require("./AbstractNode");
|
|
9
|
-
class MemoryNode extends AbstractNode_1.AbstractNode {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.registeredModuleMap = {};
|
|
13
|
-
}
|
|
14
|
-
attach(nameOrAddress, external) {
|
|
15
|
-
var _a;
|
|
16
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
yield this.started('throw');
|
|
18
|
-
return (_a = (yield this.attachUsingAddress(nameOrAddress, external))) !== null && _a !== void 0 ? _a : (yield this.attachUsingName(nameOrAddress, external));
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
detach(nameOrAddress) {
|
|
22
|
-
var _a;
|
|
23
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
yield this.started('throw');
|
|
25
|
-
return (_a = (yield this.detachUsingAddress(nameOrAddress))) !== null && _a !== void 0 ? _a : (yield this.detachUsingName(nameOrAddress));
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
register(module) {
|
|
29
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
yield this.started('throw');
|
|
31
|
-
(0, assert_1.assertEx)(!this.registeredModuleMap[module.address], `Module already registered at that address[${module.address}]`);
|
|
32
|
-
this.registeredModuleMap[module.address] = module;
|
|
33
|
-
const args = { module, name: module.config.name };
|
|
34
|
-
yield this.emit('moduleRegistered', args);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
registered() {
|
|
38
|
-
return Object.keys(this.registeredModuleMap).map((key) => {
|
|
39
|
-
return key;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
registeredModules() {
|
|
43
|
-
return Object.values(this.registeredModuleMap).map((value) => {
|
|
44
|
-
return value;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
unregister(module) {
|
|
48
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
yield this.started('throw');
|
|
50
|
-
yield this.detach(module.address);
|
|
51
|
-
delete this.registeredModuleMap[module.address];
|
|
52
|
-
const args = { module, name: module.config.name };
|
|
53
|
-
yield this.emit('moduleUnregistered', args);
|
|
54
|
-
return this;
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
startHandler() {
|
|
58
|
-
return super.startHandler();
|
|
59
|
-
}
|
|
60
|
-
attachUsingAddress(address, external) {
|
|
61
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
62
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
const existingModule = (yield this.resolve({ address: [address] })).pop();
|
|
64
|
-
(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}]`);
|
|
65
|
-
const module = this.registeredModuleMap[address];
|
|
66
|
-
if (!module) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
const notifiedAddresses = [];
|
|
70
|
-
const getModulesToNotifyAbout = (node) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
//send attach events for all existing attached modules
|
|
72
|
-
const childModules = yield node.resolve(undefined, { direction: 'down' });
|
|
73
|
-
return (0, compact_1.default)(childModules.map((child) => {
|
|
74
|
-
//don't report self
|
|
75
|
-
if (node.address === child.address) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
//prevent loop
|
|
79
|
-
if (notifiedAddresses.includes(child.address)) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
notifiedAddresses.push(child.address);
|
|
83
|
-
return child;
|
|
84
|
-
}));
|
|
85
|
-
});
|
|
86
|
-
const notificationList = yield getModulesToNotifyAbout(module);
|
|
87
|
-
//give it private access
|
|
88
|
-
(_c = (_b = module.upResolver).addResolver) === null || _c === void 0 ? void 0 : _c.call(_b, this.privateResolver);
|
|
89
|
-
//give it public access
|
|
90
|
-
(_e = (_d = module.upResolver).addResolver) === null || _e === void 0 ? void 0 : _e.call(_d, this.downResolver);
|
|
91
|
-
//give it outside access
|
|
92
|
-
(_g = (_f = module.upResolver).addResolver) === null || _g === void 0 ? void 0 : _g.call(_f, this.upResolver);
|
|
93
|
-
if (external) {
|
|
94
|
-
//expose it externally
|
|
95
|
-
this.downResolver.addResolver(module.downResolver);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
this.privateResolver.addResolver(module.downResolver);
|
|
99
|
-
}
|
|
100
|
-
const args = { module, name: module.config.name };
|
|
101
|
-
yield this.emit('moduleAttached', args);
|
|
102
|
-
if ((0, node_model_1.isNodeModule)(module)) {
|
|
103
|
-
if (external) {
|
|
104
|
-
const attachedListener = (args) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield this.emit('moduleAttached', args); });
|
|
105
|
-
const detachedListener = (args) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield this.emit('moduleDetached', args); });
|
|
106
|
-
module.on('moduleAttached', attachedListener);
|
|
107
|
-
module.on('moduleDetached', detachedListener);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
const notifyOfExistingModules = (childModules) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
yield Promise.all(childModules.map((child) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
112
|
-
const args = { module: child, name: child.config.name };
|
|
113
|
-
yield this.emit('moduleAttached', args);
|
|
114
|
-
})));
|
|
115
|
-
});
|
|
116
|
-
yield notifyOfExistingModules(notificationList);
|
|
117
|
-
return address;
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
attachUsingName(name, external) {
|
|
121
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
const address = this.moduleAddressFromName(name);
|
|
123
|
-
if (address) {
|
|
124
|
-
return yield this.attachUsingAddress(address, external);
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
detachUsingAddress(address) {
|
|
129
|
-
var _a, _b, _c, _d;
|
|
130
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
131
|
-
const module = this.registeredModuleMap[address];
|
|
132
|
-
if (!module) {
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
//remove inside access
|
|
136
|
-
(_b = (_a = module.upResolver) === null || _a === void 0 ? void 0 : _a.removeResolver) === null || _b === void 0 ? void 0 : _b.call(_a, this.privateResolver);
|
|
137
|
-
//remove outside access
|
|
138
|
-
(_d = (_c = module.upResolver) === null || _c === void 0 ? void 0 : _c.removeResolver) === null || _d === void 0 ? void 0 : _d.call(_c, this.upResolver);
|
|
139
|
-
//remove external exposure
|
|
140
|
-
this.downResolver.removeResolver(module.downResolver);
|
|
141
|
-
const args = { module, name: module.config.name };
|
|
142
|
-
yield this.emit('moduleDetached', args);
|
|
143
|
-
//notify of all sub node children detach
|
|
144
|
-
const notifiedAddresses = [];
|
|
145
|
-
if ((0, node_model_1.isNodeModule)(module)) {
|
|
146
|
-
const notifyOfExistingModules = (node) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
147
|
-
//send attach events for all existing attached modules
|
|
148
|
-
const childModules = yield node.resolve(undefined, { direction: 'down' });
|
|
149
|
-
yield Promise.all(childModules.map((child) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
150
|
-
//don't report self
|
|
151
|
-
if (node.address === child.address) {
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
//prevent loop
|
|
155
|
-
if (notifiedAddresses.includes(child.address)) {
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
notifiedAddresses.push(child.address);
|
|
159
|
-
yield this.emit('moduleDetached', { module: child });
|
|
160
|
-
})));
|
|
161
|
-
});
|
|
162
|
-
yield notifyOfExistingModules(module);
|
|
163
|
-
}
|
|
164
|
-
return address;
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
detachUsingName(name) {
|
|
168
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
169
|
-
const address = this.moduleAddressFromName(name);
|
|
170
|
-
if (address) {
|
|
171
|
-
return yield this.detachUsingAddress(address);
|
|
172
|
-
}
|
|
173
|
-
return;
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
moduleAddressFromName(name) {
|
|
177
|
-
var _a;
|
|
178
|
-
const address = (_a = Object.values(this.registeredModuleMap).find((value) => {
|
|
179
|
-
return value.config.name === name;
|
|
180
|
-
}, undefined)) === null || _a === void 0 ? void 0 : _a.address;
|
|
181
|
-
return address;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
exports.MemoryNode = MemoryNode;
|
|
185
|
-
MemoryNode.configSchemas = [node_model_1.NodeConfigSchema];
|
|
186
|
-
//# sourceMappingURL=MemoryNode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,wDAAyI;AACzI,qEAAoC;AAEpC,iDAA6C;AAI7C,MAAa,UACX,SAAQ,2BAAiC;IAD3C;;QAMU,wBAAmB,GAAmC,EAAE,CAAA;IAiMlE,CAAC;IA/LgB,MAAM,CAAC,aAAqB,EAAE,QAAkB;;;YAC7D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC3B,OAAO,MAAA,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,mCAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;;KACzH;IAEc,MAAM,CAAC,aAAqB;;;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC3B,OAAO,MAAA,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,mCAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAA;;KACrG;IAEc,QAAQ,CAAC,MAAsB;;YAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC3B,IAAA,iBAAQ,EAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,6CAA6C,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;YACnH,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;YACjD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;KAAA;IAEQ,UAAU;QACjB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACvD,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAEc,UAAU,CAAC,MAAsB;;YAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACjC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC/C,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;YAC3C,OAAO,IAAI,CAAA;QACb,CAAC;KAAA;IAEkB,YAAY;QAC7B,OAAO,KAAK,CAAC,YAAY,EAAE,CAAA;IAC7B,CAAC;IAEa,kBAAkB,CAAC,OAAe,EAAE,QAAkB;;;YAClE,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YACzE,IAAA,iBAAQ,EAAC,CAAC,cAAc,EAAE,WAAW,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,CAAC,IAAI,mCAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,kCAAkC,OAAO,GAAG,CAAC,CAAA;YACxI,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAEhD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAM;aACP;YAED,MAAM,iBAAiB,GAAa,EAAE,CAAA;YAEtC,MAAM,uBAAuB,GAAG,CAAO,IAAoB,EAAE,EAAE;gBAC7D,sDAAsD;gBACtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;gBACzE,OAAO,IAAA,iBAAO,EACZ,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACzB,mBAAmB;oBACnB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE;wBAClC,OAAM;qBACP;oBAED,cAAc;oBACd,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;wBAC7C,OAAM;qBACP;oBAED,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;oBAErC,OAAO,KAAK,CAAA;gBACd,CAAC,CAAC,CACH,CAAA;YACH,CAAC,CAAA,CAAA;YAED,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAA;YAE9D,wBAAwB;YACxB,MAAA,MAAA,MAAM,CAAC,UAAU,EAAC,WAAW,mDAAG,IAAI,CAAC,eAAe,CAAC,CAAA;YAErD,uBAAuB;YACvB,MAAA,MAAA,MAAM,CAAC,UAAU,EAAC,WAAW,mDAAG,IAAI,CAAC,YAAuC,CAAC,CAAA;YAE7E,wBAAwB;YACxB,MAAA,MAAA,MAAM,CAAC,UAAU,EAAC,WAAW,mDAAG,IAAI,CAAC,UAAU,CAAC,CAAA;YAEhD,IAAI,QAAQ,EAAE;gBACZ,sBAAsB;gBACtB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,YAA8B,CAAC,CAAA;aACrE;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,YAA8B,CAAC,CAAA;aACxE;YAED,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;YAEvC,IAAI,IAAA,yBAAY,EAAC,MAAM,CAAC,EAAE;gBACxB,IAAI,QAAQ,EAAE;oBACZ,MAAM,gBAAgB,GAAgD,CAAO,IAAkC,EAAE,EAAE,wDACjH,OAAA,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA,GAAA,CAAA;oBAEzC,MAAM,gBAAgB,GAAgD,CAAO,IAAkC,EAAE,EAAE,wDACjH,OAAA,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA,GAAA,CAAA;oBAEzC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;oBAC7C,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;iBAC9C;aACF;YAED,MAAM,uBAAuB,GAAG,CAAO,YAAsB,EAAE,EAAE;gBAC/D,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE;oBAC/B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;oBACvD,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;gBACzC,CAAC,CAAA,CAAC,CACH,CAAA;YACH,CAAC,CAAA,CAAA;YAED,MAAM,uBAAuB,CAAC,gBAAgB,CAAC,CAAA;YAE/C,OAAO,OAAO,CAAA;;KACf;IAEa,eAAe,CAAC,IAAY,EAAE,QAAkB;;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAChD,IAAI,OAAO,EAAE;gBACX,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;aACxD;QACH,CAAC;KAAA;IAEa,kBAAkB,CAAC,OAAe;;;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAEhD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAM;aACP;YAED,sBAAsB;YACtB,MAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,cAAc,mDAAG,IAAI,CAAC,eAAe,CAAC,CAAA;YAEzD,uBAAuB;YACvB,MAAA,MAAA,MAAM,CAAC,UAAU,0CAAE,cAAc,mDAAG,IAAI,CAAC,UAAU,CAAC,CAAA;YAEpD,0BAA0B;YAC1B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,YAA8B,CAAC,CAAA;YAEvE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;YAEvC,wCAAwC;YACxC,MAAM,iBAAiB,GAAa,EAAE,CAAA;YACtC,IAAI,IAAA,yBAAY,EAAC,MAAM,CAAC,EAAE;gBACxB,MAAM,uBAAuB,GAAG,CAAO,IAAoB,EAAE,EAAE;oBAC7D,sDAAsD;oBACtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;oBACzE,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE;wBAC/B,mBAAmB;wBACnB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE;4BAClC,OAAM;yBACP;wBAED,cAAc;wBACd,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;4BAC7C,OAAM;yBACP;wBACD,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;wBACrC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;oBACtD,CAAC,CAAA,CAAC,CACH,CAAA;gBACH,CAAC,CAAA,CAAA;gBACD,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAA;aACtC;YACD,OAAO,OAAO,CAAA;;KACf;IAEa,eAAe,CAAC,IAAY;;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAChD,IAAI,OAAO,EAAE;gBACX,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;aAC9C;YACD,OAAM;QACR,CAAC;KAAA;IAEO,qBAAqB,CAAC,IAAY;;QACxC,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACrE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAA;QACnC,CAAC,EAAE,SAAS,CAAC,0CAAE,OAAO,CAAA;QACtB,OAAO,OAAO,CAAA;IAChB,CAAC;;AAtMH,gCAuMC;AAnMiB,wBAAa,GAAG,CAAC,6BAAgB,CAAC,AAArB,CAAqB"}
|