@xyo-network/module-model 2.65.1 → 2.65.3

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.
@@ -11,16 +11,23 @@ export const isType = (value, expectedType) => {
11
11
  };
12
12
  export const IsInstanceFactory = {
13
13
  create: (shape, additionalCheck) => {
14
- return (module = {}) => {
14
+ return (module = {}, log = false) => {
15
15
  return ((additionalCheck?.(module) ?? true) &&
16
- (Object.entries(shape ?? {}).reduce((prev, [key, type]) => prev && isType(module[key], type), true) ?? true));
16
+ (Object.entries(shape ?? {}).reduce((prev, [key, type]) => {
17
+ const result = isType(module[key], type);
18
+ if (!result && log) {
19
+ console.warn(`isType Failed: ${key}: ${type}`);
20
+ }
21
+ return result;
22
+ }, true) ??
23
+ true));
17
24
  };
18
25
  },
19
26
  };
20
27
  export const IsIndirectModuleFactory = {
21
28
  create: (expectedQueries, additionalCheck) => {
22
29
  return (module = {}) => {
23
- return (isModuleInstance(module) &&
30
+ return (isIndirectModuleInstance(module) &&
24
31
  (additionalCheck?.(module) ?? true) &&
25
32
  (expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true));
26
33
  };
@@ -28,7 +35,6 @@ export const IsIndirectModuleFactory = {
28
35
  };
29
36
  export const IsModuleFactory = IsIndirectModuleFactory;
30
37
  export const isIndirectModuleInstance = IsInstanceFactory.create({
31
- account: 'object',
32
38
  address: 'string',
33
39
  config: 'object',
34
40
  downResolver: 'object',
@@ -36,15 +42,13 @@ export const isIndirectModuleInstance = IsInstanceFactory.create({
36
42
  queries: 'array',
37
43
  query: 'function',
38
44
  queryable: 'function',
39
- upResolver: 'object',
40
45
  });
41
46
  export const isDirectModuleInstance = IsInstanceFactory.create({
42
- description: 'function',
47
+ describe: 'function',
43
48
  discover: 'function',
44
49
  manifest: 'function',
45
- subscribe: 'function',
46
- });
47
- export const isModuleInstance = isIndirectModuleInstance;
50
+ }, isIndirectModuleInstance);
51
+ export const isModuleInstance = isDirectModuleInstance;
48
52
  export const isDirectModule = (module = {}, expectedQueries, additionalCheck) => {
49
53
  return (isDirectModuleInstance(module) &&
50
54
  (additionalCheck?.(module) ?? true) &&
@@ -1 +1 @@
1
- {"version":3,"file":"isModule.js","sourceRoot":"","sources":["../../src/isModule.ts"],"names":[],"mappings":"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"}
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,GAAG,GAAG,KAAK,EAAe,EAAE;YACpD,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;oBACxD,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,MAAM,CAAA;gBACf,CAAC,EAAE,IAAI,CAAC;oBACN,IAAI,CAAC,CACR,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,wBAAwB,CAAC,MAAM,CAAC;gBAChC,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,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,UAAU;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAsC,iBAAiB,CAAC,MAAM,CAC/F;IACE,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACrB,EACD,wBAAwB,CACzB,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AAEtD,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"}
@@ -29,10 +29,10 @@ export type ModuleEventArgs<TModule extends IndirectModule = IndirectModule, TAr
29
29
  export interface ModuleEventData extends ModuleQueriedEventData, ModuleBusyEventData {
30
30
  }
31
31
  export type ModuleQueryFunctions = {
32
- addressPreviousHash: () => Promisable<AddressPreviousHashPayload>;
33
32
  describe: () => Promise<ModuleDescription>;
34
33
  discover: () => Promisable<Payload[]>;
35
34
  manifest: () => Promisable<ModuleManifestPayload>;
35
+ moduleAddress: () => Promisable<AddressPreviousHashPayload[]>;
36
36
  };
37
37
  export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = {
38
38
  address: string;
@@ -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,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AACtE,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,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACtE,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;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IACtF,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IAChG,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,qBAAqB,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAA;CACrI;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,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;CACnD;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,WAAW,eAAgB,SAAQ,sBAAsB,EAAE,mBAAmB;CAAG;AAEvF,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,GAAG,gBAAgB,CAAA;AAEjF,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
+ {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../src/Module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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
+ {"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;CAe1G,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,CAQrE,CAAA;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,cAAc,CAOpE,CAAA;AAED,eAAO,MAAM,gBAAgB,mCAAyB,CAAA;AAEtD,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"}
package/package.json CHANGED
@@ -11,16 +11,16 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.9.3",
14
- "@xyo-network/account-model": "^2.65.1",
15
- "@xyo-network/address-payload-plugin": "^2.65.1",
16
- "@xyo-network/boundwitness-builder": "^2.65.1",
17
- "@xyo-network/boundwitness-model": "^2.65.1",
18
- "@xyo-network/core": "^2.65.1",
19
- "@xyo-network/manifest-model": "^2.65.1",
20
- "@xyo-network/module-events": "^2.65.1",
21
- "@xyo-network/payload-model": "^2.65.1",
22
- "@xyo-network/promise": "^2.65.1",
23
- "@xyo-network/wallet-model": "^2.65.1",
14
+ "@xyo-network/account-model": "^2.65.3",
15
+ "@xyo-network/address-payload-plugin": "^2.65.3",
16
+ "@xyo-network/boundwitness-builder": "^2.65.3",
17
+ "@xyo-network/boundwitness-model": "^2.65.3",
18
+ "@xyo-network/core": "^2.65.3",
19
+ "@xyo-network/manifest-model": "^2.65.3",
20
+ "@xyo-network/module-events": "^2.65.3",
21
+ "@xyo-network/payload-model": "^2.65.3",
22
+ "@xyo-network/promise": "^2.65.3",
23
+ "@xyo-network/wallet-model": "^2.65.3",
24
24
  "lodash": "^4.17.21"
25
25
  },
26
26
  "devDependencies": {
@@ -61,5 +61,5 @@
61
61
  },
62
62
  "sideEffects": false,
63
63
  "types": "dist/types/index.d.ts",
64
- "version": "2.65.1"
64
+ "version": "2.65.3"
65
65
  }
package/src/Module.ts CHANGED
@@ -39,10 +39,10 @@ export type ModuleEventArgs<
39
39
  export interface ModuleEventData extends ModuleQueriedEventData, ModuleBusyEventData {}
40
40
 
41
41
  export type ModuleQueryFunctions = {
42
- addressPreviousHash: () => Promisable<AddressPreviousHashPayload>
43
42
  describe: () => Promise<ModuleDescription>
44
43
  discover: () => Promisable<Payload[]>
45
44
  manifest: () => Promisable<ModuleManifestPayload>
45
+ moduleAddress: () => Promisable<AddressPreviousHashPayload[]>
46
46
  }
47
47
 
48
48
  export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>> = {
package/src/isModule.ts CHANGED
@@ -21,10 +21,17 @@ export const isType = (value: any, expectedType: FieldType) => {
21
21
 
22
22
  export const IsInstanceFactory = {
23
23
  create: <T extends object = object>(shape?: InstanceTypeShape, additionalCheck?: (module: any) => boolean): InstanceTypeCheck<T> => {
24
- return (module: any = {}): module is T => {
24
+ return (module: any = {}, log = false): module is T => {
25
25
  return (
26
26
  (additionalCheck?.(module) ?? true) &&
27
- (Object.entries(shape ?? {}).reduce((prev, [key, type]) => prev && isType(module[key], type), true) ?? true)
27
+ (Object.entries(shape ?? {}).reduce((prev, [key, type]) => {
28
+ const result = isType(module[key], type)
29
+ if (!result && log) {
30
+ console.warn(`isType Failed: ${key}: ${type}`)
31
+ }
32
+ return result
33
+ }, true) ??
34
+ true)
28
35
  )
29
36
  }
30
37
  },
@@ -34,7 +41,7 @@ export const IsIndirectModuleFactory = {
34
41
  create: <T extends IndirectModule = IndirectModule>(expectedQueries?: string[], additionalCheck?: (module: any) => boolean): ModuleTypeCheck<T> => {
35
42
  return (module: any = {}): module is T => {
36
43
  return (
37
- isModuleInstance(module) &&
44
+ isIndirectModuleInstance(module) &&
38
45
  (additionalCheck?.(module) ?? true) &&
39
46
  (expectedQueries?.reduce((prev, query) => prev && module.queries.includes(query), true) ?? true)
40
47
  )
@@ -45,7 +52,6 @@ export const IsIndirectModuleFactory = {
45
52
  export const IsModuleFactory = IsIndirectModuleFactory
46
53
 
47
54
  export const isIndirectModuleInstance: InstanceTypeCheck<ModuleInstance> = IsInstanceFactory.create<ModuleInstance>({
48
- account: 'object',
49
55
  address: 'string',
50
56
  config: 'object',
51
57
  downResolver: 'object',
@@ -53,17 +59,18 @@ export const isIndirectModuleInstance: InstanceTypeCheck<ModuleInstance> = IsIns
53
59
  queries: 'array',
54
60
  query: 'function',
55
61
  queryable: 'function',
56
- upResolver: 'object',
57
62
  })
58
63
 
59
- export const isDirectModuleInstance: InstanceTypeCheck<ModuleInstance> = IsInstanceFactory.create<ModuleInstance>({
60
- description: 'function',
61
- discover: 'function',
62
- manifest: 'function',
63
- subscribe: 'function',
64
- })
64
+ export const isDirectModuleInstance: InstanceTypeCheck<ModuleInstance> = IsInstanceFactory.create<ModuleInstance>(
65
+ {
66
+ describe: 'function',
67
+ discover: 'function',
68
+ manifest: 'function',
69
+ },
70
+ isIndirectModuleInstance,
71
+ )
65
72
 
66
- export const isModuleInstance = isIndirectModuleInstance
73
+ export const isModuleInstance = isDirectModuleInstance
67
74
 
68
75
  export const isDirectModule = <T extends DirectModule = DirectModule>(
69
76
  module: any = {},