@xyo-network/module-model 2.50.4 → 2.50.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/Events/EventArgs.js +3 -0
- package/dist/cjs/Events/EventArgs.js.map +1 -0
- package/dist/cjs/Events/EventListener.js +3 -0
- package/dist/cjs/Events/EventListener.js.map +1 -0
- package/dist/cjs/Events/ModuleEventEmitter.js +3 -0
- package/dist/cjs/Events/ModuleEventEmitter.js.map +1 -0
- package/dist/cjs/Events/ModuleQueried.js +5 -0
- package/dist/cjs/Events/ModuleQueried.js.map +1 -0
- package/dist/cjs/Events/index.js +8 -0
- package/dist/cjs/Events/index.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +1473 -590
- package/dist/esm/Events/EventArgs.js +2 -0
- package/dist/esm/Events/EventArgs.js.map +1 -0
- package/dist/esm/Events/EventListener.js +2 -0
- package/dist/esm/Events/EventListener.js.map +1 -0
- package/dist/esm/Events/ModuleEventEmitter.js +2 -0
- package/dist/esm/Events/ModuleEventEmitter.js.map +1 -0
- package/dist/esm/Events/ModuleQueried.js +2 -0
- package/dist/esm/Events/ModuleQueried.js.map +1 -0
- package/dist/esm/Events/index.js +5 -0
- package/dist/esm/Events/index.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/Events/EventArgs.d.ts +4 -0
- package/dist/types/Events/EventArgs.d.ts.map +1 -0
- package/dist/types/Events/EventListener.d.ts +3 -0
- package/dist/types/Events/EventListener.d.ts.map +1 -0
- package/dist/types/Events/ModuleEventEmitter.d.ts +7 -0
- package/dist/types/Events/ModuleEventEmitter.d.ts.map +1 -0
- package/dist/types/Events/ModuleQueried.d.ts +21 -0
- package/dist/types/Events/ModuleQueried.d.ts.map +1 -0
- package/dist/types/Events/index.d.ts +5 -0
- package/dist/types/Events/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/Module.d.ts +3 -1
- package/dist/types/model/Module.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/Events/EventArgs.ts +5 -0
- package/src/Events/EventListener.ts +3 -0
- package/src/Events/ModuleEventEmitter.ts +11 -0
- package/src/Events/ModuleQueried.ts +29 -0
- package/src/Events/index.ts +4 -0
- package/src/index.ts +1 -0
- package/src/model/Module.ts +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventArgs.js","sourceRoot":"","sources":["../../../src/Events/EventArgs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventListener.js","sourceRoot":"","sources":["../../../src/Events/EventListener.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleEventEmitter.js","sourceRoot":"","sources":["../../../src/Events/ModuleEventEmitter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleQueried.js","sourceRoot":"","sources":["../../../src/Events/ModuleQueried.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,kBAAkB,GAAuB,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventArgs.d.ts","sourceRoot":"","sources":["../../../src/Events/EventArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAE1B,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,IAAI,IAAI,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventListener.d.ts","sourceRoot":"","sources":["../../../src/Events/EventListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EventArgs } from './EventArgs';
|
|
2
|
+
import { EventListener } from './EventListener';
|
|
3
|
+
export type EventEmitterFunc<TResult, TEvent extends string = never, TEventArgs extends EventArgs = EventArgs> = (event: TEvent, handler: EventListener<TEventArgs>) => TResult;
|
|
4
|
+
export interface ModuleEventEmitter<TEvent extends string = never, TEventArgs extends EventArgs = EventArgs> {
|
|
5
|
+
on: EventEmitterFunc<this, TEvent, TEventArgs>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=ModuleEventEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,SAAS,MAAM,GAAG,KAAK,EAAE,UAAU,SAAS,SAAS,GAAG,SAAS,IAAI,CAC/G,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,KAC/B,OAAO,CAAA;AAEZ,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,MAAM,GAAG,KAAK,EAAE,UAAU,SAAS,SAAS,GAAG,SAAS;IACzG,EAAE,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;CAC/C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
|
|
2
|
+
import { AnyObject } from '@xyo-network/core';
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload-model';
|
|
4
|
+
import { Module } from '../model';
|
|
5
|
+
import { XyoQueryBoundWitness } from '../Query';
|
|
6
|
+
import { EventArgs } from './EventArgs';
|
|
7
|
+
import { ModuleEventEmitter } from './ModuleEventEmitter';
|
|
8
|
+
export type ModuleQueriedEvent = 'moduleQueried';
|
|
9
|
+
export declare const ModuleQueriedEvent: ModuleQueriedEvent;
|
|
10
|
+
export type ModuleEventArgs<TArgs extends AnyObject | undefined = undefined> = TArgs extends AnyObject ? EventArgs<{
|
|
11
|
+
module: Module;
|
|
12
|
+
} & TArgs> : EventArgs<{
|
|
13
|
+
module: Module;
|
|
14
|
+
}>;
|
|
15
|
+
export type ModuleQueriedEventArgs = ModuleEventArgs<{
|
|
16
|
+
payloads?: XyoPayload[];
|
|
17
|
+
query: XyoQueryBoundWitness;
|
|
18
|
+
result: [XyoBoundWitness, XyoPayload[]];
|
|
19
|
+
}>;
|
|
20
|
+
export type ModuleQueriedEventEmitter = ModuleEventEmitter<ModuleQueriedEvent, ModuleQueriedEventArgs>;
|
|
21
|
+
//# sourceMappingURL=ModuleQueried.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModuleQueried.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleQueried.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAA;AAChD,eAAO,MAAM,kBAAkB,EAAE,kBAAoC,CAAA;AAErE,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,SAAS,SAAS,GAClG,SAAS,CACP;IACE,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,KAAK,CACV,GACD,SAAS,CAAC;IACR,MAAM,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAEN,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC;IACnD,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAA;IACvB,KAAK,EAAE,oBAAoB,CAAA;IAC3B,MAAM,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAA;CACxC,CAAC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
2
2
|
import { Promisable } from '@xyo-network/promise';
|
|
3
3
|
import { ModuleConfig } from '../Config';
|
|
4
|
+
import { ModuleEventEmitter, ModuleQueriedEventEmitter } from '../Events';
|
|
4
5
|
import { ModuleFilter } from '../ModuleFilter';
|
|
5
6
|
import { ModuleQueryResult } from '../ModuleQueryResult';
|
|
6
7
|
import { XyoQueryBoundWitness } from '../Query';
|
|
@@ -10,10 +11,11 @@ export interface ModuleResolver {
|
|
|
10
11
|
removeResolver: (resolver: ModuleResolver) => this;
|
|
11
12
|
resolve<T extends Module = Module>(filter?: ModuleFilter): Promisable<T[]>;
|
|
12
13
|
}
|
|
13
|
-
export type Module<TConfig extends ModuleConfig = ModuleConfig> = {
|
|
14
|
+
export type Module<TConfig extends ModuleConfig = ModuleConfig, TModuleEventEmitter extends ModuleEventEmitter | undefined = undefined> = {
|
|
14
15
|
address: string;
|
|
15
16
|
config: TConfig;
|
|
16
17
|
readonly downResolver: ModuleResolver;
|
|
18
|
+
on: TModuleEventEmitter extends ModuleEventEmitter ? ModuleQueriedEventEmitter['on'] | TModuleEventEmitter['on'] : ModuleQueriedEventEmitter['on'];
|
|
17
19
|
queries: string[];
|
|
18
20
|
query: <T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConf) => Promisable<ModuleQueryResult>;
|
|
19
21
|
queryable: <T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConf) => Promisable<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../../src/model/Module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;IAC/C,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;IAClD,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;CAC3E;AAED,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,IAAI;
|
|
1
|
+
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../../src/model/Module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;IAC/C,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;IAClD,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;CAC3E;AAED,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,EAAE,mBAAmB,SAAS,kBAAkB,GAAG,SAAS,GAAG,SAAS,IAAI;IACxI,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IAGf,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAA;IAErC,EAAE,EAAE,mBAAmB,SAAS,kBAAkB,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAElJ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,SAAS,YAAY,GAAG,YAAY,EACtG,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,EACvB,WAAW,CAAC,EAAE,KAAK,KAChB,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAClC,SAAS,EAAE,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,SAAS,YAAY,GAAG,YAAY,EAC1G,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,EACvB,WAAW,CAAC,EAAE,KAAK,KAChB,UAAU,CAAC,OAAO,CAAC,CAAA;IAIxB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAA;CACpC,CAAA"}
|
package/package.json
CHANGED
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xyo-network/boundwitness-model": "^2.50.
|
|
14
|
-
"@xyo-network/core": "^2.50.
|
|
15
|
-
"@xyo-network/payload-model": "^2.50.
|
|
16
|
-
"@xyo-network/promise": "^2.50.
|
|
13
|
+
"@xyo-network/boundwitness-model": "^2.50.6",
|
|
14
|
+
"@xyo-network/core": "^2.50.6",
|
|
15
|
+
"@xyo-network/payload-model": "^2.50.6",
|
|
16
|
+
"@xyo-network/promise": "^2.50.6"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@xylabs/ts-scripts-yarn3": "^2.16.0
|
|
20
|
-
"@xylabs/tsconfig": "^2.16.0
|
|
19
|
+
"@xylabs/ts-scripts-yarn3": "^2.16.0",
|
|
20
|
+
"@xylabs/tsconfig": "^2.16.0",
|
|
21
21
|
"typescript": "^4.9.5"
|
|
22
22
|
},
|
|
23
23
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
},
|
|
54
54
|
"sideEffects": false,
|
|
55
55
|
"types": "dist/types/index.d.ts",
|
|
56
|
-
"version": "2.50.
|
|
56
|
+
"version": "2.50.6"
|
|
57
57
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventArgs } from './EventArgs'
|
|
2
|
+
import { EventListener } from './EventListener'
|
|
3
|
+
|
|
4
|
+
export type EventEmitterFunc<TResult, TEvent extends string = never, TEventArgs extends EventArgs = EventArgs> = (
|
|
5
|
+
event: TEvent,
|
|
6
|
+
handler: EventListener<TEventArgs>,
|
|
7
|
+
) => TResult
|
|
8
|
+
|
|
9
|
+
export interface ModuleEventEmitter<TEvent extends string = never, TEventArgs extends EventArgs = EventArgs> {
|
|
10
|
+
on: EventEmitterFunc<this, TEvent, TEventArgs>
|
|
11
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
|
|
2
|
+
import { AnyObject } from '@xyo-network/core'
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload-model'
|
|
4
|
+
|
|
5
|
+
import { Module } from '../model'
|
|
6
|
+
import { XyoQueryBoundWitness } from '../Query'
|
|
7
|
+
import { EventArgs } from './EventArgs'
|
|
8
|
+
import { ModuleEventEmitter } from './ModuleEventEmitter'
|
|
9
|
+
|
|
10
|
+
export type ModuleQueriedEvent = 'moduleQueried'
|
|
11
|
+
export const ModuleQueriedEvent: ModuleQueriedEvent = 'moduleQueried'
|
|
12
|
+
|
|
13
|
+
export type ModuleEventArgs<TArgs extends AnyObject | undefined = undefined> = TArgs extends AnyObject
|
|
14
|
+
? EventArgs<
|
|
15
|
+
{
|
|
16
|
+
module: Module
|
|
17
|
+
} & TArgs
|
|
18
|
+
>
|
|
19
|
+
: EventArgs<{
|
|
20
|
+
module: Module
|
|
21
|
+
}>
|
|
22
|
+
|
|
23
|
+
export type ModuleQueriedEventArgs = ModuleEventArgs<{
|
|
24
|
+
payloads?: XyoPayload[]
|
|
25
|
+
query: XyoQueryBoundWitness
|
|
26
|
+
result: [XyoBoundWitness, XyoPayload[]]
|
|
27
|
+
}>
|
|
28
|
+
|
|
29
|
+
export type ModuleQueriedEventEmitter = ModuleEventEmitter<ModuleQueriedEvent, ModuleQueriedEventArgs>
|
package/src/index.ts
CHANGED
package/src/model/Module.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { XyoPayload } from '@xyo-network/payload-model'
|
|
|
2
2
|
import { Promisable } from '@xyo-network/promise'
|
|
3
3
|
|
|
4
4
|
import { ModuleConfig } from '../Config'
|
|
5
|
+
import { ModuleEventEmitter, ModuleQueriedEventEmitter } from '../Events'
|
|
5
6
|
import { ModuleFilter } from '../ModuleFilter'
|
|
6
7
|
import { ModuleQueryResult } from '../ModuleQueryResult'
|
|
7
8
|
import { XyoQueryBoundWitness } from '../Query'
|
|
@@ -13,13 +14,15 @@ export interface ModuleResolver {
|
|
|
13
14
|
resolve<T extends Module = Module>(filter?: ModuleFilter): Promisable<T[]>
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
export type Module<TConfig extends ModuleConfig = ModuleConfig> = {
|
|
17
|
+
export type Module<TConfig extends ModuleConfig = ModuleConfig, TModuleEventEmitter extends ModuleEventEmitter | undefined = undefined> = {
|
|
17
18
|
address: string
|
|
18
19
|
config: TConfig
|
|
19
20
|
|
|
20
21
|
/* The resolver is a 'down' resolver. It can resolve the module or any children (if it is a node for example), that are in the module*/
|
|
21
22
|
readonly downResolver: ModuleResolver
|
|
22
23
|
|
|
24
|
+
on: TModuleEventEmitter extends ModuleEventEmitter ? ModuleQueriedEventEmitter['on'] | TModuleEventEmitter['on'] : ModuleQueriedEventEmitter['on']
|
|
25
|
+
|
|
23
26
|
queries: string[]
|
|
24
27
|
query: <T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(
|
|
25
28
|
query: T,
|