@xyo-network/module-model 2.64.7 → 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/asModule.js +28 -0
- package/dist/cjs/asModule.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/isModule.js +28 -9
- package/dist/cjs/isModule.js.map +1 -1
- package/dist/docs.json +5611 -3209
- 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/asModule.js +25 -0
- package/dist/esm/asModule.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/isModule.js +23 -8
- package/dist/esm/isModule.js.map +1 -1
- package/dist/types/Module.d.ts +13 -8
- 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 +16 -0
- package/dist/types/asModule.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/isModule.d.ts +11 -4
- package/dist/types/isModule.d.ts.map +1 -1
- package/dist/types/withModule.d.ts +3 -3
- package/dist/types/withModule.d.ts.map +1 -1
- package/package.json +13 -12
- package/src/Module.ts +23 -9
- 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/asModule.ts +39 -0
- package/src/index.ts +1 -0
- package/src/isModule.ts +43 -11
- package/src/withModule.ts +1 -1
|
@@ -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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert';
|
|
2
|
+
import { isModule, isModuleInstance } from './isModule';
|
|
3
|
+
export const AsFactory = {
|
|
4
|
+
create: (typeCheck) => {
|
|
5
|
+
function func(
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
+
module, assert) {
|
|
8
|
+
const result = typeCheck(module) ? module : undefined;
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
const noUndefined = (assert) => {
|
|
11
|
+
return !!assert;
|
|
12
|
+
};
|
|
13
|
+
if (noUndefined(assert)) {
|
|
14
|
+
return assertEx(result, typeof assert === 'function' ? assert() : assert);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return func;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export const asModule = AsFactory.create(isModule);
|
|
24
|
+
export const asModuleInstance = AsFactory.create(isModuleInstance);
|
|
25
|
+
//# sourceMappingURL=asModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asModule.js","sourceRoot":"","sources":["../../src/asModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAqB,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,CAAyB,SAAqC,EAAE,EAAE;QAUxE,SAAS,IAAI;QACX,8DAA8D;QAC9D,MAAW,EACX,MAAgC;YAEhC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;YAErD,8DAA8D;YAC9D,MAAM,WAAW,GAAG,CAAC,MAAW,EAAqB,EAAE;gBACrD,OAAO,CAAC,CAAC,MAAM,CAAA;YACjB,CAAC,CAAA;YAED,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;gBACvB,OAAO,QAAQ,CAAC,MAAM,EAAE,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;aAC1E;iBAAM;gBACL,OAAO,MAAM,CAAA;aACd;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,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,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
package/dist/esm/isModule.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ModuleAddressQuerySchema, ModuleDiscoverQuerySchema } from './Queries';
|
|
2
1
|
export const isType = (value, expectedType) => {
|
|
3
2
|
if (expectedType === 'array') {
|
|
4
3
|
return Array.isArray(value);
|
|
@@ -12,33 +11,49 @@ export const isType = (value, expectedType) => {
|
|
|
12
11
|
};
|
|
13
12
|
export const IsInstanceFactory = {
|
|
14
13
|
create: (shape, additionalCheck) => {
|
|
15
|
-
return (module) => {
|
|
14
|
+
return (module = {}) => {
|
|
16
15
|
return ((additionalCheck?.(module) ?? true) &&
|
|
17
16
|
(Object.entries(shape ?? {}).reduce((prev, [key, type]) => prev && isType(module[key], type), true) ?? true));
|
|
18
17
|
};
|
|
19
18
|
},
|
|
20
19
|
};
|
|
21
|
-
export const
|
|
20
|
+
export const IsIndirectModuleFactory = {
|
|
22
21
|
create: (expectedQueries, additionalCheck) => {
|
|
23
|
-
return (module) => {
|
|
22
|
+
return (module = {}) => {
|
|
24
23
|
return (isModuleInstance(module) &&
|
|
25
24
|
(additionalCheck?.(module) ?? true) &&
|
|
26
25
|
(expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true));
|
|
27
26
|
};
|
|
28
27
|
},
|
|
29
28
|
};
|
|
30
|
-
export const
|
|
29
|
+
export const IsModuleFactory = IsIndirectModuleFactory;
|
|
30
|
+
export const isIndirectModuleInstance = IsInstanceFactory.create({
|
|
31
31
|
account: 'object',
|
|
32
32
|
address: 'string',
|
|
33
33
|
config: 'object',
|
|
34
|
-
discover: 'function',
|
|
35
34
|
downResolver: 'object',
|
|
36
|
-
manifest: 'function',
|
|
37
35
|
params: 'object',
|
|
38
36
|
queries: 'array',
|
|
39
37
|
query: 'function',
|
|
40
38
|
queryable: 'function',
|
|
41
39
|
upResolver: 'object',
|
|
42
40
|
});
|
|
43
|
-
export const
|
|
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) &&
|
|
55
|
+
(additionalCheck?.(module) ?? true) &&
|
|
56
|
+
(expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true));
|
|
57
|
+
};
|
|
58
|
+
export const isModule = isIndirectModule;
|
|
44
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":"
|
|
1
|
+
{"version":3,"file":"isModule.js","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":"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"}
|
package/dist/types/Module.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
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';
|
|
6
6
|
import { AnyConfigSchema, ModuleConfig } from './Config';
|
|
7
|
+
import { ModuleDescription } from './ModuleDescription';
|
|
7
8
|
import { ModuleFilter } from './ModuleFilter';
|
|
8
9
|
import { ModuleParams } from './ModuleParams';
|
|
9
10
|
import { ModuleQueryResult } from './ModuleQueryResult';
|
|
@@ -18,19 +19,19 @@ export interface ModuleResolver {
|
|
|
18
19
|
* is supplied, all modules are returned
|
|
19
20
|
* @param filter Filter criteria for the desired modules
|
|
20
21
|
*/
|
|
21
|
-
resolve<T extends
|
|
22
|
+
resolve<T extends IndirectModule = IndirectModule>(filter?: ModuleFilter): Promisable<T[]>;
|
|
22
23
|
/**
|
|
23
24
|
* Resolves a single module, or undefined if no modules matched the filter.
|
|
24
25
|
* @param filter The desired Module's Address or Name
|
|
25
26
|
*/
|
|
26
|
-
resolveOne<T extends
|
|
27
|
+
resolveOne<T extends IndirectModule = IndirectModule>(filter: string): Promisable<T | undefined>;
|
|
27
28
|
}
|
|
28
|
-
export type ModuleEventArgs<TModule extends
|
|
29
|
+
export type ModuleEventArgs<TModule extends IndirectModule = IndirectModule, TArgs extends EventArgs | undefined = undefined> = TArgs extends EventArgs ? {
|
|
29
30
|
module: TModule;
|
|
30
31
|
} & TArgs : {
|
|
31
32
|
module: TModule;
|
|
32
33
|
};
|
|
33
|
-
export type ModuleQueriedEventArgs = ModuleEventArgs<
|
|
34
|
+
export type ModuleQueriedEventArgs = ModuleEventArgs<IndirectModule, {
|
|
34
35
|
payloads?: Payload[];
|
|
35
36
|
query: QueryBoundWitness;
|
|
36
37
|
result: ModuleQueryResult;
|
|
@@ -40,8 +41,9 @@ export interface ModuleEventData extends EventData {
|
|
|
40
41
|
}
|
|
41
42
|
export type ModuleQueryFunctions = {
|
|
42
43
|
addressPreviousHash: () => Promisable<AddressPreviousHashPayload>;
|
|
44
|
+
describe: () => Promise<ModuleDescription>;
|
|
43
45
|
discover: () => Promisable<Payload[]>;
|
|
44
|
-
manifest: () => Promisable<
|
|
46
|
+
manifest: () => Promisable<ModuleManifestPayload>;
|
|
45
47
|
};
|
|
46
48
|
export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = {
|
|
47
49
|
address: string;
|
|
@@ -49,12 +51,15 @@ export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConf
|
|
|
49
51
|
readonly downResolver: ModuleResolver;
|
|
50
52
|
loadAccount?: () => Promisable<AccountInstance>;
|
|
51
53
|
params: TParams;
|
|
54
|
+
previousHash: () => Promisable<string | undefined>;
|
|
52
55
|
queries: string[];
|
|
53
56
|
query: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<ModuleQueryResult>;
|
|
54
57
|
queryable: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<boolean>;
|
|
55
58
|
start?: () => Promisable<void>;
|
|
56
59
|
readonly upResolver: ModuleResolver;
|
|
57
60
|
};
|
|
58
|
-
export type
|
|
59
|
-
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>;
|
|
60
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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAE3C,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;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1F;;;OAGG;IACH,UAAU,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;CACjG;AAED,MAAM,MAAM,eAAe,CACzB,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,KAAK,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IAC7C,KAAK,SAAS,SAAS,GACvB;IACE,MAAM,EAAE,OAAO,CAAA;CAChB,GAAG,KAAK,GACT;IACE,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAEL,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAClD,cAAc,EACd;IACE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,KAAK,EAAE,iBAAiB,CAAA;IACxB,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CACF,CAAA;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,aAAa,EAAE,sBAAsB,CAAA;CACtC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,MAAM,UAAU,CAAC,0BAA0B,CAAC,CAAA;IACjE,QAAQ,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC1C,QAAQ,EAAE,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IACrC,QAAQ,EAAE,MAAM,UAAU,CAAC,qBAAqB,CAAC,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,IAAI;IACpI,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAGzB,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAA;IAErC,WAAW,CAAC,EAAE,MAAM,UAAU,CAAC,eAAe,CAAC,CAAA;IAE/C,MAAM,EAAE,OAAO,CAAA;IAEf,YAAY,EAAE,MAAM,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAElD,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,SAAS,YAAY,GAAG,YAAY,EAChG,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,KAAK,KAChB,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAClC,SAAS,EAAE,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,SAAS,YAAY,GAAG,YAAY,EACpG,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,KAAK,KAChB,UAAU,CAAC,OAAO,CAAC,CAAA;IAExB,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;IAI9B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EACzG,UAAU,SAAS,eAAe,GAAG,eAAe,IAClD,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;AAEtD,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EACzG,UAAU,SAAS,eAAe,GAAG,eAAe,IAClD,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,oBAAoB,CAAA;AAE9D,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EACzG,UAAU,SAAS,eAAe,GAAG,eAAe,IAClD,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;AAErC,MAAM,MAAM,MAAM,CAChB,OAAO,SAAS,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,EACzG,UAAU,SAAS,eAAe,GAAG,eAAe,IAClD,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { InstanceTypeCheck } from './isModule';
|
|
2
|
+
export declare const AsFactory: {
|
|
3
|
+
create: <TModule extends object>(typeCheck: InstanceTypeCheck<TModule>) => {
|
|
4
|
+
(module: any): TModule | undefined;
|
|
5
|
+
(module: any, assert: string | (() => string)): TModule;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare const asModule: {
|
|
9
|
+
(module: any): import("./Module").IndirectModule | undefined;
|
|
10
|
+
(module: any, assert: string | (() => string)): import("./Module").IndirectModule;
|
|
11
|
+
};
|
|
12
|
+
export declare const asModuleInstance: {
|
|
13
|
+
(module: any): import("./Module").ModuleInstance | undefined;
|
|
14
|
+
(module: any, assert: string | (() => string)): import("./Module").ModuleInstance;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=asModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asModule.d.ts","sourceRoot":"","sources":["../../src/asModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,YAAY,CAAA;AAE1E,eAAO,MAAM,SAAS;;iBAIR,GAAG;iBAIH,GAAG,UACH,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC;;CAsBpC,CAAA;AAED,eAAO,MAAM,QAAQ;aA7BP,GAAG;aAIH,GAAG,0BACa,MAAM;CAwBc,CAAA;AAClD,eAAO,MAAM,gBAAgB;aA9Bf,GAAG;aAIH,GAAG,0BACa,MAAM;CAyB8B,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,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
package/dist/types/isModule.d.ts
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { 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
|
-
export type ModuleTypeCheck<T extends
|
|
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';
|
|
5
5
|
export type InstanceTypeShape = Record<string | number | symbol, FieldType>;
|
|
6
6
|
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,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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InstanceTypeCheck } from './isModule';
|
|
2
2
|
export declare const WithFactory: {
|
|
3
|
-
create: <T extends object>(typeCheck: InstanceTypeCheck<T>) => <R
|
|
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
|
|
6
|
-
export declare const withModuleInstance: <R
|
|
5
|
+
export declare const withModule: <R>(module: any, closure: (module: import("./Module").IndirectModule) => R) => R | undefined;
|
|
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
|
|
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
|
@@ -10,19 +10,20 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
14
|
-
"@xyo-network/
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/
|
|
19
|
-
"@xyo-network/
|
|
20
|
-
"@xyo-network/
|
|
21
|
-
"@xyo-network/
|
|
13
|
+
"@xylabs/assert": "^2.9.3",
|
|
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"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
|
-
"@xylabs/ts-scripts-yarn3": "^2.18.
|
|
25
|
-
"@xylabs/tsconfig": "^2.18.
|
|
25
|
+
"@xylabs/ts-scripts-yarn3": "^2.18.7",
|
|
26
|
+
"@xylabs/tsconfig": "^2.18.7",
|
|
26
27
|
"typescript": "^5.1.6"
|
|
27
28
|
},
|
|
28
29
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -58,5 +59,5 @@
|
|
|
58
59
|
},
|
|
59
60
|
"sideEffects": false,
|
|
60
61
|
"types": "dist/types/index.d.ts",
|
|
61
|
-
"version": "2.64.
|
|
62
|
+
"version": "2.64.9"
|
|
62
63
|
}
|
package/src/Module.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
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'
|
|
6
6
|
|
|
7
7
|
import { AnyConfigSchema, ModuleConfig } from './Config'
|
|
8
|
+
import { ModuleDescription } from './ModuleDescription'
|
|
8
9
|
import { ModuleFilter } from './ModuleFilter'
|
|
9
10
|
import { ModuleParams } from './ModuleParams'
|
|
10
11
|
import { ModuleQueryResult } from './ModuleQueryResult'
|
|
@@ -20,16 +21,16 @@ export interface ModuleResolver {
|
|
|
20
21
|
* is supplied, all modules are returned
|
|
21
22
|
* @param filter Filter criteria for the desired modules
|
|
22
23
|
*/
|
|
23
|
-
resolve<T extends
|
|
24
|
+
resolve<T extends IndirectModule = IndirectModule>(filter?: ModuleFilter): Promisable<T[]>
|
|
24
25
|
/**
|
|
25
26
|
* Resolves a single module, or undefined if no modules matched the filter.
|
|
26
27
|
* @param filter The desired Module's Address or Name
|
|
27
28
|
*/
|
|
28
|
-
resolveOne<T extends
|
|
29
|
+
resolveOne<T extends IndirectModule = IndirectModule>(filter: string): Promisable<T | undefined>
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
export type ModuleEventArgs<
|
|
32
|
-
TModule extends
|
|
33
|
+
TModule extends IndirectModule = IndirectModule,
|
|
33
34
|
TArgs extends EventArgs | undefined = undefined,
|
|
34
35
|
> = TArgs extends EventArgs
|
|
35
36
|
? {
|
|
@@ -40,7 +41,7 @@ export type ModuleEventArgs<
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
export type ModuleQueriedEventArgs = ModuleEventArgs<
|
|
43
|
-
|
|
44
|
+
IndirectModule,
|
|
44
45
|
{
|
|
45
46
|
payloads?: Payload[]
|
|
46
47
|
query: QueryBoundWitness
|
|
@@ -54,8 +55,9 @@ export interface ModuleEventData extends EventData {
|
|
|
54
55
|
|
|
55
56
|
export type ModuleQueryFunctions = {
|
|
56
57
|
addressPreviousHash: () => Promisable<AddressPreviousHashPayload>
|
|
58
|
+
describe: () => Promise<ModuleDescription>
|
|
57
59
|
discover: () => Promisable<Payload[]>
|
|
58
|
-
manifest: () => Promisable<
|
|
60
|
+
manifest: () => Promisable<ModuleManifestPayload>
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = {
|
|
@@ -69,6 +71,8 @@ export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConf
|
|
|
69
71
|
|
|
70
72
|
params: TParams
|
|
71
73
|
|
|
74
|
+
previousHash: () => Promisable<string | undefined>
|
|
75
|
+
|
|
72
76
|
queries: string[]
|
|
73
77
|
query: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(
|
|
74
78
|
query: T,
|
|
@@ -88,12 +92,22 @@ export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConf
|
|
|
88
92
|
readonly upResolver: ModuleResolver
|
|
89
93
|
}
|
|
90
94
|
|
|
91
|
-
export type
|
|
95
|
+
export type IndirectModule<
|
|
96
|
+
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
97
|
+
TEventData extends ModuleEventData = ModuleEventData,
|
|
98
|
+
> = ModuleFields<TParams> & EventFunctions<TEventData>
|
|
99
|
+
|
|
100
|
+
export type DirectModule<
|
|
92
101
|
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
93
102
|
TEventData extends ModuleEventData = ModuleEventData,
|
|
94
|
-
> =
|
|
103
|
+
> = IndirectModule<TParams, TEventData> & ModuleQueryFunctions
|
|
95
104
|
|
|
96
105
|
export type ModuleInstance<
|
|
97
106
|
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
98
107
|
TEventData extends ModuleEventData = ModuleEventData,
|
|
99
|
-
> =
|
|
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
|
+
}>
|