@xyo-network/module-model 2.64.8 → 2.64.9
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/Queries/Describe/Payload.js +5 -0
- package/dist/cjs/Queries/Describe/Payload.js.map +1 -0
- package/dist/cjs/Queries/Describe/Query.js +5 -0
- package/dist/cjs/Queries/Describe/Query.js.map +1 -0
- package/dist/cjs/Queries/Describe/index.js +6 -0
- package/dist/cjs/Queries/Describe/index.js.map +1 -0
- package/dist/cjs/Queries/Manifest.js +5 -0
- package/dist/cjs/Queries/Manifest.js.map +1 -0
- package/dist/cjs/Queries/index.js +2 -0
- package/dist/cjs/Queries/index.js.map +1 -1
- package/dist/cjs/isModule.js +22 -8
- package/dist/cjs/isModule.js.map +1 -1
- package/dist/docs.json +3899 -2469
- package/dist/esm/Queries/Describe/Payload.js +2 -0
- package/dist/esm/Queries/Describe/Payload.js.map +1 -0
- package/dist/esm/Queries/Describe/Query.js +2 -0
- package/dist/esm/Queries/Describe/Query.js.map +1 -0
- package/dist/esm/Queries/Describe/index.js +3 -0
- package/dist/esm/Queries/Describe/index.js.map +1 -0
- package/dist/esm/Queries/Manifest.js +2 -0
- package/dist/esm/Queries/Manifest.js.map +1 -0
- package/dist/esm/Queries/index.js +2 -0
- package/dist/esm/Queries/index.js.map +1 -1
- package/dist/esm/isModule.js +18 -6
- package/dist/esm/isModule.js.map +1 -1
- package/dist/types/Module.d.ts +11 -9
- package/dist/types/Module.d.ts.map +1 -1
- package/dist/types/ModuleRepository.d.ts +4 -4
- package/dist/types/ModuleRepository.d.ts.map +1 -1
- package/dist/types/Queries/Describe/Payload.d.ts +6 -0
- package/dist/types/Queries/Describe/Payload.d.ts.map +1 -0
- package/dist/types/Queries/Describe/Query.d.ts +7 -0
- package/dist/types/Queries/Describe/Query.d.ts.map +1 -0
- package/dist/types/Queries/Describe/index.d.ts +3 -0
- package/dist/types/Queries/Describe/index.d.ts.map +1 -0
- package/dist/types/Queries/Manifest.d.ts +7 -0
- package/dist/types/Queries/Manifest.d.ts.map +1 -0
- package/dist/types/Queries/index.d.ts +4 -1
- package/dist/types/Queries/index.d.ts.map +1 -1
- package/dist/types/asModule.d.ts +2 -2
- package/dist/types/isModule.d.ts +10 -3
- package/dist/types/isModule.d.ts.map +1 -1
- package/dist/types/withModule.d.ts +1 -1
- package/dist/types/withModule.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/Module.ts +20 -11
- package/src/ModuleRepository.ts +4 -4
- package/src/Queries/Describe/Payload.ts +8 -0
- package/src/Queries/Describe/Query.ts +8 -0
- package/src/Queries/Describe/index.ts +2 -0
- package/src/Queries/Manifest.ts +8 -0
- package/src/Queries/index.ts +4 -1
- package/src/isModule.ts +31 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../../../src/Queries/Describe/Payload.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Query.js","sourceRoot":"","sources":["../../../../src/Queries/Describe/Query.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,yBAAyB,GAA8B,mCAAmC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Queries/Describe/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Manifest.js","sourceRoot":"","sources":["../../../src/Queries/Manifest.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,yBAAyB,GAA8B,mCAAmC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAMA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
|
package/dist/esm/isModule.js
CHANGED
|
@@ -17,7 +17,7 @@ export const IsInstanceFactory = {
|
|
|
17
17
|
};
|
|
18
18
|
},
|
|
19
19
|
};
|
|
20
|
-
export const
|
|
20
|
+
export const IsIndirectModuleFactory = {
|
|
21
21
|
create: (expectedQueries, additionalCheck) => {
|
|
22
22
|
return (module = {}) => {
|
|
23
23
|
return (isModuleInstance(module) &&
|
|
@@ -26,22 +26,34 @@ export const IsModuleFactory = {
|
|
|
26
26
|
};
|
|
27
27
|
},
|
|
28
28
|
};
|
|
29
|
-
export const
|
|
29
|
+
export const IsModuleFactory = IsIndirectModuleFactory;
|
|
30
|
+
export const isIndirectModuleInstance = IsInstanceFactory.create({
|
|
30
31
|
account: 'object',
|
|
31
32
|
address: 'string',
|
|
32
33
|
config: 'object',
|
|
33
|
-
discover: 'function',
|
|
34
34
|
downResolver: 'object',
|
|
35
|
-
manifest: 'function',
|
|
36
35
|
params: 'object',
|
|
37
36
|
queries: 'array',
|
|
38
37
|
query: 'function',
|
|
39
38
|
queryable: 'function',
|
|
40
39
|
upResolver: 'object',
|
|
41
40
|
});
|
|
42
|
-
export const
|
|
43
|
-
|
|
41
|
+
export const isDirectModuleInstance = IsInstanceFactory.create({
|
|
42
|
+
description: 'function',
|
|
43
|
+
discover: 'function',
|
|
44
|
+
manifest: 'function',
|
|
45
|
+
subscribe: 'function',
|
|
46
|
+
});
|
|
47
|
+
export const isModuleInstance = isIndirectModuleInstance;
|
|
48
|
+
export const isDirectModule = (module = {}, expectedQueries, additionalCheck) => {
|
|
49
|
+
return (isDirectModuleInstance(module) &&
|
|
50
|
+
(additionalCheck?.(module) ?? true) &&
|
|
51
|
+
(expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true));
|
|
52
|
+
};
|
|
53
|
+
export const isIndirectModule = (module = {}, expectedQueries, additionalCheck) => {
|
|
54
|
+
return (isIndirectModuleInstance(module) &&
|
|
44
55
|
(additionalCheck?.(module) ?? true) &&
|
|
45
56
|
(expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true));
|
|
46
57
|
};
|
|
58
|
+
export const isModule = isIndirectModule;
|
|
47
59
|
//# sourceMappingURL=isModule.js.map
|
package/dist/esm/isModule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isModule.js","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAU,EAAE,YAAuB,EAAE,EAAE;IAC5D,IAAI,YAAY,KAAK,OAAO,EAAE;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;KAC5B;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE;QACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAA;KACrE;SAAM;QACL,OAAO,OAAO,KAAK,KAAK,YAAY,CAAA;KACrC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,CAA4B,KAAyB,EAAE,eAA0C,EAAwB,EAAE;QACjI,OAAO,CAAC,SAAc,EAAE,EAAe,EAAE;YACvC,OAAO,CACL,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;gBACnC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAC7G,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"isModule.js","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAU,EAAE,YAAuB,EAAE,EAAE;IAC5D,IAAI,YAAY,KAAK,OAAO,EAAE;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;KAC5B;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE;QACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAA;KACrE;SAAM;QACL,OAAO,OAAO,KAAK,KAAK,YAAY,CAAA;KACrC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,CAA4B,KAAyB,EAAE,eAA0C,EAAwB,EAAE;QACjI,OAAO,CAAC,SAAc,EAAE,EAAe,EAAE;YACvC,OAAO,CACL,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;gBACnC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAC7G,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,CAA4C,eAA0B,EAAE,eAA0C,EAAsB,EAAE;QAChJ,OAAO,CAAC,SAAc,EAAE,EAAe,EAAE;YACvC,OAAO,CACL,gBAAgB,CAAC,MAAM,CAAC;gBACxB,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;gBACnC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CACjG,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAA;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAsC,iBAAiB,CAAC,MAAM,CAAiB;IAClH,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAsC,iBAAiB,CAAC,MAAM,CAAiB;IAChH,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAA;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAc,EAAE,EAChB,eAA0B,EAC1B,eAA0C,EAC7B,EAAE;IACf,OAAO,CACL,sBAAsB,CAAC,MAAM,CAAC;QAC9B,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACnC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CACjG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAAc,EAAE,EAChB,eAA0B,EAC1B,eAA0C,EAC7B,EAAE;IACf,OAAO,CACL,wBAAwB,CAAC,MAAM,CAAC;QAChC,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACnC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CACjG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,CAAA"}
|
package/dist/types/Module.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
-
import {
|
|
2
|
+
import { ModuleManifestPayload } from '@xyo-network/manifest-model';
|
|
3
3
|
import { EventArgs, EventData, EventFunctions } from '@xyo-network/module-events';
|
|
4
4
|
import { Payload } from '@xyo-network/payload-model';
|
|
5
5
|
import { Promisable } from '@xyo-network/promise';
|
|
@@ -19,19 +19,19 @@ export interface ModuleResolver {
|
|
|
19
19
|
* is supplied, all modules are returned
|
|
20
20
|
* @param filter Filter criteria for the desired modules
|
|
21
21
|
*/
|
|
22
|
-
resolve<T extends
|
|
22
|
+
resolve<T extends IndirectModule = IndirectModule>(filter?: ModuleFilter): Promisable<T[]>;
|
|
23
23
|
/**
|
|
24
24
|
* Resolves a single module, or undefined if no modules matched the filter.
|
|
25
25
|
* @param filter The desired Module's Address or Name
|
|
26
26
|
*/
|
|
27
|
-
resolveOne<T extends
|
|
27
|
+
resolveOne<T extends IndirectModule = IndirectModule>(filter: string): Promisable<T | undefined>;
|
|
28
28
|
}
|
|
29
|
-
export type ModuleEventArgs<TModule extends
|
|
29
|
+
export type ModuleEventArgs<TModule extends IndirectModule = IndirectModule, TArgs extends EventArgs | undefined = undefined> = TArgs extends EventArgs ? {
|
|
30
30
|
module: TModule;
|
|
31
31
|
} & TArgs : {
|
|
32
32
|
module: TModule;
|
|
33
33
|
};
|
|
34
|
-
export type ModuleQueriedEventArgs = ModuleEventArgs<
|
|
34
|
+
export type ModuleQueriedEventArgs = ModuleEventArgs<IndirectModule, {
|
|
35
35
|
payloads?: Payload[];
|
|
36
36
|
query: QueryBoundWitness;
|
|
37
37
|
result: ModuleQueryResult;
|
|
@@ -41,13 +41,13 @@ export interface ModuleEventData extends EventData {
|
|
|
41
41
|
}
|
|
42
42
|
export type ModuleQueryFunctions = {
|
|
43
43
|
addressPreviousHash: () => Promisable<AddressPreviousHashPayload>;
|
|
44
|
+
describe: () => Promise<ModuleDescription>;
|
|
44
45
|
discover: () => Promisable<Payload[]>;
|
|
45
|
-
manifest: () => Promisable<
|
|
46
|
+
manifest: () => Promisable<ModuleManifestPayload>;
|
|
46
47
|
};
|
|
47
48
|
export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = {
|
|
48
49
|
address: string;
|
|
49
50
|
config: TParams['config'];
|
|
50
|
-
describe: () => Promise<ModuleDescription>;
|
|
51
51
|
readonly downResolver: ModuleResolver;
|
|
52
52
|
loadAccount?: () => Promisable<AccountInstance>;
|
|
53
53
|
params: TParams;
|
|
@@ -58,6 +58,8 @@ export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConf
|
|
|
58
58
|
start?: () => Promisable<void>;
|
|
59
59
|
readonly upResolver: ModuleResolver;
|
|
60
60
|
};
|
|
61
|
-
export type
|
|
62
|
-
export type
|
|
61
|
+
export type IndirectModule<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = ModuleFields<TParams> & EventFunctions<TEventData>;
|
|
62
|
+
export type DirectModule<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = IndirectModule<TParams, TEventData> & ModuleQueryFunctions;
|
|
63
|
+
export type ModuleInstance<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = DirectModule<TParams, TEventData>;
|
|
64
|
+
export type Module<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = IndirectModule<TParams, TEventData>;
|
|
63
65
|
//# sourceMappingURL=Module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../src/Module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../src/Module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IndirectModule, ModuleResolver } from './Module';
|
|
2
2
|
export interface ModuleRepository extends ModuleResolver {
|
|
3
|
-
add(module:
|
|
4
|
-
add(module:
|
|
5
|
-
add(module:
|
|
3
|
+
add(module: IndirectModule): this;
|
|
4
|
+
add(module: IndirectModule[]): this;
|
|
5
|
+
add(module: IndirectModule | IndirectModule[]): this;
|
|
6
6
|
remove(address: string | string[]): this;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=ModuleRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleRepository.d.ts","sourceRoot":"","sources":["../../src/ModuleRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ModuleRepository.d.ts","sourceRoot":"","sources":["../../src/ModuleRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IACnC,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,GAAG,IAAI,CAAA;IAEpD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;CACzC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Payload } from '@xyo-network/payload-model';
|
|
2
|
+
import { ModuleDescription } from '../../ModuleDescription';
|
|
3
|
+
export declare const ModuleDescriptionSchema = "network.xyo.module.description";
|
|
4
|
+
export type ModuleDescriptionSchema = typeof ModuleDescriptionSchema;
|
|
5
|
+
export type ModuleDescriptionPayload = Payload<ModuleDescription, ModuleDescriptionSchema>;
|
|
6
|
+
//# sourceMappingURL=Payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../../../src/Queries/Describe/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,eAAO,MAAM,uBAAuB,mCAAmC,CAAA;AACvE,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAA;AAEpE,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Query } from '../../Query';
|
|
2
|
+
export type ModuleDescribeQuerySchema = 'network.xyo.query.module.describe';
|
|
3
|
+
export declare const ModuleDescribeQuerySchema: ModuleDescribeQuerySchema;
|
|
4
|
+
export type ModuleDescribeQuery = Query<{
|
|
5
|
+
schema: ModuleDescribeQuerySchema;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=Query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../../../src/Queries/Describe/Query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,MAAM,MAAM,yBAAyB,GAAG,mCAAmC,CAAA;AAC3E,eAAO,MAAM,yBAAyB,EAAE,yBAA+D,CAAA;AAEvG,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,yBAAyB,CAAA;CAClC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Queries/Describe/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Query } from '../Query';
|
|
2
|
+
export type ModuleManifestQuerySchema = 'network.xyo.query.module.manifest';
|
|
3
|
+
export declare const ModuleManifestQuerySchema: ModuleManifestQuerySchema;
|
|
4
|
+
export type ModuleManifestQuery = Query<{
|
|
5
|
+
schema: ModuleManifestQuerySchema;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=Manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Manifest.d.ts","sourceRoot":"","sources":["../../../src/Queries/Manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,MAAM,yBAAyB,GAAG,mCAAmC,CAAA;AAC3E,eAAO,MAAM,yBAAyB,EAAE,yBAA+D,CAAA;AAEvG,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,yBAAyB,CAAA;CAClC,CAAC,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Query } from '../Query';
|
|
2
|
+
import { ModuleDescribeQuery } from './Describe';
|
|
2
3
|
import { ModuleDiscoverQuery } from './Discover';
|
|
3
4
|
import { ModuleAddressQuery } from './ModuleAddress';
|
|
4
5
|
import { ModuleSubscribeQuery } from './Subscribe';
|
|
6
|
+
export * from './Describe';
|
|
5
7
|
export * from './Discover';
|
|
8
|
+
export * from './Manifest';
|
|
6
9
|
export * from './ModuleAddress';
|
|
7
10
|
export * from './Subscribe';
|
|
8
|
-
export type ModuleQueryBase = ModuleDiscoverQuery | ModuleAddressQuery | ModuleSubscribeQuery;
|
|
11
|
+
export type ModuleQueryBase = ModuleDiscoverQuery | ModuleAddressQuery | ModuleSubscribeQuery | ModuleDescribeQuery;
|
|
9
12
|
export type ModuleQuery<T extends Query | void = void> = T extends Query ? ModuleQueryBase | T : ModuleQueryBase;
|
|
10
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAE3B,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAE3B,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,mBAAmB,CAAA;AAEnH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,eAAe,GAAG,CAAC,GAAG,eAAe,CAAA"}
|
package/dist/types/asModule.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ export declare const AsFactory: {
|
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
8
|
export declare const asModule: {
|
|
9
|
-
(module: any): import("./Module").
|
|
10
|
-
(module: any, assert: string | (() => string)): import("./Module").
|
|
9
|
+
(module: any): import("./Module").IndirectModule | undefined;
|
|
10
|
+
(module: any, assert: string | (() => string)): import("./Module").IndirectModule;
|
|
11
11
|
};
|
|
12
12
|
export declare const asModuleInstance: {
|
|
13
13
|
(module: any): import("./Module").ModuleInstance | undefined;
|
package/dist/types/isModule.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Module, ModuleInstance } from './Module';
|
|
1
|
+
import { DirectModule, IndirectModule, Module, ModuleInstance } from './Module';
|
|
2
2
|
export type InstanceTypeCheck<T extends object = object> = (module: object) => module is T;
|
|
3
3
|
export type ModuleTypeCheck<T extends Module = Module> = InstanceTypeCheck<T>;
|
|
4
4
|
export type FieldType = 'string' | 'number' | 'object' | 'symbol' | 'symbol' | 'undefined' | 'null' | 'array' | 'function' | 'payload';
|
|
@@ -7,9 +7,16 @@ export declare const isType: (value: any, expectedType: FieldType) => boolean;
|
|
|
7
7
|
export declare const IsInstanceFactory: {
|
|
8
8
|
create: <T extends object = object>(shape?: InstanceTypeShape, additionalCheck?: ((module: any) => boolean) | undefined) => InstanceTypeCheck<T>;
|
|
9
9
|
};
|
|
10
|
+
export declare const IsIndirectModuleFactory: {
|
|
11
|
+
create: <T extends IndirectModule = IndirectModule>(expectedQueries?: string[], additionalCheck?: ((module: any) => boolean) | undefined) => ModuleTypeCheck<T>;
|
|
12
|
+
};
|
|
10
13
|
export declare const IsModuleFactory: {
|
|
11
|
-
create: <T extends
|
|
14
|
+
create: <T extends IndirectModule = IndirectModule>(expectedQueries?: string[], additionalCheck?: ((module: any) => boolean) | undefined) => ModuleTypeCheck<T>;
|
|
12
15
|
};
|
|
16
|
+
export declare const isIndirectModuleInstance: InstanceTypeCheck<ModuleInstance>;
|
|
17
|
+
export declare const isDirectModuleInstance: InstanceTypeCheck<ModuleInstance>;
|
|
13
18
|
export declare const isModuleInstance: InstanceTypeCheck<ModuleInstance>;
|
|
14
|
-
export declare const
|
|
19
|
+
export declare const isDirectModule: <T extends DirectModule = DirectModule>(module?: any, expectedQueries?: string[], additionalCheck?: ((module: any) => boolean) | undefined) => module is T;
|
|
20
|
+
export declare const isIndirectModule: <T extends IndirectModule = IndirectModule>(module?: any, expectedQueries?: string[], additionalCheck?: ((module: any) => boolean) | undefined) => module is T;
|
|
21
|
+
export declare const isModule: <T extends IndirectModule = IndirectModule>(module?: any, expectedQueries?: string[], additionalCheck?: ((module: any) => boolean) | undefined) => module is T;
|
|
15
22
|
//# sourceMappingURL=isModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isModule.d.ts","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"isModule.d.ts","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE/E,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC,CAAA;AAE1F,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAE7E,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;AAEtI,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,CAAA;AAE3E,eAAO,MAAM,MAAM,UAAW,GAAG,gBAAgB,SAAS,YAQzD,CAAA;AAED,eAAO,MAAM,iBAAiB;gDACgB,iBAAiB,8BAA6B,GAAG,KAAK,OAAO;CAQ1G,CAAA;AAED,eAAO,MAAM,uBAAuB;0EACoC,MAAM,EAAE,8BAA6B,GAAG,KAAK,OAAO;CAS3H,CAAA;AAED,eAAO,MAAM,eAAe;0EAX4C,MAAM,EAAE,8BAA6B,GAAG,KAAK,OAAO;CAWtE,CAAA;AAEtD,eAAO,MAAM,wBAAwB,EAAE,iBAAiB,CAAC,cAAc,CAUrE,CAAA;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,cAAc,CAKnE,CAAA;AAEF,eAAO,MAAM,gBAAgB,mCAA2B,CAAA;AAExD,eAAO,MAAM,cAAc,mDACjB,GAAG,oBACO,MAAM,EAAE,8BACC,GAAG,KAAK,OAAO,6BAO3C,CAAA;AAED,eAAO,MAAM,gBAAgB,uDACnB,GAAG,oBACO,MAAM,EAAE,8BACC,GAAG,KAAK,OAAO,6BAO3C,CAAA;AAED,eAAO,MAAM,QAAQ,uDAXX,GAAG,oBACO,MAAM,EAAE,8BACC,GAAG,KAAK,OAAO,6BASJ,CAAA"}
|
|
@@ -2,6 +2,6 @@ import { InstanceTypeCheck } from './isModule';
|
|
|
2
2
|
export declare const WithFactory: {
|
|
3
3
|
create: <T extends object>(typeCheck: InstanceTypeCheck<T>) => <R>(module: any, closure: (module: T) => R) => R | undefined;
|
|
4
4
|
};
|
|
5
|
-
export declare const withModule: <R>(module: any, closure: (module: import("./Module").
|
|
5
|
+
export declare const withModule: <R>(module: any, closure: (module: import("./Module").IndirectModule) => R) => R | undefined;
|
|
6
6
|
export declare const withModuleInstance: <R>(module: any, closure: (module: import("./Module").ModuleInstance) => R) => R | undefined;
|
|
7
7
|
//# sourceMappingURL=withModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withModule.d.ts","sourceRoot":"","sources":["../../src/withModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,YAAY,CAAA;AAE1E,eAAO,MAAM,WAAW;+EAIV,GAAG;CAOhB,CAAA;AAED,eAAO,MAAM,UAAU,cATT,GAAG,
|
|
1
|
+
{"version":3,"file":"withModule.d.ts","sourceRoot":"","sources":["../../src/withModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,YAAY,CAAA;AAE1E,eAAO,MAAM,WAAW;+EAIV,GAAG;CAOhB,CAAA;AAED,eAAO,MAAM,UAAU,cATT,GAAG,6EASqC,CAAA;AACtD,eAAO,MAAM,kBAAkB,cAVjB,GAAG,6EAUqD,CAAA"}
|
package/package.json
CHANGED
|
@@ -11,19 +11,19 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.9.3",
|
|
14
|
-
"@xyo-network/account-model": "^2.64.
|
|
15
|
-
"@xyo-network/address-payload-plugin": "^2.64.
|
|
16
|
-
"@xyo-network/boundwitness-model": "^2.64.
|
|
17
|
-
"@xyo-network/core": "^2.64.
|
|
18
|
-
"@xyo-network/manifest-model": "^2.64.
|
|
19
|
-
"@xyo-network/module-events": "^2.64.
|
|
20
|
-
"@xyo-network/payload-model": "^2.64.
|
|
21
|
-
"@xyo-network/promise": "^2.64.
|
|
22
|
-
"@xyo-network/wallet-model": "^2.64.
|
|
14
|
+
"@xyo-network/account-model": "^2.64.9",
|
|
15
|
+
"@xyo-network/address-payload-plugin": "^2.64.9",
|
|
16
|
+
"@xyo-network/boundwitness-model": "^2.64.9",
|
|
17
|
+
"@xyo-network/core": "^2.64.9",
|
|
18
|
+
"@xyo-network/manifest-model": "^2.64.9",
|
|
19
|
+
"@xyo-network/module-events": "^2.64.9",
|
|
20
|
+
"@xyo-network/payload-model": "^2.64.9",
|
|
21
|
+
"@xyo-network/promise": "^2.64.9",
|
|
22
|
+
"@xyo-network/wallet-model": "^2.64.9"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@xylabs/ts-scripts-yarn3": "^2.18.
|
|
26
|
-
"@xylabs/tsconfig": "^2.18.
|
|
25
|
+
"@xylabs/ts-scripts-yarn3": "^2.18.7",
|
|
26
|
+
"@xylabs/tsconfig": "^2.18.7",
|
|
27
27
|
"typescript": "^5.1.6"
|
|
28
28
|
},
|
|
29
29
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
},
|
|
60
60
|
"sideEffects": false,
|
|
61
61
|
"types": "dist/types/index.d.ts",
|
|
62
|
-
"version": "2.64.
|
|
62
|
+
"version": "2.64.9"
|
|
63
63
|
}
|
package/src/Module.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
|
-
import {
|
|
2
|
+
import { ModuleManifestPayload } from '@xyo-network/manifest-model'
|
|
3
3
|
import { EventArgs, EventData, EventFunctions } from '@xyo-network/module-events'
|
|
4
4
|
import { Payload } from '@xyo-network/payload-model'
|
|
5
5
|
import { Promisable } from '@xyo-network/promise'
|
|
@@ -21,16 +21,16 @@ export interface ModuleResolver {
|
|
|
21
21
|
* is supplied, all modules are returned
|
|
22
22
|
* @param filter Filter criteria for the desired modules
|
|
23
23
|
*/
|
|
24
|
-
resolve<T extends
|
|
24
|
+
resolve<T extends IndirectModule = IndirectModule>(filter?: ModuleFilter): Promisable<T[]>
|
|
25
25
|
/**
|
|
26
26
|
* Resolves a single module, or undefined if no modules matched the filter.
|
|
27
27
|
* @param filter The desired Module's Address or Name
|
|
28
28
|
*/
|
|
29
|
-
resolveOne<T extends
|
|
29
|
+
resolveOne<T extends IndirectModule = IndirectModule>(filter: string): Promisable<T | undefined>
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export type ModuleEventArgs<
|
|
33
|
-
TModule extends
|
|
33
|
+
TModule extends IndirectModule = IndirectModule,
|
|
34
34
|
TArgs extends EventArgs | undefined = undefined,
|
|
35
35
|
> = TArgs extends EventArgs
|
|
36
36
|
? {
|
|
@@ -41,7 +41,7 @@ export type ModuleEventArgs<
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export type ModuleQueriedEventArgs = ModuleEventArgs<
|
|
44
|
-
|
|
44
|
+
IndirectModule,
|
|
45
45
|
{
|
|
46
46
|
payloads?: Payload[]
|
|
47
47
|
query: QueryBoundWitness
|
|
@@ -55,16 +55,15 @@ export interface ModuleEventData extends EventData {
|
|
|
55
55
|
|
|
56
56
|
export type ModuleQueryFunctions = {
|
|
57
57
|
addressPreviousHash: () => Promisable<AddressPreviousHashPayload>
|
|
58
|
+
describe: () => Promise<ModuleDescription>
|
|
58
59
|
discover: () => Promisable<Payload[]>
|
|
59
|
-
manifest: () => Promisable<
|
|
60
|
+
manifest: () => Promisable<ModuleManifestPayload>
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = {
|
|
63
64
|
address: string
|
|
64
65
|
config: TParams['config']
|
|
65
66
|
|
|
66
|
-
describe: () => Promise<ModuleDescription>
|
|
67
|
-
|
|
68
67
|
/* 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*/
|
|
69
68
|
readonly downResolver: ModuleResolver
|
|
70
69
|
|
|
@@ -93,12 +92,22 @@ export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConf
|
|
|
93
92
|
readonly upResolver: ModuleResolver
|
|
94
93
|
}
|
|
95
94
|
|
|
96
|
-
export type
|
|
95
|
+
export type IndirectModule<
|
|
97
96
|
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
98
97
|
TEventData extends ModuleEventData = ModuleEventData,
|
|
99
|
-
> = ModuleFields<TParams> & EventFunctions<TEventData>
|
|
98
|
+
> = ModuleFields<TParams> & EventFunctions<TEventData>
|
|
99
|
+
|
|
100
|
+
export type DirectModule<
|
|
101
|
+
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
102
|
+
TEventData extends ModuleEventData = ModuleEventData,
|
|
103
|
+
> = IndirectModule<TParams, TEventData> & ModuleQueryFunctions
|
|
100
104
|
|
|
101
105
|
export type ModuleInstance<
|
|
102
106
|
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
103
107
|
TEventData extends ModuleEventData = ModuleEventData,
|
|
104
|
-
> =
|
|
108
|
+
> = DirectModule<TParams, TEventData>
|
|
109
|
+
|
|
110
|
+
export type Module<
|
|
111
|
+
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
112
|
+
TEventData extends ModuleEventData = ModuleEventData,
|
|
113
|
+
> = IndirectModule<TParams, TEventData>
|
package/src/ModuleRepository.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IndirectModule, ModuleResolver } from './Module'
|
|
2
2
|
|
|
3
3
|
export interface ModuleRepository extends ModuleResolver {
|
|
4
|
-
add(module:
|
|
5
|
-
add(module:
|
|
6
|
-
add(module:
|
|
4
|
+
add(module: IndirectModule): this
|
|
5
|
+
add(module: IndirectModule[]): this
|
|
6
|
+
add(module: IndirectModule | IndirectModule[]): this
|
|
7
7
|
|
|
8
8
|
remove(address: string | string[]): this
|
|
9
9
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Payload } from '@xyo-network/payload-model'
|
|
2
|
+
|
|
3
|
+
import { ModuleDescription } from '../../ModuleDescription'
|
|
4
|
+
|
|
5
|
+
export const ModuleDescriptionSchema = 'network.xyo.module.description'
|
|
6
|
+
export type ModuleDescriptionSchema = typeof ModuleDescriptionSchema
|
|
7
|
+
|
|
8
|
+
export type ModuleDescriptionPayload = Payload<ModuleDescription, ModuleDescriptionSchema>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Query } from '../../Query'
|
|
2
|
+
|
|
3
|
+
export type ModuleDescribeQuerySchema = 'network.xyo.query.module.describe'
|
|
4
|
+
export const ModuleDescribeQuerySchema: ModuleDescribeQuerySchema = 'network.xyo.query.module.describe'
|
|
5
|
+
|
|
6
|
+
export type ModuleDescribeQuery = Query<{
|
|
7
|
+
schema: ModuleDescribeQuerySchema
|
|
8
|
+
}>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Query } from '../Query'
|
|
2
|
+
|
|
3
|
+
export type ModuleManifestQuerySchema = 'network.xyo.query.module.manifest'
|
|
4
|
+
export const ModuleManifestQuerySchema: ModuleManifestQuerySchema = 'network.xyo.query.module.manifest'
|
|
5
|
+
|
|
6
|
+
export type ModuleManifestQuery = Query<{
|
|
7
|
+
schema: ModuleManifestQuerySchema
|
|
8
|
+
}>
|
package/src/Queries/index.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { Query } from '../Query'
|
|
2
|
+
import { ModuleDescribeQuery } from './Describe'
|
|
2
3
|
import { ModuleDiscoverQuery } from './Discover'
|
|
3
4
|
import { ModuleAddressQuery } from './ModuleAddress'
|
|
4
5
|
import { ModuleSubscribeQuery } from './Subscribe'
|
|
5
6
|
|
|
7
|
+
export * from './Describe'
|
|
6
8
|
export * from './Discover'
|
|
9
|
+
export * from './Manifest'
|
|
7
10
|
export * from './ModuleAddress'
|
|
8
11
|
export * from './Subscribe'
|
|
9
12
|
|
|
10
|
-
export type ModuleQueryBase = ModuleDiscoverQuery | ModuleAddressQuery | ModuleSubscribeQuery
|
|
13
|
+
export type ModuleQueryBase = ModuleDiscoverQuery | ModuleAddressQuery | ModuleSubscribeQuery | ModuleDescribeQuery
|
|
11
14
|
|
|
12
15
|
export type ModuleQuery<T extends Query | void = void> = T extends Query ? ModuleQueryBase | T : ModuleQueryBase
|
package/src/isModule.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Module, ModuleInstance } from './Module'
|
|
2
|
+
import { DirectModule, IndirectModule, Module, ModuleInstance } from './Module'
|
|
3
3
|
|
|
4
4
|
export type InstanceTypeCheck<T extends object = object> = (module: object) => module is T
|
|
5
5
|
|
|
@@ -30,8 +30,8 @@ export const IsInstanceFactory = {
|
|
|
30
30
|
},
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
export const
|
|
34
|
-
create: <T extends
|
|
33
|
+
export const IsIndirectModuleFactory = {
|
|
34
|
+
create: <T extends IndirectModule = IndirectModule>(expectedQueries?: string[], additionalCheck?: (module: any) => boolean): ModuleTypeCheck<T> => {
|
|
35
35
|
return (module: any = {}): module is T => {
|
|
36
36
|
return (
|
|
37
37
|
isModuleInstance(module) &&
|
|
@@ -42,13 +42,13 @@ export const IsModuleFactory = {
|
|
|
42
42
|
},
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
export const
|
|
45
|
+
export const IsModuleFactory = IsIndirectModuleFactory
|
|
46
|
+
|
|
47
|
+
export const isIndirectModuleInstance: InstanceTypeCheck<ModuleInstance> = IsInstanceFactory.create<ModuleInstance>({
|
|
46
48
|
account: 'object',
|
|
47
49
|
address: 'string',
|
|
48
50
|
config: 'object',
|
|
49
|
-
discover: 'function',
|
|
50
51
|
downResolver: 'object',
|
|
51
|
-
manifest: 'function',
|
|
52
52
|
params: 'object',
|
|
53
53
|
queries: 'array',
|
|
54
54
|
query: 'function',
|
|
@@ -56,14 +56,37 @@ export const isModuleInstance: InstanceTypeCheck<ModuleInstance> = IsInstanceFac
|
|
|
56
56
|
upResolver: 'object',
|
|
57
57
|
})
|
|
58
58
|
|
|
59
|
-
export const
|
|
59
|
+
export const isDirectModuleInstance: InstanceTypeCheck<ModuleInstance> = IsInstanceFactory.create<ModuleInstance>({
|
|
60
|
+
description: 'function',
|
|
61
|
+
discover: 'function',
|
|
62
|
+
manifest: 'function',
|
|
63
|
+
subscribe: 'function',
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
export const isModuleInstance = isIndirectModuleInstance
|
|
67
|
+
|
|
68
|
+
export const isDirectModule = <T extends DirectModule = DirectModule>(
|
|
60
69
|
module: any = {},
|
|
61
70
|
expectedQueries?: string[],
|
|
62
71
|
additionalCheck?: (module: any) => boolean,
|
|
63
72
|
): module is T => {
|
|
64
73
|
return (
|
|
65
|
-
|
|
74
|
+
isDirectModuleInstance(module) &&
|
|
66
75
|
(additionalCheck?.(module) ?? true) &&
|
|
67
76
|
(expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true)
|
|
68
77
|
)
|
|
69
78
|
}
|
|
79
|
+
|
|
80
|
+
export const isIndirectModule = <T extends IndirectModule = IndirectModule>(
|
|
81
|
+
module: any = {},
|
|
82
|
+
expectedQueries?: string[],
|
|
83
|
+
additionalCheck?: (module: any) => boolean,
|
|
84
|
+
): module is T => {
|
|
85
|
+
return (
|
|
86
|
+
isIndirectModuleInstance(module) &&
|
|
87
|
+
(additionalCheck?.(module) ?? true) &&
|
|
88
|
+
(expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true)
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export const isModule = isIndirectModule
|