@xyo-network/module-model 2.73.4 → 2.74.1

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 (232) hide show
  1. package/dist/Config.d.mts +60 -0
  2. package/dist/Config.d.mts.map +1 -0
  3. package/dist/Config.d.ts +60 -0
  4. package/dist/Config.d.ts.map +1 -0
  5. package/dist/CreatableModule/CreatableModule.d.mts +23 -0
  6. package/dist/CreatableModule/CreatableModule.d.mts.map +1 -0
  7. package/dist/CreatableModule/CreatableModule.d.ts +23 -0
  8. package/dist/CreatableModule/CreatableModule.d.ts.map +1 -0
  9. package/dist/CreatableModule/CreatableModuleDictionary.d.mts +5 -0
  10. package/dist/CreatableModule/CreatableModuleDictionary.d.mts.map +1 -0
  11. package/dist/CreatableModule/CreatableModuleDictionary.d.ts +5 -0
  12. package/dist/CreatableModule/CreatableModuleDictionary.d.ts.map +1 -0
  13. package/dist/CreatableModule/CreatableModuleRegistry.d.mts +9 -0
  14. package/dist/CreatableModule/CreatableModuleRegistry.d.mts.map +1 -0
  15. package/dist/CreatableModule/CreatableModuleRegistry.d.ts +9 -0
  16. package/dist/CreatableModule/CreatableModuleRegistry.d.ts.map +1 -0
  17. package/dist/CreatableModule/LabeledCreatableModuleFactory.d.mts +6 -0
  18. package/dist/CreatableModule/LabeledCreatableModuleFactory.d.mts.map +1 -0
  19. package/dist/CreatableModule/LabeledCreatableModuleFactory.d.ts +6 -0
  20. package/dist/CreatableModule/LabeledCreatableModuleFactory.d.ts.map +1 -0
  21. package/dist/CreatableModule/ModuleFactory.d.mts +25 -0
  22. package/dist/CreatableModule/ModuleFactory.d.mts.map +1 -0
  23. package/dist/CreatableModule/ModuleFactory.d.ts +25 -0
  24. package/dist/CreatableModule/ModuleFactory.d.ts.map +1 -0
  25. package/dist/CreatableModule/ModuleFactoryLocator.d.mts +41 -0
  26. package/dist/CreatableModule/ModuleFactoryLocator.d.mts.map +1 -0
  27. package/dist/CreatableModule/ModuleFactoryLocator.d.ts +41 -0
  28. package/dist/CreatableModule/ModuleFactoryLocator.d.ts.map +1 -0
  29. package/dist/CreatableModule/index.d.mts +7 -0
  30. package/dist/CreatableModule/index.d.mts.map +1 -0
  31. package/dist/CreatableModule/index.d.ts +7 -0
  32. package/dist/CreatableModule/index.d.ts.map +1 -0
  33. package/dist/EventsModels/ModuleBusy.d.mts +9 -0
  34. package/dist/EventsModels/ModuleBusy.d.mts.map +1 -0
  35. package/dist/EventsModels/ModuleBusy.d.ts +9 -0
  36. package/dist/EventsModels/ModuleBusy.d.ts.map +1 -0
  37. package/dist/EventsModels/ModuleError.d.mts +9 -0
  38. package/dist/EventsModels/ModuleError.d.mts.map +1 -0
  39. package/dist/EventsModels/ModuleError.d.ts +9 -0
  40. package/dist/EventsModels/ModuleError.d.ts.map +1 -0
  41. package/dist/EventsModels/ModuleEventArgs.d.mts +7 -0
  42. package/dist/EventsModels/ModuleEventArgs.d.mts.map +1 -0
  43. package/dist/EventsModels/ModuleEventArgs.d.ts +7 -0
  44. package/dist/EventsModels/ModuleEventArgs.d.ts.map +1 -0
  45. package/dist/EventsModels/ModuleEventData.d.mts +6 -0
  46. package/dist/EventsModels/ModuleEventData.d.mts.map +1 -0
  47. package/dist/EventsModels/ModuleEventData.d.ts +6 -0
  48. package/dist/EventsModels/ModuleEventData.d.ts.map +1 -0
  49. package/dist/EventsModels/ModuleQueried.d.mts +14 -0
  50. package/dist/EventsModels/ModuleQueried.d.mts.map +1 -0
  51. package/dist/EventsModels/ModuleQueried.d.ts +14 -0
  52. package/dist/EventsModels/ModuleQueried.d.ts.map +1 -0
  53. package/dist/EventsModels/index.d.mts +6 -0
  54. package/dist/EventsModels/index.d.mts.map +1 -0
  55. package/dist/EventsModels/index.d.ts +6 -0
  56. package/dist/EventsModels/index.d.ts.map +1 -0
  57. package/dist/Labels/Labels.d.mts +26 -0
  58. package/dist/Labels/Labels.d.mts.map +1 -0
  59. package/dist/Labels/Labels.d.ts +26 -0
  60. package/dist/Labels/Labels.d.ts.map +1 -0
  61. package/dist/Labels/index.d.mts +2 -0
  62. package/dist/Labels/index.d.mts.map +1 -0
  63. package/dist/Labels/index.d.ts +2 -0
  64. package/dist/Labels/index.d.ts.map +1 -0
  65. package/dist/ModuleDescription.d.mts +7 -0
  66. package/dist/ModuleDescription.d.mts.map +1 -0
  67. package/dist/ModuleDescription.d.ts +7 -0
  68. package/dist/ModuleDescription.d.ts.map +1 -0
  69. package/dist/ModuleParams.d.mts +11 -0
  70. package/dist/ModuleParams.d.mts.map +1 -0
  71. package/dist/ModuleParams.d.ts +11 -0
  72. package/dist/ModuleParams.d.ts.map +1 -0
  73. package/dist/ModuleQueryHandlerResult.d.mts +3 -0
  74. package/dist/ModuleQueryHandlerResult.d.mts.map +1 -0
  75. package/dist/ModuleQueryHandlerResult.d.ts +3 -0
  76. package/dist/ModuleQueryHandlerResult.d.ts.map +1 -0
  77. package/dist/ModuleQueryResult.d.mts +4 -0
  78. package/dist/ModuleQueryResult.d.mts.map +1 -0
  79. package/dist/ModuleQueryResult.d.ts +4 -0
  80. package/dist/ModuleQueryResult.d.ts.map +1 -0
  81. package/dist/Queries/Describe/Payload.d.mts +6 -0
  82. package/dist/Queries/Describe/Payload.d.mts.map +1 -0
  83. package/dist/Queries/Describe/Payload.d.ts +6 -0
  84. package/dist/Queries/Describe/Payload.d.ts.map +1 -0
  85. package/dist/Queries/Describe/Query.d.mts +7 -0
  86. package/dist/Queries/Describe/Query.d.mts.map +1 -0
  87. package/dist/Queries/Describe/Query.d.ts +7 -0
  88. package/dist/Queries/Describe/Query.d.ts.map +1 -0
  89. package/dist/Queries/Describe/index.d.mts +3 -0
  90. package/dist/Queries/Describe/index.d.mts.map +1 -0
  91. package/dist/Queries/Describe/index.d.ts +3 -0
  92. package/dist/Queries/Describe/index.d.ts.map +1 -0
  93. package/dist/Queries/Discover.d.mts +7 -0
  94. package/dist/Queries/Discover.d.mts.map +1 -0
  95. package/dist/Queries/Discover.d.ts +7 -0
  96. package/dist/Queries/Discover.d.ts.map +1 -0
  97. package/dist/Queries/Manifest.d.mts +7 -0
  98. package/dist/Queries/Manifest.d.mts.map +1 -0
  99. package/dist/Queries/Manifest.d.ts +7 -0
  100. package/dist/Queries/Manifest.d.ts.map +1 -0
  101. package/dist/Queries/ModuleAddress/Payload.d.mts +9 -0
  102. package/dist/Queries/ModuleAddress/Payload.d.mts.map +1 -0
  103. package/dist/Queries/ModuleAddress/Payload.d.ts +9 -0
  104. package/dist/Queries/ModuleAddress/Payload.d.ts.map +1 -0
  105. package/dist/Queries/ModuleAddress/Query.d.mts +7 -0
  106. package/dist/Queries/ModuleAddress/Query.d.mts.map +1 -0
  107. package/dist/Queries/ModuleAddress/Query.d.ts +7 -0
  108. package/dist/Queries/ModuleAddress/Query.d.ts.map +1 -0
  109. package/dist/Queries/ModuleAddress/index.d.mts +3 -0
  110. package/dist/Queries/ModuleAddress/index.d.mts.map +1 -0
  111. package/dist/Queries/ModuleAddress/index.d.ts +3 -0
  112. package/dist/Queries/ModuleAddress/index.d.ts.map +1 -0
  113. package/dist/Queries/Subscribe.d.mts +17 -0
  114. package/dist/Queries/Subscribe.d.mts.map +1 -0
  115. package/dist/Queries/Subscribe.d.ts +17 -0
  116. package/dist/Queries/Subscribe.d.ts.map +1 -0
  117. package/dist/Queries/index.d.mts +14 -0
  118. package/dist/Queries/index.d.mts.map +1 -0
  119. package/dist/Queries/index.d.ts +14 -0
  120. package/dist/Queries/index.d.ts.map +1 -0
  121. package/dist/docs.json +20620 -19257
  122. package/dist/index.d.mts +14 -330
  123. package/dist/index.d.mts.map +1 -0
  124. package/dist/index.d.ts +14 -330
  125. package/dist/index.d.ts.map +1 -0
  126. package/dist/index.js +184 -63
  127. package/dist/index.js.map +1 -1
  128. package/dist/index.mjs +167 -51
  129. package/dist/index.mjs.map +1 -1
  130. package/dist/instance/ModuleInstance.d.mts +41 -0
  131. package/dist/instance/ModuleInstance.d.mts.map +1 -0
  132. package/dist/instance/ModuleInstance.d.ts +41 -0
  133. package/dist/instance/ModuleInstance.d.ts.map +1 -0
  134. package/dist/instance/ModuleRepository.d.mts +9 -0
  135. package/dist/instance/ModuleRepository.d.mts.map +1 -0
  136. package/dist/instance/ModuleRepository.d.ts +9 -0
  137. package/dist/instance/ModuleRepository.d.ts.map +1 -0
  138. package/dist/instance/asModuleInstance.d.mts +5 -0
  139. package/dist/instance/asModuleInstance.d.mts.map +1 -0
  140. package/dist/instance/asModuleInstance.d.ts +5 -0
  141. package/dist/instance/asModuleInstance.d.ts.map +1 -0
  142. package/dist/instance/index.d.mts +5 -0
  143. package/dist/instance/index.d.mts.map +1 -0
  144. package/dist/instance/index.d.ts +5 -0
  145. package/dist/instance/index.d.ts.map +1 -0
  146. package/dist/instance/isModuleInstance.d.mts +5 -0
  147. package/dist/instance/isModuleInstance.d.mts.map +1 -0
  148. package/dist/instance/isModuleInstance.d.ts +5 -0
  149. package/dist/instance/isModuleInstance.d.ts.map +1 -0
  150. package/dist/lib/duplicateModules.d.mts +12 -0
  151. package/dist/lib/duplicateModules.d.mts.map +1 -0
  152. package/dist/lib/duplicateModules.d.ts +12 -0
  153. package/dist/lib/duplicateModules.d.ts.map +1 -0
  154. package/dist/lib/index.d.mts +3 -0
  155. package/dist/lib/index.d.mts.map +1 -0
  156. package/dist/lib/index.d.ts +3 -0
  157. package/dist/lib/index.d.ts.map +1 -0
  158. package/dist/lib/serializable.d.mts +3 -0
  159. package/dist/lib/serializable.d.mts.map +1 -0
  160. package/dist/lib/serializable.d.ts +3 -0
  161. package/dist/lib/serializable.d.ts.map +1 -0
  162. package/dist/module/IsModuleFactory.d.mts +7 -0
  163. package/dist/module/IsModuleFactory.d.mts.map +1 -0
  164. package/dist/module/IsModuleFactory.d.ts +7 -0
  165. package/dist/module/IsModuleFactory.d.ts.map +1 -0
  166. package/dist/module/Module.d.mts +6 -0
  167. package/dist/module/Module.d.mts.map +1 -0
  168. package/dist/module/Module.d.ts +6 -0
  169. package/dist/module/Module.d.ts.map +1 -0
  170. package/dist/module/ModuleFields.d.mts +18 -0
  171. package/dist/module/ModuleFields.d.mts.map +1 -0
  172. package/dist/module/ModuleFields.d.ts +18 -0
  173. package/dist/module/ModuleFields.d.ts.map +1 -0
  174. package/dist/module/ModuleQueryFunctions.d.mts +12 -0
  175. package/dist/module/ModuleQueryFunctions.d.mts.map +1 -0
  176. package/dist/module/ModuleQueryFunctions.d.ts +12 -0
  177. package/dist/module/ModuleQueryFunctions.d.ts.map +1 -0
  178. package/dist/module/asModule.d.mts +5 -0
  179. package/dist/module/asModule.d.mts.map +1 -0
  180. package/dist/module/asModule.d.ts +5 -0
  181. package/dist/module/asModule.d.ts.map +1 -0
  182. package/dist/module/asModuleObject.d.mts +5 -0
  183. package/dist/module/asModuleObject.d.mts.map +1 -0
  184. package/dist/module/asModuleObject.d.ts +5 -0
  185. package/dist/module/asModuleObject.d.ts.map +1 -0
  186. package/dist/module/index.d.mts +9 -0
  187. package/dist/module/index.d.mts.map +1 -0
  188. package/dist/module/index.d.ts +9 -0
  189. package/dist/module/index.d.ts.map +1 -0
  190. package/dist/module/isModule.d.mts +5 -0
  191. package/dist/module/isModule.d.mts.map +1 -0
  192. package/dist/module/isModule.d.ts +5 -0
  193. package/dist/module/isModule.d.ts.map +1 -0
  194. package/dist/module/isModuleObject.d.mts +5 -0
  195. package/dist/module/isModuleObject.d.mts.map +1 -0
  196. package/dist/module/isModuleObject.d.ts +5 -0
  197. package/dist/module/isModuleObject.d.ts.map +1 -0
  198. package/dist/withModule.d.mts +7 -0
  199. package/dist/withModule.d.mts.map +1 -0
  200. package/dist/withModule.d.ts +7 -0
  201. package/dist/withModule.d.ts.map +1 -0
  202. package/package.json +17 -23
  203. package/src/Config.ts +56 -44
  204. package/src/{CreatableModule.ts → CreatableModule/CreatableModule.ts} +5 -5
  205. package/src/CreatableModule/CreatableModuleRegistry.ts +29 -0
  206. package/src/CreatableModule/LabeledCreatableModuleFactory.ts +9 -0
  207. package/src/{ModuleFactory.ts → CreatableModule/ModuleFactory.ts} +12 -3
  208. package/src/CreatableModule/ModuleFactoryLocator.ts +84 -0
  209. package/src/CreatableModule/index.ts +6 -0
  210. package/src/Labels/Labels.ts +34 -0
  211. package/src/Labels/index.ts +1 -0
  212. package/src/ModuleParams.ts +4 -9
  213. package/src/index.ts +2 -3
  214. package/src/instance/ModuleInstance.ts +2 -2
  215. package/src/instance/asModuleInstance.ts +1 -1
  216. package/src/instance/isModuleInstance.ts +1 -1
  217. package/src/module/IsModuleFactory.ts +1 -1
  218. package/src/module/Module.ts +2 -3
  219. package/src/module/ModuleFields.ts +2 -2
  220. package/src/module/asModule.ts +1 -1
  221. package/src/module/asModuleObject.ts +1 -1
  222. package/src/module/isModule.ts +1 -1
  223. package/src/module/isModuleObject.ts +1 -1
  224. package/src/withModule.ts +1 -1
  225. package/tsup.config.ts +0 -16
  226. /package/src/{CreatableModuleDictionary.ts → CreatableModule/CreatableModuleDictionary.ts} +0 -0
  227. /package/src/{Events → EventsModels}/ModuleBusy.ts +0 -0
  228. /package/src/{Events → EventsModels}/ModuleError.ts +0 -0
  229. /package/src/{Events → EventsModels}/ModuleEventArgs.ts +0 -0
  230. /package/src/{Events → EventsModels}/ModuleEventData.ts +0 -0
  231. /package/src/{Events → EventsModels}/ModuleQueried.ts +0 -0
  232. /package/src/{Events → EventsModels}/index.ts +0 -0
@@ -0,0 +1,12 @@
1
+ import { Module } from '../module';
2
+ /**
3
+ * Used to filter duplicates from an array of modules
4
+ * @example: modulesArray.filter(duplicateModules)
5
+ * @param value Current Module
6
+ * @param index Current Module's index
7
+ * @param array Module Array
8
+ * @returns True if the Module's address is the first occurrence of
9
+ * that address in the array, false otherwise
10
+ */
11
+ export declare const duplicateModules: (value: Module, index: number, array: Module[]) => value is Module;
12
+ //# sourceMappingURL=duplicateModules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicateModules.d.ts","sourceRoot":"","sources":["../../src/lib/duplicateModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,SAAS,MAAM,SAAS,MAAM,EAAE,oBAE7E,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './duplicateModules';
2
+ export * from './serializable';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './duplicateModules';
2
+ export * from './serializable';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const serializable: (field: unknown, depth?: number) => boolean | null;
2
+ export declare const serializableField: (field: unknown) => boolean;
3
+ //# sourceMappingURL=serializable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializable.d.ts","sourceRoot":"","sources":["../../src/lib/serializable.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,UAAW,OAAO,UAAU,MAAM,KAAG,OAAO,GAAG,IAqBvE,CAAA;AAED,eAAO,MAAM,iBAAiB,UAAW,OAAO,YAE/C,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const serializable: (field: unknown, depth?: number) => boolean | null;
2
+ export declare const serializableField: (field: unknown) => boolean;
3
+ //# sourceMappingURL=serializable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializable.d.ts","sourceRoot":"","sources":["../../src/lib/serializable.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,UAAW,OAAO,UAAU,MAAM,KAAG,OAAO,GAAG,IAqBvE,CAAA;AAED,eAAO,MAAM,iBAAiB,UAAW,OAAO,YAE/C,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ObjectTypeCheck } from '@xyo-network/object';
2
+ import { Module } from './Module';
3
+ export type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>;
4
+ export declare class IsModuleFactory<T extends Module = Module> {
5
+ create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T>;
6
+ }
7
+ //# sourceMappingURL=IsModuleFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsModuleFactory.d.ts","sourceRoot":"","sources":["../../src/module/IsModuleFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;AAE3E,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACpD,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;CAW7F"}
@@ -0,0 +1,7 @@
1
+ import { ObjectTypeCheck } from '@xyo-network/object';
2
+ import { Module } from './Module';
3
+ export type ModuleTypeCheck<T extends Module = Module> = ObjectTypeCheck<T>;
4
+ export declare class IsModuleFactory<T extends Module = Module> {
5
+ create(expectedQueries?: string[], additionalChecks?: ObjectTypeCheck[]): ModuleTypeCheck<T>;
6
+ }
7
+ //# sourceMappingURL=IsModuleFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsModuleFactory.d.ts","sourceRoot":"","sources":["../../src/module/IsModuleFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;AAE3E,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACpD,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;CAW7F"}
@@ -0,0 +1,6 @@
1
+ import { EventFunctions } from '@xyo-network/module-events';
2
+ import { ModuleEventData } from '../EventsModels';
3
+ import { ModuleParams } from '../ModuleParams';
4
+ import { ModuleFields } from './ModuleFields';
5
+ export type Module<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData<object> = ModuleEventData<object>> = ModuleFields<TParams> & EventFunctions<TEventData>;
6
+ //# sourceMappingURL=Module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../src/module/Module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,MAAM,CAChB,OAAO,SAAS,YAAY,GAAG,YAAY,EAC3C,UAAU,SAAS,eAAe,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,IAClE,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { EventFunctions } from '@xyo-network/module-events';
2
+ import { ModuleEventData } from '../EventsModels';
3
+ import { ModuleParams } from '../ModuleParams';
4
+ import { ModuleFields } from './ModuleFields';
5
+ export type Module<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData<object> = ModuleEventData<object>> = ModuleFields<TParams> & EventFunctions<TEventData>;
6
+ //# sourceMappingURL=Module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../src/module/Module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,MAAM,CAChB,OAAO,SAAS,YAAY,GAAG,YAAY,EAC3C,UAAU,SAAS,eAAe,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,IAClE,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { Promisable } from '@xyo-network/promise';
4
+ import { ModuleConfig } from '../Config';
5
+ import { ModuleParams } from '../ModuleParams';
6
+ import { ModuleQueryResult } from '../ModuleQueryResult';
7
+ export type ModuleFields<TParams extends ModuleParams = ModuleParams> = {
8
+ address: string;
9
+ config: TParams['config'];
10
+ params: TParams;
11
+ previousHash: () => Promisable<string | undefined>;
12
+ queries: string[];
13
+ query: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<ModuleQueryResult>;
14
+ queryable: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<boolean>;
15
+ start?: () => Promisable<boolean>;
16
+ stop?: () => Promisable<boolean>;
17
+ };
18
+ //# sourceMappingURL=ModuleFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleFields.d.ts","sourceRoot":"","sources":["../../src/module/ModuleFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,IAAI;IACtE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEzB,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,OAAO,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;CACjC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { Promisable } from '@xyo-network/promise';
4
+ import { ModuleConfig } from '../Config';
5
+ import { ModuleParams } from '../ModuleParams';
6
+ import { ModuleQueryResult } from '../ModuleQueryResult';
7
+ export type ModuleFields<TParams extends ModuleParams = ModuleParams> = {
8
+ address: string;
9
+ config: TParams['config'];
10
+ params: TParams;
11
+ previousHash: () => Promisable<string | undefined>;
12
+ queries: string[];
13
+ query: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<ModuleQueryResult>;
14
+ queryable: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<boolean>;
15
+ start?: () => Promisable<boolean>;
16
+ stop?: () => Promisable<boolean>;
17
+ };
18
+ //# sourceMappingURL=ModuleFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleFields.d.ts","sourceRoot":"","sources":["../../src/module/ModuleFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,IAAI;IACtE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEzB,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,OAAO,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;CACjC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { Promisable } from '@xyo-network/promise';
4
+ import { ModuleDescription } from '../ModuleDescription';
5
+ import { AddressPreviousHashPayload } from '../Queries';
6
+ export type ModuleQueryFunctions = {
7
+ describe: () => Promise<ModuleDescription>;
8
+ discover: () => Promisable<Payload[]>;
9
+ manifest: (ignoreAddresses?: string[]) => Promisable<ModuleManifestPayload>;
10
+ moduleAddress: () => Promisable<AddressPreviousHashPayload[]>;
11
+ };
12
+ //# sourceMappingURL=ModuleQueryFunctions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleQueryFunctions.d.ts","sourceRoot":"","sources":["../../src/module/ModuleQueryFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC1C,QAAQ,EAAE,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IACrC,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,UAAU,CAAC,qBAAqB,CAAC,CAAA;IAC3E,aAAa,EAAE,MAAM,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAA;CAC9D,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { Promisable } from '@xyo-network/promise';
4
+ import { ModuleDescription } from '../ModuleDescription';
5
+ import { AddressPreviousHashPayload } from '../Queries';
6
+ export type ModuleQueryFunctions = {
7
+ describe: () => Promise<ModuleDescription>;
8
+ discover: () => Promisable<Payload[]>;
9
+ manifest: (ignoreAddresses?: string[]) => Promisable<ModuleManifestPayload>;
10
+ moduleAddress: () => Promisable<AddressPreviousHashPayload[]>;
11
+ };
12
+ //# sourceMappingURL=ModuleQueryFunctions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleQueryFunctions.d.ts","sourceRoot":"","sources":["../../src/module/ModuleQueryFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC1C,QAAQ,EAAE,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IACrC,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,UAAU,CAAC,qBAAqB,CAAC,CAAA;IAC3E,aAAa,EAAE,MAAM,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAA;CAC9D,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const asModule: {
2
+ <TObject extends import("./Module").Module>(obj: object | null | undefined, config?: import("@xyo-network/object").ObjectTypeConfig | undefined): TObject | undefined;
3
+ <TObject_1 extends import("./Module").Module>(obj: object | null | undefined, assert: string | (() => string), config?: import("@xyo-network/object").ObjectTypeConfig | undefined): TObject_1;
4
+ };
5
+ //# sourceMappingURL=asModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asModule.d.ts","sourceRoot":"","sources":["../../src/module/asModule.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;CAAmC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const asModule: {
2
+ <TObject extends import("./Module").Module>(obj: object | null | undefined, config?: import("@xyo-network/object").ObjectTypeConfig | undefined): TObject | undefined;
3
+ <TObject_1 extends import("./Module").Module>(obj: object | null | undefined, assert: string | (() => string), config?: import("@xyo-network/object").ObjectTypeConfig | undefined): TObject_1;
4
+ };
5
+ //# sourceMappingURL=asModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asModule.d.ts","sourceRoot":"","sources":["../../src/module/asModule.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;CAAmC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const asModuleObject: {
2
+ <TObject extends import("./Module").Module>(obj: object | null | undefined, config?: import("@xyo-network/object").ObjectTypeConfig | undefined): TObject | undefined;
3
+ <TObject_1 extends import("./Module").Module>(obj: object | null | undefined, assert: string | (() => string), config?: import("@xyo-network/object").ObjectTypeConfig | undefined): TObject_1;
4
+ };
5
+ //# sourceMappingURL=asModuleObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asModuleObject.d.ts","sourceRoot":"","sources":["../../src/module/asModuleObject.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;;CAAyC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const asModuleObject: {
2
+ <TObject extends import("./Module").Module>(obj: object | null | undefined, config?: import("@xyo-network/object").ObjectTypeConfig | undefined): TObject | undefined;
3
+ <TObject_1 extends import("./Module").Module>(obj: object | null | undefined, assert: string | (() => string), config?: import("@xyo-network/object").ObjectTypeConfig | undefined): TObject_1;
4
+ };
5
+ //# sourceMappingURL=asModuleObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asModuleObject.d.ts","sourceRoot":"","sources":["../../src/module/asModuleObject.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;;CAAyC,CAAA"}
@@ -0,0 +1,9 @@
1
+ export * from './asModule';
2
+ export * from './asModuleObject';
3
+ export * from './isModule';
4
+ export * from './IsModuleFactory';
5
+ export * from './isModuleObject';
6
+ export * from './Module';
7
+ export * from './ModuleFields';
8
+ export * from './ModuleQueryFunctions';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA"}
@@ -0,0 +1,9 @@
1
+ export * from './asModule';
2
+ export * from './asModuleObject';
3
+ export * from './isModule';
4
+ export * from './IsModuleFactory';
5
+ export * from './isModuleObject';
6
+ export * from './Module';
7
+ export * from './ModuleFields';
8
+ export * from './ModuleQueryFunctions';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { ObjectTypeCheck } from '@xyo-network/object';
2
+ import { Module } from './Module';
3
+ export declare const requiredModuleQueries: string[];
4
+ export declare const isModule: ObjectTypeCheck<Module>;
5
+ //# sourceMappingURL=isModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isModule.d.ts","sourceRoot":"","sources":["../../src/module/isModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAKrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAOzC,CAAA;AAKD,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,MAAM,CAA2D,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { ObjectTypeCheck } from '@xyo-network/object';
2
+ import { Module } from './Module';
3
+ export declare const requiredModuleQueries: string[];
4
+ export declare const isModule: ObjectTypeCheck<Module>;
5
+ //# sourceMappingURL=isModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isModule.d.ts","sourceRoot":"","sources":["../../src/module/isModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAKrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAOzC,CAAA;AAKD,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,MAAM,CAA2D,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object';
2
+ import { Module } from './Module';
3
+ export declare const requiredModuleFunctions: ObjectTypeShape;
4
+ export declare const isModuleObject: ObjectTypeCheck<Module>;
5
+ //# sourceMappingURL=isModuleObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isModuleObject.d.ts","sourceRoot":"","sources":["../../src/module/isModuleObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEvF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,eAAO,MAAM,uBAAuB,EAAE,eAOrC,CAAA;AAID,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,MAAM,CAA2C,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object';
2
+ import { Module } from './Module';
3
+ export declare const requiredModuleFunctions: ObjectTypeShape;
4
+ export declare const isModuleObject: ObjectTypeCheck<Module>;
5
+ //# sourceMappingURL=isModuleObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isModuleObject.d.ts","sourceRoot":"","sources":["../../src/module/isModuleObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEvF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,eAAO,MAAM,uBAAuB,EAAE,eAOrC,CAAA;AAID,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,MAAM,CAA2C,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ObjectTypeCheck } from '@xyo-network/object';
2
+ export declare const WithFactory: {
3
+ create: <T extends object>(typeCheck: ObjectTypeCheck<T>) => <R>(module: any, closure: (module: T) => R) => R | undefined;
4
+ };
5
+ export declare const withModule: <R>(module: any, closure: (module: import("./module").Module) => R) => R | undefined;
6
+ export declare const withModuleInstance: <R>(module: any, closure: (module: import("./instance").ModuleInstance) => R) => R | undefined;
7
+ //# sourceMappingURL=withModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withModule.d.ts","sourceRoot":"","sources":["../src/withModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,WAAW;6EAIV,GAAG;CAOhB,CAAA;AAED,eAAO,MAAM,UAAU,cATT,GAAG,qEASqC,CAAA;AACtD,eAAO,MAAM,kBAAkB,cAVjB,GAAG,+EAUqD,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ObjectTypeCheck } from '@xyo-network/object';
2
+ export declare const WithFactory: {
3
+ create: <T extends object>(typeCheck: ObjectTypeCheck<T>) => <R>(module: any, closure: (module: T) => R) => R | undefined;
4
+ };
5
+ export declare const withModule: <R>(module: any, closure: (module: import("./module").Module) => R) => R | undefined;
6
+ export declare const withModuleInstance: <R>(module: any, closure: (module: import("./instance").ModuleInstance) => R) => R | undefined;
7
+ //# sourceMappingURL=withModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withModule.d.ts","sourceRoot":"","sources":["../src/withModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAKrD,eAAO,MAAM,WAAW;6EAIV,GAAG;CAOhB,CAAA;AAED,eAAO,MAAM,UAAU,cATT,GAAG,qEASqC,CAAA;AACtD,eAAO,MAAM,kBAAkB,cAVjB,GAAG,+EAUqD,CAAA"}
package/package.json CHANGED
@@ -10,32 +10,26 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.10.16",
14
- "@xylabs/lodash": "^2.10.16",
15
- "@xyo-network/account-model": "~2.73.4",
16
- "@xyo-network/address-payload-plugin": "~2.73.4",
17
- "@xyo-network/boundwitness-builder": "~2.73.4",
18
- "@xyo-network/boundwitness-model": "~2.73.4",
19
- "@xyo-network/core": "~2.73.4",
20
- "@xyo-network/logger": "~2.73.4",
21
- "@xyo-network/manifest-model": "~2.73.4",
22
- "@xyo-network/module-events": "~2.73.4",
23
- "@xyo-network/object-identity": "~2.73.4",
24
- "@xyo-network/payload-model": "~2.73.4",
25
- "@xyo-network/promise": "~2.73.4",
26
- "@xyo-network/wallet-model": "~2.73.4"
13
+ "@xylabs/assert": "^2.11.6",
14
+ "@xylabs/lodash": "^2.11.6",
15
+ "@xyo-network/account-model": "~2.74.1",
16
+ "@xyo-network/address-payload-plugin": "~2.74.1",
17
+ "@xyo-network/boundwitness-builder": "~2.74.1",
18
+ "@xyo-network/boundwitness-model": "~2.74.1",
19
+ "@xyo-network/core": "~2.74.1",
20
+ "@xyo-network/logger": "~2.74.1",
21
+ "@xyo-network/manifest-model": "~2.74.1",
22
+ "@xyo-network/module-events": "~2.74.1",
23
+ "@xyo-network/object": "~2.74.1",
24
+ "@xyo-network/payload-model": "~2.74.1",
25
+ "@xyo-network/promise": "~2.74.1",
26
+ "@xyo-network/wallet-model": "~2.74.1"
27
27
  },
28
28
  "devDependencies": {
29
- "@xylabs/ts-scripts-yarn3": "^2.19.12",
30
- "@xylabs/tsconfig": "^2.19.12",
31
- "publint": "^0.2.2",
32
- "tsup": "^7.2.0",
29
+ "@xylabs/ts-scripts-yarn3": "^3.0.28",
30
+ "@xylabs/tsconfig": "^3.0.28",
33
31
  "typescript": "^5.2.2"
34
32
  },
35
- "scripts": {
36
- "package-compile": "tsup && publint",
37
- "package-recompile": "tsup && publint"
38
- },
39
33
  "description": "Primary SDK for using XYO Protocol 2.0",
40
34
  "docs": "dist/docs.json",
41
35
  "types": "dist/index.d.ts",
@@ -76,5 +70,5 @@
76
70
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
77
71
  },
78
72
  "sideEffects": false,
79
- "version": "2.73.4"
73
+ "version": "2.74.1"
80
74
  }
package/src/Config.ts CHANGED
@@ -1,5 +1,7 @@
1
- import { WithAdditional } from '@xyo-network/core'
2
- import { Payload } from '@xyo-network/payload-model'
1
+ import { AnyObject, WithAdditional } from '@xyo-network/core'
2
+ import { Payload, Schema } from '@xyo-network/payload-model'
3
+
4
+ import { Labels } from './Labels'
3
5
 
4
6
  export type ModuleConfigSchema = 'network.xyo.module.config'
5
7
  export const ModuleConfigSchema: ModuleConfigSchema = 'network.xyo.module.config'
@@ -18,51 +20,61 @@ export interface IndividualArchivistConfig {
18
20
 
19
21
  export type ArchivistModuleConfig = NameOrAddress | IndividualArchivistConfig
20
22
 
21
- export type ModuleConfigBase<TConfig extends Payload | undefined = undefined> = Payload<
23
+ export type ModuleConfig<
24
+ TConfig extends Payload | void = void,
25
+ TAdditionalParams extends AnyObject | void = void,
26
+ TSchema extends Schema | void = void,
27
+ > = Payload<
22
28
  WithAdditional<
23
- {
24
- /** @field The path to use when creating the account */
25
- accountDerivationPath?: string
26
-
27
- /** @field The name/address of the Archivist to use for this module */
28
- readonly archivist?: ArchivistModuleConfig
29
-
30
- /** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */
31
- readonly name?: string
32
-
33
- /** @field paging settings for queries */
34
- readonly paging?: Record<string, { size?: number }>
35
-
36
- /** @field The config schema for the module */
37
- readonly schema: TConfig extends Payload ? TConfig['schema'] : ModuleConfigSchema
38
-
39
- /** @field The query schemas and allowed/disallowed addresses which are allowed to issue them against the module. If both allowed and disallowed is specified, then disallowed takes priority. */
40
- readonly security?: {
41
- /** @field Will the module process queries that have unsigned BoundWitness in query tuples */
42
- readonly allowAnonymous?: boolean
43
-
44
- /** @field If schema in record, then only these address sets can access query */
45
- readonly allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>
46
-
47
- /** @field If schema in record, then anyone except these addresses can access query */
48
- readonly disallowed?: Record<SchemaString, AddressString[]>
49
- }
50
-
51
- /** @field sign every query */
52
- readonly sign?: boolean
53
-
54
- /** @field Store the queries made to the module in an archivist if possible */
55
- readonly storeQueries?: boolean
56
-
57
- /** @field add a timestamp payload to every query */
58
- readonly timestamp?: boolean
59
- },
60
- Omit<TConfig, 'schema'>
61
- >
29
+ WithAdditional<
30
+ {
31
+ /** @field The path to use when creating the account */
32
+ accountDerivationPath?: string
33
+
34
+ /** @field The name/address of the Archivist to use for this module */
35
+ readonly archivist?: ArchivistModuleConfig
36
+
37
+ /**
38
+ * @field The labels used for this module. If a label is specified, then the
39
+ * ModuleFactoryLocator will attempt to find a ModuleFactory with the corresponding
40
+ * labels to construct this module.
41
+ */
42
+ readonly labels?: Labels
43
+
44
+ /** @field Friendly name of module (not collision resistent). Can be used to resolve module when registered/attached to Node. */
45
+ readonly name?: string
46
+
47
+ /** @field paging settings for queries */
48
+ readonly paging?: Record<string, { size?: number }>
49
+
50
+ /** @field The query schemas and allowed/disallowed addresses which are allowed to issue them against the module. If both allowed and disallowed is specified, then disallowed takes priority. */
51
+ readonly security?: {
52
+ /** @field Will the module process queries that have unsigned BoundWitness in query tuples */
53
+ readonly allowAnonymous?: boolean
54
+
55
+ /** @field If schema in record, then only these address sets can access query */
56
+ readonly allowed?: Record<SchemaString, (AddressString | CosigningAddressSet)[]>
57
+
58
+ /** @field If schema in record, then anyone except these addresses can access query */
59
+ readonly disallowed?: Record<SchemaString, AddressString[]>
60
+ }
61
+
62
+ /** @field sign every query */
63
+ readonly sign?: boolean
64
+
65
+ /** @field Store the queries made to the module in an archivist if possible */
66
+ readonly storeQueries?: boolean
67
+
68
+ /** @field add a timestamp payload to every query */
69
+ readonly timestamp?: boolean
70
+ },
71
+ TConfig
72
+ >,
73
+ TAdditionalParams
74
+ >,
75
+ TSchema extends Schema ? TSchema : TConfig extends Payload ? TConfig['schema'] : ModuleConfigSchema
62
76
  >
63
77
 
64
- export type ModuleConfig<TConfig extends Payload | undefined = undefined> = ModuleConfigBase<TConfig>
65
-
66
78
  export type AnyConfigSchema<TConfig extends Omit<ModuleConfig, 'schema'> & { schema: string } = Omit<ModuleConfig, 'schema'> & { schema: string }> =
67
79
  ModuleConfig<
68
80
  WithAdditional<
@@ -1,7 +1,11 @@
1
1
  import { AccountInstance } from '@xyo-network/account-model'
2
2
  import { Logger } from '@xyo-network/logger'
3
3
 
4
- import { ModuleInstance } from './instance'
4
+ import { ModuleInstance } from '../instance'
5
+
6
+ export type CreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = Omit<Omit<CreatableModule<T>, 'new'>, 'create'> & {
7
+ create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: T['params']): Promise<T>
8
+ }
5
9
 
6
10
  export interface CreatableModule<T extends ModuleInstance = ModuleInstance> {
7
11
  configSchema: string
@@ -13,10 +17,6 @@ export interface CreatableModule<T extends ModuleInstance = ModuleInstance> {
13
17
  factory<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): CreatableModuleFactory<T>
14
18
  }
15
19
 
16
- export type CreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = Omit<Omit<CreatableModule<T>, 'new'>, 'create'> & {
17
- create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: T['params']): Promise<T>
18
- }
19
-
20
20
  /**
21
21
  * Class annotation to be used to decorate Modules which support
22
22
  * an asynchronous creation pattern
@@ -0,0 +1,29 @@
1
+ import { CreatableModuleFactory } from './CreatableModule'
2
+ import { CreatableModuleDictionary } from './CreatableModuleDictionary'
3
+ import { LabeledCreatableModuleFactory } from './LabeledCreatableModuleFactory'
4
+
5
+ export interface CreatableModuleRegistry {
6
+ [key: string]: (CreatableModuleFactory | LabeledCreatableModuleFactory)[] | undefined
7
+ }
8
+
9
+ export const toCreatableModuleRegistry = (dict: CreatableModuleDictionary | CreatableModuleRegistry): CreatableModuleRegistry => {
10
+ return Object.entries(dict).reduce((registry, [schema, factory]) => {
11
+ registry[schema] = Array.isArray(factory) ? factory : [factory]
12
+ return registry
13
+ }, {} as CreatableModuleRegistry)
14
+ }
15
+
16
+ export const assignCreatableModuleRegistry = (
17
+ target: CreatableModuleRegistry = {},
18
+ ...sources: CreatableModuleRegistry[]
19
+ ): CreatableModuleRegistry => {
20
+ sources.map((source) =>
21
+ Object.entries(source).map(([schema, factories]) => {
22
+ if (factories) {
23
+ const existingFactories = target[schema]
24
+ target[schema] = existingFactories ? (target[schema] = [...existingFactories, ...factories]) : factories
25
+ }
26
+ }),
27
+ )
28
+ return target
29
+ }
@@ -0,0 +1,9 @@
1
+ import { ModuleInstance } from '../instance'
2
+ import { WithOptionalLabels } from '../Labels'
3
+ import { CreatableModuleFactory } from './CreatableModule'
4
+
5
+ export type LabeledCreatableModuleFactory<T extends ModuleInstance = ModuleInstance> = CreatableModuleFactory<T> & WithOptionalLabels
6
+
7
+ export const hasLabels = (factory: CreatableModuleFactory | LabeledCreatableModuleFactory): factory is LabeledCreatableModuleFactory => {
8
+ return (factory as LabeledCreatableModuleFactory).labels !== undefined
9
+ }