@xyo-network/node 2.43.9 → 2.43.11
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/Events/ModuleAttached.js +3 -0
- package/dist/cjs/Events/ModuleAttached.js.map +1 -0
- package/dist/cjs/Events/ResolverChanged.js +3 -0
- package/dist/cjs/Events/ResolverChanged.js.map +1 -0
- package/dist/cjs/Events/index.js +6 -0
- package/dist/cjs/Events/index.js.map +1 -0
- package/dist/cjs/MemoryNode.js +13 -2
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/docs.json +1974 -2329
- package/dist/esm/Events/ModuleAttached.js +2 -0
- package/dist/esm/Events/ModuleAttached.js.map +1 -0
- package/dist/esm/Events/ResolverChanged.js +2 -0
- package/dist/esm/Events/ResolverChanged.js.map +1 -0
- package/dist/esm/Events/index.js +3 -0
- package/dist/esm/Events/index.js.map +1 -0
- package/dist/esm/MemoryNode.js +11 -1
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/{cjs → types}/AbstractNode.d.ts +0 -0
- package/dist/{cjs → types}/AbstractNode.d.ts.map +0 -0
- package/dist/{cjs → types}/Config.d.ts +0 -0
- package/dist/{cjs → types}/Config.d.ts.map +0 -0
- package/dist/types/Events/ModuleAttached.d.ts +7 -0
- package/dist/types/Events/ModuleAttached.d.ts.map +1 -0
- package/dist/types/Events/ResolverChanged.d.ts +7 -0
- package/dist/types/Events/ResolverChanged.d.ts.map +1 -0
- package/dist/types/Events/index.d.ts +3 -0
- package/dist/types/Events/index.d.ts.map +1 -0
- package/dist/{cjs → types}/MemoryNode.d.ts +4 -9
- package/dist/types/MemoryNode.d.ts.map +1 -0
- package/dist/{cjs → types}/Node.d.ts +0 -0
- package/dist/{cjs → types}/Node.d.ts.map +0 -0
- package/dist/{cjs → types}/NodeWrapper.d.ts +0 -0
- package/dist/{cjs → types}/NodeWrapper.d.ts.map +0 -0
- package/dist/{cjs → types}/PartialConfig.d.ts +0 -0
- package/dist/{cjs → types}/PartialConfig.d.ts.map +0 -0
- package/dist/{cjs → types}/Queries/Attach.d.ts +0 -0
- package/dist/{cjs → types}/Queries/Attach.d.ts.map +0 -0
- package/dist/{cjs → types}/Queries/Attached.d.ts +0 -0
- package/dist/{cjs → types}/Queries/Attached.d.ts.map +0 -0
- package/dist/{cjs → types}/Queries/Detach.d.ts +0 -0
- package/dist/{cjs → types}/Queries/Detach.d.ts.map +0 -0
- package/dist/{cjs → types}/Queries/Registered.d.ts +0 -0
- package/dist/{cjs → types}/Queries/Registered.d.ts.map +0 -0
- package/dist/{cjs → types}/Queries/index.d.ts +0 -0
- package/dist/{cjs → types}/Queries/index.d.ts.map +0 -0
- package/dist/{cjs → types}/index.d.ts +0 -0
- package/dist/{cjs → types}/index.d.ts.map +0 -0
- package/package.json +15 -15
- package/src/Events/ModuleAttached.ts +8 -0
- package/src/Events/ResolverChanged.ts +8 -0
- package/src/Events/index.ts +2 -0
- package/src/MemoryNode.spec.ts +19 -12
- package/src/MemoryNode.ts +23 -17
- package/dist/cjs/MemoryNode.d.ts.map +0 -1
- package/dist/esm/AbstractNode.d.ts +0 -59
- package/dist/esm/AbstractNode.d.ts.map +0 -1
- package/dist/esm/Config.d.ts +0 -8
- package/dist/esm/Config.d.ts.map +0 -1
- package/dist/esm/MemoryNode.d.ts +0 -32
- package/dist/esm/MemoryNode.d.ts.map +0 -1
- package/dist/esm/Node.d.ts +0 -10
- package/dist/esm/Node.d.ts.map +0 -1
- package/dist/esm/NodeWrapper.d.ts +0 -29
- package/dist/esm/NodeWrapper.d.ts.map +0 -1
- package/dist/esm/PartialConfig.d.ts +0 -4
- package/dist/esm/PartialConfig.d.ts.map +0 -1
- package/dist/esm/Queries/Attach.d.ts +0 -9
- package/dist/esm/Queries/Attach.d.ts.map +0 -1
- package/dist/esm/Queries/Attached.d.ts +0 -7
- package/dist/esm/Queries/Attached.d.ts.map +0 -1
- package/dist/esm/Queries/Detach.d.ts +0 -8
- package/dist/esm/Queries/Detach.d.ts.map +0 -1
- package/dist/esm/Queries/Registered.d.ts +0 -7
- package/dist/esm/Queries/Registered.d.ts.map +0 -1
- package/dist/esm/Queries/index.d.ts +0 -12
- package/dist/esm/Queries/index.d.ts.map +0 -1
- package/dist/esm/index.d.ts +0 -8
- package/dist/esm/index.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleAttached.js","sourceRoot":"","sources":["../../../src/Events/ModuleAttached.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolverChanged.js","sourceRoot":"","sources":["../../../src/Events/ResolverChanged.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
|
package/dist/esm/MemoryNode.js
CHANGED
|
@@ -6,6 +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 = [];
|
|
9
10
|
registeredModuleMap = new Map();
|
|
10
11
|
resolverChangedEventListeners = [];
|
|
11
12
|
get resolver() {
|
|
@@ -44,12 +45,21 @@ export class MemoryNode extends AbstractNode {
|
|
|
44
45
|
attach(address, name) {
|
|
45
46
|
const module = assertEx(this.registeredModuleMap.get(address), 'No module found at that address');
|
|
46
47
|
this.internalResolver.add(module, name);
|
|
48
|
+
const args = { module };
|
|
49
|
+
this.moduleAttachedEventListeners?.map((listener) => listener(args));
|
|
47
50
|
}
|
|
48
51
|
detach(address) {
|
|
49
52
|
this.internalResolver.remove(address);
|
|
50
53
|
}
|
|
51
54
|
on(event, listener) {
|
|
52
|
-
|
|
55
|
+
switch (event) {
|
|
56
|
+
case 'moduleAttached':
|
|
57
|
+
this.moduleAttachedEventListeners?.push(listener);
|
|
58
|
+
break;
|
|
59
|
+
case 'moduleResolverChanged':
|
|
60
|
+
this.resolverChangedEventListeners?.push(listener);
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
53
63
|
return this;
|
|
54
64
|
}
|
|
55
65
|
register(module) {
|
|
@@ -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,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModuleEventEmitter } from '@xyo-network/module';
|
|
2
|
+
import { Module } from '@xyo-network/module-model';
|
|
3
|
+
export interface ModuleAttachedEventArgs {
|
|
4
|
+
module: Module;
|
|
5
|
+
}
|
|
6
|
+
export type ModuleAttachedEventEmitter = ModuleEventEmitter<'moduleAttached', ModuleAttachedEventArgs>;
|
|
7
|
+
//# sourceMappingURL=ModuleAttached.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleAttached.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleAttached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import { Module, ModuleFilter, ModuleResolver } 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';
|
|
4
5
|
export interface MemoryNodeParams<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractNodeParams<TConfig, TModule> {
|
|
5
6
|
autoAttachExternallyResolved?: boolean;
|
|
6
7
|
}
|
|
7
|
-
export
|
|
8
|
-
export interface ModuleEventEmitter<TEvent extends string, TEventArgs> {
|
|
9
|
-
on(event: TEvent, listener: ListenerFunction<TEventArgs>): this;
|
|
10
|
-
}
|
|
11
|
-
export interface ModuleResolverChangedEventArgs {
|
|
12
|
-
resolver?: ModuleResolver;
|
|
13
|
-
}
|
|
14
|
-
export type ResolverChangedEventEmitter = ModuleEventEmitter<'moduleResolverChanged', ModuleResolverChangedEventArgs>;
|
|
15
|
-
export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractNode<TConfig, TModule> implements ResolverChangedEventEmitter {
|
|
8
|
+
export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractNode<TConfig, TModule> implements ModuleAttachedEventEmitter, ResolverChangedEventEmitter {
|
|
16
9
|
static configSchema: "network.xyo.node.config";
|
|
10
|
+
private readonly moduleAttachedEventListeners;
|
|
17
11
|
private registeredModuleMap;
|
|
18
12
|
private readonly resolverChangedEventListeners;
|
|
19
13
|
get resolver(): ModuleResolver | undefined;
|
|
@@ -21,6 +15,7 @@ export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule
|
|
|
21
15
|
static create(params?: Partial<MemoryNodeParams>): Promise<MemoryNode>;
|
|
22
16
|
attach(address: string, name?: string): void;
|
|
23
17
|
detach(address: string): void;
|
|
18
|
+
on(event: 'moduleAttached', listener: (args: ModuleAttachedEventArgs) => void): this;
|
|
24
19
|
on(event: 'moduleResolverChanged', listener: (args: ModuleResolverChangedEventArgs) => void): this;
|
|
25
20
|
register(module: TModule): void;
|
|
26
21
|
registered(): string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8D,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEtI,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAO3I,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,CACxG,SAAQ,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5C,4BAA4B,CAAC,EAAE,OAAO,CAAA;CACvC;AAED,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,CAC9F,SAAQ,YAAY,CAAC,OAAO,EAAE,OAAO,CACrC,YAAW,0BAA0B,EAAE,2BAA2B;IAElE,MAAM,CAAC,YAAY,4BAAmB;IACtC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+C;IAC5F,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAsD;IAEpG,IAAa,QAAQ,IAIW,cAAc,GAAG,SAAS,CAFzD;IAED,IAAa,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAIzD;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAwB5E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOrC,MAAM,CAAC,OAAO,EAAE,MAAM;IAI/B,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,GAAG,IAAI;IACpF,EAAE,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,8BAA8B,KAAK,IAAI,GAAG,IAAI;IAazF,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,UAAU;IAMV,iBAAiB;IAMX,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAOlD,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAY3D,UAAU,CAAC,MAAM,EAAE,OAAO;CAGpC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -10,21 +10,21 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/assert": "^2.6.
|
|
14
|
-
"@xylabs/exists": "^2.6.
|
|
15
|
-
"@xylabs/promise": "^2.6.
|
|
16
|
-
"@xyo-network/account": "^2.43.
|
|
17
|
-
"@xyo-network/address-payload-plugin": "^2.43.
|
|
18
|
-
"@xyo-network/archivist-wrapper": "^2.43.
|
|
19
|
-
"@xyo-network/module": "^2.43.
|
|
20
|
-
"@xyo-network/module-model": "^2.43.
|
|
21
|
-
"@xyo-network/payload-builder": "^2.43.
|
|
22
|
-
"@xyo-network/payload-model": "^2.43.
|
|
23
|
-
"@xyo-network/payload-wrapper": "^2.43.
|
|
24
|
-
"@xyo-network/promise": "^2.43.
|
|
13
|
+
"@xylabs/assert": "^2.6.16",
|
|
14
|
+
"@xylabs/exists": "^2.6.16",
|
|
15
|
+
"@xylabs/promise": "^2.6.16",
|
|
16
|
+
"@xyo-network/account": "^2.43.11",
|
|
17
|
+
"@xyo-network/address-payload-plugin": "^2.43.11",
|
|
18
|
+
"@xyo-network/archivist-wrapper": "^2.43.11",
|
|
19
|
+
"@xyo-network/module": "^2.43.11",
|
|
20
|
+
"@xyo-network/module-model": "^2.43.11",
|
|
21
|
+
"@xyo-network/payload-builder": "^2.43.11",
|
|
22
|
+
"@xyo-network/payload-model": "^2.43.11",
|
|
23
|
+
"@xyo-network/payload-wrapper": "^2.43.11",
|
|
24
|
+
"@xyo-network/promise": "^2.43.11"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@xylabs/ts-scripts-yarn3": "^2.12.
|
|
27
|
+
"@xylabs/ts-scripts-yarn3": "^2.12.25"
|
|
28
28
|
},
|
|
29
29
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
30
30
|
"browser": "dist/esm/index.js",
|
|
@@ -58,6 +58,6 @@
|
|
|
58
58
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
59
59
|
},
|
|
60
60
|
"sideEffects": false,
|
|
61
|
-
"types": "dist/
|
|
62
|
-
"version": "2.43.
|
|
61
|
+
"types": "dist/types/index.d.ts",
|
|
62
|
+
"version": "2.43.11"
|
|
63
63
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ModuleEventEmitter } from '@xyo-network/module'
|
|
2
|
+
import { Module } from '@xyo-network/module-model'
|
|
3
|
+
|
|
4
|
+
export interface ModuleAttachedEventArgs {
|
|
5
|
+
module: Module
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export type ModuleAttachedEventEmitter = ModuleEventEmitter<'moduleAttached', ModuleAttachedEventArgs>
|
|
@@ -0,0 +1,8 @@
|
|
|
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>
|
package/src/MemoryNode.spec.ts
CHANGED
|
@@ -150,6 +150,15 @@ describe('MemoryNode', () => {
|
|
|
150
150
|
it('attaches module', () => {
|
|
151
151
|
node.attach(module.address)
|
|
152
152
|
})
|
|
153
|
+
it('emits event on module attach', (done) => {
|
|
154
|
+
node.on('moduleAttached', (args) => {
|
|
155
|
+
expect(args.module).toBeObject()
|
|
156
|
+
expect(args.module.address).toBe(module.address)
|
|
157
|
+
expect(args.module).toBe(module)
|
|
158
|
+
done()
|
|
159
|
+
})
|
|
160
|
+
node.attach(module.address)
|
|
161
|
+
})
|
|
153
162
|
})
|
|
154
163
|
describe('attached', () => {
|
|
155
164
|
let module: AbstractModule
|
|
@@ -368,19 +377,17 @@ describe('MemoryNode', () => {
|
|
|
368
377
|
})
|
|
369
378
|
})
|
|
370
379
|
})
|
|
371
|
-
describe('
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
done()
|
|
379
|
-
})
|
|
380
|
-
expect(node.resolver).toBeUndefined()
|
|
381
|
-
node.resolver = resolver
|
|
382
|
-
expect(node.resolver).toBe(resolver)
|
|
380
|
+
describe('resolver', () => {
|
|
381
|
+
it('emits event when resolver changes', (done) => {
|
|
382
|
+
const resolver = new SimpleModuleResolver()
|
|
383
|
+
node.on('moduleResolverChanged', (args) => {
|
|
384
|
+
expect(args).toBeObject()
|
|
385
|
+
expect(args.resolver).toBe(resolver)
|
|
386
|
+
done()
|
|
383
387
|
})
|
|
388
|
+
expect(node.resolver).toBeUndefined()
|
|
389
|
+
node.resolver = resolver
|
|
390
|
+
expect(node.resolver).toBe(resolver)
|
|
384
391
|
})
|
|
385
392
|
})
|
|
386
393
|
})
|
package/src/MemoryNode.ts
CHANGED
|
@@ -1,35 +1,30 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { exists } from '@xylabs/exists'
|
|
3
3
|
import { fulfilled } from '@xylabs/promise'
|
|
4
|
-
import { duplicateModules, mixinResolverEventEmitter, Module, ModuleFilter, ModuleResolver } from '@xyo-network/module'
|
|
4
|
+
import { duplicateModules, EventListener, mixinResolverEventEmitter, Module, ModuleFilter, ModuleResolver } from '@xyo-network/module'
|
|
5
5
|
|
|
6
6
|
import { AbstractNode, AbstractNodeParams } from './AbstractNode'
|
|
7
7
|
import { NodeConfig, NodeConfigSchema } from './Config'
|
|
8
|
+
import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter, ModuleResolverChangedEventArgs, ResolverChangedEventEmitter } from './Events'
|
|
9
|
+
|
|
10
|
+
type SupportedEventTypes = 'moduleAttached' | 'moduleResolverChanged'
|
|
11
|
+
type SupportedEventListeners<T extends SupportedEventTypes> = T extends 'moduleAttached'
|
|
12
|
+
? EventListener<ModuleAttachedEventArgs>
|
|
13
|
+
: EventListener<ModuleResolverChangedEventArgs>
|
|
8
14
|
|
|
9
15
|
export interface MemoryNodeParams<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module>
|
|
10
16
|
extends AbstractNodeParams<TConfig, TModule> {
|
|
11
17
|
autoAttachExternallyResolved?: boolean
|
|
12
18
|
}
|
|
13
19
|
|
|
14
|
-
export type ListenerFunction<T> = (args: T) => void
|
|
15
|
-
|
|
16
|
-
export interface ModuleEventEmitter<TEvent extends string, TEventArgs> {
|
|
17
|
-
on(event: TEvent, listener: ListenerFunction<TEventArgs>): this
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface ModuleResolverChangedEventArgs {
|
|
21
|
-
resolver?: ModuleResolver
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export type ResolverChangedEventEmitter = ModuleEventEmitter<'moduleResolverChanged', ModuleResolverChangedEventArgs>
|
|
25
|
-
|
|
26
20
|
export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module>
|
|
27
21
|
extends AbstractNode<TConfig, TModule>
|
|
28
|
-
implements ResolverChangedEventEmitter
|
|
22
|
+
implements ModuleAttachedEventEmitter, ResolverChangedEventEmitter
|
|
29
23
|
{
|
|
30
24
|
static configSchema = NodeConfigSchema
|
|
25
|
+
private readonly moduleAttachedEventListeners: EventListener<ModuleAttachedEventArgs>[] = []
|
|
31
26
|
private registeredModuleMap = new Map<string, TModule>()
|
|
32
|
-
private readonly resolverChangedEventListeners:
|
|
27
|
+
private readonly resolverChangedEventListeners: EventListener<ModuleResolverChangedEventArgs>[] = []
|
|
33
28
|
|
|
34
29
|
override get resolver() {
|
|
35
30
|
return this._resolver
|
|
@@ -68,14 +63,25 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends
|
|
|
68
63
|
override attach(address: string, name?: string) {
|
|
69
64
|
const module = assertEx(this.registeredModuleMap.get(address), 'No module found at that address')
|
|
70
65
|
this.internalResolver.add(module, name)
|
|
66
|
+
const args = { module }
|
|
67
|
+
this.moduleAttachedEventListeners?.map((listener) => listener(args))
|
|
71
68
|
}
|
|
72
69
|
|
|
73
70
|
override detach(address: string) {
|
|
74
71
|
this.internalResolver.remove(address)
|
|
75
72
|
}
|
|
76
73
|
|
|
77
|
-
on(event: '
|
|
78
|
-
|
|
74
|
+
on(event: 'moduleAttached', listener: (args: ModuleAttachedEventArgs) => void): this
|
|
75
|
+
on(event: 'moduleResolverChanged', listener: (args: ModuleResolverChangedEventArgs) => void): this
|
|
76
|
+
on<T extends SupportedEventTypes>(event: T, listener: SupportedEventListeners<T>): this {
|
|
77
|
+
switch (event) {
|
|
78
|
+
case 'moduleAttached':
|
|
79
|
+
this.moduleAttachedEventListeners?.push(listener as EventListener<ModuleAttachedEventArgs>)
|
|
80
|
+
break
|
|
81
|
+
case 'moduleResolverChanged':
|
|
82
|
+
this.resolverChangedEventListeners?.push(listener as EventListener<ModuleResolverChangedEventArgs>)
|
|
83
|
+
break
|
|
84
|
+
}
|
|
79
85
|
return this
|
|
80
86
|
}
|
|
81
87
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+C,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEvH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AAEvD,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,CACxG,SAAQ,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5C,4BAA4B,CAAC,EAAE,OAAO,CAAA;CACvC;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAEnD,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,MAAM,EAAE,UAAU;IACnE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;CAChE;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,uBAAuB,EAAE,8BAA8B,CAAC,CAAA;AAErH,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,CAC9F,SAAQ,YAAY,CAAC,OAAO,EAAE,OAAO,CACrC,YAAW,2BAA2B;IAEtC,MAAM,CAAC,YAAY,4BAAmB;IACtC,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAyD;IAEvG,IAAa,QAAQ,IAIW,cAAc,GAAG,SAAS,CAFzD;IAED,IAAa,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAIzD;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAwB5E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAKrC,MAAM,CAAC,OAAO,EAAE,MAAM;IAI/B,EAAE,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,8BAA8B,KAAK,IAAI,GAAG,IAAI;IAKzF,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,UAAU;IAMV,iBAAiB;IAMX,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAOlD,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAY3D,UAAU,CAAC,MAAM,EAAE,OAAO;CAGpC"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Account } from '@xyo-network/account';
|
|
2
|
-
import { AbstractModule, AbstractModuleConfig, Module, ModuleConstructable, ModuleDescription, ModuleFilter, ModuleParams, ModuleQueryResult, ModuleRepository, ModuleWrapper, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
3
|
-
import { XyoPayload } from '@xyo-network/payload-model';
|
|
4
|
-
import { Promisable } from '@xyo-network/promise';
|
|
5
|
-
import { NodeConfig } from './Config';
|
|
6
|
-
import { NodeModule } from './Node';
|
|
7
|
-
export interface AbstractNodeParams<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends ModuleParams<TConfig> {
|
|
8
|
-
internalResolver?: ModuleRepository<TModule>;
|
|
9
|
-
}
|
|
10
|
-
export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractModule<TConfig> implements NodeModule {
|
|
11
|
-
static readonly configSchema: "network.xyo.node.config";
|
|
12
|
-
protected internalResolver: ModuleRepository<TModule>;
|
|
13
|
-
protected constructor(params: AbstractNodeParams<TConfig, TModule>);
|
|
14
|
-
get isModuleResolver(): boolean;
|
|
15
|
-
static create(params?: Partial<AbstractNodeParams>): Promise<AbstractNode>;
|
|
16
|
-
attached(): Promise<string[]>;
|
|
17
|
-
attachedModules(): Promise<TModule[]>;
|
|
18
|
-
description(): Promise<ModuleDescription>;
|
|
19
|
-
discover(_queryAccount?: Account | undefined): Promise<XyoPayload[]>;
|
|
20
|
-
queries(): string[];
|
|
21
|
-
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends AbstractModuleConfig = AbstractModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
22
|
-
register(_module: TModule): Promisable<void>;
|
|
23
|
-
registered(): Promisable<string[]>;
|
|
24
|
-
registeredModules(): Promisable<TModule[]>;
|
|
25
|
-
/**
|
|
26
|
-
* Resolves the supplied filter into wrapped modules
|
|
27
|
-
* @example <caption>Example using ArchivistWrapper</caption>
|
|
28
|
-
* const filter = { address: [address] }
|
|
29
|
-
* const mods: ArchivistWrapper[] = await node.resolveWrapped(ArchivistWrapper, filter)
|
|
30
|
-
* @param wrapper The ModuleWrapper class (ArchivistWrapper,
|
|
31
|
-
* DivinerWrapper, etc.)
|
|
32
|
-
* @param filter The ModuleFilter
|
|
33
|
-
* @returns An array of ModuleWrapper instances corresponding to
|
|
34
|
-
* the underlying modules matching the supplied filter
|
|
35
|
-
*/
|
|
36
|
-
resolveWrapped<T extends ModuleWrapper<TModule> = ModuleWrapper<TModule>>(wrapper: ModuleConstructable<TModule, T>, filter?: ModuleFilter): Promise<T[]>;
|
|
37
|
-
start(): Promise<this>;
|
|
38
|
-
/**
|
|
39
|
-
* Tries to resolve the supplied filter into wrapped modules
|
|
40
|
-
* @example <caption>Example using ArchivistWrapper</caption>
|
|
41
|
-
* const filter = { address: [address] }
|
|
42
|
-
* const mods: ArchivistWrapper[] = await node.tryResolveWrapped(ArchivistWrapper, filter)
|
|
43
|
-
* @param wrapper The ModuleWrapper class (ArchivistWrapper,
|
|
44
|
-
* DivinerWrapper, etc.)
|
|
45
|
-
* @param filter The ModuleFilter
|
|
46
|
-
* @returns An array of ModuleWrapper instances corresponding to
|
|
47
|
-
* the underlying modules matching the supplied filter
|
|
48
|
-
*/
|
|
49
|
-
tryResolveWrapped<T extends ModuleWrapper<TModule> = ModuleWrapper<TModule>>(wrapper: ModuleConstructable<TModule, T>, filter?: ModuleFilter): Promise<T[]>;
|
|
50
|
-
unregister(_module: TModule): Promisable<void>;
|
|
51
|
-
abstract attach(address: string): Promisable<void>;
|
|
52
|
-
abstract detach(address: string): Promisable<void>;
|
|
53
|
-
abstract resolve(filter?: ModuleFilter): Promisable<TModule[]>;
|
|
54
|
-
abstract tryResolve(filter?: ModuleFilter): Promisable<TModule[]>;
|
|
55
|
-
}
|
|
56
|
-
/** @deprecated use AbstractNode instead */
|
|
57
|
-
export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends AbstractModule = AbstractModule> extends AbstractNode<TConfig, TModule> {
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=AbstractNode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Config.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { AbstractModuleConfig } from '@xyo-network/module';
|
|
2
|
-
import { XyoPayload } from '@xyo-network/payload-model';
|
|
3
|
-
export type NodeConfigSchema = 'network.xyo.node.config';
|
|
4
|
-
export declare const NodeConfigSchema: NodeConfigSchema;
|
|
5
|
-
export type NodeConfig<TConfig extends XyoPayload = XyoPayload> = AbstractModuleConfig<{
|
|
6
|
-
archivist?: string;
|
|
7
|
-
} & TConfig>;
|
|
8
|
-
//# sourceMappingURL=Config.d.ts.map
|
package/dist/esm/Config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,CAAA;AACxD,eAAO,MAAM,gBAAgB,EAAE,gBAA4C,CAAA;AAE3E,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,oBAAoB,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAA"}
|
package/dist/esm/MemoryNode.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Module, ModuleFilter, ModuleResolver } from '@xyo-network/module';
|
|
2
|
-
import { AbstractNode, AbstractNodeParams } from './AbstractNode';
|
|
3
|
-
import { NodeConfig } from './Config';
|
|
4
|
-
export interface MemoryNodeParams<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractNodeParams<TConfig, TModule> {
|
|
5
|
-
autoAttachExternallyResolved?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export type ListenerFunction<T> = (args: T) => void;
|
|
8
|
-
export interface ModuleEventEmitter<TEvent extends string, TEventArgs> {
|
|
9
|
-
on(event: TEvent, listener: ListenerFunction<TEventArgs>): this;
|
|
10
|
-
}
|
|
11
|
-
export interface ModuleResolverChangedEventArgs {
|
|
12
|
-
resolver?: ModuleResolver;
|
|
13
|
-
}
|
|
14
|
-
export type ResolverChangedEventEmitter = ModuleEventEmitter<'moduleResolverChanged', ModuleResolverChangedEventArgs>;
|
|
15
|
-
export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractNode<TConfig, TModule> implements ResolverChangedEventEmitter {
|
|
16
|
-
static configSchema: "network.xyo.node.config";
|
|
17
|
-
private registeredModuleMap;
|
|
18
|
-
private readonly resolverChangedEventListeners;
|
|
19
|
-
get resolver(): ModuleResolver | undefined;
|
|
20
|
-
set resolver(resolver: ModuleResolver | undefined);
|
|
21
|
-
static create(params?: Partial<MemoryNodeParams>): Promise<MemoryNode>;
|
|
22
|
-
attach(address: string, name?: string): void;
|
|
23
|
-
detach(address: string): void;
|
|
24
|
-
on(event: 'moduleResolverChanged', listener: (args: ModuleResolverChangedEventArgs) => void): this;
|
|
25
|
-
register(module: TModule): void;
|
|
26
|
-
registered(): string[];
|
|
27
|
-
registeredModules(): TModule[];
|
|
28
|
-
resolve(filter?: ModuleFilter): Promise<TModule[]>;
|
|
29
|
-
tryResolve(filter?: ModuleFilter): Promise<TModule[]>;
|
|
30
|
-
unregister(module: TModule): void;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=MemoryNode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+C,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEvH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AAEvD,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,CACxG,SAAQ,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5C,4BAA4B,CAAC,EAAE,OAAO,CAAA;CACvC;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAEnD,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,MAAM,EAAE,UAAU;IACnE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;CAChE;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,uBAAuB,EAAE,8BAA8B,CAAC,CAAA;AAErH,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,CAC9F,SAAQ,YAAY,CAAC,OAAO,EAAE,OAAO,CACrC,YAAW,2BAA2B;IAEtC,MAAM,CAAC,YAAY,4BAAmB;IACtC,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAyD;IAEvG,IAAa,QAAQ,IAIW,cAAc,GAAG,SAAS,CAFzD;IAED,IAAa,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,EAIzD;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAwB5E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAKrC,MAAM,CAAC,OAAO,EAAE,MAAM;IAI/B,EAAE,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,8BAA8B,KAAK,IAAI,GAAG,IAAI;IAKzF,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,UAAU;IAMV,iBAAiB;IAMX,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAOlD,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAY3D,UAAU,CAAC,MAAM,EAAE,OAAO;CAGpC"}
|
package/dist/esm/Node.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Module, ModuleResolver } from '@xyo-network/module-model';
|
|
2
|
-
import { Promisable } from '@xyo-network/promise';
|
|
3
|
-
export interface Node {
|
|
4
|
-
attach(address: string, name?: string): Promisable<void>;
|
|
5
|
-
attached(): Promisable<string[]>;
|
|
6
|
-
detach(address: string): Promisable<void>;
|
|
7
|
-
registered(): Promisable<string[]>;
|
|
8
|
-
}
|
|
9
|
-
export type NodeModule<TModule extends Module = Module> = Node & Module & ModuleResolver<TModule>;
|
|
10
|
-
//# sourceMappingURL=Node.d.ts.map
|
package/dist/esm/Node.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACzC,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
2
|
-
import { ModuleFilter, ModuleWrapper } from '@xyo-network/module';
|
|
3
|
-
import { Node, NodeModule } from './Node';
|
|
4
|
-
export declare class NodeWrapper<TModule extends NodeModule = NodeModule> extends ModuleWrapper<TModule> implements Node, NodeModule {
|
|
5
|
-
isModuleResolver: boolean;
|
|
6
|
-
private _archivist?;
|
|
7
|
-
get archivist(): ArchivistWrapper;
|
|
8
|
-
attach(address: string, name?: string): Promise<void>;
|
|
9
|
-
attached(): Promise<string[]>;
|
|
10
|
-
detach(address: string): Promise<void>;
|
|
11
|
-
registered(): Promise<string[]>;
|
|
12
|
-
resolve(filter?: ModuleFilter): import("@xyo-network/promise").Promisable<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
13
|
-
security?: {
|
|
14
|
-
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
15
|
-
disallowed?: Record<string, string[]> | undefined;
|
|
16
|
-
} | undefined;
|
|
17
|
-
} & {
|
|
18
|
-
schema: string;
|
|
19
|
-
}>[], never>;
|
|
20
|
-
tryResolve(filter?: ModuleFilter): import("@xyo-network/promise").Promisable<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
21
|
-
security?: {
|
|
22
|
-
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
23
|
-
disallowed?: Record<string, string[]> | undefined;
|
|
24
|
-
} | undefined;
|
|
25
|
-
} & {
|
|
26
|
-
schema: string;
|
|
27
|
-
}>[], never>;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=NodeWrapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAIjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAYzC,qBAAa,WAAW,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,aAAa,CAAC,OAAO,CAAE,YAAW,IAAI,EAAE,UAAU;IACnH,gBAAgB,UAAO;IAE9B,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,IAAW,SAAS,qBAGnB;IAEK,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMrC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY;;;;;;;;IAG7B,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY;;;;;;;;CAGjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PartialConfig.d.ts","sourceRoot":"","sources":["../../src/PartialConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { XyoQuery } from '@xyo-network/module-model';
|
|
2
|
-
export type XyoNodeAttachQuerySchema = 'network.xyo.query.node.attach';
|
|
3
|
-
export declare const XyoNodeAttachQuerySchema: XyoNodeAttachQuerySchema;
|
|
4
|
-
export type XyoNodeAttachQuery = XyoQuery<{
|
|
5
|
-
address: string;
|
|
6
|
-
name?: string;
|
|
7
|
-
schema: XyoNodeAttachQuerySchema;
|
|
8
|
-
}>;
|
|
9
|
-
//# sourceMappingURL=Attach.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Attach.d.ts","sourceRoot":"","sources":["../../../src/Queries/Attach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEpD,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,CAAA;AACtE,eAAO,MAAM,wBAAwB,EAAE,wBAA0D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { XyoQuery } from '@xyo-network/module-model';
|
|
2
|
-
export type XyoNodeAttachedQuerySchema = 'network.xyo.query.node.attached';
|
|
3
|
-
export declare const XyoNodeAttachedQuerySchema: XyoNodeAttachedQuerySchema;
|
|
4
|
-
export type XyoNodeAttachedQuery = XyoQuery<{
|
|
5
|
-
schema: XyoNodeAttachedQuerySchema;
|
|
6
|
-
}>;
|
|
7
|
-
//# sourceMappingURL=Attached.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Attached.d.ts","sourceRoot":"","sources":["../../../src/Queries/Attached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEpD,MAAM,MAAM,0BAA0B,GAAG,iCAAiC,CAAA;AAC1E,eAAO,MAAM,0BAA0B,EAAE,0BAA8D,CAAA;AAEvG,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,MAAM,EAAE,0BAA0B,CAAA;CACnC,CAAC,CAAA"}
|