@xyo-network/module-model 2.66.9 → 2.67.0-rc.2
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/CreatableModule.js.map +1 -1
- package/dist/cjs/ModuleFactory.js.map +1 -1
- package/dist/cjs/index.js +2 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instance/ModuleFilter.js.map +1 -0
- package/dist/cjs/instance/ModuleInstance.js +3 -0
- package/dist/cjs/instance/ModuleInstance.js.map +1 -0
- package/dist/cjs/instance/ModuleRepository.js.map +1 -0
- package/dist/cjs/instance/ModuleResolver.js +3 -0
- package/dist/cjs/instance/ModuleResolver.js.map +1 -0
- package/dist/cjs/instance/ResolveFunctions.js +3 -0
- package/dist/cjs/instance/ResolveFunctions.js.map +1 -0
- package/dist/cjs/instance/identity/IsInstanceFactory.js +8 -0
- package/dist/cjs/instance/identity/IsInstanceFactory.js.map +1 -0
- package/dist/cjs/instance/identity/asModuleInstance.js +7 -0
- package/dist/cjs/instance/identity/asModuleInstance.js.map +1 -0
- package/dist/cjs/instance/identity/index.js +7 -0
- package/dist/cjs/instance/identity/index.js.map +1 -0
- package/dist/cjs/instance/identity/isModuleInstance.js +15 -0
- package/dist/cjs/instance/identity/isModuleInstance.js.map +1 -0
- package/dist/cjs/instance/index.js +10 -0
- package/dist/cjs/instance/index.js.map +1 -0
- package/dist/{esm → cjs/module}/Module.js.map +1 -1
- package/dist/cjs/module/ModuleEvents.js +3 -0
- package/dist/cjs/module/ModuleEvents.js.map +1 -0
- package/dist/cjs/module/ModuleFields.js +3 -0
- package/dist/cjs/module/ModuleFields.js.map +1 -0
- package/dist/cjs/module/identity/IsModuleFactory.js +20 -0
- package/dist/cjs/module/identity/IsModuleFactory.js.map +1 -0
- package/dist/cjs/module/identity/ModuleQueryFunctions.js +3 -0
- package/dist/cjs/module/identity/ModuleQueryFunctions.js.map +1 -0
- package/dist/cjs/module/identity/asModule.js +7 -0
- package/dist/cjs/module/identity/asModule.js.map +1 -0
- package/dist/cjs/module/identity/asModuleObject.js +7 -0
- package/dist/cjs/module/identity/asModuleObject.js.map +1 -0
- package/dist/cjs/module/identity/index.js +10 -0
- package/dist/cjs/module/identity/index.js.map +1 -0
- package/dist/cjs/module/identity/isModule.js +18 -0
- package/dist/cjs/module/identity/isModule.js.map +1 -0
- package/dist/cjs/module/identity/isModuleObject.js +15 -0
- package/dist/cjs/module/identity/isModuleObject.js.map +1 -0
- package/dist/cjs/module/index.js +8 -0
- package/dist/cjs/module/index.js.map +1 -0
- package/dist/cjs/withModule.js +4 -3
- package/dist/cjs/withModule.js.map +1 -1
- package/dist/esm/CreatableModule.js.map +1 -1
- package/dist/esm/ModuleFactory.js.map +1 -1
- package/dist/esm/index.js +2 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/ModuleFilter.js.map +1 -0
- package/dist/esm/instance/ModuleInstance.js +2 -0
- package/dist/esm/instance/ModuleInstance.js.map +1 -0
- package/dist/esm/instance/ModuleRepository.js.map +1 -0
- package/dist/esm/instance/ModuleResolver.js +2 -0
- package/dist/esm/instance/ModuleResolver.js.map +1 -0
- package/dist/esm/instance/ResolveFunctions.js +2 -0
- package/dist/esm/instance/ResolveFunctions.js.map +1 -0
- package/dist/esm/instance/identity/IsInstanceFactory.js +4 -0
- package/dist/esm/instance/identity/IsInstanceFactory.js.map +1 -0
- package/dist/esm/instance/identity/asModuleInstance.js +4 -0
- package/dist/esm/instance/identity/asModuleInstance.js.map +1 -0
- package/dist/esm/instance/identity/index.js +4 -0
- package/dist/esm/instance/identity/index.js.map +1 -0
- package/dist/esm/instance/identity/isModuleInstance.js +12 -0
- package/dist/esm/instance/identity/isModuleInstance.js.map +1 -0
- package/dist/esm/instance/index.js +7 -0
- package/dist/esm/instance/index.js.map +1 -0
- package/dist/{cjs → esm/module}/Module.js.map +1 -1
- package/dist/esm/module/ModuleEvents.js +2 -0
- package/dist/esm/module/ModuleEvents.js.map +1 -0
- package/dist/esm/module/ModuleFields.js +2 -0
- package/dist/esm/module/ModuleFields.js.map +1 -0
- package/dist/esm/module/identity/IsModuleFactory.js +15 -0
- package/dist/esm/module/identity/IsModuleFactory.js.map +1 -0
- package/dist/esm/module/identity/ModuleQueryFunctions.js +2 -0
- package/dist/esm/module/identity/ModuleQueryFunctions.js.map +1 -0
- package/dist/esm/module/identity/asModule.js +4 -0
- package/dist/esm/module/identity/asModule.js.map +1 -0
- package/dist/esm/module/identity/asModuleObject.js +4 -0
- package/dist/esm/module/identity/asModuleObject.js.map +1 -0
- package/dist/esm/module/identity/index.js +7 -0
- package/dist/esm/module/identity/index.js.map +1 -0
- package/dist/esm/module/identity/isModule.js +15 -0
- package/dist/esm/module/identity/isModule.js.map +1 -0
- package/dist/esm/module/identity/isModuleObject.js +12 -0
- package/dist/esm/module/identity/isModuleObject.js.map +1 -0
- package/dist/esm/module/index.js +5 -0
- package/dist/esm/module/index.js.map +1 -0
- package/dist/esm/withModule.js +2 -1
- package/dist/esm/withModule.js.map +1 -1
- package/dist/types/CreatableModule.d.ts +10 -9
- package/dist/types/CreatableModule.d.ts.map +1 -1
- package/dist/types/Events/ModuleBusy.d.ts +1 -1
- package/dist/types/Events/ModuleError.d.ts +1 -1
- package/dist/types/Events/ModuleQueried.d.ts +1 -1
- package/dist/types/ModuleFactory.d.ts +14 -8
- package/dist/types/ModuleFactory.d.ts.map +1 -1
- package/dist/types/ModuleParams.d.ts +5 -9
- package/dist/types/ModuleParams.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/{ModuleFilter.d.ts → instance/ModuleFilter.d.ts} +2 -2
- package/dist/types/instance/ModuleFilter.d.ts.map +1 -0
- package/dist/types/instance/ModuleInstance.d.ts +10 -0
- package/dist/types/instance/ModuleInstance.d.ts.map +1 -0
- package/dist/types/{ModuleRepository.d.ts → instance/ModuleRepository.d.ts} +2 -1
- package/dist/types/instance/ModuleRepository.d.ts.map +1 -0
- package/dist/types/instance/ModuleResolver.d.ts +7 -0
- package/dist/types/instance/ModuleResolver.d.ts.map +1 -0
- package/dist/types/instance/ResolveFunctions.d.ts +9 -0
- package/dist/types/instance/ResolveFunctions.d.ts.map +1 -0
- package/dist/types/instance/identity/IsInstanceFactory.d.ts +6 -0
- package/dist/types/instance/identity/IsInstanceFactory.d.ts.map +1 -0
- package/dist/types/instance/identity/asModuleInstance.d.ts +5 -0
- package/dist/types/instance/identity/asModuleInstance.d.ts.map +1 -0
- package/dist/types/instance/identity/index.d.ts +4 -0
- package/dist/types/instance/identity/index.d.ts.map +1 -0
- package/dist/types/instance/identity/isModuleInstance.d.ts +5 -0
- package/dist/types/instance/identity/isModuleInstance.d.ts.map +1 -0
- package/dist/types/instance/index.d.ts +7 -0
- package/dist/types/instance/index.d.ts.map +1 -0
- package/dist/types/lib/duplicateModules.d.ts +1 -1
- package/dist/types/module/Module.d.ts +7 -0
- package/dist/types/module/Module.d.ts.map +1 -0
- package/dist/types/module/ModuleEvents.d.ts +11 -0
- package/dist/types/module/ModuleEvents.d.ts.map +1 -0
- package/dist/types/module/ModuleFields.d.ts +18 -0
- package/dist/types/module/ModuleFields.d.ts.map +1 -0
- package/dist/types/module/identity/IsModuleFactory.d.ts +7 -0
- package/dist/types/module/identity/IsModuleFactory.d.ts.map +1 -0
- package/dist/types/module/identity/ModuleQueryFunctions.d.ts +12 -0
- package/dist/types/module/identity/ModuleQueryFunctions.d.ts.map +1 -0
- package/dist/types/module/identity/asModule.d.ts +5 -0
- package/dist/types/module/identity/asModule.d.ts.map +1 -0
- package/dist/types/module/identity/asModuleObject.d.ts +5 -0
- package/dist/types/module/identity/asModuleObject.d.ts.map +1 -0
- package/dist/types/module/identity/index.d.ts +7 -0
- package/dist/types/module/identity/index.d.ts.map +1 -0
- package/dist/types/module/identity/isModule.d.ts +5 -0
- package/dist/types/module/identity/isModule.d.ts.map +1 -0
- package/dist/types/module/identity/isModuleObject.d.ts +5 -0
- package/dist/types/module/identity/isModuleObject.d.ts.map +1 -0
- package/dist/types/module/index.d.ts +5 -0
- package/dist/types/module/index.d.ts.map +1 -0
- package/dist/types/withModule.d.ts +4 -4
- package/dist/types/withModule.d.ts.map +1 -1
- package/package.json +16 -14
- package/src/CreatableModule.ts +10 -9
- package/src/Events/ModuleBusy.ts +1 -1
- package/src/Events/ModuleError.ts +1 -1
- package/src/Events/ModuleQueried.ts +1 -1
- package/src/ModuleFactory.ts +11 -8
- package/src/ModuleParams.ts +9 -35
- package/src/index.ts +2 -5
- package/src/{ModuleFilter.ts → instance/ModuleFilter.ts} +2 -2
- package/src/instance/ModuleInstance.ts +19 -0
- package/src/{ModuleRepository.ts → instance/ModuleRepository.ts} +2 -1
- package/src/instance/ModuleResolver.ts +7 -0
- package/src/instance/ResolveFunctions.ts +13 -0
- package/src/instance/identity/IsInstanceFactory.ts +7 -0
- package/src/instance/identity/asModuleInstance.ts +5 -0
- package/src/instance/identity/index.ts +3 -0
- package/src/instance/identity/isModuleInstance.ts +16 -0
- package/src/instance/index.ts +6 -0
- package/src/lib/duplicateModules.ts +1 -1
- package/src/module/Module.ts +11 -0
- package/src/module/ModuleEvents.ts +14 -0
- package/src/module/ModuleFields.ts +31 -0
- package/src/module/identity/IsModuleFactory.ts +22 -0
- package/src/module/identity/ModuleQueryFunctions.ts +13 -0
- package/src/module/identity/asModule.ts +5 -0
- package/src/module/identity/asModuleObject.ts +5 -0
- package/src/module/identity/index.ts +6 -0
- package/src/module/identity/isModule.ts +20 -0
- package/src/module/identity/isModuleObject.ts +16 -0
- package/src/module/index.ts +4 -0
- package/src/withModule.ts +5 -2
- package/dist/cjs/ModuleFilter.js.map +0 -1
- package/dist/cjs/ModuleRepository.js.map +0 -1
- package/dist/cjs/asModule.js +0 -28
- package/dist/cjs/asModule.js.map +0 -1
- package/dist/cjs/isModule.js +0 -55
- package/dist/cjs/isModule.js.map +0 -1
- package/dist/docs.json +0 -26606
- package/dist/esm/ModuleFilter.js.map +0 -1
- package/dist/esm/ModuleRepository.js.map +0 -1
- package/dist/esm/asModule.js +0 -25
- package/dist/esm/asModule.js.map +0 -1
- package/dist/esm/isModule.js +0 -49
- package/dist/esm/isModule.js.map +0 -1
- package/dist/types/Module.d.ts +0 -53
- package/dist/types/Module.d.ts.map +0 -1
- package/dist/types/ModuleFilter.d.ts.map +0 -1
- package/dist/types/ModuleRepository.d.ts.map +0 -1
- package/dist/types/asModule.d.ts +0 -16
- package/dist/types/asModule.d.ts.map +0 -1
- package/dist/types/isModule.d.ts +0 -15
- package/dist/types/isModule.d.ts.map +0 -1
- package/src/Module.ts +0 -95
- package/src/asModule.ts +0 -39
- package/src/isModule.ts +0 -68
- /package/dist/cjs/{ModuleFilter.js → instance/ModuleFilter.js} +0 -0
- /package/dist/cjs/{ModuleRepository.js → instance/ModuleRepository.js} +0 -0
- /package/dist/cjs/{Module.js → module/Module.js} +0 -0
- /package/dist/esm/{ModuleFilter.js → instance/ModuleFilter.js} +0 -0
- /package/dist/esm/{ModuleRepository.js → instance/ModuleRepository.js} +0 -0
- /package/dist/esm/{Module.js → module/Module.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFilter.js","sourceRoot":"","sources":["../../src/ModuleFilter.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleRepository.js","sourceRoot":"","sources":["../../src/ModuleRepository.ts"],"names":[],"mappings":""}
|
package/dist/esm/asModule.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
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
|
package/dist/esm/asModule.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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/isModule.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
export const isType = (value, expectedType) => {
|
|
2
|
-
if (expectedType === 'array') {
|
|
3
|
-
return Array.isArray(value);
|
|
4
|
-
}
|
|
5
|
-
else if (expectedType === 'payload') {
|
|
6
|
-
return typeof value === 'object' && typeof value.schema === 'string';
|
|
7
|
-
}
|
|
8
|
-
else {
|
|
9
|
-
return typeof value === expectedType;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
export const IsInstanceFactory = {
|
|
13
|
-
create: (shape, additionalCheck) => {
|
|
14
|
-
return (module, log = false) => {
|
|
15
|
-
return (!!module &&
|
|
16
|
-
(additionalCheck?.(module) ?? true) &&
|
|
17
|
-
Object.entries(shape ?? {}).reduce((prev, [key, type]) => {
|
|
18
|
-
const result = isType(module[key], type);
|
|
19
|
-
if (!result && log) {
|
|
20
|
-
console.warn(`isType Failed: ${key}: ${type}`);
|
|
21
|
-
}
|
|
22
|
-
return prev && result;
|
|
23
|
-
}, true));
|
|
24
|
-
};
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
export const IsModuleFactory = {
|
|
28
|
-
create: (expectedQueries, additionalCheck) => {
|
|
29
|
-
return (module) => {
|
|
30
|
-
return (isModule(module) &&
|
|
31
|
-
(additionalCheck?.(module) ?? true) &&
|
|
32
|
-
(expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true));
|
|
33
|
-
};
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
export const isModule = IsInstanceFactory.create({
|
|
37
|
-
address: 'string',
|
|
38
|
-
config: 'object',
|
|
39
|
-
params: 'object',
|
|
40
|
-
queries: 'array',
|
|
41
|
-
query: 'function',
|
|
42
|
-
queryable: 'function',
|
|
43
|
-
});
|
|
44
|
-
export const isModuleInstance = IsInstanceFactory.create({
|
|
45
|
-
describe: 'function',
|
|
46
|
-
discover: 'function',
|
|
47
|
-
manifest: 'function',
|
|
48
|
-
}, isModule);
|
|
49
|
-
//# sourceMappingURL=isModule.js.map
|
package/dist/esm/isModule.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,MAAW,EAAE,GAAG,GAAG,KAAK,EAAe,EAAE;YAC/C,OAAO,CACL,CAAC,CAAC,MAAM;gBACR,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;gBACnC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;oBACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;oBACxC,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;wBAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,GAAG,KAAK,IAAI,EAAE,CAAC,CAAA;qBAC/C;oBACD,OAAO,IAAI,IAAI,MAAM,CAAA;gBACvB,CAAC,EAAE,IAAI,CAAC,CACT,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,CAA4B,eAA0B,EAAE,eAA0C,EAAsB,EAAE;QAChI,OAAO,CAAC,MAAW,EAAe,EAAE;YAClC,OAAO,CACL,QAAQ,CAAC,MAAM,CAAC;gBAChB,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,QAAQ,GAA4B,iBAAiB,CAAC,MAAM,CAAS;IAChF,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,UAAU;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAsC,iBAAiB,CAAC,MAAM,CACzF;IACE,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACrB,EACD,QAAQ,CACT,CAAA"}
|
package/dist/types/Module.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
|
|
3
|
-
import { ModuleManifestPayload } from '@xyo-network/manifest-model';
|
|
4
|
-
import { EventArgs, EventFunctions } from '@xyo-network/module-events';
|
|
5
|
-
import { Payload } from '@xyo-network/payload-model';
|
|
6
|
-
import { Promisable } from '@xyo-network/promise';
|
|
7
|
-
import { AnyConfigSchema, ModuleConfig } from './Config';
|
|
8
|
-
import { ModuleBusyEventData, ModuleErrorEventData, ModuleQueriedEventData } from './Events';
|
|
9
|
-
import { ModuleDescription } from './ModuleDescription';
|
|
10
|
-
import { ModuleFilter, ModuleFilterOptions } from './ModuleFilter';
|
|
11
|
-
import { ModuleParams } from './ModuleParams';
|
|
12
|
-
import { ModuleQueryResult } from './ModuleQueryResult';
|
|
13
|
-
import { AddressPreviousHashPayload } from './Queries';
|
|
14
|
-
export interface ResolveFunctions {
|
|
15
|
-
resolve<TModuleInstance extends ModuleInstance>(filter?: ModuleFilter, options?: ModuleFilterOptions<TModuleInstance>): Promisable<TModuleInstance[]>;
|
|
16
|
-
resolve<TModuleInstance extends ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<TModuleInstance>): Promisable<TModuleInstance | undefined>;
|
|
17
|
-
resolve<TModuleInstance extends ModuleInstance>(nameOrAddressOrFilter?: ModuleFilter | string, options?: ModuleFilterOptions<TModuleInstance>): Promisable<TModuleInstance | TModuleInstance[] | undefined>;
|
|
18
|
-
}
|
|
19
|
-
export interface ModuleResolver extends ResolveFunctions {
|
|
20
|
-
addResolver: (resolver: ModuleResolver) => this;
|
|
21
|
-
isModuleResolver: boolean;
|
|
22
|
-
removeResolver: (resolver: ModuleResolver) => this;
|
|
23
|
-
}
|
|
24
|
-
export type ModuleEventArgs<TModule extends Module = Module, TArgs extends EventArgs | undefined = undefined> = TArgs extends EventArgs ? {
|
|
25
|
-
module: TModule;
|
|
26
|
-
} & TArgs : {
|
|
27
|
-
module: TModule;
|
|
28
|
-
};
|
|
29
|
-
export interface ModuleEventData extends ModuleQueriedEventData, ModuleBusyEventData, ModuleErrorEventData {
|
|
30
|
-
}
|
|
31
|
-
export type ModuleQueryFunctions = {
|
|
32
|
-
describe: () => Promise<ModuleDescription>;
|
|
33
|
-
discover: () => Promisable<Payload[]>;
|
|
34
|
-
manifest: () => Promisable<ModuleManifestPayload>;
|
|
35
|
-
moduleAddress: () => Promisable<AddressPreviousHashPayload[]>;
|
|
36
|
-
};
|
|
37
|
-
export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = {
|
|
38
|
-
address: string;
|
|
39
|
-
config: TParams['config'];
|
|
40
|
-
readonly downResolver: Omit<ModuleResolver, 'resolve'>;
|
|
41
|
-
loadAccount?: () => Promisable<AccountInstance>;
|
|
42
|
-
params: TParams;
|
|
43
|
-
previousHash: () => Promisable<string | undefined>;
|
|
44
|
-
queries: string[];
|
|
45
|
-
query: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<ModuleQueryResult>;
|
|
46
|
-
queryable: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<boolean>;
|
|
47
|
-
start?: () => Promisable<boolean>;
|
|
48
|
-
stop?: () => Promisable<boolean>;
|
|
49
|
-
readonly upResolver: Omit<ModuleResolver, 'resolve'>;
|
|
50
|
-
};
|
|
51
|
-
export type Module<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = ModuleFields<TParams> & EventFunctions<TEventData> & ResolveFunctions;
|
|
52
|
-
export type ModuleInstance<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = Module<TParams, TEventData> & ModuleQueryFunctions;
|
|
53
|
-
//# sourceMappingURL=Module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../src/Module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFilter.d.ts","sourceRoot":"","sources":["../../src/ModuleFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,mBAAmB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc;IACpF,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACvC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAA;CAC1C;AAED,MAAM,WAAW,mBAAmB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,mBAAmB,CAAC,SAAS,CAAC;IAC5H,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,mBAAmB,CAAC,SAAS,CAAC;IACzH,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,mBAAmB,CAAC,SAAS,CAAC;IAC1H,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,GACxE,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAA;AAC5C,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,cAAc,GAAG,cAAc,IACtE,mBAAmB,CAAC,SAAS,CAAC,GAC9B,mBAAmB,CAAC,SAAS,CAAC,GAC9B,gBAAgB,CAAC,SAAS,CAAC,GAC3B,iBAAiB,CAAC,SAAS,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleRepository.d.ts","sourceRoot":"","sources":["../../src/ModuleRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAEpC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;CACzC"}
|
package/dist/types/asModule.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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").Module | undefined;
|
|
10
|
-
(module: any, assert: string | (() => string)): import("./Module").Module;
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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/isModule.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Module, ModuleInstance } from './Module';
|
|
2
|
-
export type InstanceTypeCheck<T extends object = object> = (module: any) => module is T;
|
|
3
|
-
export type ModuleTypeCheck<T extends Module = Module> = InstanceTypeCheck<T>;
|
|
4
|
-
export type FieldType = 'string' | 'number' | 'object' | 'symbol' | 'symbol' | 'undefined' | 'null' | 'array' | 'function' | 'payload';
|
|
5
|
-
export type InstanceTypeShape = Record<string | number | symbol, FieldType>;
|
|
6
|
-
export declare const isType: (value: any, expectedType: FieldType) => boolean;
|
|
7
|
-
export declare const IsInstanceFactory: {
|
|
8
|
-
create: <T extends object = object>(shape?: InstanceTypeShape, additionalCheck?: ((module: any) => boolean) | undefined) => InstanceTypeCheck<T>;
|
|
9
|
-
};
|
|
10
|
-
export declare const IsModuleFactory: {
|
|
11
|
-
create: <T extends Module = Module>(expectedQueries?: string[], additionalCheck?: ((module: any) => boolean) | undefined) => ModuleTypeCheck<T>;
|
|
12
|
-
};
|
|
13
|
-
export declare const isModule: ModuleTypeCheck<Module>;
|
|
14
|
-
export declare const isModuleInstance: InstanceTypeCheck<ModuleInstance>;
|
|
15
|
-
//# sourceMappingURL=isModule.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isModule.d.ts","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEjD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC,CAAA;AAEvF,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;CAe1G,CAAA;AAED,eAAO,MAAM,eAAe;0DAC4B,MAAM,EAAE,8BAA6B,GAAG,KAAK,OAAO;CAS3G,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,MAAM,CAO3C,CAAA;AAEF,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,CAAC,cAAc,CAO9D,CAAA"}
|
package/src/Module.ts
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-builder'
|
|
3
|
-
import { ModuleManifestPayload } from '@xyo-network/manifest-model'
|
|
4
|
-
import { EventArgs, EventFunctions } from '@xyo-network/module-events'
|
|
5
|
-
import { Payload } from '@xyo-network/payload-model'
|
|
6
|
-
import { Promisable } from '@xyo-network/promise'
|
|
7
|
-
|
|
8
|
-
import { AnyConfigSchema, ModuleConfig } from './Config'
|
|
9
|
-
import { ModuleBusyEventData, ModuleErrorEventData, ModuleQueriedEventData } from './Events'
|
|
10
|
-
import { ModuleDescription } from './ModuleDescription'
|
|
11
|
-
import { ModuleFilter, ModuleFilterOptions } from './ModuleFilter'
|
|
12
|
-
import { ModuleParams } from './ModuleParams'
|
|
13
|
-
import { ModuleQueryResult } from './ModuleQueryResult'
|
|
14
|
-
import { AddressPreviousHashPayload } from './Queries'
|
|
15
|
-
|
|
16
|
-
export interface ResolveFunctions {
|
|
17
|
-
resolve<TModuleInstance extends ModuleInstance>(
|
|
18
|
-
filter?: ModuleFilter,
|
|
19
|
-
options?: ModuleFilterOptions<TModuleInstance>,
|
|
20
|
-
): Promisable<TModuleInstance[]>
|
|
21
|
-
resolve<TModuleInstance extends ModuleInstance>(
|
|
22
|
-
nameOrAddress: string,
|
|
23
|
-
options?: ModuleFilterOptions<TModuleInstance>,
|
|
24
|
-
): Promisable<TModuleInstance | undefined>
|
|
25
|
-
resolve<TModuleInstance extends ModuleInstance>(
|
|
26
|
-
nameOrAddressOrFilter?: ModuleFilter | string,
|
|
27
|
-
options?: ModuleFilterOptions<TModuleInstance>,
|
|
28
|
-
): Promisable<TModuleInstance | TModuleInstance[] | undefined>
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface ModuleResolver extends ResolveFunctions {
|
|
32
|
-
addResolver: (resolver: ModuleResolver) => this
|
|
33
|
-
isModuleResolver: boolean
|
|
34
|
-
removeResolver: (resolver: ModuleResolver) => this
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export type ModuleEventArgs<TModule extends Module = Module, TArgs extends EventArgs | undefined = undefined> = TArgs extends EventArgs
|
|
38
|
-
? {
|
|
39
|
-
module: TModule
|
|
40
|
-
} & TArgs
|
|
41
|
-
: {
|
|
42
|
-
module: TModule
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export interface ModuleEventData extends ModuleQueriedEventData, ModuleBusyEventData, ModuleErrorEventData {}
|
|
46
|
-
|
|
47
|
-
export type ModuleQueryFunctions = {
|
|
48
|
-
describe: () => Promise<ModuleDescription>
|
|
49
|
-
discover: () => Promisable<Payload[]>
|
|
50
|
-
manifest: () => Promisable<ModuleManifestPayload>
|
|
51
|
-
moduleAddress: () => Promisable<AddressPreviousHashPayload[]>
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = {
|
|
55
|
-
address: string
|
|
56
|
-
config: TParams['config']
|
|
57
|
-
|
|
58
|
-
/* 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*/
|
|
59
|
-
readonly downResolver: Omit<ModuleResolver, 'resolve'>
|
|
60
|
-
|
|
61
|
-
loadAccount?: () => Promisable<AccountInstance>
|
|
62
|
-
|
|
63
|
-
params: TParams
|
|
64
|
-
|
|
65
|
-
previousHash: () => Promisable<string | undefined>
|
|
66
|
-
|
|
67
|
-
queries: string[]
|
|
68
|
-
query: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(
|
|
69
|
-
query: T,
|
|
70
|
-
payloads?: Payload[],
|
|
71
|
-
queryConfig?: TConf,
|
|
72
|
-
) => Promisable<ModuleQueryResult>
|
|
73
|
-
queryable: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(
|
|
74
|
-
query: T,
|
|
75
|
-
payloads?: Payload[],
|
|
76
|
-
queryConfig?: TConf,
|
|
77
|
-
) => Promisable<boolean>
|
|
78
|
-
|
|
79
|
-
start?: () => Promisable<boolean>
|
|
80
|
-
stop?: () => Promisable<boolean>
|
|
81
|
-
|
|
82
|
-
/* The resolver is a 'up' resolver. It can resolve the parent or any children of the parent*/
|
|
83
|
-
/* This is set by a NodeModule when attaching to the module */
|
|
84
|
-
readonly upResolver: Omit<ModuleResolver, 'resolve'>
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export type Module<
|
|
88
|
-
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
89
|
-
TEventData extends ModuleEventData = ModuleEventData,
|
|
90
|
-
> = ModuleFields<TParams> & EventFunctions<TEventData> & ResolveFunctions
|
|
91
|
-
|
|
92
|
-
export type ModuleInstance<
|
|
93
|
-
TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
|
|
94
|
-
TEventData extends ModuleEventData = ModuleEventData,
|
|
95
|
-
> = Module<TParams, TEventData> & ModuleQueryFunctions
|
package/src/asModule.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert'
|
|
2
|
-
|
|
3
|
-
import { InstanceTypeCheck, isModule, isModuleInstance } from './isModule'
|
|
4
|
-
|
|
5
|
-
export const AsFactory = {
|
|
6
|
-
create: <TModule extends object>(typeCheck: InstanceTypeCheck<TModule>) => {
|
|
7
|
-
function func(
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
-
module: any,
|
|
10
|
-
): TModule | undefined
|
|
11
|
-
function func(
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
module: any,
|
|
14
|
-
assert: string | (() => string),
|
|
15
|
-
): TModule
|
|
16
|
-
function func(
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
-
module: any,
|
|
19
|
-
assert?: string | (() => string),
|
|
20
|
-
): TModule | undefined {
|
|
21
|
-
const result = typeCheck(module) ? module : undefined
|
|
22
|
-
|
|
23
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
-
const noUndefined = (assert: any): assert is TModule => {
|
|
25
|
-
return !!assert
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
if (noUndefined(assert)) {
|
|
29
|
-
return assertEx(result, typeof assert === 'function' ? assert() : assert)
|
|
30
|
-
} else {
|
|
31
|
-
return result
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return func
|
|
35
|
-
},
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export const asModule = AsFactory.create(isModule)
|
|
39
|
-
export const asModuleInstance = AsFactory.create(isModuleInstance)
|
package/src/isModule.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Module, ModuleInstance } from './Module'
|
|
3
|
-
|
|
4
|
-
export type InstanceTypeCheck<T extends object = object> = (module: any) => module is T
|
|
5
|
-
|
|
6
|
-
export type ModuleTypeCheck<T extends Module = Module> = InstanceTypeCheck<T>
|
|
7
|
-
|
|
8
|
-
export type FieldType = 'string' | 'number' | 'object' | 'symbol' | 'symbol' | 'undefined' | 'null' | 'array' | 'function' | 'payload'
|
|
9
|
-
|
|
10
|
-
export type InstanceTypeShape = Record<string | number | symbol, FieldType>
|
|
11
|
-
|
|
12
|
-
export const isType = (value: any, expectedType: FieldType) => {
|
|
13
|
-
if (expectedType === 'array') {
|
|
14
|
-
return Array.isArray(value)
|
|
15
|
-
} else if (expectedType === 'payload') {
|
|
16
|
-
return typeof value === 'object' && typeof value.schema === 'string'
|
|
17
|
-
} else {
|
|
18
|
-
return typeof value === expectedType
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export const IsInstanceFactory = {
|
|
23
|
-
create: <T extends object = object>(shape?: InstanceTypeShape, additionalCheck?: (module: any) => boolean): InstanceTypeCheck<T> => {
|
|
24
|
-
return (module: any, log = false): module is T => {
|
|
25
|
-
return (
|
|
26
|
-
!!module &&
|
|
27
|
-
(additionalCheck?.(module) ?? true) &&
|
|
28
|
-
Object.entries(shape ?? {}).reduce((prev, [key, type]) => {
|
|
29
|
-
const result = isType(module[key], type)
|
|
30
|
-
if (!result && log) {
|
|
31
|
-
console.warn(`isType Failed: ${key}: ${type}`)
|
|
32
|
-
}
|
|
33
|
-
return prev && result
|
|
34
|
-
}, true)
|
|
35
|
-
)
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export const IsModuleFactory = {
|
|
41
|
-
create: <T extends Module = Module>(expectedQueries?: string[], additionalCheck?: (module: any) => boolean): ModuleTypeCheck<T> => {
|
|
42
|
-
return (module: any): module is T => {
|
|
43
|
-
return (
|
|
44
|
-
isModule(module) &&
|
|
45
|
-
(additionalCheck?.(module) ?? true) &&
|
|
46
|
-
(expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true)
|
|
47
|
-
)
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export const isModule: ModuleTypeCheck<Module> = IsInstanceFactory.create<Module>({
|
|
53
|
-
address: 'string',
|
|
54
|
-
config: 'object',
|
|
55
|
-
params: 'object',
|
|
56
|
-
queries: 'array',
|
|
57
|
-
query: 'function',
|
|
58
|
-
queryable: 'function',
|
|
59
|
-
})
|
|
60
|
-
|
|
61
|
-
export const isModuleInstance: InstanceTypeCheck<ModuleInstance> = IsInstanceFactory.create<ModuleInstance>(
|
|
62
|
-
{
|
|
63
|
-
describe: 'function',
|
|
64
|
-
discover: 'function',
|
|
65
|
-
manifest: 'function',
|
|
66
|
-
},
|
|
67
|
-
isModule,
|
|
68
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|