@xyo-network/module-model 2.75.0 → 2.75.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.
Files changed (436) hide show
  1. package/dist/browser/Config.d.cts +60 -0
  2. package/dist/browser/Config.d.cts.map +1 -0
  3. package/dist/browser/Config.js +1 -2
  4. package/dist/browser/Config.js.map +1 -1
  5. package/dist/browser/CreatableModule/CreatableModule.d.cts +23 -0
  6. package/dist/browser/CreatableModule/CreatableModule.d.cts.map +1 -0
  7. package/dist/browser/CreatableModule/CreatableModule.js +0 -1
  8. package/dist/browser/CreatableModule/CreatableModule.js.map +1 -1
  9. package/dist/browser/CreatableModule/CreatableModuleDictionary.d.cts +5 -0
  10. package/dist/browser/CreatableModule/CreatableModuleDictionary.d.cts.map +1 -0
  11. package/dist/browser/CreatableModule/CreatableModuleRegistry.d.cts +9 -0
  12. package/dist/browser/CreatableModule/CreatableModuleRegistry.d.cts.map +1 -0
  13. package/dist/browser/CreatableModule/CreatableModuleRegistry.js +2 -3
  14. package/dist/browser/CreatableModule/CreatableModuleRegistry.js.map +1 -1
  15. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.cts +6 -0
  16. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.d.cts.map +1 -0
  17. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.js +1 -2
  18. package/dist/browser/CreatableModule/LabeledCreatableModuleFactory.js.map +1 -1
  19. package/dist/browser/CreatableModule/ModuleFactory.d.cts +25 -0
  20. package/dist/browser/CreatableModule/ModuleFactory.d.cts.map +1 -0
  21. package/dist/browser/CreatableModule/ModuleFactory.js +3 -4
  22. package/dist/browser/CreatableModule/ModuleFactory.js.map +1 -1
  23. package/dist/browser/CreatableModule/ModuleFactoryLocator.d.cts +41 -0
  24. package/dist/browser/CreatableModule/ModuleFactoryLocator.d.cts.map +1 -0
  25. package/dist/browser/CreatableModule/ModuleFactoryLocator.js +4 -19
  26. package/dist/browser/CreatableModule/ModuleFactoryLocator.js.map +1 -1
  27. package/dist/browser/CreatableModule/index.d.cts +7 -0
  28. package/dist/browser/CreatableModule/index.d.cts.map +1 -0
  29. package/dist/browser/CreatableModule/index.js +6 -169
  30. package/dist/browser/CreatableModule/index.js.map +1 -1
  31. package/dist/browser/EventsModels/ModuleBusy.d.cts +9 -0
  32. package/dist/browser/EventsModels/ModuleBusy.d.cts.map +1 -0
  33. package/dist/browser/EventsModels/ModuleError.d.cts +9 -0
  34. package/dist/browser/EventsModels/ModuleError.d.cts.map +1 -0
  35. package/dist/browser/EventsModels/ModuleEventArgs.d.cts +7 -0
  36. package/dist/browser/EventsModels/ModuleEventArgs.d.cts.map +1 -0
  37. package/dist/browser/EventsModels/ModuleEventData.d.cts +6 -0
  38. package/dist/browser/EventsModels/ModuleEventData.d.cts.map +1 -0
  39. package/dist/browser/EventsModels/ModuleQueried.d.cts +14 -0
  40. package/dist/browser/EventsModels/ModuleQueried.d.cts.map +1 -0
  41. package/dist/browser/EventsModels/index.d.cts +6 -0
  42. package/dist/browser/EventsModels/index.d.cts.map +1 -0
  43. package/dist/browser/EventsModels/index.js +5 -0
  44. package/dist/browser/EventsModels/index.js.map +1 -1
  45. package/dist/browser/Labels/Labels.d.cts +26 -0
  46. package/dist/browser/Labels/Labels.d.cts.map +1 -0
  47. package/dist/browser/Labels/Labels.js +1 -2
  48. package/dist/browser/Labels/Labels.js.map +1 -1
  49. package/dist/browser/Labels/index.d.cts +2 -0
  50. package/dist/browser/Labels/index.d.cts.map +1 -0
  51. package/dist/browser/Labels/index.js +1 -11
  52. package/dist/browser/Labels/index.js.map +1 -1
  53. package/dist/browser/ModuleDescription.d.cts +7 -0
  54. package/dist/browser/ModuleDescription.d.cts.map +1 -0
  55. package/dist/browser/ModuleParams.d.cts +11 -0
  56. package/dist/browser/ModuleParams.d.cts.map +1 -0
  57. package/dist/browser/ModuleQueryHandlerResult.d.cts +3 -0
  58. package/dist/browser/ModuleQueryHandlerResult.d.cts.map +1 -0
  59. package/dist/browser/ModuleQueryResult.d.cts +4 -0
  60. package/dist/browser/ModuleQueryResult.d.cts.map +1 -0
  61. package/dist/browser/Queries/Describe/Payload.d.cts +6 -0
  62. package/dist/browser/Queries/Describe/Payload.d.cts.map +1 -0
  63. package/dist/browser/Queries/Describe/Payload.js +1 -2
  64. package/dist/browser/Queries/Describe/Payload.js.map +1 -1
  65. package/dist/browser/Queries/Describe/Query.d.cts +7 -0
  66. package/dist/browser/Queries/Describe/Query.d.cts.map +1 -0
  67. package/dist/browser/Queries/Describe/Query.js +1 -2
  68. package/dist/browser/Queries/Describe/Query.js.map +1 -1
  69. package/dist/browser/Queries/Describe/index.d.cts +3 -0
  70. package/dist/browser/Queries/Describe/index.d.cts.map +1 -0
  71. package/dist/browser/Queries/Describe/index.js +2 -9
  72. package/dist/browser/Queries/Describe/index.js.map +1 -1
  73. package/dist/browser/Queries/Discover.d.cts +7 -0
  74. package/dist/browser/Queries/Discover.d.cts.map +1 -0
  75. package/dist/browser/Queries/Discover.js +1 -2
  76. package/dist/browser/Queries/Discover.js.map +1 -1
  77. package/dist/browser/Queries/Manifest.d.cts +7 -0
  78. package/dist/browser/Queries/Manifest.d.cts.map +1 -0
  79. package/dist/browser/Queries/Manifest.js +1 -2
  80. package/dist/browser/Queries/Manifest.js.map +1 -1
  81. package/dist/browser/Queries/ModuleAddress/Payload.d.cts +9 -0
  82. package/dist/browser/Queries/ModuleAddress/Payload.d.cts.map +1 -0
  83. package/dist/browser/Queries/ModuleAddress/Payload.js +1 -2
  84. package/dist/browser/Queries/ModuleAddress/Payload.js.map +1 -1
  85. package/dist/browser/Queries/ModuleAddress/Query.d.cts +7 -0
  86. package/dist/browser/Queries/ModuleAddress/Query.d.cts.map +1 -0
  87. package/dist/browser/Queries/ModuleAddress/Query.js +1 -2
  88. package/dist/browser/Queries/ModuleAddress/Query.js.map +1 -1
  89. package/dist/browser/Queries/ModuleAddress/index.d.cts +3 -0
  90. package/dist/browser/Queries/ModuleAddress/index.d.cts.map +1 -0
  91. package/dist/browser/Queries/ModuleAddress/index.js +2 -10
  92. package/dist/browser/Queries/ModuleAddress/index.js.map +1 -1
  93. package/dist/browser/Queries/Subscribe.d.cts +17 -0
  94. package/dist/browser/Queries/Subscribe.d.cts.map +1 -0
  95. package/dist/browser/Queries/Subscribe.js +1 -2
  96. package/dist/browser/Queries/Subscribe.js.map +1 -1
  97. package/dist/browser/Queries/index.d.cts +14 -0
  98. package/dist/browser/Queries/index.d.cts.map +1 -0
  99. package/dist/browser/Queries/index.js +5 -30
  100. package/dist/browser/Queries/index.js.map +1 -1
  101. package/dist/browser/index.d.cts +14 -0
  102. package/dist/browser/index.d.cts.map +1 -0
  103. package/dist/browser/index.js +13 -332
  104. package/dist/browser/index.js.map +1 -1
  105. package/dist/browser/instance/ModuleInstance.d.cts +41 -0
  106. package/dist/browser/instance/ModuleInstance.d.cts.map +1 -0
  107. package/dist/browser/instance/ModuleInstance.js +2 -3
  108. package/dist/browser/instance/ModuleInstance.js.map +1 -1
  109. package/dist/browser/instance/ModuleRepository.d.cts +9 -0
  110. package/dist/browser/instance/ModuleRepository.d.cts.map +1 -0
  111. package/dist/browser/instance/asModuleInstance.d.cts +5 -0
  112. package/dist/browser/instance/asModuleInstance.d.cts.map +1 -0
  113. package/dist/browser/instance/asModuleInstance.js +2 -63
  114. package/dist/browser/instance/asModuleInstance.js.map +1 -1
  115. package/dist/browser/instance/index.d.cts +5 -0
  116. package/dist/browser/instance/index.d.cts.map +1 -0
  117. package/dist/browser/instance/index.js +4 -75
  118. package/dist/browser/instance/index.js.map +1 -1
  119. package/dist/browser/instance/isModuleInstance.d.cts +5 -0
  120. package/dist/browser/instance/isModuleInstance.d.cts.map +1 -0
  121. package/dist/browser/instance/isModuleInstance.js +4 -52
  122. package/dist/browser/instance/isModuleInstance.js.map +1 -1
  123. package/dist/browser/lib/duplicateModules.d.cts +12 -0
  124. package/dist/browser/lib/duplicateModules.d.cts.map +1 -0
  125. package/dist/browser/lib/duplicateModules.js +1 -2
  126. package/dist/browser/lib/duplicateModules.js.map +1 -1
  127. package/dist/browser/lib/index.d.cts +3 -0
  128. package/dist/browser/lib/index.d.cts.map +1 -0
  129. package/dist/browser/lib/index.js +2 -32
  130. package/dist/browser/lib/index.js.map +1 -1
  131. package/dist/browser/lib/serializable.d.cts +3 -0
  132. package/dist/browser/lib/serializable.d.cts.map +1 -0
  133. package/dist/browser/lib/serializable.js +4 -5
  134. package/dist/browser/lib/serializable.js.map +1 -1
  135. package/dist/browser/module/IsModuleFactory.d.cts +7 -0
  136. package/dist/browser/module/IsModuleFactory.d.cts.map +1 -0
  137. package/dist/browser/module/IsModuleFactory.js +4 -22
  138. package/dist/browser/module/IsModuleFactory.js.map +1 -1
  139. package/dist/browser/module/Module.d.cts +6 -0
  140. package/dist/browser/module/Module.d.cts.map +1 -0
  141. package/dist/browser/module/ModuleFields.d.cts +18 -0
  142. package/dist/browser/module/ModuleFields.d.cts.map +1 -0
  143. package/dist/browser/module/ModuleQueryFunctions.d.cts +12 -0
  144. package/dist/browser/module/ModuleQueryFunctions.d.cts.map +1 -0
  145. package/dist/browser/module/asModule.d.cts +5 -0
  146. package/dist/browser/module/asModule.d.cts.map +1 -0
  147. package/dist/browser/module/asModule.js +2 -50
  148. package/dist/browser/module/asModule.js.map +1 -1
  149. package/dist/browser/module/asModuleObject.d.cts +5 -0
  150. package/dist/browser/module/asModuleObject.d.cts.map +1 -0
  151. package/dist/browser/module/asModuleObject.js +2 -17
  152. package/dist/browser/module/asModuleObject.js.map +1 -1
  153. package/dist/browser/module/index.d.cts +9 -0
  154. package/dist/browser/module/index.d.cts.map +1 -0
  155. package/dist/browser/module/index.js +8 -60
  156. package/dist/browser/module/index.js.map +1 -1
  157. package/dist/browser/module/isModule.d.cts +5 -0
  158. package/dist/browser/module/isModule.d.cts.map +1 -0
  159. package/dist/browser/module/isModule.js +6 -38
  160. package/dist/browser/module/isModule.js.map +1 -1
  161. package/dist/browser/module/isModuleObject.d.cts +5 -0
  162. package/dist/browser/module/isModuleObject.d.cts.map +1 -0
  163. package/dist/browser/module/isModuleObject.js +3 -4
  164. package/dist/browser/module/isModuleObject.js.map +1 -1
  165. package/dist/browser/withModule.d.cts +7 -0
  166. package/dist/browser/withModule.d.cts.map +1 -0
  167. package/dist/browser/withModule.js +5 -63
  168. package/dist/browser/withModule.js.map +1 -1
  169. package/dist/docs.json +52596 -0
  170. package/dist/node/Config.d.cts +60 -0
  171. package/dist/node/Config.d.cts.map +1 -0
  172. package/dist/node/Config.js +3 -1
  173. package/dist/node/Config.js.map +1 -1
  174. package/dist/node/Config.mjs +2 -1
  175. package/dist/node/Config.mjs.map +1 -1
  176. package/dist/node/CreatableModule/CreatableModule.d.cts +23 -0
  177. package/dist/node/CreatableModule/CreatableModule.d.cts.map +1 -0
  178. package/dist/node/CreatableModule/CreatableModule.js +2 -0
  179. package/dist/node/CreatableModule/CreatableModule.js.map +1 -1
  180. package/dist/node/CreatableModule/CreatableModule.mjs +1 -0
  181. package/dist/node/CreatableModule/CreatableModule.mjs.map +1 -1
  182. package/dist/node/CreatableModule/CreatableModuleDictionary.d.cts +5 -0
  183. package/dist/node/CreatableModule/CreatableModuleDictionary.d.cts.map +1 -0
  184. package/dist/node/CreatableModule/CreatableModuleDictionary.js +2 -0
  185. package/dist/node/CreatableModule/CreatableModuleDictionary.js.map +1 -1
  186. package/dist/node/CreatableModule/CreatableModuleRegistry.d.cts +9 -0
  187. package/dist/node/CreatableModule/CreatableModuleRegistry.d.cts.map +1 -0
  188. package/dist/node/CreatableModule/CreatableModuleRegistry.js +4 -2
  189. package/dist/node/CreatableModule/CreatableModuleRegistry.js.map +1 -1
  190. package/dist/node/CreatableModule/CreatableModuleRegistry.mjs +3 -2
  191. package/dist/node/CreatableModule/CreatableModuleRegistry.mjs.map +1 -1
  192. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.cts +6 -0
  193. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.d.cts.map +1 -0
  194. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.js +3 -1
  195. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.js.map +1 -1
  196. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.mjs +2 -1
  197. package/dist/node/CreatableModule/LabeledCreatableModuleFactory.mjs.map +1 -1
  198. package/dist/node/CreatableModule/ModuleFactory.d.cts +25 -0
  199. package/dist/node/CreatableModule/ModuleFactory.d.cts.map +1 -0
  200. package/dist/node/CreatableModule/ModuleFactory.js +7 -4
  201. package/dist/node/CreatableModule/ModuleFactory.js.map +1 -1
  202. package/dist/node/CreatableModule/ModuleFactory.mjs +6 -4
  203. package/dist/node/CreatableModule/ModuleFactory.mjs.map +1 -1
  204. package/dist/node/CreatableModule/ModuleFactoryLocator.d.cts +41 -0
  205. package/dist/node/CreatableModule/ModuleFactoryLocator.d.cts.map +1 -0
  206. package/dist/node/CreatableModule/ModuleFactoryLocator.js +23 -6
  207. package/dist/node/CreatableModule/ModuleFactoryLocator.js.map +1 -1
  208. package/dist/node/CreatableModule/ModuleFactoryLocator.mjs +22 -6
  209. package/dist/node/CreatableModule/ModuleFactoryLocator.mjs.map +1 -1
  210. package/dist/node/CreatableModule/index.d.cts +7 -0
  211. package/dist/node/CreatableModule/index.d.cts.map +1 -0
  212. package/dist/node/CreatableModule/index.js +184 -13
  213. package/dist/node/CreatableModule/index.js.map +1 -1
  214. package/dist/node/CreatableModule/index.mjs +171 -6
  215. package/dist/node/CreatableModule/index.mjs.map +1 -1
  216. package/dist/node/EventsModels/ModuleBusy.d.cts +9 -0
  217. package/dist/node/EventsModels/ModuleBusy.d.cts.map +1 -0
  218. package/dist/node/EventsModels/ModuleBusy.js +2 -0
  219. package/dist/node/EventsModels/ModuleBusy.js.map +1 -1
  220. package/dist/node/EventsModels/ModuleError.d.cts +9 -0
  221. package/dist/node/EventsModels/ModuleError.d.cts.map +1 -0
  222. package/dist/node/EventsModels/ModuleError.js +2 -0
  223. package/dist/node/EventsModels/ModuleError.js.map +1 -1
  224. package/dist/node/EventsModels/ModuleEventArgs.d.cts +7 -0
  225. package/dist/node/EventsModels/ModuleEventArgs.d.cts.map +1 -0
  226. package/dist/node/EventsModels/ModuleEventArgs.js +2 -0
  227. package/dist/node/EventsModels/ModuleEventArgs.js.map +1 -1
  228. package/dist/node/EventsModels/ModuleEventData.d.cts +6 -0
  229. package/dist/node/EventsModels/ModuleEventData.d.cts.map +1 -0
  230. package/dist/node/EventsModels/ModuleEventData.js +2 -0
  231. package/dist/node/EventsModels/ModuleEventData.js.map +1 -1
  232. package/dist/node/EventsModels/ModuleQueried.d.cts +14 -0
  233. package/dist/node/EventsModels/ModuleQueried.d.cts.map +1 -0
  234. package/dist/node/EventsModels/ModuleQueried.js +2 -0
  235. package/dist/node/EventsModels/ModuleQueried.js.map +1 -1
  236. package/dist/node/EventsModels/index.d.cts +6 -0
  237. package/dist/node/EventsModels/index.d.cts.map +1 -0
  238. package/dist/node/EventsModels/index.js +2 -14
  239. package/dist/node/EventsModels/index.js.map +1 -1
  240. package/dist/node/EventsModels/index.mjs +0 -5
  241. package/dist/node/EventsModels/index.mjs.map +1 -1
  242. package/dist/node/Labels/Labels.d.cts +26 -0
  243. package/dist/node/Labels/Labels.d.cts.map +1 -0
  244. package/dist/node/Labels/Labels.js +4 -2
  245. package/dist/node/Labels/Labels.js.map +1 -1
  246. package/dist/node/Labels/Labels.mjs +3 -2
  247. package/dist/node/Labels/Labels.mjs.map +1 -1
  248. package/dist/node/Labels/index.d.cts +2 -0
  249. package/dist/node/Labels/index.d.cts.map +1 -0
  250. package/dist/node/Labels/index.js +19 -3
  251. package/dist/node/Labels/index.js.map +1 -1
  252. package/dist/node/Labels/index.mjs +11 -1
  253. package/dist/node/Labels/index.mjs.map +1 -1
  254. package/dist/node/ModuleDescription.d.cts +7 -0
  255. package/dist/node/ModuleDescription.d.cts.map +1 -0
  256. package/dist/node/ModuleDescription.js +2 -0
  257. package/dist/node/ModuleDescription.js.map +1 -1
  258. package/dist/node/ModuleParams.d.cts +11 -0
  259. package/dist/node/ModuleParams.d.cts.map +1 -0
  260. package/dist/node/ModuleParams.js +2 -0
  261. package/dist/node/ModuleParams.js.map +1 -1
  262. package/dist/node/ModuleQueryHandlerResult.d.cts +3 -0
  263. package/dist/node/ModuleQueryHandlerResult.d.cts.map +1 -0
  264. package/dist/node/ModuleQueryHandlerResult.js +2 -0
  265. package/dist/node/ModuleQueryHandlerResult.js.map +1 -1
  266. package/dist/node/ModuleQueryResult.d.cts +4 -0
  267. package/dist/node/ModuleQueryResult.d.cts.map +1 -0
  268. package/dist/node/ModuleQueryResult.js +2 -0
  269. package/dist/node/ModuleQueryResult.js.map +1 -1
  270. package/dist/node/Queries/Describe/Payload.d.cts +6 -0
  271. package/dist/node/Queries/Describe/Payload.d.cts.map +1 -0
  272. package/dist/node/Queries/Describe/Payload.js +3 -1
  273. package/dist/node/Queries/Describe/Payload.js.map +1 -1
  274. package/dist/node/Queries/Describe/Payload.mjs +2 -1
  275. package/dist/node/Queries/Describe/Payload.mjs.map +1 -1
  276. package/dist/node/Queries/Describe/Query.d.cts +7 -0
  277. package/dist/node/Queries/Describe/Query.d.cts.map +1 -0
  278. package/dist/node/Queries/Describe/Query.js +3 -1
  279. package/dist/node/Queries/Describe/Query.js.map +1 -1
  280. package/dist/node/Queries/Describe/Query.mjs +2 -1
  281. package/dist/node/Queries/Describe/Query.mjs.map +1 -1
  282. package/dist/node/Queries/Describe/index.d.cts +3 -0
  283. package/dist/node/Queries/Describe/index.d.cts.map +1 -0
  284. package/dist/node/Queries/Describe/index.js +18 -5
  285. package/dist/node/Queries/Describe/index.js.map +1 -1
  286. package/dist/node/Queries/Describe/index.mjs +9 -2
  287. package/dist/node/Queries/Describe/index.mjs.map +1 -1
  288. package/dist/node/Queries/Discover.d.cts +7 -0
  289. package/dist/node/Queries/Discover.d.cts.map +1 -0
  290. package/dist/node/Queries/Discover.js +3 -1
  291. package/dist/node/Queries/Discover.js.map +1 -1
  292. package/dist/node/Queries/Discover.mjs +2 -1
  293. package/dist/node/Queries/Discover.mjs.map +1 -1
  294. package/dist/node/Queries/Manifest.d.cts +7 -0
  295. package/dist/node/Queries/Manifest.d.cts.map +1 -0
  296. package/dist/node/Queries/Manifest.js +3 -1
  297. package/dist/node/Queries/Manifest.js.map +1 -1
  298. package/dist/node/Queries/Manifest.mjs +2 -1
  299. package/dist/node/Queries/Manifest.mjs.map +1 -1
  300. package/dist/node/Queries/ModuleAddress/Payload.d.cts +9 -0
  301. package/dist/node/Queries/ModuleAddress/Payload.d.cts.map +1 -0
  302. package/dist/node/Queries/ModuleAddress/Payload.js +3 -1
  303. package/dist/node/Queries/ModuleAddress/Payload.js.map +1 -1
  304. package/dist/node/Queries/ModuleAddress/Payload.mjs +2 -1
  305. package/dist/node/Queries/ModuleAddress/Payload.mjs.map +1 -1
  306. package/dist/node/Queries/ModuleAddress/Query.d.cts +7 -0
  307. package/dist/node/Queries/ModuleAddress/Query.d.cts.map +1 -0
  308. package/dist/node/Queries/ModuleAddress/Query.js +3 -1
  309. package/dist/node/Queries/ModuleAddress/Query.js.map +1 -1
  310. package/dist/node/Queries/ModuleAddress/Query.mjs +2 -1
  311. package/dist/node/Queries/ModuleAddress/Query.mjs.map +1 -1
  312. package/dist/node/Queries/ModuleAddress/index.d.cts +3 -0
  313. package/dist/node/Queries/ModuleAddress/index.d.cts.map +1 -0
  314. package/dist/node/Queries/ModuleAddress/index.js +19 -5
  315. package/dist/node/Queries/ModuleAddress/index.js.map +1 -1
  316. package/dist/node/Queries/ModuleAddress/index.mjs +10 -2
  317. package/dist/node/Queries/ModuleAddress/index.mjs.map +1 -1
  318. package/dist/node/Queries/Subscribe.d.cts +17 -0
  319. package/dist/node/Queries/Subscribe.d.cts.map +1 -0
  320. package/dist/node/Queries/Subscribe.js +3 -1
  321. package/dist/node/Queries/Subscribe.js.map +1 -1
  322. package/dist/node/Queries/Subscribe.mjs +2 -1
  323. package/dist/node/Queries/Subscribe.mjs.map +1 -1
  324. package/dist/node/Queries/index.d.cts +14 -0
  325. package/dist/node/Queries/index.d.cts.map +1 -0
  326. package/dist/node/Queries/index.js +44 -11
  327. package/dist/node/Queries/index.js.map +1 -1
  328. package/dist/node/Queries/index.mjs +30 -5
  329. package/dist/node/Queries/index.mjs.map +1 -1
  330. package/dist/node/index.d.cts +14 -0
  331. package/dist/node/index.d.cts.map +1 -0
  332. package/dist/node/index.js +373 -27
  333. package/dist/node/index.js.map +1 -1
  334. package/dist/node/index.mjs +334 -13
  335. package/dist/node/index.mjs.map +1 -1
  336. package/dist/node/instance/ModuleInstance.d.cts +41 -0
  337. package/dist/node/instance/ModuleInstance.d.cts.map +1 -0
  338. package/dist/node/instance/ModuleInstance.js +4 -2
  339. package/dist/node/instance/ModuleInstance.js.map +1 -1
  340. package/dist/node/instance/ModuleInstance.mjs +3 -2
  341. package/dist/node/instance/ModuleInstance.mjs.map +1 -1
  342. package/dist/node/instance/ModuleRepository.d.cts +9 -0
  343. package/dist/node/instance/ModuleRepository.d.cts.map +1 -0
  344. package/dist/node/instance/ModuleRepository.js +2 -0
  345. package/dist/node/instance/ModuleRepository.js.map +1 -1
  346. package/dist/node/instance/asModuleInstance.d.cts +5 -0
  347. package/dist/node/instance/asModuleInstance.d.cts.map +1 -0
  348. package/dist/node/instance/asModuleInstance.js +64 -2
  349. package/dist/node/instance/asModuleInstance.js.map +1 -1
  350. package/dist/node/instance/asModuleInstance.mjs +63 -2
  351. package/dist/node/instance/asModuleInstance.mjs.map +1 -1
  352. package/dist/node/instance/index.d.cts +5 -0
  353. package/dist/node/instance/index.d.cts.map +1 -0
  354. package/dist/node/instance/index.js +86 -9
  355. package/dist/node/instance/index.js.map +1 -1
  356. package/dist/node/instance/index.mjs +75 -4
  357. package/dist/node/instance/index.mjs.map +1 -1
  358. package/dist/node/instance/isModuleInstance.d.cts +5 -0
  359. package/dist/node/instance/isModuleInstance.d.cts.map +1 -0
  360. package/dist/node/instance/isModuleInstance.js +53 -4
  361. package/dist/node/instance/isModuleInstance.js.map +1 -1
  362. package/dist/node/instance/isModuleInstance.mjs +52 -4
  363. package/dist/node/instance/isModuleInstance.mjs.map +1 -1
  364. package/dist/node/lib/duplicateModules.d.cts +12 -0
  365. package/dist/node/lib/duplicateModules.d.cts.map +1 -0
  366. package/dist/node/lib/duplicateModules.js +3 -1
  367. package/dist/node/lib/duplicateModules.js.map +1 -1
  368. package/dist/node/lib/duplicateModules.mjs +2 -1
  369. package/dist/node/lib/duplicateModules.mjs.map +1 -1
  370. package/dist/node/lib/index.d.cts +3 -0
  371. package/dist/node/lib/index.d.cts.map +1 -0
  372. package/dist/node/lib/index.js +42 -5
  373. package/dist/node/lib/index.js.map +1 -1
  374. package/dist/node/lib/index.mjs +32 -2
  375. package/dist/node/lib/index.mjs.map +1 -1
  376. package/dist/node/lib/serializable.d.cts +3 -0
  377. package/dist/node/lib/serializable.d.cts.map +1 -0
  378. package/dist/node/lib/serializable.js +6 -4
  379. package/dist/node/lib/serializable.js.map +1 -1
  380. package/dist/node/lib/serializable.mjs +5 -4
  381. package/dist/node/lib/serializable.mjs.map +1 -1
  382. package/dist/node/module/IsModuleFactory.d.cts +7 -0
  383. package/dist/node/module/IsModuleFactory.d.cts.map +1 -0
  384. package/dist/node/module/IsModuleFactory.js +28 -7
  385. package/dist/node/module/IsModuleFactory.js.map +1 -1
  386. package/dist/node/module/IsModuleFactory.mjs +24 -6
  387. package/dist/node/module/IsModuleFactory.mjs.map +1 -1
  388. package/dist/node/module/Module.d.cts +6 -0
  389. package/dist/node/module/Module.d.cts.map +1 -0
  390. package/dist/node/module/Module.js +2 -0
  391. package/dist/node/module/Module.js.map +1 -1
  392. package/dist/node/module/ModuleFields.d.cts +18 -0
  393. package/dist/node/module/ModuleFields.d.cts.map +1 -0
  394. package/dist/node/module/ModuleFields.js +2 -0
  395. package/dist/node/module/ModuleFields.js.map +1 -1
  396. package/dist/node/module/ModuleQueryFunctions.d.cts +12 -0
  397. package/dist/node/module/ModuleQueryFunctions.d.cts.map +1 -0
  398. package/dist/node/module/ModuleQueryFunctions.js +2 -0
  399. package/dist/node/module/ModuleQueryFunctions.js.map +1 -1
  400. package/dist/node/module/asModule.d.cts +5 -0
  401. package/dist/node/module/asModule.d.cts.map +1 -0
  402. package/dist/node/module/asModule.js +51 -2
  403. package/dist/node/module/asModule.js.map +1 -1
  404. package/dist/node/module/asModule.mjs +50 -2
  405. package/dist/node/module/asModule.mjs.map +1 -1
  406. package/dist/node/module/asModuleObject.d.cts +5 -0
  407. package/dist/node/module/asModuleObject.d.cts.map +1 -0
  408. package/dist/node/module/asModuleObject.js +18 -2
  409. package/dist/node/module/asModuleObject.js.map +1 -1
  410. package/dist/node/module/asModuleObject.mjs +17 -2
  411. package/dist/node/module/asModuleObject.mjs.map +1 -1
  412. package/dist/node/module/index.d.cts +9 -0
  413. package/dist/node/module/index.d.cts.map +1 -0
  414. package/dist/node/module/index.js +74 -17
  415. package/dist/node/module/index.js.map +1 -1
  416. package/dist/node/module/index.mjs +60 -8
  417. package/dist/node/module/index.mjs.map +1 -1
  418. package/dist/node/module/isModule.d.cts +5 -0
  419. package/dist/node/module/isModule.d.cts.map +1 -0
  420. package/dist/node/module/isModule.js +42 -7
  421. package/dist/node/module/isModule.js.map +1 -1
  422. package/dist/node/module/isModule.mjs +38 -6
  423. package/dist/node/module/isModule.mjs.map +1 -1
  424. package/dist/node/module/isModuleObject.d.cts +5 -0
  425. package/dist/node/module/isModuleObject.d.cts.map +1 -0
  426. package/dist/node/module/isModuleObject.js +5 -3
  427. package/dist/node/module/isModuleObject.js.map +1 -1
  428. package/dist/node/module/isModuleObject.mjs +4 -3
  429. package/dist/node/module/isModuleObject.mjs.map +1 -1
  430. package/dist/node/withModule.d.cts +7 -0
  431. package/dist/node/withModule.d.cts.map +1 -0
  432. package/dist/node/withModule.js +66 -5
  433. package/dist/node/withModule.js.map +1 -1
  434. package/dist/node/withModule.mjs +63 -5
  435. package/dist/node/withModule.mjs.map +1 -1
  436. package/package.json +18 -18
@@ -16,14 +16,76 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/instance/asModuleInstance.ts
19
21
  var asModuleInstance_exports = {};
20
22
  __export(asModuleInstance_exports, {
21
23
  asModuleInstance: () => asModuleInstance
22
24
  });
23
25
  module.exports = __toCommonJS(asModuleInstance_exports);
26
+ var import_object4 = require("@xyo-network/object");
27
+
28
+ // src/instance/isModuleInstance.ts
29
+ var import_object3 = require("@xyo-network/object");
30
+
31
+ // src/Queries/Discover.ts
32
+ var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
33
+
34
+ // src/module/asModuleObject.ts
35
+ var import_object2 = require("@xyo-network/object");
36
+
37
+ // src/module/isModuleObject.ts
24
38
  var import_object = require("@xyo-network/object");
25
- var import_isModuleInstance = require("./isModuleInstance");
26
- const asModuleInstance = import_object.AsObjectFactory.create(import_isModuleInstance.isModuleInstance);
39
+ var requiredModuleFunctions = {
40
+ address: "string",
41
+ config: "object",
42
+ params: "object",
43
+ queries: "array",
44
+ query: "function",
45
+ queryable: "function"
46
+ };
47
+ var factory = new import_object.IsObjectFactory();
48
+ var isModuleObject = factory.create(requiredModuleFunctions);
49
+
50
+ // src/module/asModuleObject.ts
51
+ var asModuleObject = import_object2.AsObjectFactory.create(isModuleObject);
52
+
53
+ // src/module/IsModuleFactory.ts
54
+ var IsModuleFactory = class {
55
+ create(expectedQueries, additionalChecks) {
56
+ return (obj, config) => {
57
+ const module2 = asModuleObject(obj);
58
+ const result = isModuleObject(module2, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
59
+ ((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
60
+ return result;
61
+ };
62
+ }
63
+ };
64
+
65
+ // src/module/isModule.ts
66
+ var requiredModuleQueries = [
67
+ /* We need to update this once live module conform */
68
+ //ModuleDescribeQuerySchema,
69
+ //ModuleAddressQuerySchema,
70
+ ModuleDiscoverQuerySchema
71
+ //ModuleManifestQuerySchema,
72
+ //ModuleSubscribeQuerySchema,
73
+ ];
74
+ var factory2 = new IsModuleFactory();
75
+ var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
76
+
77
+ // src/instance/isModuleInstance.ts
78
+ var requiredModuleInstanceFunctions = {
79
+ describe: "function",
80
+ discover: "function",
81
+ manifest: "function",
82
+ moduleAddress: "function"
83
+ };
84
+ var factory3 = new import_object3.IsObjectFactory();
85
+ var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
86
+
87
+ // src/instance/asModuleInstance.ts
88
+ var asModuleInstance = import_object4.AsObjectFactory.create(isModuleInstance);
27
89
  // Annotate the CommonJS export names for ESM import in node:
28
90
  0 && (module.exports = {
29
91
  asModuleInstance
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance/asModuleInstance.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgC;AAEhC,8BAAiC;AAE1B,MAAM,mBAAmB,8BAAgB,OAAO,wCAAgB;","names":[]}
1
+ {"version":3,"sources":["../../../src/instance/asModuleInstance.ts","../../../src/instance/isModuleInstance.ts","../../../src/Queries/Discover.ts","../../../src/module/asModuleObject.ts","../../../src/module/isModuleObject.ts","../../../src/module/IsModuleFactory.ts","../../../src/module/isModule.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n","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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,iBAAgC;;;ACAhC,IAAAC,iBAAkE;;;ACG3D,IAAM,4BAAuD;;;ACHpE,IAAAC,iBAAgC;;;ACAhC,oBAAkE;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,8BAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,+BAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAMC,UAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAeA,SAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;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,IAAI,+BAAgC;AAE7C,IAAM,mBAAoDA,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;;;ADXpH,IAAM,mBAAmB,+BAAgB,OAAO,gBAAgB;","names":["import_object","import_object","import_object","module","factory","factory"]}
@@ -1,6 +1,67 @@
1
+ // src/instance/asModuleInstance.ts
2
+ import { AsObjectFactory as AsObjectFactory2 } from "@xyo-network/object";
3
+
4
+ // src/instance/isModuleInstance.ts
5
+ import { IsObjectFactory as IsObjectFactory2 } from "@xyo-network/object";
6
+
7
+ // src/Queries/Discover.ts
8
+ var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
9
+
10
+ // src/module/asModuleObject.ts
1
11
  import { AsObjectFactory } from "@xyo-network/object";
2
- import { isModuleInstance } from "./isModuleInstance";
3
- const asModuleInstance = AsObjectFactory.create(isModuleInstance);
12
+
13
+ // src/module/isModuleObject.ts
14
+ import { IsObjectFactory } from "@xyo-network/object";
15
+ var requiredModuleFunctions = {
16
+ address: "string",
17
+ config: "object",
18
+ params: "object",
19
+ queries: "array",
20
+ query: "function",
21
+ queryable: "function"
22
+ };
23
+ var factory = new IsObjectFactory();
24
+ var isModuleObject = factory.create(requiredModuleFunctions);
25
+
26
+ // src/module/asModuleObject.ts
27
+ var asModuleObject = AsObjectFactory.create(isModuleObject);
28
+
29
+ // src/module/IsModuleFactory.ts
30
+ var IsModuleFactory = class {
31
+ create(expectedQueries, additionalChecks) {
32
+ return (obj, config) => {
33
+ const module = asModuleObject(obj);
34
+ const result = isModuleObject(module, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
35
+ ((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
36
+ return result;
37
+ };
38
+ }
39
+ };
40
+
41
+ // src/module/isModule.ts
42
+ var requiredModuleQueries = [
43
+ /* We need to update this once live module conform */
44
+ //ModuleDescribeQuerySchema,
45
+ //ModuleAddressQuerySchema,
46
+ ModuleDiscoverQuerySchema
47
+ //ModuleManifestQuerySchema,
48
+ //ModuleSubscribeQuerySchema,
49
+ ];
50
+ var factory2 = new IsModuleFactory();
51
+ var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
52
+
53
+ // src/instance/isModuleInstance.ts
54
+ var requiredModuleInstanceFunctions = {
55
+ describe: "function",
56
+ discover: "function",
57
+ manifest: "function",
58
+ moduleAddress: "function"
59
+ };
60
+ var factory3 = new IsObjectFactory2();
61
+ var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
62
+
63
+ // src/instance/asModuleInstance.ts
64
+ var asModuleInstance = AsObjectFactory2.create(isModuleInstance);
4
65
  export {
5
66
  asModuleInstance
6
67
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance/asModuleInstance.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n"],"mappings":"AAAA,SAAS,uBAAuB;AAEhC,SAAS,wBAAwB;AAE1B,MAAM,mBAAmB,gBAAgB,OAAO,gBAAgB;","names":[]}
1
+ {"version":3,"sources":["../../../src/instance/asModuleInstance.ts","../../../src/instance/isModuleInstance.ts","../../../src/Queries/Discover.ts","../../../src/module/asModuleObject.ts","../../../src/module/isModuleObject.ts","../../../src/module/IsModuleFactory.ts","../../../src/module/isModule.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n","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"],"mappings":";AAAA,SAAS,mBAAAA,wBAAuB;;;ACAhC,SAAS,mBAAAC,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,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;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;;;ADXpH,IAAM,mBAAmBE,iBAAgB,OAAO,gBAAgB;","names":["AsObjectFactory","IsObjectFactory","factory","factory","IsObjectFactory","AsObjectFactory"]}
@@ -0,0 +1,5 @@
1
+ export * from './asModuleInstance';
2
+ export * from './isModuleInstance';
3
+ export * from './ModuleInstance';
4
+ export * from './ModuleRepository';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/instance/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA"}
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
6
10
  var __copyProps = (to, from, except, desc) => {
7
11
  if (from && typeof from === "object" || typeof from === "function") {
8
12
  for (let key of __getOwnPropNames(from))
@@ -11,19 +15,92 @@ var __copyProps = (to, from, except, desc) => {
11
15
  }
12
16
  return to;
13
17
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/instance/index.ts
16
21
  var instance_exports = {};
22
+ __export(instance_exports, {
23
+ IsInstanceFactory: () => IsInstanceFactory,
24
+ asModuleInstance: () => asModuleInstance,
25
+ isModuleInstance: () => isModuleInstance,
26
+ requiredModuleInstanceFunctions: () => requiredModuleInstanceFunctions
27
+ });
17
28
  module.exports = __toCommonJS(instance_exports);
18
- __reExport(instance_exports, require("./asModuleInstance"), module.exports);
19
- __reExport(instance_exports, require("./isModuleInstance"), module.exports);
20
- __reExport(instance_exports, require("./ModuleInstance"), module.exports);
21
- __reExport(instance_exports, require("./ModuleRepository"), module.exports);
29
+
30
+ // src/instance/asModuleInstance.ts
31
+ var import_object4 = require("@xyo-network/object");
32
+
33
+ // src/instance/isModuleInstance.ts
34
+ var import_object3 = require("@xyo-network/object");
35
+
36
+ // src/Queries/Discover.ts
37
+ var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
38
+
39
+ // src/module/asModuleObject.ts
40
+ var import_object2 = require("@xyo-network/object");
41
+
42
+ // src/module/isModuleObject.ts
43
+ var import_object = require("@xyo-network/object");
44
+ var requiredModuleFunctions = {
45
+ address: "string",
46
+ config: "object",
47
+ params: "object",
48
+ queries: "array",
49
+ query: "function",
50
+ queryable: "function"
51
+ };
52
+ var factory = new import_object.IsObjectFactory();
53
+ var isModuleObject = factory.create(requiredModuleFunctions);
54
+
55
+ // src/module/asModuleObject.ts
56
+ var asModuleObject = import_object2.AsObjectFactory.create(isModuleObject);
57
+
58
+ // src/module/IsModuleFactory.ts
59
+ var IsModuleFactory = class {
60
+ create(expectedQueries, additionalChecks) {
61
+ return (obj, config) => {
62
+ const module2 = asModuleObject(obj);
63
+ const result = isModuleObject(module2, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
64
+ ((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
65
+ return result;
66
+ };
67
+ }
68
+ };
69
+
70
+ // src/module/isModule.ts
71
+ var requiredModuleQueries = [
72
+ /* We need to update this once live module conform */
73
+ //ModuleDescribeQuerySchema,
74
+ //ModuleAddressQuerySchema,
75
+ ModuleDiscoverQuerySchema
76
+ //ModuleManifestQuerySchema,
77
+ //ModuleSubscribeQuerySchema,
78
+ ];
79
+ var factory2 = new IsModuleFactory();
80
+ var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
81
+
82
+ // src/instance/isModuleInstance.ts
83
+ var requiredModuleInstanceFunctions = {
84
+ describe: "function",
85
+ discover: "function",
86
+ manifest: "function",
87
+ moduleAddress: "function"
88
+ };
89
+ var factory3 = new import_object3.IsObjectFactory();
90
+ var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
91
+
92
+ // src/instance/asModuleInstance.ts
93
+ var asModuleInstance = import_object4.AsObjectFactory.create(isModuleInstance);
94
+
95
+ // src/instance/ModuleInstance.ts
96
+ var import_object5 = require("@xyo-network/object");
97
+ var IsInstanceFactory = class extends import_object5.IsObjectFactory {
98
+ };
22
99
  // Annotate the CommonJS export names for ESM import in node:
23
100
  0 && (module.exports = {
24
- ...require("./asModuleInstance"),
25
- ...require("./isModuleInstance"),
26
- ...require("./ModuleInstance"),
27
- ...require("./ModuleRepository")
101
+ IsInstanceFactory,
102
+ asModuleInstance,
103
+ isModuleInstance,
104
+ requiredModuleInstanceFunctions
28
105
  });
29
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance/index.ts"],"sourcesContent":["export * from './asModuleInstance'\nexport * from './isModuleInstance'\nexport * from './ModuleInstance'\nexport * from './ModuleRepository'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,6BAAc,+BAAd;AACA,6BAAc,+BADd;AAEA,6BAAc,6BAFd;AAGA,6BAAc,+BAHd;","names":[]}
1
+ {"version":3,"sources":["../../../src/instance/index.ts","../../../src/instance/asModuleInstance.ts","../../../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/instance/ModuleInstance.ts"],"sourcesContent":["export * from './asModuleInstance'\nexport * from './isModuleInstance'\nexport * from './ModuleInstance'\nexport * from './ModuleRepository'\n","import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n","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 { IsObjectFactory, ObjectTypeCheck } from '@xyo-network/object'\nimport { Promisable } from '@xyo-network/promise'\n\nimport { AnyConfigSchema, ModuleConfig } from '../Config'\nimport { ModuleEventData } from '../EventsModels'\nimport { Module, ModuleQueryFunctions } from '../module'\nimport { ModuleParams } from '../ModuleParams'\n\nexport interface ResolveFunctions {\n resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>\n resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promisable<T | undefined>\n resolve<T extends ModuleInstance = ModuleInstance>(\n nameOrAddressOrFilter?: ModuleFilter<T> | string,\n options?: ModuleFilterOptions<T>,\n ): Promisable<T | T[] | undefined>\n}\n\nexport interface ModuleResolver extends ResolveFunctions {\n addResolver: (resolver: ModuleResolver) => this\n isModuleResolver: boolean\n removeResolver: (resolver: ModuleResolver) => this\n}\n\nexport type ModuleInstance<\n TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,\n TEventData extends ModuleEventData = ModuleEventData,\n> = Module<TParams, TEventData> &\n ResolveFunctions &\n ModuleQueryFunctions & {\n /* 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*/\n readonly downResolver: Omit<ModuleResolver, 'resolve'>\n\n /* The resolver is a 'up' resolver. It can resolve the parent or any children of the parent*/\n /* This is set by a NodeModule when attaching to the module */\n readonly upResolver: Omit<ModuleResolver, 'resolve'>\n }\n\nexport type InstanceTypeCheck<T extends ModuleInstance = ModuleInstance> = ObjectTypeCheck<T>\n\nexport class IsInstanceFactory<T extends ModuleInstance = ModuleInstance> extends IsObjectFactory<T> {}\n\nexport interface ModuleFilterOptions<T extends ModuleInstance = ModuleInstance> {\n direction?: 'up' | 'down' | 'all'\n identity?: InstanceTypeCheck<T>\n maxDepth?: number\n visibility?: 'public' | 'private' | 'all'\n}\n\nexport interface AddressModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n address: string[]\n}\n\nexport interface NameModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n name: string[]\n}\n\nexport interface QueryModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n query: string[][]\n}\n\nexport type AnyModuleFilter<T extends ModuleInstance = ModuleInstance> = Partial<AddressModuleFilter<T>> &\n Partial<NameModuleFilter<T>> &\n Partial<QueryModuleFilter<T>>\n\nexport type ModuleFilter<T extends ModuleInstance = ModuleInstance> =\n | ModuleFilterOptions<T>\n | AddressModuleFilter<T>\n | NameModuleFilter<T>\n | QueryModuleFilter<T>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,iBAAgC;;;ACAhC,IAAAC,iBAAkE;;;ACG3D,IAAM,4BAAuD;;;ACHpE,IAAAC,iBAAgC;;;ACAhC,oBAAkE;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,8BAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,+BAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAMC,UAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAeA,SAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;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,IAAI,+BAAgC;AAE7C,IAAM,mBAAoDA,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;;;ADXpH,IAAM,mBAAmB,+BAAgB,OAAO,gBAAgB;;;AOJvE,IAAAC,iBAAiD;AAuC1C,IAAM,oBAAN,cAA2E,+BAAmB;AAAC;","names":["import_object","import_object","import_object","module","factory","factory","import_object"]}
@@ -1,5 +1,76 @@
1
- export * from "./asModuleInstance";
2
- export * from "./isModuleInstance";
3
- export * from "./ModuleInstance";
4
- export * from "./ModuleRepository";
1
+ // src/instance/asModuleInstance.ts
2
+ import { AsObjectFactory as AsObjectFactory2 } from "@xyo-network/object";
3
+
4
+ // src/instance/isModuleInstance.ts
5
+ import { IsObjectFactory as IsObjectFactory2 } from "@xyo-network/object";
6
+
7
+ // src/Queries/Discover.ts
8
+ var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
9
+
10
+ // src/module/asModuleObject.ts
11
+ import { AsObjectFactory } from "@xyo-network/object";
12
+
13
+ // src/module/isModuleObject.ts
14
+ import { IsObjectFactory } from "@xyo-network/object";
15
+ var requiredModuleFunctions = {
16
+ address: "string",
17
+ config: "object",
18
+ params: "object",
19
+ queries: "array",
20
+ query: "function",
21
+ queryable: "function"
22
+ };
23
+ var factory = new IsObjectFactory();
24
+ var isModuleObject = factory.create(requiredModuleFunctions);
25
+
26
+ // src/module/asModuleObject.ts
27
+ var asModuleObject = AsObjectFactory.create(isModuleObject);
28
+
29
+ // src/module/IsModuleFactory.ts
30
+ var IsModuleFactory = class {
31
+ create(expectedQueries, additionalChecks) {
32
+ return (obj, config) => {
33
+ const module = asModuleObject(obj);
34
+ const result = isModuleObject(module, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
35
+ ((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
36
+ return result;
37
+ };
38
+ }
39
+ };
40
+
41
+ // src/module/isModule.ts
42
+ var requiredModuleQueries = [
43
+ /* We need to update this once live module conform */
44
+ //ModuleDescribeQuerySchema,
45
+ //ModuleAddressQuerySchema,
46
+ ModuleDiscoverQuerySchema
47
+ //ModuleManifestQuerySchema,
48
+ //ModuleSubscribeQuerySchema,
49
+ ];
50
+ var factory2 = new IsModuleFactory();
51
+ var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
52
+
53
+ // src/instance/isModuleInstance.ts
54
+ var requiredModuleInstanceFunctions = {
55
+ describe: "function",
56
+ discover: "function",
57
+ manifest: "function",
58
+ moduleAddress: "function"
59
+ };
60
+ var factory3 = new IsObjectFactory2();
61
+ var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
62
+
63
+ // src/instance/asModuleInstance.ts
64
+ var asModuleInstance = AsObjectFactory2.create(isModuleInstance);
65
+
66
+ // src/instance/ModuleInstance.ts
67
+ import { IsObjectFactory as IsObjectFactory3 } from "@xyo-network/object";
68
+ var IsInstanceFactory = class extends IsObjectFactory3 {
69
+ };
70
+ export {
71
+ IsInstanceFactory,
72
+ asModuleInstance,
73
+ isModuleInstance,
74
+ requiredModuleInstanceFunctions
75
+ };
5
76
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance/index.ts"],"sourcesContent":["export * from './asModuleInstance'\nexport * from './isModuleInstance'\nexport * from './ModuleInstance'\nexport * from './ModuleRepository'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/instance/asModuleInstance.ts","../../../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/instance/ModuleInstance.ts"],"sourcesContent":["import { AsObjectFactory } from '@xyo-network/object'\n\nimport { isModuleInstance } from './isModuleInstance'\n\nexport const asModuleInstance = AsObjectFactory.create(isModuleInstance)\n","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 { IsObjectFactory, ObjectTypeCheck } from '@xyo-network/object'\nimport { Promisable } from '@xyo-network/promise'\n\nimport { AnyConfigSchema, ModuleConfig } from '../Config'\nimport { ModuleEventData } from '../EventsModels'\nimport { Module, ModuleQueryFunctions } from '../module'\nimport { ModuleParams } from '../ModuleParams'\n\nexport interface ResolveFunctions {\n resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>\n resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promisable<T | undefined>\n resolve<T extends ModuleInstance = ModuleInstance>(\n nameOrAddressOrFilter?: ModuleFilter<T> | string,\n options?: ModuleFilterOptions<T>,\n ): Promisable<T | T[] | undefined>\n}\n\nexport interface ModuleResolver extends ResolveFunctions {\n addResolver: (resolver: ModuleResolver) => this\n isModuleResolver: boolean\n removeResolver: (resolver: ModuleResolver) => this\n}\n\nexport type ModuleInstance<\n TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,\n TEventData extends ModuleEventData = ModuleEventData,\n> = Module<TParams, TEventData> &\n ResolveFunctions &\n ModuleQueryFunctions & {\n /* 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*/\n readonly downResolver: Omit<ModuleResolver, 'resolve'>\n\n /* The resolver is a 'up' resolver. It can resolve the parent or any children of the parent*/\n /* This is set by a NodeModule when attaching to the module */\n readonly upResolver: Omit<ModuleResolver, 'resolve'>\n }\n\nexport type InstanceTypeCheck<T extends ModuleInstance = ModuleInstance> = ObjectTypeCheck<T>\n\nexport class IsInstanceFactory<T extends ModuleInstance = ModuleInstance> extends IsObjectFactory<T> {}\n\nexport interface ModuleFilterOptions<T extends ModuleInstance = ModuleInstance> {\n direction?: 'up' | 'down' | 'all'\n identity?: InstanceTypeCheck<T>\n maxDepth?: number\n visibility?: 'public' | 'private' | 'all'\n}\n\nexport interface AddressModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n address: string[]\n}\n\nexport interface NameModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n name: string[]\n}\n\nexport interface QueryModuleFilter<T extends ModuleInstance = ModuleInstance> extends ModuleFilterOptions<T> {\n query: string[][]\n}\n\nexport type AnyModuleFilter<T extends ModuleInstance = ModuleInstance> = Partial<AddressModuleFilter<T>> &\n Partial<NameModuleFilter<T>> &\n Partial<QueryModuleFilter<T>>\n\nexport type ModuleFilter<T extends ModuleInstance = ModuleInstance> =\n | ModuleFilterOptions<T>\n | AddressModuleFilter<T>\n | NameModuleFilter<T>\n | QueryModuleFilter<T>\n"],"mappings":";AAAA,SAAS,mBAAAA,wBAAuB;;;ACAhC,SAAS,mBAAAC,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,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;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;;;ADXpH,IAAM,mBAAmBE,iBAAgB,OAAO,gBAAgB;;;AOJvE,SAAS,mBAAAC,wBAAwC;AAuC1C,IAAM,oBAAN,cAA2EA,iBAAmB;AAAC;","names":["AsObjectFactory","IsObjectFactory","factory","factory","IsObjectFactory","AsObjectFactory","IsObjectFactory"]}
@@ -0,0 +1,5 @@
1
+ import { ObjectTypeCheck, ObjectTypeShape } from '@xyo-network/object';
2
+ import { ModuleInstance } from './ModuleInstance';
3
+ export declare const requiredModuleInstanceFunctions: ObjectTypeShape;
4
+ export declare const isModuleInstance: ObjectTypeCheck<ModuleInstance>;
5
+ //# sourceMappingURL=isModuleInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isModuleInstance.d.ts","sourceRoot":"","sources":["../../../src/instance/isModuleInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,eAAO,MAAM,+BAA+B,EAAE,eAK7C,CAAA;AAKD,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,cAAc,CAA+D,CAAA"}
@@ -16,22 +16,71 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/instance/isModuleInstance.ts
19
21
  var isModuleInstance_exports = {};
20
22
  __export(isModuleInstance_exports, {
21
23
  isModuleInstance: () => isModuleInstance,
22
24
  requiredModuleInstanceFunctions: () => requiredModuleInstanceFunctions
23
25
  });
24
26
  module.exports = __toCommonJS(isModuleInstance_exports);
27
+ var import_object3 = require("@xyo-network/object");
28
+
29
+ // src/Queries/Discover.ts
30
+ var ModuleDiscoverQuerySchema = "network.xyo.query.module.discover";
31
+
32
+ // src/module/asModuleObject.ts
33
+ var import_object2 = require("@xyo-network/object");
34
+
35
+ // src/module/isModuleObject.ts
25
36
  var import_object = require("@xyo-network/object");
26
- var import_module = require("../module");
27
- const requiredModuleInstanceFunctions = {
37
+ var requiredModuleFunctions = {
38
+ address: "string",
39
+ config: "object",
40
+ params: "object",
41
+ queries: "array",
42
+ query: "function",
43
+ queryable: "function"
44
+ };
45
+ var factory = new import_object.IsObjectFactory();
46
+ var isModuleObject = factory.create(requiredModuleFunctions);
47
+
48
+ // src/module/asModuleObject.ts
49
+ var asModuleObject = import_object2.AsObjectFactory.create(isModuleObject);
50
+
51
+ // src/module/IsModuleFactory.ts
52
+ var IsModuleFactory = class {
53
+ create(expectedQueries, additionalChecks) {
54
+ return (obj, config) => {
55
+ const module2 = asModuleObject(obj);
56
+ const result = isModuleObject(module2, config) && ((expectedQueries == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
57
+ ((additionalChecks == null ? void 0 : additionalChecks.reduce((prev, check) => prev && check(obj, config), true)) ?? true);
58
+ return result;
59
+ };
60
+ }
61
+ };
62
+
63
+ // src/module/isModule.ts
64
+ var requiredModuleQueries = [
65
+ /* We need to update this once live module conform */
66
+ //ModuleDescribeQuerySchema,
67
+ //ModuleAddressQuerySchema,
68
+ ModuleDiscoverQuerySchema
69
+ //ModuleManifestQuerySchema,
70
+ //ModuleSubscribeQuerySchema,
71
+ ];
72
+ var factory2 = new IsModuleFactory();
73
+ var isModule = factory2.create(requiredModuleQueries, [isModuleObject]);
74
+
75
+ // src/instance/isModuleInstance.ts
76
+ var requiredModuleInstanceFunctions = {
28
77
  describe: "function",
29
78
  discover: "function",
30
79
  manifest: "function",
31
80
  moduleAddress: "function"
32
81
  };
33
- const factory = new import_object.IsObjectFactory();
34
- const isModuleInstance = factory.create(requiredModuleInstanceFunctions, [import_module.isModule]);
82
+ var factory3 = new import_object3.IsObjectFactory();
83
+ var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
35
84
  // Annotate the CommonJS export names for ESM import in node:
36
85
  0 && (module.exports = {
37
86
  isModuleInstance,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance/isModuleInstance.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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAkE;AAElE,oBAAyB;AAGlB,MAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,MAAM,UAAU,IAAI,8BAAgC;AAE7C,MAAM,mBAAoD,QAAQ,OAAO,iCAAiC,CAAC,sBAAQ,CAAC;","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"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,iBAAkE;;;ACG3D,IAAM,4BAAuD;;;ACHpE,IAAAC,iBAAgC;;;ACAhC,oBAAkE;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,8BAAwB;AAErC,IAAM,iBAA0C,QAAQ,OAAO,uBAAuB;;;ADXtF,IAAM,iBAAiB,+BAAgB,OAAO,cAAc;;;AEK5D,IAAM,kBAAN,MAAiD;AAAA,EACtD,OAAO,iBAA4B,kBAA0D;AAC3F,WAAO,CAAC,KAAU,WAAqB;AACrC,YAAMC,UAAS,eAAe,GAAG;AACjC,YAAM,SACJ,eAAeA,SAAQ,MAAM,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;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,IAAI,+BAAgC;AAE7C,IAAM,mBAAoDA,SAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;","names":["import_object","import_object","module","factory","factory"]}
@@ -1,13 +1,61 @@
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
1
11
  import { IsObjectFactory } from "@xyo-network/object";
2
- import { isModule } from "../module";
3
- const requiredModuleInstanceFunctions = {
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 == null ? void 0 : expectedQueries.reduce((prev, query) => prev && obj.queries.includes(query), true)) ?? true) && //perform additional checks
32
+ ((additionalChecks == null ? void 0 : 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 = {
4
52
  describe: "function",
5
53
  discover: "function",
6
54
  manifest: "function",
7
55
  moduleAddress: "function"
8
56
  };
9
- const factory = new IsObjectFactory();
10
- const isModuleInstance = factory.create(requiredModuleInstanceFunctions, [isModule]);
57
+ var factory3 = new IsObjectFactory2();
58
+ var isModuleInstance = factory3.create(requiredModuleInstanceFunctions, [isModule]);
11
59
  export {
12
60
  isModuleInstance,
13
61
  requiredModuleInstanceFunctions
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/instance/isModuleInstance.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"],"mappings":"AAAA,SAAS,uBAAyD;AAElE,SAAS,gBAAgB;AAGlB,MAAM,kCAAmD;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,eAAe;AACjB;AAGA,MAAM,UAAU,IAAI,gBAAgC;AAE7C,MAAM,mBAAoD,QAAQ,OAAO,iCAAiC,CAAC,QAAQ,CAAC;","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"],"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"],"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,OAC5B,mDAAiB,OAAO,CAAC,MAAM,UAAU,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,UAAS;AAAA,QAEvF,qDAAkB,OAAO,CAAC,MAAM,UAAU,QAAQ,MAAM,KAAK,MAAM,GAAG,UAAS;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;","names":["IsObjectFactory","factory","factory","IsObjectFactory"]}
@@ -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