@xyo-network/module-model 2.75.2 → 2.75.4

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.
Files changed (72) hide show
  1. package/dist/browser/Config.js +2 -1
  2. package/dist/browser/Config.js.map +1 -1
  3. package/dist/browser/CreatableModule/CreatableModule.js +1 -0
  4. package/dist/browser/CreatableModule/CreatableModule.js.map +1 -1
  5. package/dist/browser/CreatableModule/CreatableModuleRegistry.js +3 -2
  6. package/dist/browser/CreatableModule/CreatableModuleRegistry.js.map +1 -1
  7. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.js +2 -1
  8. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.js.map +1 -1
  9. package/dist/browser/CreatableModule/ModuleFactory.js +4 -3
  10. package/dist/browser/CreatableModule/ModuleFactory.js.map +1 -1
  11. package/dist/browser/CreatableModule/ModuleFactoryLocator.js +19 -4
  12. package/dist/browser/CreatableModule/ModuleFactoryLocator.js.map +1 -1
  13. package/dist/browser/CreatableModule/index.js +169 -6
  14. package/dist/browser/CreatableModule/index.js.map +1 -1
  15. package/dist/browser/EventsModels/index.js +0 -5
  16. package/dist/browser/EventsModels/index.js.map +1 -1
  17. package/dist/browser/Labels/Labels.js +2 -1
  18. package/dist/browser/Labels/Labels.js.map +1 -1
  19. package/dist/browser/Labels/index.js +11 -1
  20. package/dist/browser/Labels/index.js.map +1 -1
  21. package/dist/browser/Queries/Describe/Payload.js +2 -1
  22. package/dist/browser/Queries/Describe/Payload.js.map +1 -1
  23. package/dist/browser/Queries/Describe/Query.js +2 -1
  24. package/dist/browser/Queries/Describe/Query.js.map +1 -1
  25. package/dist/browser/Queries/Describe/index.js +9 -2
  26. package/dist/browser/Queries/Describe/index.js.map +1 -1
  27. package/dist/browser/Queries/Discover.js +2 -1
  28. package/dist/browser/Queries/Discover.js.map +1 -1
  29. package/dist/browser/Queries/Manifest.js +2 -1
  30. package/dist/browser/Queries/Manifest.js.map +1 -1
  31. package/dist/browser/Queries/ModuleAddress/Payload.js +2 -1
  32. package/dist/browser/Queries/ModuleAddress/Payload.js.map +1 -1
  33. package/dist/browser/Queries/ModuleAddress/Query.js +2 -1
  34. package/dist/browser/Queries/ModuleAddress/Query.js.map +1 -1
  35. package/dist/browser/Queries/ModuleAddress/index.js +10 -2
  36. package/dist/browser/Queries/ModuleAddress/index.js.map +1 -1
  37. package/dist/browser/Queries/Subscribe.js +2 -1
  38. package/dist/browser/Queries/Subscribe.js.map +1 -1
  39. package/dist/browser/Queries/index.js +30 -5
  40. package/dist/browser/Queries/index.js.map +1 -1
  41. package/dist/browser/index.js +332 -13
  42. package/dist/browser/index.js.map +1 -1
  43. package/dist/browser/instance/ModuleInstance.js +3 -2
  44. package/dist/browser/instance/ModuleInstance.js.map +1 -1
  45. package/dist/browser/instance/asModuleInstance.js +63 -2
  46. package/dist/browser/instance/asModuleInstance.js.map +1 -1
  47. package/dist/browser/instance/index.js +75 -4
  48. package/dist/browser/instance/index.js.map +1 -1
  49. package/dist/browser/instance/isModuleInstance.js +52 -4
  50. package/dist/browser/instance/isModuleInstance.js.map +1 -1
  51. package/dist/browser/lib/duplicateModules.js +2 -1
  52. package/dist/browser/lib/duplicateModules.js.map +1 -1
  53. package/dist/browser/lib/index.js +32 -2
  54. package/dist/browser/lib/index.js.map +1 -1
  55. package/dist/browser/lib/serializable.js +5 -4
  56. package/dist/browser/lib/serializable.js.map +1 -1
  57. package/dist/browser/module/IsModuleFactory.js +22 -4
  58. package/dist/browser/module/IsModuleFactory.js.map +1 -1
  59. package/dist/browser/module/asModule.js +50 -2
  60. package/dist/browser/module/asModule.js.map +1 -1
  61. package/dist/browser/module/asModuleObject.js +17 -2
  62. package/dist/browser/module/asModuleObject.js.map +1 -1
  63. package/dist/browser/module/index.js +60 -8
  64. package/dist/browser/module/index.js.map +1 -1
  65. package/dist/browser/module/isModule.js +38 -6
  66. package/dist/browser/module/isModule.js.map +1 -1
  67. package/dist/browser/module/isModuleObject.js +4 -3
  68. package/dist/browser/module/isModuleObject.js.map +1 -1
  69. package/dist/browser/withModule.js +63 -5
  70. package/dist/browser/withModule.js.map +1 -1
  71. package/dist/docs.json +1160 -1160
  72. package/package.json +17 -17
@@ -1,14 +1,72 @@
1
- import { isModuleInstance } from "./instance";
2
- import { isModule } from "./module";
3
- const WithFactory = {
1
+ // src/instance/isModuleInstance.ts
2
+ import { IsObjectFactory as IsObjectFactory2 } from "@xyo-network/object";
3
+
4
+ // src/Queries/Discover.ts
5
+ var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
6
+
7
+ // src/module/asModuleObject.ts
8
+ import { AsObjectFactory } from "@xyo-network/object";
9
+
10
+ // src/module/isModuleObject.ts
11
+ import { IsObjectFactory } from "@xyo-network/object";
12
+ var requiredModuleFunctions = {
13
+ address: "string",
14
+ config: "object",
15
+ params: "object",
16
+ queries: "array",
17
+ query: "function",
18
+ queryable: "function"
19
+ };
20
+ var factory = new IsObjectFactory();
21
+ var isModuleObject = factory.create(requiredModuleFunctions);
22
+
23
+ // src/module/asModuleObject.ts
24
+ var asModuleObject = AsObjectFactory.create(isModuleObject);
25
+
26
+ // src/module/IsModuleFactory.ts
27
+ var IsModuleFactory = class {
28
+ create(expectedQueries, additionalChecks) {
29
+ return (obj, config) => {
30
+ const module = asModuleObject(obj);
31
+ const result = isModuleObject(module, config) && (expectedQueries?.reduce((prev, query) => prev && obj.queries.includes(query), true) ?? true) && //perform additional checks
32
+ (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true);
33
+ return result;
34
+ };
35
+ }
36
+ };
37
+
38
+ // src/module/isModule.ts
39
+ var requiredModuleQueries = [
40
+ /* We need to update this once live module conform */
41
+ //ModuleDescribeQuerySchema,
42
+ //ModuleAddressQuerySchema,
43
+ ModuleDiscoverQuerySchema
44
+ //ModuleManifestQuerySchema,
45
+ //ModuleSubscribeQuerySchema,
46
+ ];
47
+ var factory2 = new IsModuleFactory();
48
+ var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
49
+
50
+ // src/instance/isModuleInstance.ts
51
+ var requiredModuleInstanceFunctions = {
52
+ describe: "function",
53
+ discover: "function",
54
+ manifest: "function",
55
+ moduleAddress: "function"
56
+ };
57
+ var factory3 = new IsObjectFactory2();
58
+ var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
59
+
60
+ // src/withModule.ts
61
+ var WithFactory = {
4
62
  create: (typeCheck) => {
5
63
  return (module, closure) => {
6
64
  return typeCheck(module) ? closure(module) : void 0;
7
65
  };
8
66
  }
9
67
  };
10
- const withModule = WithFactory.create(isModule);
11
- const withModuleInstance = WithFactory.create(isModuleInstance);
68
+ var withModule = WithFactory.create(isModule);
69
+ var withModuleInstance = WithFactory.create(isModuleInstance);
12
70
  export {
13
71
  WithFactory,
14
72
  withModule,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/withModule.ts"],"sourcesContent":["import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { isModuleInstance } from './instance'\nimport { isModule } from './module'\n\nexport const WithFactory = {\n create: <T extends object>(typeCheck: ObjectTypeCheck<T>) => {\n return <R>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n module: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n closure: (module: T) => R,\n ): R | undefined => {\n return typeCheck(module) ? closure(module) : undefined\n }\n },\n}\n\nexport const withModule = WithFactory.create(isModule)\nexport const withModuleInstance = WithFactory.create(isModuleInstance)\n"],"mappings":"AAEA,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AAElB,MAAM,cAAc;AAAA,EACzB,QAAQ,CAAmB,cAAkC;AAC3D,WAAO,CAEL,QAEA,YACkB;AAClB,aAAO,UAAU,MAAM,IAAI,QAAQ,MAAM,IAAI;AAAA,IAC/C;AAAA,EACF;AACF;AAEO,MAAM,aAAa,YAAY,OAAO,QAAQ;AAC9C,MAAM,qBAAqB,YAAY,OAAO,gBAAgB;","names":[]}
1
+ {"version":3,"sources":["../../src/instance/isModuleInstance.ts","../../src/Queries/Discover.ts","../../src/module/asModuleObject.ts","../../src/module/isModuleObject.ts","../../src/module/IsModuleFactory.ts","../../src/module/isModule.ts","../../src/withModule.ts"],"sourcesContent":["import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { isModule } from '../module'\nimport { ModuleInstance } from './ModuleInstance'\n\nexport const requiredModuleInstanceFunctions: ObjectTypeShape = {\n describe: 'function',\n discover: 'function',\n manifest: 'function',\n moduleAddress: 'function',\n}\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsObjectFactory<ModuleInstance>()\n\nexport const isModuleInstance: ObjectTypeCheck<ModuleInstance> = factory.create(requiredModuleInstanceFunctions, [isModule])\n","import { Query } from '@xyo-network/payload-model'\n\nexport type ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\nexport const ModuleDiscoverQuerySchema: ModuleDiscoverQuerySchema = 'network.xyo.query.module.discover'\n\nexport type ModuleDiscoverQuery = Query<{\n schema: ModuleDiscoverQuerySchema\n}>\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleObject } from './isModuleObject'\n\nexport const asModuleObject = AsObjectFactory.create(isModuleObject)\n","import { IsObjectFactory, ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object'\n\nimport { Module } from './Module'\n\nexport const requiredModuleFunctions: ObjectTypeShape = {\n address: 'string',\n config: 'object',\n params: 'object',\n queries: 'array',\n query: 'function',\n queryable: 'function',\n}\n\nconst factory = new IsObjectFactory<Module>()\n\nexport const isModuleObject: ObjectTypeCheck<Module> = factory.create(requiredModuleFunctions)\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { asModuleObject } from './asModuleObject'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>\n\nexport class IsModuleFactory<T extends Module = Module> {\n create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T> {\n return (obj: any, config): obj is T => {\n const module = asModuleObject(obj)\n const result =\n isModuleObject(module, config) &&\n (expectedQueries?.reduce((prev, query) => prev && obj.queries.includes(query), true) ?? true) &&\n //perform additional checks\n (additionalChecks?.reduce((prev, check) => prev && check(obj, config), true) ?? true)\n return result\n }\n }\n}\n","import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { ModuleDiscoverQuerySchema } from '../Queries'\nimport { IsModuleFactory } from './IsModuleFactory'\nimport { isModuleObject } from './isModuleObject'\nimport { Module } from './Module'\n\nexport const requiredModuleQueries: string[] = [\n /* We need to update this once live module conform */\n //ModuleDescribeQuerySchema,\n //ModuleAddressQuerySchema,\n ModuleDiscoverQuerySchema,\n //ModuleManifestQuerySchema,\n //ModuleSubscribeQuerySchema,\n]\n\n//we do not use IsInstanceFactory here to prevent a cycle\nconst factory = new IsModuleFactory<Module>()\n\nexport const isModule: ObjectTypeCheck<Module> = factory.create(requiredModuleQueries, [isModuleObject])\n","import { ObjectTypeCheck } from '@xyo-network/object'\n\nimport { isModuleInstance } from './instance'\nimport { isModule } from './module'\n\nexport const WithFactory = {\n create: <T extends object>(typeCheck: ObjectTypeCheck<T>) => {\n return <R>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n module: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n closure: (module: T) => R,\n ): R | undefined => {\n return typeCheck(module) ? closure(module) : undefined\n }\n },\n}\n\nexport const withModule = WithFactory.create(isModule)\nexport const withModuleInstance = WithFactory.create(isModuleInstance)\n"],"mappings":";AAAA,SAAS,mBAAAA,wBAAyD;;;ACG3D,IAAM,4BAAuD;;;ACHpE,SAAS,uBAAuB;;;ACAhC,SAAS,uBAAyD;AAI3D,IAAM,0BAA2C;AAAA,EACtD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,UAAU,IAAI,gBAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,gBAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAM,SAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAe,QAAQ,MAAM,MAC5B,iBAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,IAAI,KAAK;AAAA,OAEvF,kBAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,IAAI,KAAK;AAClF,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACdO,IAAM,wBAAkC;AAAA;AAAA;AAAA;AAAA,EAI7C;AAAA;AAAA;AAGF;AAGA,IAAMC,WAAU,IAAI,gBAAwB;AAErC,IAAM,WAAoCA,SAAQ,OAAO,uBAAuB,CAAC,cAAc,CAAC;;;ALdhG,IAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,IAAMC,WAAU,IAAIC,iBAAgC;AAE7C,IAAM,mBAAoDD,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;;;AMVpH,IAAM,cAAc;AAAA,EACzB,QAAQ,CAAmB,cAAkC;AAC3D,WAAO,CAEL,QAEA,YACkB;AAClB,aAAO,UAAU,MAAM,IAAI,QAAQ,MAAM,IAAI;AAAA,IAC/C;AAAA,EACF;AACF;AAEO,IAAM,aAAa,YAAY,OAAO,QAAQ;AAC9C,IAAM,qBAAqB,YAAY,OAAO,gBAAgB;","names":["IsObjectFactory","factory","factory","IsObjectFactory"]}