@xyo-network/node 2.47.8 → 2.47.10
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/AbstractNode.js +23 -0
- package/dist/cjs/AbstractNode.js.map +1 -1
- package/dist/cjs/Events/ModuleAttached.js +2 -0
- package/dist/cjs/Events/ModuleAttached.js.map +1 -1
- package/dist/cjs/Events/ModuleDetached.js +5 -0
- package/dist/cjs/Events/ModuleDetached.js.map +1 -0
- package/dist/cjs/Events/ModuleRegistered.js +5 -0
- package/dist/cjs/Events/ModuleRegistered.js.map +1 -0
- package/dist/cjs/Events/index.js +2 -1
- package/dist/cjs/Events/index.js.map +1 -1
- package/dist/cjs/MemoryNode.js +1 -16
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/docs.json +23499 -15366
- package/dist/esm/AbstractNode.js +23 -1
- package/dist/esm/AbstractNode.js.map +1 -1
- package/dist/esm/Events/ModuleAttached.js +1 -1
- package/dist/esm/Events/ModuleAttached.js.map +1 -1
- package/dist/esm/Events/ModuleDetached.js +2 -0
- package/dist/esm/Events/ModuleDetached.js.map +1 -0
- package/dist/esm/Events/ModuleRegistered.js +2 -0
- package/dist/esm/Events/ModuleRegistered.js.map +1 -0
- package/dist/esm/Events/index.js +2 -1
- package/dist/esm/Events/index.js.map +1 -1
- package/dist/esm/MemoryNode.js +1 -15
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/types/AbstractNode.d.ts +12 -3
- package/dist/types/AbstractNode.d.ts.map +1 -1
- package/dist/types/Events/ModuleAttached.d.ts +5 -12
- package/dist/types/Events/ModuleAttached.d.ts.map +1 -1
- package/dist/types/Events/ModuleDetached.d.ts +6 -0
- package/dist/types/Events/ModuleDetached.d.ts.map +1 -0
- package/dist/types/Events/ModuleRegistered.d.ts +6 -0
- package/dist/types/Events/ModuleRegistered.d.ts.map +1 -0
- package/dist/types/Events/index.d.ts +2 -1
- package/dist/types/Events/index.d.ts.map +1 -1
- package/dist/types/MemoryNode.d.ts +1 -7
- package/dist/types/MemoryNode.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/AbstractNode.ts +50 -2
- package/src/Events/ModuleAttached.ts +5 -12
- package/src/Events/ModuleDetached.ts +8 -0
- package/src/Events/ModuleRegistered.ts +8 -0
- package/src/Events/index.ts +2 -1
- package/src/MemoryNode.ts +4 -35
- package/dist/cjs/Events/ResolverChanged.js +0 -3
- package/dist/cjs/Events/ResolverChanged.js.map +0 -1
- package/dist/esm/Events/ResolverChanged.js +0 -2
- package/dist/esm/Events/ResolverChanged.js.map +0 -1
- package/dist/types/Events/ResolverChanged.d.ts +0 -7
- package/dist/types/Events/ResolverChanged.d.ts.map +0 -1
- package/src/Events/ResolverChanged.ts +0 -8
- package/src/spec/MemoryNode.spec.ts +0 -410
- package/src/spec/__snapshots__/MemoryNode.spec.ts.snap +0 -53
package/dist/esm/AbstractNode.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { Account } from '@xyo-network/account';
|
|
3
3
|
import { AddressSchema } from '@xyo-network/address-payload-plugin';
|
|
4
|
-
import { AbstractModule, CompositeModuleResolver, QueryBoundWitnessWrapper, XyoErrorBuilder, } from '@xyo-network/module';
|
|
4
|
+
import { AbstractModule, CompositeModuleResolver, ModuleQueriedEvent, QueryBoundWitnessWrapper, XyoErrorBuilder, } from '@xyo-network/module';
|
|
5
5
|
import { XyoPayloadBuilder } from '@xyo-network/payload-builder';
|
|
6
6
|
import { NodeConfigSchema } from './Config';
|
|
7
|
+
import { ModuleAttachedEvent, ModuleDetachedEvent, ModuleRegisteredEvent, } from './Events';
|
|
7
8
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema } from './Queries';
|
|
8
9
|
export class AbstractNode extends AbstractModule {
|
|
9
10
|
static configSchema = NodeConfigSchema;
|
|
10
11
|
internalResolver = new CompositeModuleResolver();
|
|
12
|
+
moduleAttachedEventListeners = [];
|
|
13
|
+
moduleDetachedEventListeners = [];
|
|
14
|
+
moduleQueriedEventListeners = [];
|
|
15
|
+
moduleRegisteredEventListeners = [];
|
|
11
16
|
isNode = true;
|
|
12
17
|
constructor(params) {
|
|
13
18
|
super(params);
|
|
@@ -35,6 +40,23 @@ export class AbstractNode extends AbstractModule {
|
|
|
35
40
|
const childModAddresses = childMods.map((mod) => new XyoPayloadBuilder({ schema: AddressSchema }).fields({ address: mod.address, name: mod.config.name }).build());
|
|
36
41
|
return [...(await super.discover()), ...childModAddresses];
|
|
37
42
|
}
|
|
43
|
+
on(event, listener) {
|
|
44
|
+
switch (event) {
|
|
45
|
+
case ModuleAttachedEvent:
|
|
46
|
+
this.moduleAttachedEventListeners?.push(listener);
|
|
47
|
+
break;
|
|
48
|
+
case ModuleDetachedEvent:
|
|
49
|
+
this.moduleDetachedEventListeners?.push(listener);
|
|
50
|
+
break;
|
|
51
|
+
case ModuleRegisteredEvent:
|
|
52
|
+
this.moduleRegisteredEventListeners?.push(listener);
|
|
53
|
+
break;
|
|
54
|
+
case ModuleQueriedEvent:
|
|
55
|
+
this.moduleQueriedEventListeners?.push(listener);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
38
60
|
async query(query, payloads, queryConfig) {
|
|
39
61
|
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
40
62
|
const typedQuery = wrapper.query.payload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EACL,cAAc,EACd,uBAAuB,
|
|
1
|
+
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const ModuleAttachedEvent = 'moduleAttached';
|
|
2
2
|
//# sourceMappingURL=ModuleAttached.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleAttached.js","sourceRoot":"","sources":["../../../src/Events/ModuleAttached.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ModuleAttached.js","sourceRoot":"","sources":["../../../src/Events/ModuleAttached.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAwB,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleDetached.js","sourceRoot":"","sources":["../../../src/Events/ModuleDetached.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAwB,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleRegistered.js","sourceRoot":"","sources":["../../../src/Events/ModuleRegistered.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAA0B,kBAAkB,CAAA"}
|
package/dist/esm/Events/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA"}
|
package/dist/esm/MemoryNode.js
CHANGED
|
@@ -6,10 +6,7 @@ import { AbstractNode } from './AbstractNode';
|
|
|
6
6
|
import { NodeConfigSchema } from './Config';
|
|
7
7
|
export class MemoryNode extends AbstractNode {
|
|
8
8
|
static configSchema = NodeConfigSchema;
|
|
9
|
-
moduleAttachedEventListeners = [];
|
|
10
|
-
moduleDetachedEventListeners = [];
|
|
11
9
|
registeredModuleMap = new Map();
|
|
12
|
-
resolverChangedEventListeners = [];
|
|
13
10
|
static async create(params) {
|
|
14
11
|
return (await super.create(params));
|
|
15
12
|
}
|
|
@@ -43,17 +40,6 @@ export class MemoryNode extends AbstractNode {
|
|
|
43
40
|
const args = { module, name: module.config.name };
|
|
44
41
|
this.moduleDetachedEventListeners?.map((listener) => listener(args));
|
|
45
42
|
}
|
|
46
|
-
on(event, listener) {
|
|
47
|
-
switch (event) {
|
|
48
|
-
case 'moduleAttached':
|
|
49
|
-
this.moduleAttachedEventListeners?.push(listener);
|
|
50
|
-
break;
|
|
51
|
-
case 'moduleResolverChanged':
|
|
52
|
-
this.resolverChangedEventListeners?.push(listener);
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
return this;
|
|
56
|
-
}
|
|
57
43
|
register(module) {
|
|
58
44
|
assertEx(!this.registeredModuleMap.get(module.address), `Module already registered at that address[${module.address}]`);
|
|
59
45
|
this.registeredModuleMap.set(module.address, module);
|
|
@@ -75,7 +61,7 @@ export class MemoryNode extends AbstractNode {
|
|
|
75
61
|
const local = this.resolver?.resolve(filter) || [];
|
|
76
62
|
const resolved = await Promise.allSettled([internal, external, local]);
|
|
77
63
|
const errors = resolved.filter(rejected).map((r) => Error(r.reason));
|
|
78
|
-
if (errors) {
|
|
64
|
+
if (errors.length) {
|
|
79
65
|
this.logger?.error(`Resolve Errors: ${JSON.stringify(errors, null, 2)}`);
|
|
80
66
|
}
|
|
81
67
|
return resolved
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { AbstractModule, CompositeModuleResolver, Module, ModuleConfig, ModuleConstructable, ModuleFilter, ModuleParams, ModuleQueryResult, ModuleWrapper, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
1
|
+
import { AbstractModule, CompositeModuleResolver, EventListener, Module, ModuleConfig, ModuleConstructable, ModuleFilter, ModuleParams, ModuleQueriedEvent, ModuleQueriedEventArgs, ModuleQueriedEventEmitter, ModuleQueryResult, ModuleWrapper, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
2
2
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
3
3
|
import { Promisable } from '@xyo-network/promise';
|
|
4
4
|
import { NodeConfig } from './Config';
|
|
5
|
+
import { ModuleAttachedEvent, ModuleAttachedEventArgs, ModuleAttachedEventEmitter, ModuleDetachedEvent, ModuleDetachedEventArgs, ModuleDetachedEventEmitter, ModuleRegisteredEvent, ModuleRegisteredEventArgs, ModuleRegisteredEventEmitter } from './Events';
|
|
5
6
|
import { NodeModule } from './Node';
|
|
6
7
|
export type AbstractNodeParams<TConfig extends NodeConfig = NodeConfig> = ModuleParams<TConfig, {
|
|
7
8
|
internalResolver?: CompositeModuleResolver;
|
|
8
9
|
}>;
|
|
9
|
-
export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> extends AbstractModule<TConfig> implements NodeModule {
|
|
10
|
+
export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> extends AbstractModule<TConfig> implements NodeModule, ModuleAttachedEventEmitter, ModuleDetachedEventEmitter, ModuleRegisteredEventEmitter, ModuleQueriedEventEmitter {
|
|
10
11
|
static readonly configSchema: "network.xyo.node.config";
|
|
11
|
-
protected internalResolver: CompositeModuleResolver<Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
12
|
+
protected readonly internalResolver: CompositeModuleResolver<Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
12
13
|
name?: string | undefined;
|
|
13
14
|
security?: {
|
|
14
15
|
allowAnonymous?: boolean | undefined;
|
|
@@ -18,6 +19,10 @@ export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConf
|
|
|
18
19
|
} & {
|
|
19
20
|
schema: string;
|
|
20
21
|
}>>;
|
|
22
|
+
protected readonly moduleAttachedEventListeners: EventListener<ModuleAttachedEventArgs>[];
|
|
23
|
+
protected readonly moduleDetachedEventListeners: EventListener<ModuleDetachedEventArgs>[];
|
|
24
|
+
protected readonly moduleQueriedEventListeners: EventListener<ModuleQueriedEventArgs>[];
|
|
25
|
+
protected readonly moduleRegisteredEventListeners: EventListener<ModuleRegisteredEventArgs>[];
|
|
21
26
|
private readonly isNode;
|
|
22
27
|
protected constructor(params: AbstractNodeParams<TConfig>);
|
|
23
28
|
get isModuleResolver(): boolean;
|
|
@@ -27,6 +32,10 @@ export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConf
|
|
|
27
32
|
attached(): Promise<string[]>;
|
|
28
33
|
attachedModules(): Promise<Module[]>;
|
|
29
34
|
discover(): Promise<XyoPayload[]>;
|
|
35
|
+
on(event: ModuleQueriedEvent, listener: (args: ModuleQueriedEventArgs) => void): this;
|
|
36
|
+
on(event: ModuleAttachedEvent, listener: (args: ModuleAttachedEventArgs) => void): this;
|
|
37
|
+
on(event: ModuleDetachedEvent, listener: (args: ModuleDetachedEventArgs) => void): this;
|
|
38
|
+
on(event: ModuleRegisteredEvent, listener: (args: ModuleRegisteredEventArgs) => void): this;
|
|
30
39
|
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
31
40
|
register(_module: Module): Promisable<this>;
|
|
32
41
|
registered(): Promisable<string[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EAGb,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGnC,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,YAAY,CACpF,OAAO,EACP;IACE,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;CAC3C,CACF,CAAA;AAED,8BAAsB,YAAY,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EAGb,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AACvD,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGnC,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,YAAY,CACpF,OAAO,EACP;IACE,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;CAC3C,CACF,CAAA;AAED,8BAAsB,YAAY,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CACxE,SAAQ,cAAc,CAAC,OAAO,CAC9B,YAAW,UAAU,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,yBAAyB;IAEtI,gBAAyB,YAAY,4BAAmB;IAExD,SAAS,CAAC,QAAQ,CAAC,gBAAgB;;;;;;;;;QAAgC;IAEnE,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAAE,CAAK;IAC9F,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAAE,CAAK;IAC9F,SAAS,CAAC,QAAQ,CAAC,2BAA2B,EAAE,aAAa,CAAC,sBAAsB,CAAC,EAAE,CAAK;IAC5F,SAAS,CAAC,QAAQ,CAAC,8BAA8B,EAAE,aAAa,CAAC,yBAAyB,CAAC,EAAE,CAAK;IAElG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAE9B,SAAS,aAAa,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC;IAIzD,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;IAIvB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAShD,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,GAAG,IAAI;IACrF,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,GAAG,IAAI;IACvF,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,GAAG,IAAI;IACvF,EAAE,CAAC,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,GAAG,IAAI;IAsB5E,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EACrH,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,EACvB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;IA0C7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;IAI3C,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIlC,iBAAiB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAI1B,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhE;;;;;;;;;;OAUG;IACG,cAAc,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,EAC1E,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,EACvC,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC;IAIA,KAAK;IAKpB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;IAI7C,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;IACtE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;CACnD;AAED,2CAA2C;AAC3C,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,YAAY,CAAC,OAAO,CAAC;CAAG"}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import { ModuleEventEmitter } from '@xyo-network/module';
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export interface ModuleDetachedEventArgs {
|
|
8
|
-
module: Module;
|
|
9
|
-
name?: string;
|
|
10
|
-
}
|
|
11
|
-
export type ModuleAttachedEventEmitter = ModuleEventEmitter<'moduleAttached', ModuleAttachedEventArgs>;
|
|
12
|
-
export type ModuleDetachedEventEmitter = ModuleEventEmitter<'moduleDetached', ModuleDetachedEventArgs>;
|
|
1
|
+
import { ModuleEventArgs, ModuleEventEmitter } from '@xyo-network/module';
|
|
2
|
+
export type ModuleAttachedEvent = 'moduleAttached';
|
|
3
|
+
export declare const ModuleAttachedEvent: ModuleAttachedEvent;
|
|
4
|
+
export type ModuleAttachedEventArgs = ModuleEventArgs;
|
|
5
|
+
export type ModuleAttachedEventEmitter = ModuleEventEmitter<ModuleAttachedEvent, ModuleAttachedEventArgs>;
|
|
13
6
|
//# sourceMappingURL=ModuleAttached.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleAttached.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleAttached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ModuleAttached.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleAttached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AAClD,eAAO,MAAM,mBAAmB,EAAE,mBAAsC,CAAA;AAExE,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAA;AAErD,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ModuleEventArgs, ModuleEventEmitter } from '@xyo-network/module';
|
|
2
|
+
export type ModuleDetachedEvent = 'moduleDetached';
|
|
3
|
+
export declare const ModuleDetachedEvent: ModuleDetachedEvent;
|
|
4
|
+
export type ModuleDetachedEventArgs = ModuleEventArgs;
|
|
5
|
+
export type ModuleDetachedEventEmitter = ModuleEventEmitter<ModuleDetachedEvent, ModuleDetachedEventArgs>;
|
|
6
|
+
//# sourceMappingURL=ModuleDetached.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleDetached.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleDetached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AAClD,eAAO,MAAM,mBAAmB,EAAE,mBAAsC,CAAA;AAExE,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAA;AAErD,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ModuleEventArgs, ModuleEventEmitter } from '@xyo-network/module';
|
|
2
|
+
export type ModuleRegisteredEvent = 'moduleRegistered';
|
|
3
|
+
export declare const ModuleRegisteredEvent: ModuleRegisteredEvent;
|
|
4
|
+
export type ModuleRegisteredEventArgs = ModuleEventArgs;
|
|
5
|
+
export type ModuleRegisteredEventEmitter = ModuleEventEmitter<ModuleRegisteredEvent, ModuleRegisteredEventArgs>;
|
|
6
|
+
//# sourceMappingURL=ModuleRegistered.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleRegistered.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleRegistered.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAA;AACtD,eAAO,MAAM,qBAAqB,EAAE,qBAA0C,CAAA;AAE9E,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAA;AAEvD,MAAM,MAAM,4BAA4B,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import { Module, ModuleFilter } from '@xyo-network/module';
|
|
2
2
|
import { AbstractNode, AbstractNodeParams } from './AbstractNode';
|
|
3
3
|
import { NodeConfig } from './Config';
|
|
4
|
-
import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter, ModuleResolverChangedEventArgs, ResolverChangedEventEmitter } from './Events';
|
|
5
4
|
export type MemoryNodeParams<TConfig extends NodeConfig = NodeConfig> = AbstractNodeParams<TConfig>;
|
|
6
|
-
export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig> extends AbstractNode<TConfig>
|
|
5
|
+
export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig> extends AbstractNode<TConfig> {
|
|
7
6
|
static configSchema: "network.xyo.node.config";
|
|
8
|
-
private readonly moduleAttachedEventListeners;
|
|
9
|
-
private readonly moduleDetachedEventListeners;
|
|
10
7
|
private registeredModuleMap;
|
|
11
|
-
private readonly resolverChangedEventListeners;
|
|
12
8
|
static create(params?: Partial<MemoryNodeParams>): Promise<MemoryNode>;
|
|
13
9
|
attach(address: string, external?: boolean): Promise<void>;
|
|
14
10
|
detach(address: string): void;
|
|
15
|
-
on(event: 'moduleAttached', listener: (args: ModuleAttachedEventArgs) => void): this;
|
|
16
|
-
on(event: 'moduleResolverChanged', listener: (args: ModuleResolverChangedEventArgs) => void): this;
|
|
17
11
|
register(module: Module): this;
|
|
18
12
|
registered(): string[];
|
|
19
13
|
registeredModules(): Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AAEvD,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAA;AAEnG,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,YAAY,CAAC,OAAO,CAAC;IAC5F,OAAgB,YAAY,4BAAmB;IAE/C,OAAO,CAAC,mBAAmB,CAA4B;WAEjC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAItE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO;IAwBhD,MAAM,CAAC,OAAO,EAAE,MAAM;IAkBtB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAMvB,UAAU;IAMV,iBAAiB;;;;;;;;;;IAMX,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBvD,UAAU,CAAC,MAAM,EAAE,MAAM;CAKnC"}
|
package/package.json
CHANGED
|
@@ -13,19 +13,19 @@
|
|
|
13
13
|
"@xylabs/assert": "^2.7.1",
|
|
14
14
|
"@xylabs/exists": "^2.7.1",
|
|
15
15
|
"@xylabs/promise": "^2.7.1",
|
|
16
|
-
"@xyo-network/account": "^2.47.
|
|
17
|
-
"@xyo-network/address-payload-plugin": "^2.47.
|
|
18
|
-
"@xyo-network/archivist-wrapper": "^2.47.
|
|
19
|
-
"@xyo-network/module": "^2.47.
|
|
20
|
-
"@xyo-network/module-model": "^2.47.
|
|
21
|
-
"@xyo-network/payload-builder": "^2.47.
|
|
22
|
-
"@xyo-network/payload-model": "^2.47.
|
|
23
|
-
"@xyo-network/payload-wrapper": "^2.47.
|
|
24
|
-
"@xyo-network/promise": "^2.47.
|
|
16
|
+
"@xyo-network/account": "^2.47.10",
|
|
17
|
+
"@xyo-network/address-payload-plugin": "^2.47.10",
|
|
18
|
+
"@xyo-network/archivist-wrapper": "^2.47.10",
|
|
19
|
+
"@xyo-network/module": "^2.47.10",
|
|
20
|
+
"@xyo-network/module-model": "^2.47.10",
|
|
21
|
+
"@xyo-network/payload-builder": "^2.47.10",
|
|
22
|
+
"@xyo-network/payload-model": "^2.47.10",
|
|
23
|
+
"@xyo-network/payload-wrapper": "^2.47.10",
|
|
24
|
+
"@xyo-network/promise": "^2.47.10"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@xylabs/ts-scripts-yarn3": "^2.
|
|
28
|
-
"@xylabs/tsconfig": "^2.
|
|
27
|
+
"@xylabs/ts-scripts-yarn3": "^2.15.0",
|
|
28
|
+
"@xylabs/tsconfig": "^2.15.0",
|
|
29
29
|
"typescript": "^4.9.5"
|
|
30
30
|
},
|
|
31
31
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
},
|
|
62
62
|
"sideEffects": false,
|
|
63
63
|
"types": "dist/types/index.d.ts",
|
|
64
|
-
"version": "2.47.
|
|
64
|
+
"version": "2.47.10"
|
|
65
65
|
}
|
package/src/AbstractNode.ts
CHANGED
|
@@ -4,11 +4,15 @@ import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plug
|
|
|
4
4
|
import {
|
|
5
5
|
AbstractModule,
|
|
6
6
|
CompositeModuleResolver,
|
|
7
|
+
EventListener,
|
|
7
8
|
Module,
|
|
8
9
|
ModuleConfig,
|
|
9
10
|
ModuleConstructable,
|
|
10
11
|
ModuleFilter,
|
|
11
12
|
ModuleParams,
|
|
13
|
+
ModuleQueriedEvent,
|
|
14
|
+
ModuleQueriedEventArgs,
|
|
15
|
+
ModuleQueriedEventEmitter,
|
|
12
16
|
ModuleQueryResult,
|
|
13
17
|
ModuleWrapper,
|
|
14
18
|
QueryBoundWitnessWrapper,
|
|
@@ -20,6 +24,17 @@ import { XyoPayload } from '@xyo-network/payload-model'
|
|
|
20
24
|
import { Promisable } from '@xyo-network/promise'
|
|
21
25
|
|
|
22
26
|
import { NodeConfig, NodeConfigSchema } from './Config'
|
|
27
|
+
import {
|
|
28
|
+
ModuleAttachedEvent,
|
|
29
|
+
ModuleAttachedEventArgs,
|
|
30
|
+
ModuleAttachedEventEmitter,
|
|
31
|
+
ModuleDetachedEvent,
|
|
32
|
+
ModuleDetachedEventArgs,
|
|
33
|
+
ModuleDetachedEventEmitter,
|
|
34
|
+
ModuleRegisteredEvent,
|
|
35
|
+
ModuleRegisteredEventArgs,
|
|
36
|
+
ModuleRegisteredEventEmitter,
|
|
37
|
+
} from './Events'
|
|
23
38
|
import { NodeModule } from './Node'
|
|
24
39
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeQuery, XyoNodeRegisteredQuerySchema } from './Queries'
|
|
25
40
|
|
|
@@ -30,10 +45,18 @@ export type AbstractNodeParams<TConfig extends NodeConfig = NodeConfig> = Module
|
|
|
30
45
|
}
|
|
31
46
|
>
|
|
32
47
|
|
|
33
|
-
export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig>
|
|
48
|
+
export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig>
|
|
49
|
+
extends AbstractModule<TConfig>
|
|
50
|
+
implements NodeModule, ModuleAttachedEventEmitter, ModuleDetachedEventEmitter, ModuleRegisteredEventEmitter, ModuleQueriedEventEmitter
|
|
51
|
+
{
|
|
34
52
|
static override readonly configSchema = NodeConfigSchema
|
|
35
53
|
|
|
36
|
-
protected internalResolver = new CompositeModuleResolver()
|
|
54
|
+
protected readonly internalResolver = new CompositeModuleResolver()
|
|
55
|
+
|
|
56
|
+
protected readonly moduleAttachedEventListeners: EventListener<ModuleAttachedEventArgs>[] = []
|
|
57
|
+
protected readonly moduleDetachedEventListeners: EventListener<ModuleDetachedEventArgs>[] = []
|
|
58
|
+
protected readonly moduleQueriedEventListeners: EventListener<ModuleQueriedEventArgs>[] = []
|
|
59
|
+
protected readonly moduleRegisteredEventListeners: EventListener<ModuleRegisteredEventArgs>[] = []
|
|
37
60
|
|
|
38
61
|
private readonly isNode = true
|
|
39
62
|
|
|
@@ -74,6 +97,31 @@ export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> exte
|
|
|
74
97
|
return [...(await super.discover()), ...childModAddresses]
|
|
75
98
|
}
|
|
76
99
|
|
|
100
|
+
on(event: ModuleQueriedEvent, listener: (args: ModuleQueriedEventArgs) => void): this
|
|
101
|
+
on(event: ModuleAttachedEvent, listener: (args: ModuleAttachedEventArgs) => void): this
|
|
102
|
+
on(event: ModuleDetachedEvent, listener: (args: ModuleDetachedEventArgs) => void): this
|
|
103
|
+
on(event: ModuleRegisteredEvent, listener: (args: ModuleRegisteredEventArgs) => void): this
|
|
104
|
+
on(
|
|
105
|
+
event: ModuleQueriedEvent | ModuleAttachedEvent | ModuleDetachedEvent | ModuleRegisteredEvent,
|
|
106
|
+
listener: (args: ModuleQueriedEventArgs) => void,
|
|
107
|
+
): this {
|
|
108
|
+
switch (event) {
|
|
109
|
+
case ModuleAttachedEvent:
|
|
110
|
+
this.moduleAttachedEventListeners?.push(listener as EventListener<ModuleAttachedEventArgs>)
|
|
111
|
+
break
|
|
112
|
+
case ModuleDetachedEvent:
|
|
113
|
+
this.moduleDetachedEventListeners?.push(listener as EventListener<ModuleDetachedEventArgs>)
|
|
114
|
+
break
|
|
115
|
+
case ModuleRegisteredEvent:
|
|
116
|
+
this.moduleRegisteredEventListeners?.push(listener as EventListener<ModuleRegisteredEventArgs>)
|
|
117
|
+
break
|
|
118
|
+
case ModuleQueriedEvent:
|
|
119
|
+
this.moduleQueriedEventListeners?.push(listener as EventListener<ModuleQueriedEventArgs>)
|
|
120
|
+
break
|
|
121
|
+
}
|
|
122
|
+
return this
|
|
123
|
+
}
|
|
124
|
+
|
|
77
125
|
override async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(
|
|
78
126
|
query: T,
|
|
79
127
|
payloads?: XyoPayload[],
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
import { ModuleEventEmitter } from '@xyo-network/module'
|
|
2
|
-
import { Module } from '@xyo-network/module-model'
|
|
1
|
+
import { ModuleEventArgs, ModuleEventEmitter } from '@xyo-network/module'
|
|
3
2
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
name?: string
|
|
7
|
-
}
|
|
3
|
+
export type ModuleAttachedEvent = 'moduleAttached'
|
|
4
|
+
export const ModuleAttachedEvent: ModuleAttachedEvent = 'moduleAttached'
|
|
8
5
|
|
|
9
|
-
export
|
|
10
|
-
module: Module
|
|
11
|
-
name?: string
|
|
12
|
-
}
|
|
6
|
+
export type ModuleAttachedEventArgs = ModuleEventArgs
|
|
13
7
|
|
|
14
|
-
export type ModuleAttachedEventEmitter = ModuleEventEmitter<
|
|
15
|
-
export type ModuleDetachedEventEmitter = ModuleEventEmitter<'moduleDetached', ModuleDetachedEventArgs>
|
|
8
|
+
export type ModuleAttachedEventEmitter = ModuleEventEmitter<ModuleAttachedEvent, ModuleAttachedEventArgs>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ModuleEventArgs, ModuleEventEmitter } from '@xyo-network/module'
|
|
2
|
+
|
|
3
|
+
export type ModuleDetachedEvent = 'moduleDetached'
|
|
4
|
+
export const ModuleDetachedEvent: ModuleDetachedEvent = 'moduleDetached'
|
|
5
|
+
|
|
6
|
+
export type ModuleDetachedEventArgs = ModuleEventArgs
|
|
7
|
+
|
|
8
|
+
export type ModuleDetachedEventEmitter = ModuleEventEmitter<ModuleDetachedEvent, ModuleDetachedEventArgs>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ModuleEventArgs, ModuleEventEmitter } from '@xyo-network/module'
|
|
2
|
+
|
|
3
|
+
export type ModuleRegisteredEvent = 'moduleRegistered'
|
|
4
|
+
export const ModuleRegisteredEvent: ModuleRegisteredEvent = 'moduleRegistered'
|
|
5
|
+
|
|
6
|
+
export type ModuleRegisteredEventArgs = ModuleEventArgs
|
|
7
|
+
|
|
8
|
+
export type ModuleRegisteredEventEmitter = ModuleEventEmitter<ModuleRegisteredEvent, ModuleRegisteredEventArgs>
|
package/src/Events/index.ts
CHANGED
package/src/MemoryNode.ts
CHANGED
|
@@ -1,34 +1,17 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { exists } from '@xylabs/exists'
|
|
3
3
|
import { fulfilled, rejected } from '@xylabs/promise'
|
|
4
|
-
import { duplicateModules,
|
|
4
|
+
import { duplicateModules, Module, ModuleFilter } from '@xyo-network/module'
|
|
5
5
|
|
|
6
6
|
import { AbstractNode, AbstractNodeParams } from './AbstractNode'
|
|
7
7
|
import { NodeConfig, NodeConfigSchema } from './Config'
|
|
8
|
-
import {
|
|
9
|
-
ModuleAttachedEventArgs,
|
|
10
|
-
ModuleAttachedEventEmitter,
|
|
11
|
-
ModuleDetachedEventArgs,
|
|
12
|
-
ModuleResolverChangedEventArgs,
|
|
13
|
-
ResolverChangedEventEmitter,
|
|
14
|
-
} from './Events'
|
|
15
|
-
|
|
16
|
-
type SupportedEventTypes = 'moduleAttached' | 'moduleResolverChanged'
|
|
17
|
-
type SupportedEventListeners<T extends SupportedEventTypes> = T extends 'moduleAttached'
|
|
18
|
-
? EventListener<ModuleAttachedEventArgs>
|
|
19
|
-
: EventListener<ModuleResolverChangedEventArgs>
|
|
20
8
|
|
|
21
9
|
export type MemoryNodeParams<TConfig extends NodeConfig = NodeConfig> = AbstractNodeParams<TConfig>
|
|
22
10
|
|
|
23
|
-
export class MemoryNode<TConfig extends NodeConfig = NodeConfig>
|
|
24
|
-
extends AbstractNode<TConfig>
|
|
25
|
-
implements ModuleAttachedEventEmitter, ResolverChangedEventEmitter
|
|
26
|
-
{
|
|
11
|
+
export class MemoryNode<TConfig extends NodeConfig = NodeConfig> extends AbstractNode<TConfig> {
|
|
27
12
|
static override configSchema = NodeConfigSchema
|
|
28
|
-
|
|
29
|
-
private readonly moduleDetachedEventListeners: EventListener<ModuleDetachedEventArgs>[] = []
|
|
13
|
+
|
|
30
14
|
private registeredModuleMap = new Map<string, Module>()
|
|
31
|
-
private readonly resolverChangedEventListeners: EventListener<ModuleResolverChangedEventArgs>[] = []
|
|
32
15
|
|
|
33
16
|
static override async create(params?: Partial<MemoryNodeParams>): Promise<MemoryNode> {
|
|
34
17
|
return (await super.create(params)) as MemoryNode
|
|
@@ -76,20 +59,6 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig>
|
|
|
76
59
|
this.moduleDetachedEventListeners?.map((listener) => listener(args))
|
|
77
60
|
}
|
|
78
61
|
|
|
79
|
-
on(event: 'moduleAttached', listener: (args: ModuleAttachedEventArgs) => void): this
|
|
80
|
-
on(event: 'moduleResolverChanged', listener: (args: ModuleResolverChangedEventArgs) => void): this
|
|
81
|
-
on<T extends SupportedEventTypes>(event: T, listener: SupportedEventListeners<T>): this {
|
|
82
|
-
switch (event) {
|
|
83
|
-
case 'moduleAttached':
|
|
84
|
-
this.moduleAttachedEventListeners?.push(listener as EventListener<ModuleAttachedEventArgs>)
|
|
85
|
-
break
|
|
86
|
-
case 'moduleResolverChanged':
|
|
87
|
-
this.resolverChangedEventListeners?.push(listener as EventListener<ModuleResolverChangedEventArgs>)
|
|
88
|
-
break
|
|
89
|
-
}
|
|
90
|
-
return this
|
|
91
|
-
}
|
|
92
|
-
|
|
93
62
|
override register(module: Module) {
|
|
94
63
|
assertEx(!this.registeredModuleMap.get(module.address), `Module already registered at that address[${module.address}]`)
|
|
95
64
|
this.registeredModuleMap.set(module.address, module)
|
|
@@ -116,7 +85,7 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig>
|
|
|
116
85
|
|
|
117
86
|
const errors = resolved.filter(rejected).map((r) => Error(r.reason))
|
|
118
87
|
|
|
119
|
-
if (errors) {
|
|
88
|
+
if (errors.length) {
|
|
120
89
|
this.logger?.error(`Resolve Errors: ${JSON.stringify(errors, null, 2)}`)
|
|
121
90
|
}
|
|
122
91
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResolverChanged.js","sourceRoot":"","sources":["../../../src/Events/ResolverChanged.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResolverChanged.js","sourceRoot":"","sources":["../../../src/Events/ResolverChanged.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ModuleEventEmitter } from '@xyo-network/module';
|
|
2
|
-
import { ModuleResolver } from '@xyo-network/module-model';
|
|
3
|
-
export interface ModuleResolverChangedEventArgs {
|
|
4
|
-
resolver?: ModuleResolver;
|
|
5
|
-
}
|
|
6
|
-
export type ResolverChangedEventEmitter = ModuleEventEmitter<'moduleResolverChanged', ModuleResolverChangedEventArgs>;
|
|
7
|
-
//# sourceMappingURL=ResolverChanged.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResolverChanged.d.ts","sourceRoot":"","sources":["../../../src/Events/ResolverChanged.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE1D,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,uBAAuB,EAAE,8BAA8B,CAAC,CAAA"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ModuleEventEmitter } from '@xyo-network/module'
|
|
2
|
-
import { ModuleResolver } from '@xyo-network/module-model'
|
|
3
|
-
|
|
4
|
-
export interface ModuleResolverChangedEventArgs {
|
|
5
|
-
resolver?: ModuleResolver
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export type ResolverChangedEventEmitter = ModuleEventEmitter<'moduleResolverChanged', ModuleResolverChangedEventArgs>
|