@start9labs/start-sdk 0.4.0-beta.4 → 0.4.0-beta.41

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 (324) hide show
  1. package/base/lib/Effects.d.ts +6 -34
  2. package/base/lib/actions/index.d.ts +13 -14
  3. package/base/lib/actions/index.js +4 -4
  4. package/base/lib/actions/index.js.map +1 -1
  5. package/base/lib/actions/input/builder/inputSpec.d.ts +16 -26
  6. package/base/lib/actions/input/builder/inputSpec.js +9 -24
  7. package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
  8. package/base/lib/actions/input/builder/list.d.ts +13 -24
  9. package/base/lib/actions/input/builder/list.js +19 -30
  10. package/base/lib/actions/input/builder/list.js.map +1 -1
  11. package/base/lib/actions/input/builder/value.d.ts +394 -64
  12. package/base/lib/actions/input/builder/value.js +542 -213
  13. package/base/lib/actions/input/builder/value.js.map +1 -1
  14. package/base/lib/actions/input/builder/variants.d.ts +27 -24
  15. package/base/lib/actions/input/builder/variants.js +25 -24
  16. package/base/lib/actions/input/builder/variants.js.map +1 -1
  17. package/base/lib/actions/input/inputSpecConstants.d.ts +25 -17
  18. package/base/lib/actions/input/inputSpecConstants.js +16 -12
  19. package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
  20. package/base/lib/actions/input/inputSpecTypes.d.ts +0 -3
  21. package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
  22. package/base/lib/actions/setupActions.d.ts +21 -15
  23. package/base/lib/actions/setupActions.js +42 -7
  24. package/base/lib/actions/setupActions.js.map +1 -1
  25. package/base/lib/dependencies/dependencies.d.ts +7 -3
  26. package/base/lib/dependencies/dependencies.js +34 -25
  27. package/base/lib/dependencies/dependencies.js.map +1 -1
  28. package/base/lib/dependencies/setupDependencies.d.ts +2 -4
  29. package/base/lib/dependencies/setupDependencies.js +3 -10
  30. package/base/lib/dependencies/setupDependencies.js.map +1 -1
  31. package/base/lib/exver/index.js +1 -1
  32. package/base/lib/exver/index.js.map +1 -1
  33. package/base/lib/index.d.ts +1 -0
  34. package/base/lib/index.js +2 -1
  35. package/base/lib/index.js.map +1 -1
  36. package/base/lib/inits/index.d.ts +2 -0
  37. package/base/lib/inits/index.js +19 -0
  38. package/base/lib/inits/index.js.map +1 -0
  39. package/base/lib/inits/setupInit.d.ts +9 -0
  40. package/base/lib/inits/setupInit.js +40 -0
  41. package/base/lib/inits/setupInit.js.map +1 -0
  42. package/base/lib/inits/setupUninit.d.ts +25 -0
  43. package/base/lib/inits/setupUninit.js +24 -0
  44. package/base/lib/inits/setupUninit.js.map +1 -0
  45. package/base/lib/interfaces/Host.js +18 -6
  46. package/base/lib/interfaces/Host.js.map +1 -1
  47. package/base/lib/interfaces/Origin.d.ts +2 -2
  48. package/base/lib/interfaces/Origin.js +3 -3
  49. package/base/lib/interfaces/Origin.js.map +1 -1
  50. package/base/lib/interfaces/ServiceInterfaceBuilder.d.ts +2 -2
  51. package/base/lib/interfaces/setupInterfaces.d.ts +2 -4
  52. package/base/lib/interfaces/setupInterfaces.js +8 -17
  53. package/base/lib/interfaces/setupInterfaces.js.map +1 -1
  54. package/base/lib/osBindings/ActionInput.d.ts +2 -0
  55. package/base/lib/osBindings/ActionInput.js +0 -1
  56. package/base/lib/osBindings/ActionInput.js.map +1 -1
  57. package/base/lib/osBindings/AddCategoryParams.d.ts +0 -2
  58. package/base/lib/osBindings/AddPackageToCategoryParams.d.ts +5 -0
  59. package/base/lib/osBindings/AddPackageToCategoryParams.js +3 -0
  60. package/base/lib/osBindings/AddPackageToCategoryParams.js.map +1 -0
  61. package/base/lib/osBindings/AddProxyParams.d.ts +5 -0
  62. package/base/lib/osBindings/AddProxyParams.js +4 -0
  63. package/base/lib/osBindings/AddProxyParams.js.map +1 -0
  64. package/base/lib/osBindings/AddTunnelParams.d.ts +5 -0
  65. package/base/lib/osBindings/AddTunnelParams.js +4 -0
  66. package/base/lib/osBindings/AddTunnelParams.js.map +1 -0
  67. package/base/lib/osBindings/AttachParams.d.ts +1 -0
  68. package/base/lib/osBindings/BindingGatewaySetEnabledParams.d.ts +6 -0
  69. package/base/lib/osBindings/BindingGatewaySetEnabledParams.js +3 -0
  70. package/base/lib/osBindings/BindingGatewaySetEnabledParams.js.map +1 -0
  71. package/base/lib/osBindings/Category.d.ts +0 -2
  72. package/base/lib/osBindings/Category.js +1 -0
  73. package/base/lib/osBindings/Category.js.map +1 -1
  74. package/base/lib/osBindings/CheckDependenciesResult.d.ts +3 -3
  75. package/base/lib/osBindings/ClearTasksParams.d.ts +5 -0
  76. package/base/lib/osBindings/ClearTasksParams.js +4 -0
  77. package/base/lib/osBindings/ClearTasksParams.js.map +1 -0
  78. package/base/lib/osBindings/CreateTaskParams.d.ts +15 -0
  79. package/base/lib/osBindings/CreateTaskParams.js +3 -0
  80. package/base/lib/osBindings/CreateTaskParams.js.map +1 -0
  81. package/base/lib/osBindings/DepInfo.d.ts +2 -3
  82. package/base/lib/osBindings/DnsSettings.d.ts +4 -0
  83. package/base/lib/osBindings/DnsSettings.js +4 -0
  84. package/base/lib/osBindings/DnsSettings.js.map +1 -0
  85. package/base/lib/osBindings/DomainConfig.d.ts +1 -0
  86. package/base/lib/osBindings/DomainSettings.d.ts +4 -0
  87. package/base/lib/osBindings/DomainSettings.js +3 -0
  88. package/base/lib/osBindings/DomainSettings.js.map +1 -0
  89. package/base/lib/osBindings/Domains.d.ts +7 -0
  90. package/base/lib/osBindings/Domains.js +3 -0
  91. package/base/lib/osBindings/Domains.js.map +1 -0
  92. package/base/lib/osBindings/EventId.d.ts +4 -0
  93. package/base/lib/osBindings/EventId.js +3 -0
  94. package/base/lib/osBindings/EventId.js.map +1 -0
  95. package/base/lib/osBindings/FileType.d.ts +1 -0
  96. package/base/lib/osBindings/FileType.js +4 -0
  97. package/base/lib/osBindings/FileType.js.map +1 -0
  98. package/base/lib/osBindings/ForgetGatewayParams.d.ts +4 -0
  99. package/base/lib/osBindings/ForgetGatewayParams.js +3 -0
  100. package/base/lib/osBindings/ForgetGatewayParams.js.map +1 -0
  101. package/base/lib/osBindings/ForgetInterfaceParams.d.ts +2 -1
  102. package/base/lib/osBindings/ForgetInterfaceParams.js +0 -1
  103. package/base/lib/osBindings/ForgetInterfaceParams.js.map +1 -1
  104. package/base/lib/osBindings/GatewayId.d.ts +1 -0
  105. package/base/lib/osBindings/GatewayId.js +4 -0
  106. package/base/lib/osBindings/GatewayId.js.map +1 -0
  107. package/base/lib/osBindings/GatewayInfo.d.ts +6 -0
  108. package/base/lib/osBindings/GatewayInfo.js +3 -0
  109. package/base/lib/osBindings/GatewayInfo.js.map +1 -0
  110. package/base/lib/osBindings/GetOsVersionParams.d.ts +3 -3
  111. package/base/lib/osBindings/GetPackageParams.d.ts +1 -1
  112. package/base/lib/osBindings/Host.d.ts +4 -3
  113. package/base/lib/osBindings/HostnameInfo.d.ts +2 -1
  114. package/base/lib/osBindings/IpHostname.d.ts +1 -2
  115. package/base/lib/osBindings/IpInfo.d.ts +2 -0
  116. package/base/lib/osBindings/LoginParams.d.ts +1 -2
  117. package/base/lib/osBindings/LoginParams.js +1 -0
  118. package/base/lib/osBindings/LoginParams.js.map +1 -1
  119. package/base/lib/osBindings/MainStatus.d.ts +0 -2
  120. package/base/lib/osBindings/Manifest.d.ts +3 -1
  121. package/base/lib/osBindings/Metadata.d.ts +5 -0
  122. package/base/lib/osBindings/Metadata.js +3 -0
  123. package/base/lib/osBindings/Metadata.js.map +1 -0
  124. package/base/lib/osBindings/MetadataSrc.d.ts +7 -0
  125. package/base/lib/osBindings/MetadataSrc.js +3 -0
  126. package/base/lib/osBindings/MetadataSrc.js.map +1 -0
  127. package/base/lib/osBindings/MountTarget.d.ts +2 -0
  128. package/base/lib/osBindings/NetInfo.d.ts +3 -1
  129. package/base/lib/osBindings/NetInfo.js +0 -1
  130. package/base/lib/osBindings/NetInfo.js.map +1 -1
  131. package/base/lib/osBindings/NetworkInfo.d.ts +5 -2
  132. package/base/lib/osBindings/NetworkInterfaceInfo.d.ts +3 -2
  133. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.d.ts +2 -1
  134. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js +0 -1
  135. package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js.map +1 -1
  136. package/base/lib/osBindings/PackageDataEntry.d.ts +5 -5
  137. package/base/lib/osBindings/PackageVersionInfo.d.ts +2 -0
  138. package/base/lib/osBindings/Progress.d.ts +2 -0
  139. package/base/lib/osBindings/Progress.js +0 -1
  140. package/base/lib/osBindings/Progress.js.map +1 -1
  141. package/base/lib/osBindings/ProgressUnits.d.ts +1 -0
  142. package/base/lib/osBindings/ProgressUnits.js +4 -0
  143. package/base/lib/osBindings/ProgressUnits.js.map +1 -0
  144. package/base/lib/osBindings/Proxies.d.ts +4 -0
  145. package/base/lib/osBindings/Proxies.js +3 -0
  146. package/base/lib/osBindings/Proxies.js.map +1 -0
  147. package/base/lib/osBindings/ProxyInfo.d.ts +4 -0
  148. package/base/lib/osBindings/ProxyInfo.js +4 -0
  149. package/base/lib/osBindings/ProxyInfo.js.map +1 -0
  150. package/base/lib/osBindings/PublicDomainConfig.d.ts +6 -0
  151. package/base/lib/osBindings/PublicDomainConfig.js +3 -0
  152. package/base/lib/osBindings/PublicDomainConfig.js.map +1 -0
  153. package/base/lib/osBindings/RemoveAdminParams.d.ts +4 -0
  154. package/base/lib/osBindings/RemoveAdminParams.js +3 -0
  155. package/base/lib/osBindings/RemoveAdminParams.js.map +1 -0
  156. package/base/lib/osBindings/RemoveAssetParams.d.ts +4 -0
  157. package/base/lib/osBindings/RemoveAssetParams.js +4 -0
  158. package/base/lib/osBindings/RemoveAssetParams.js.map +1 -0
  159. package/base/lib/osBindings/RemovePackageFromCategoryParams.d.ts +5 -0
  160. package/base/lib/osBindings/RemovePackageFromCategoryParams.js +3 -0
  161. package/base/lib/osBindings/RemovePackageFromCategoryParams.js.map +1 -0
  162. package/base/lib/osBindings/RemovePackageParams.d.ts +6 -0
  163. package/base/lib/osBindings/RemovePackageParams.js +3 -0
  164. package/base/lib/osBindings/RemovePackageParams.js.map +1 -0
  165. package/base/lib/osBindings/RemoveProxyParams.d.ts +3 -0
  166. package/base/lib/osBindings/RemoveProxyParams.js +4 -0
  167. package/base/lib/osBindings/RemoveProxyParams.js.map +1 -0
  168. package/base/lib/osBindings/RemoveTunnelParams.d.ts +4 -0
  169. package/base/lib/osBindings/RemoveTunnelParams.js +3 -0
  170. package/base/lib/osBindings/RemoveTunnelParams.js.map +1 -0
  171. package/base/lib/osBindings/RenameGatewayParams.d.ts +5 -0
  172. package/base/lib/osBindings/RenameGatewayParams.js +3 -0
  173. package/base/lib/osBindings/RenameGatewayParams.js.map +1 -0
  174. package/base/lib/osBindings/RenameInterfaceParams.d.ts +5 -0
  175. package/base/lib/osBindings/RenameInterfaceParams.js +3 -0
  176. package/base/lib/osBindings/RenameInterfaceParams.js.map +1 -0
  177. package/base/lib/osBindings/ServerInfo.d.ts +2 -1
  178. package/base/lib/osBindings/Sessions.d.ts +2 -5
  179. package/base/lib/osBindings/Sessions.js +0 -1
  180. package/base/lib/osBindings/Sessions.js.map +1 -1
  181. package/base/lib/osBindings/SetupExecuteParams.d.ts +1 -0
  182. package/base/lib/osBindings/Task.d.ts +13 -0
  183. package/base/lib/osBindings/Task.js +3 -0
  184. package/base/lib/osBindings/Task.js.map +1 -0
  185. package/base/lib/osBindings/TaskCondition.d.ts +1 -0
  186. package/base/lib/osBindings/TaskCondition.js +4 -0
  187. package/base/lib/osBindings/TaskCondition.js.map +1 -0
  188. package/base/lib/osBindings/TaskEntry.d.ts +5 -0
  189. package/base/lib/osBindings/TaskEntry.js +3 -0
  190. package/base/lib/osBindings/TaskEntry.js.map +1 -0
  191. package/base/lib/osBindings/TaskInput.d.ts +4 -0
  192. package/base/lib/osBindings/TaskInput.js +4 -0
  193. package/base/lib/osBindings/TaskInput.js.map +1 -0
  194. package/base/lib/osBindings/TaskSeverity.d.ts +1 -0
  195. package/base/lib/osBindings/TaskSeverity.js +4 -0
  196. package/base/lib/osBindings/TaskSeverity.js.map +1 -0
  197. package/base/lib/osBindings/TaskTrigger.d.ts +5 -0
  198. package/base/lib/osBindings/TaskTrigger.js +3 -0
  199. package/base/lib/osBindings/TaskTrigger.js.map +1 -0
  200. package/base/lib/osBindings/UnsetInboundParams.d.ts +2 -1
  201. package/base/lib/osBindings/UnsetInboundParams.js +0 -1
  202. package/base/lib/osBindings/UnsetInboundParams.js.map +1 -1
  203. package/base/lib/osBindings/UnsetPublicParams.d.ts +2 -1
  204. package/base/lib/osBindings/UnsetPublicParams.js +0 -1
  205. package/base/lib/osBindings/UnsetPublicParams.js.map +1 -1
  206. package/base/lib/osBindings/UpdatingState.d.ts +1 -0
  207. package/base/lib/osBindings/index.d.ts +30 -18
  208. package/base/lib/s9pk/index.d.ts +2 -3
  209. package/base/lib/s9pk/index.js +9 -15
  210. package/base/lib/s9pk/index.js.map +1 -1
  211. package/base/lib/types/ManifestTypes.d.ts +4 -0
  212. package/base/lib/types.d.ts +23 -34
  213. package/base/lib/types.js +13 -0
  214. package/base/lib/types.js.map +1 -1
  215. package/base/lib/util/Drop.d.ts +47 -0
  216. package/base/lib/util/Drop.js +130 -0
  217. package/base/lib/util/Drop.js.map +1 -0
  218. package/base/lib/util/GetSystemSmtp.d.ts +11 -2
  219. package/base/lib/util/GetSystemSmtp.js +33 -7
  220. package/base/lib/util/GetSystemSmtp.js.map +1 -1
  221. package/base/lib/util/deepMerge.js +6 -1
  222. package/base/lib/util/deepMerge.js.map +1 -1
  223. package/base/lib/util/getServiceInterface.d.ts +53 -5
  224. package/base/lib/util/getServiceInterface.js +54 -19
  225. package/base/lib/util/getServiceInterface.js.map +1 -1
  226. package/base/lib/util/getServiceInterfaces.d.ts +11 -2
  227. package/base/lib/util/getServiceInterfaces.js +33 -7
  228. package/base/lib/util/getServiceInterfaces.js.map +1 -1
  229. package/base/lib/util/graph.d.ts +1 -0
  230. package/base/lib/util/graph.js +12 -0
  231. package/base/lib/util/graph.js.map +1 -1
  232. package/base/lib/util/index.d.ts +1 -2
  233. package/base/lib/util/index.js +5 -8
  234. package/base/lib/util/index.js.map +1 -1
  235. package/base/lib/util/ip.d.ts +19 -0
  236. package/base/lib/util/ip.js +92 -0
  237. package/base/lib/util/ip.js.map +1 -0
  238. package/package/lib/StartSdk.d.ts +116 -572
  239. package/package/lib/StartSdk.js +111 -435
  240. package/package/lib/StartSdk.js.map +1 -1
  241. package/package/lib/backup/Backups.d.ts +9 -3
  242. package/package/lib/backup/Backups.js +38 -28
  243. package/package/lib/backup/Backups.js.map +1 -1
  244. package/package/lib/backup/setupBackups.d.ts +5 -2
  245. package/package/lib/backup/setupBackups.js +7 -5
  246. package/package/lib/backup/setupBackups.js.map +1 -1
  247. package/package/lib/health/HealthCheck.d.ts +0 -1
  248. package/package/lib/health/HealthCheck.js +1 -7
  249. package/package/lib/health/HealthCheck.js.map +1 -1
  250. package/package/lib/health/checkFns/runHealthScript.js +1 -1
  251. package/package/lib/health/checkFns/runHealthScript.js.map +1 -1
  252. package/package/lib/index.d.ts +0 -3
  253. package/package/lib/index.js +1 -8
  254. package/package/lib/index.js.map +1 -1
  255. package/package/lib/inits/index.d.ts +2 -3
  256. package/package/lib/inits/index.js +16 -3
  257. package/package/lib/inits/index.js.map +1 -1
  258. package/package/lib/inits/setupInit.d.ts +7 -13
  259. package/package/lib/inits/setupInit.js +22 -48
  260. package/package/lib/inits/setupInit.js.map +1 -1
  261. package/package/lib/inits/setupInstall.d.ts +10 -10
  262. package/package/lib/inits/setupInstall.js.map +1 -1
  263. package/package/lib/inits/setupUninit.d.ts +7 -0
  264. package/package/lib/inits/setupUninit.js +14 -0
  265. package/package/lib/inits/setupUninit.js.map +1 -0
  266. package/package/lib/inits/setupUninstall.d.ts +5 -5
  267. package/package/lib/inits/setupUninstall.js.map +1 -1
  268. package/package/lib/mainFn/CommandController.d.ts +6 -22
  269. package/package/lib/mainFn/CommandController.js +68 -41
  270. package/package/lib/mainFn/CommandController.js.map +1 -1
  271. package/package/lib/mainFn/Daemon.d.ts +15 -20
  272. package/package/lib/mainFn/Daemon.js +71 -17
  273. package/package/lib/mainFn/Daemon.js.map +1 -1
  274. package/package/lib/mainFn/Daemons.d.ts +76 -45
  275. package/package/lib/mainFn/Daemons.js +104 -30
  276. package/package/lib/mainFn/Daemons.js.map +1 -1
  277. package/package/lib/mainFn/HealthDaemon.d.ts +6 -5
  278. package/package/lib/mainFn/HealthDaemon.js +79 -38
  279. package/package/lib/mainFn/HealthDaemon.js.map +1 -1
  280. package/package/lib/mainFn/Mounts.d.ts +32 -45
  281. package/package/lib/mainFn/Mounts.js +13 -55
  282. package/package/lib/mainFn/Mounts.js.map +1 -1
  283. package/package/lib/mainFn/Oneshot.d.ts +12 -0
  284. package/package/lib/mainFn/Oneshot.js +23 -0
  285. package/package/lib/mainFn/Oneshot.js.map +1 -0
  286. package/package/lib/mainFn/index.d.ts +1 -1
  287. package/package/lib/manifest/setupManifest.js +3 -0
  288. package/package/lib/manifest/setupManifest.js.map +1 -1
  289. package/package/lib/test/host.test.js +1 -1
  290. package/package/lib/test/host.test.js.map +1 -1
  291. package/package/lib/test/inputSpecBuilder.test.js +153 -158
  292. package/package/lib/test/inputSpecBuilder.test.js.map +1 -1
  293. package/package/lib/test/output.d.ts +8 -37
  294. package/package/lib/test/output.js +41 -40
  295. package/package/lib/test/output.js.map +1 -1
  296. package/package/lib/test/output.sdk.d.ts +154 -949
  297. package/package/lib/test/output.sdk.js +1 -4
  298. package/package/lib/test/output.sdk.js.map +1 -1
  299. package/package/lib/test/output.test.js +12 -8
  300. package/package/lib/test/output.test.js.map +1 -1
  301. package/package/lib/util/Drop.d.ts +4 -2
  302. package/package/lib/util/Drop.js +29 -7
  303. package/package/lib/util/Drop.js.map +1 -1
  304. package/package/lib/util/GetSslCertificate.d.ts +11 -2
  305. package/package/lib/util/GetSslCertificate.js +33 -7
  306. package/package/lib/util/GetSslCertificate.js.map +1 -1
  307. package/package/lib/util/SubContainer.d.ts +131 -37
  308. package/package/lib/util/SubContainer.js +155 -42
  309. package/package/lib/util/SubContainer.js.map +1 -1
  310. package/package/lib/util/fileHelper.d.ts +50 -17
  311. package/package/lib/util/fileHelper.js +166 -52
  312. package/package/lib/util/fileHelper.js.map +1 -1
  313. package/package/lib/util/index.d.ts +1 -2
  314. package/package/lib/util/index.js +2 -4
  315. package/package/lib/util/index.js.map +1 -1
  316. package/package/lib/version/VersionGraph.d.ts +27 -5
  317. package/package/lib/version/VersionGraph.js +110 -24
  318. package/package/lib/version/VersionGraph.js.map +1 -1
  319. package/package/lib/version/VersionInfo.d.ts +8 -3
  320. package/package/lib/version/VersionInfo.js.map +1 -1
  321. package/package/package.json +63 -0
  322. package/package/scripts/oldSpecToBuilder.js +5 -4
  323. package/package/scripts/oldSpecToBuilder.js.map +1 -1
  324. package/package.json +7 -8
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetSystemSmtp = void 0;
4
+ const Drop_1 = require("./Drop");
4
5
  class GetSystemSmtp {
5
6
  constructor(effects) {
6
7
  this.effects = effects;
@@ -20,15 +21,13 @@ class GetSystemSmtp {
20
21
  once() {
21
22
  return this.effects.getSystemSmtp({});
22
23
  }
23
- /**
24
- * Watches the system SMTP credentials. Returns an async iterator that yields whenever the value changes
25
- */
26
- async *watch() {
24
+ async *watchGen(abort) {
27
25
  const resolveCell = { resolve: () => { } };
28
26
  this.effects.onLeaveContext(() => {
29
27
  resolveCell.resolve();
30
28
  });
31
- while (this.effects.isInContext) {
29
+ abort?.addEventListener("abort", () => resolveCell.resolve());
30
+ while (this.effects.isInContext && !abort?.aborted) {
32
31
  let callback = () => { };
33
32
  const waitForNext = new Promise((resolve) => {
34
33
  callback = resolve;
@@ -40,15 +39,28 @@ class GetSystemSmtp {
40
39
  await waitForNext;
41
40
  }
42
41
  }
42
+ /**
43
+ * Watches the system SMTP credentials. Returns an async iterator that yields whenever the value changes
44
+ */
45
+ watch(abort) {
46
+ const ctrl = new AbortController();
47
+ abort?.addEventListener("abort", () => ctrl.abort());
48
+ return Drop_1.DropGenerator.of(this.watchGen(ctrl.signal), () => ctrl.abort());
49
+ }
43
50
  /**
44
51
  * Watches the system SMTP credentials. Takes a custom callback function to run whenever the credentials change
45
52
  */
46
53
  onChange(callback) {
47
54
  ;
48
55
  (async () => {
49
- for await (const value of this.watch()) {
56
+ const ctrl = new AbortController();
57
+ for await (const value of this.watch(ctrl.signal)) {
50
58
  try {
51
- await callback(value);
59
+ const res = await callback(value);
60
+ if (res.cancel) {
61
+ ctrl.abort();
62
+ break;
63
+ }
52
64
  }
53
65
  catch (e) {
54
66
  console.error("callback function threw an error @ GetSystemSmtp.onChange", e);
@@ -58,6 +70,20 @@ class GetSystemSmtp {
58
70
  .catch((e) => callback(null, e))
59
71
  .catch((e) => console.error("callback function threw an error @ GetSystemSmtp.onChange", e));
60
72
  }
73
+ /**
74
+ * Watches the system SMTP credentials. Returns when the predicate is true
75
+ */
76
+ waitFor(pred) {
77
+ const ctrl = new AbortController();
78
+ return Drop_1.DropPromise.of(Promise.resolve().then(async () => {
79
+ for await (const next of this.watchGen(ctrl.signal)) {
80
+ if (pred(next)) {
81
+ return next;
82
+ }
83
+ }
84
+ return null;
85
+ }), () => ctrl.abort());
86
+ }
61
87
  }
62
88
  exports.GetSystemSmtp = GetSystemSmtp;
63
89
  //# sourceMappingURL=GetSystemSmtp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetSystemSmtp.js","sourceRoot":"","sources":["../../../../base/lib/util/GetSystemSmtp.ts"],"names":[],"mappings":";;;AAGA,MAAa,aAAa;IACxB,YAAqB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEzC;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YAChC,QAAQ,EACN,IAAI,CAAC,OAAO,CAAC,UAAU;gBACvB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;SAC/D,CAAC,CAAA;IACJ,CAAC;IACD;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,KAAK;QACV,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;YAC/B,WAAW,CAAC,OAAO,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,QAAQ,GAAe,GAAG,EAAE,GAAE,CAAC,CAAA;YACnC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChD,QAAQ,GAAG,OAAO,CAAA;gBAClB,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;YAC/B,CAAC,CAAC,CAAA;YACF,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;aAC3B,CAAC,CAAA;YACF,MAAM,WAAW,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,QAGyB;QAEzB,CAAC;QAAA,CAAC,KAAK,IAAI,EAAE;YACX,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACvB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CACX,2DAA2D,EAC3D,CAAC,CACF,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC/B,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACX,OAAO,CAAC,KAAK,CACX,2DAA2D,EAC3D,CAAC,CACF,CACF,CAAA;IACL,CAAC;CACF;AAtED,sCAsEC"}
1
+ {"version":3,"file":"GetSystemSmtp.js","sourceRoot":"","sources":["../../../../base/lib/util/GetSystemSmtp.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,12 @@ function partialDiff(prev, next) {
31
31
  if (prev === null || next === null)
32
32
  return { diff: next };
33
33
  const res = { diff: {} };
34
- for (let key in next) {
34
+ const keys = Object.keys(next);
35
+ for (let key in prev) {
36
+ if (!keys.includes(key))
37
+ keys.push(key);
38
+ }
39
+ for (let key of keys) {
35
40
  const diff = partialDiff(prev[key], next[key]);
36
41
  if (diff) {
37
42
  res.diff[key] = diff.diff;
@@ -1 +1 @@
1
- {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../../base/lib/util/deepMerge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../../../base/lib/util/deepMerge.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,52 @@ type FilterKinds = "onion" | "local" | "domain" | "ip" | "ipv4" | "ipv6";
8
8
  export type Filter = {
9
9
  visibility?: "public" | "private";
10
10
  kind?: FilterKinds | FilterKinds[];
11
+ predicate?: (h: HostnameInfo) => boolean;
11
12
  exclude?: Filter;
12
13
  };
14
+ type VisibilityFilter<V extends "public" | "private"> = V extends "public" ? (HostnameInfo & {
15
+ public: true;
16
+ }) | VisibilityFilter<Exclude<V, "public">> : V extends "private" ? (HostnameInfo & {
17
+ public: false;
18
+ }) | VisibilityFilter<Exclude<V, "private">> : never;
19
+ type KindFilter<K extends FilterKinds> = K extends "onion" ? (HostnameInfo & {
20
+ kind: "onion";
21
+ }) | KindFilter<Exclude<K, "onion">> : K extends "local" ? (HostnameInfo & {
22
+ kind: "ip";
23
+ hostname: {
24
+ kind: "local";
25
+ };
26
+ }) | KindFilter<Exclude<K, "local">> : K extends "domain" ? (HostnameInfo & {
27
+ kind: "ip";
28
+ hostname: {
29
+ kind: "domain";
30
+ };
31
+ }) | KindFilter<Exclude<K, "domain">> : K extends "ipv4" ? (HostnameInfo & {
32
+ kind: "ip";
33
+ hostname: {
34
+ kind: "ipv4";
35
+ };
36
+ }) | KindFilter<Exclude<K, "ipv4">> : K extends "ipv6" ? (HostnameInfo & {
37
+ kind: "ip";
38
+ hostname: {
39
+ kind: "ipv6";
40
+ };
41
+ }) | KindFilter<Exclude<K, "ipv6">> : K extends "ip" ? KindFilter<Exclude<K, "ip"> | "ipv4" | "ipv6"> : never;
42
+ type FilterReturnTy<F extends Filter> = F extends {
43
+ visibility: infer V extends "public" | "private";
44
+ } ? VisibilityFilter<V> & FilterReturnTy<Omit<F, "visibility">> : F extends {
45
+ kind: (infer K extends FilterKinds) | (infer K extends FilterKinds)[];
46
+ } ? KindFilter<K> & FilterReturnTy<Omit<F, "kind">> : F extends {
47
+ predicate: (h: HostnameInfo) => h is infer H extends HostnameInfo;
48
+ } ? H & FilterReturnTy<Omit<F, "predicate">> : F extends {
49
+ exclude: infer E extends Filter;
50
+ } ? HostnameInfo extends FilterReturnTy<E> ? HostnameInfo : Exclude<HostnameInfo, FilterReturnTy<E>> : HostnameInfo;
13
51
  type Formats = "hostname-info" | "urlstring" | "url";
14
- type FormatReturnTy<Format extends Formats> = Format extends "hostname-info" ? HostnameInfo : Format extends "url" ? URL : UrlString;
52
+ type FormatReturnTy<F extends Filter, Format extends Formats> = Format extends "hostname-info" ? FilterReturnTy<F> | FormatReturnTy<F, Exclude<Format, "hostname-info">> : Format extends "url" ? URL | FormatReturnTy<F, Exclude<Format, "url">> : Format extends "urlstring" ? UrlString | FormatReturnTy<F, Exclude<Format, "urlstring">> : never;
15
53
  export type Filled = {
16
54
  hostnames: HostnameInfo[];
17
- filter: <Format extends Formats = "urlstring">(filter: Filter, format?: Format) => FormatReturnTy<Format>[];
55
+ toUrl: (h: HostnameInfo) => UrlString[];
56
+ filter: <F extends Filter, Format extends Formats = "urlstring">(filter: F, format?: Format) => FormatReturnTy<F, Format>[];
18
57
  publicHostnames: HostnameInfo[];
19
58
  onionHostnames: HostnameInfo[];
20
59
  localHostnames: HostnameInfo[];
@@ -47,7 +86,7 @@ export type ServiceInterfaceFilled = {
47
86
  /** Indicates if we are a ui/p2p/api for the kind of interface that this is representing */
48
87
  type: ServiceInterfaceType;
49
88
  };
50
- export declare const addressHostToUrl: ({ scheme, sslScheme, username, suffix }: AddressInfo, host: HostnameInfo) => UrlString[];
89
+ export declare const addressHostToUrl: ({ scheme, sslScheme, username, suffix }: AddressInfo, hostname: HostnameInfo) => UrlString[];
51
90
  export declare const filledAddress: (host: Host, addressInfo: AddressInfo) => FilledAddressInfo;
52
91
  export declare class GetServiceInterface {
53
92
  readonly effects: Effects;
@@ -67,14 +106,23 @@ export declare class GetServiceInterface {
67
106
  * Returns the requested service interface. Does nothing if the value changes
68
107
  */
69
108
  once(): Promise<ServiceInterfaceFilled | null>;
109
+ private watchGen;
70
110
  /**
71
111
  * Watches the requested service interface. Returns an async iterator that yields whenever the value changes
72
112
  */
73
- watch(): AsyncGenerator<ServiceInterfaceFilled | null, void, unknown>;
113
+ watch(abort?: AbortSignal): AsyncGenerator<ServiceInterfaceFilled | null, void, unknown>;
74
114
  /**
75
115
  * Watches the requested service interface. Takes a custom callback function to run whenever the value changes
76
116
  */
77
- onChange(callback: (value: ServiceInterfaceFilled | null, error?: Error) => void | Promise<void>): void;
117
+ onChange(callback: (value: ServiceInterfaceFilled | null, error?: Error) => {
118
+ cancel: boolean;
119
+ } | Promise<{
120
+ cancel: boolean;
121
+ }>): void;
122
+ /**
123
+ * Watches the requested service interface. Returns when the predicate is true
124
+ */
125
+ waitFor(pred: (value: ServiceInterfaceFilled | null) => boolean): Promise<ServiceInterfaceFilled | null>;
78
126
  }
79
127
  export declare function getServiceInterface(effects: Effects, opts: {
80
128
  id: string;
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetServiceInterface = exports.filledAddress = exports.addressHostToUrl = exports.getHostname = void 0;
4
4
  exports.getServiceInterface = getServiceInterface;
5
5
  const Host_1 = require("../interfaces/Host");
6
+ const Drop_1 = require("./Drop");
7
+ const ip_1 = require("./ip");
6
8
  const getHostnameRegex = /^(\w+:\/\/)?([^\/\:]+)(:\d{1,3})?(\/)?/;
7
9
  const getHostname = (url) => {
8
10
  const founds = url.match(getHostnameRegex)?.[2];
@@ -16,7 +18,7 @@ exports.getHostname = getHostname;
16
18
  const either = (...args) => (a) => args.some((x) => x(a));
17
19
  const negate = (fn) => (a) => !fn(a);
18
20
  const unique = (values) => Array.from(new Set(values));
19
- const addressHostToUrl = ({ scheme, sslScheme, username, suffix }, host) => {
21
+ const addressHostToUrl = ({ scheme, sslScheme, username, suffix }, hostname) => {
20
22
  const res = [];
21
23
  const fmt = (scheme, host, port) => {
22
24
  const excludePort = scheme &&
@@ -28,10 +30,10 @@ const addressHostToUrl = ({ scheme, sslScheme, username, suffix }, host) => {
28
30
  }
29
31
  else if (host.kind === "ip") {
30
32
  if (host.hostname.kind === "domain") {
31
- hostname = `${host.hostname.subdomain ? `${host.hostname.subdomain}.` : ""}${host.hostname.domain}`;
33
+ hostname = host.hostname.value;
32
34
  }
33
35
  else if (host.hostname.kind === "ipv6") {
34
- hostname = host.hostname.value.startsWith("fe80::")
36
+ hostname = ip_1.IPV6_LINK_LOCAL.contains(host.hostname.value)
35
37
  ? `[${host.hostname.value}%${host.hostname.scopeId}]`
36
38
  : `[${host.hostname.value}]`;
37
39
  }
@@ -41,16 +43,20 @@ const addressHostToUrl = ({ scheme, sslScheme, username, suffix }, host) => {
41
43
  }
42
44
  return `${scheme ? `${scheme}://` : ""}${username ? `${username}@` : ""}${hostname}${excludePort ? "" : `:${port}`}${suffix}`;
43
45
  };
44
- if (host.hostname.sslPort !== null) {
45
- res.push(fmt(sslScheme, host, host.hostname.sslPort));
46
+ if (hostname.hostname.sslPort !== null) {
47
+ res.push(fmt(sslScheme, hostname, hostname.hostname.sslPort));
46
48
  }
47
- if (host.hostname.port !== null) {
48
- res.push(fmt(scheme, host, host.hostname.port));
49
+ if (hostname.hostname.port !== null) {
50
+ res.push(fmt(scheme, hostname, hostname.hostname.port));
49
51
  }
50
52
  return res;
51
53
  };
52
54
  exports.addressHostToUrl = addressHostToUrl;
53
55
  function filterRec(hostnames, filter, invert) {
56
+ if (filter.predicate) {
57
+ const pred = filter.predicate;
58
+ hostnames = hostnames.filter((h) => invert !== pred(h));
59
+ }
54
60
  if (filter.visibility === "public")
55
61
  hostnames = hostnames.filter((h) => invert !== (h.kind === "onion" || h.public));
56
62
  if (filter.visibility === "private")
@@ -78,18 +84,22 @@ function filterRec(hostnames, filter, invert) {
78
84
  }
79
85
  const filledAddress = (host, addressInfo) => {
80
86
  const toUrl = exports.addressHostToUrl.bind(null, addressInfo);
81
- const hostnames = host.hostnameInfo[addressInfo.internalPort];
87
+ const hostnames = host.hostnameInfo[addressInfo.internalPort] ?? [];
82
88
  return {
83
89
  ...addressInfo,
84
90
  hostnames,
91
+ toUrl,
85
92
  filter: (filter, format) => {
86
- const res = filterRec(hostnames, filter, false);
93
+ const filtered = filterRec(hostnames, filter, false);
94
+ let res = filtered;
87
95
  if (format === "hostname-info")
88
96
  return res;
89
- const urls = res.flatMap(toUrl);
97
+ const urls = filtered.flatMap(toUrl);
90
98
  if (format === "url")
91
- return urls.map((u) => new URL(u));
92
- return urls;
99
+ res = urls.map((u) => new URL(u));
100
+ else
101
+ res = urls;
102
+ return res;
93
103
  },
94
104
  get publicHostnames() {
95
105
  return hostnames.filter((h) => h.kind === "onion" || h.public);
@@ -198,16 +208,14 @@ class GetServiceInterface {
198
208
  });
199
209
  return interfaceFilled;
200
210
  }
201
- /**
202
- * Watches the requested service interface. Returns an async iterator that yields whenever the value changes
203
- */
204
- async *watch() {
211
+ async *watchGen(abort) {
205
212
  const { id, packageId } = this.opts;
206
213
  const resolveCell = { resolve: () => { } };
207
214
  this.effects.onLeaveContext(() => {
208
215
  resolveCell.resolve();
209
216
  });
210
- while (this.effects.isInContext) {
217
+ abort?.addEventListener("abort", () => resolveCell.resolve());
218
+ while (this.effects.isInContext && !abort?.aborted) {
211
219
  let callback = () => { };
212
220
  const waitForNext = new Promise((resolve) => {
213
221
  callback = resolve;
@@ -222,15 +230,28 @@ class GetServiceInterface {
222
230
  await waitForNext;
223
231
  }
224
232
  }
233
+ /**
234
+ * Watches the requested service interface. Returns an async iterator that yields whenever the value changes
235
+ */
236
+ watch(abort) {
237
+ const ctrl = new AbortController();
238
+ abort?.addEventListener("abort", () => ctrl.abort());
239
+ return Drop_1.DropGenerator.of(this.watchGen(ctrl.signal), () => ctrl.abort());
240
+ }
225
241
  /**
226
242
  * Watches the requested service interface. Takes a custom callback function to run whenever the value changes
227
243
  */
228
244
  onChange(callback) {
229
245
  ;
230
246
  (async () => {
231
- for await (const value of this.watch()) {
247
+ const ctrl = new AbortController();
248
+ for await (const value of this.watch(ctrl.signal)) {
232
249
  try {
233
- await callback(value);
250
+ const res = await callback(value);
251
+ if (res.cancel) {
252
+ ctrl.abort();
253
+ break;
254
+ }
234
255
  }
235
256
  catch (e) {
236
257
  console.error("callback function threw an error @ GetServiceInterface.onChange", e);
@@ -240,6 +261,20 @@ class GetServiceInterface {
240
261
  .catch((e) => callback(null, e))
241
262
  .catch((e) => console.error("callback function threw an error @ GetServiceInterface.onChange", e));
242
263
  }
264
+ /**
265
+ * Watches the requested service interface. Returns when the predicate is true
266
+ */
267
+ waitFor(pred) {
268
+ const ctrl = new AbortController();
269
+ return Drop_1.DropPromise.of(Promise.resolve().then(async () => {
270
+ for await (const next of this.watchGen(ctrl.signal)) {
271
+ if (pred(next)) {
272
+ return next;
273
+ }
274
+ }
275
+ return null;
276
+ }), () => ctrl.abort());
277
+ }
243
278
  }
244
279
  exports.GetServiceInterface = GetServiceInterface;
245
280
  function getServiceInterface(effects, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"getServiceInterface.js","sourceRoot":"","sources":["../../../../base/lib/util/getServiceInterface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getServiceInterface.js","sourceRoot":"","sources":["../../../../base/lib/util/getServiceInterface.ts"],"names":[],"mappings":"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"}
@@ -16,14 +16,23 @@ export declare class GetServiceInterfaces {
16
16
  * Returns the service interfaces for the package. Does nothing if the value changes
17
17
  */
18
18
  once(): Promise<ServiceInterfaceFilled[]>;
19
+ private watchGen;
19
20
  /**
20
21
  * Watches the service interfaces for the package. Returns an async iterator that yields whenever the value changes
21
22
  */
22
- watch(): AsyncGenerator<ServiceInterfaceFilled[], void, unknown>;
23
+ watch(abort?: AbortSignal): AsyncGenerator<ServiceInterfaceFilled[], void, unknown>;
23
24
  /**
24
25
  * Watches the service interfaces for the package. Takes a custom callback function to run whenever the value changes
25
26
  */
26
- onChange(callback: (value: ServiceInterfaceFilled[] | null, error?: Error) => void | Promise<void>): void;
27
+ onChange(callback: (value: ServiceInterfaceFilled[] | null, error?: Error) => {
28
+ cancel: boolean;
29
+ } | Promise<{
30
+ cancel: boolean;
31
+ }>): void;
32
+ /**
33
+ * Watches the service interfaces for the package. Returns when the predicate is true
34
+ */
35
+ waitFor(pred: (value: ServiceInterfaceFilled[] | null) => boolean): Promise<ServiceInterfaceFilled[] | null>;
27
36
  }
28
37
  export declare function getServiceInterfaces(effects: Effects, opts: {
29
38
  packageId?: string;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetServiceInterfaces = void 0;
4
4
  exports.getServiceInterfaces = getServiceInterfaces;
5
+ const Drop_1 = require("./Drop");
5
6
  const getServiceInterface_1 = require("./getServiceInterface");
6
7
  const makeManyInterfaceFilled = async ({ effects, packageId, callback, }) => {
7
8
  const serviceInterfaceValues = await effects.listServiceInterfaces({
@@ -56,16 +57,14 @@ class GetServiceInterfaces {
56
57
  });
57
58
  return interfaceFilled;
58
59
  }
59
- /**
60
- * Watches the service interfaces for the package. Returns an async iterator that yields whenever the value changes
61
- */
62
- async *watch() {
60
+ async *watchGen(abort) {
63
61
  const { packageId } = this.opts;
64
62
  const resolveCell = { resolve: () => { } };
65
63
  this.effects.onLeaveContext(() => {
66
64
  resolveCell.resolve();
67
65
  });
68
- while (this.effects.isInContext) {
66
+ abort?.addEventListener("abort", () => resolveCell.resolve());
67
+ while (this.effects.isInContext && !abort?.aborted) {
69
68
  let callback = () => { };
70
69
  const waitForNext = new Promise((resolve) => {
71
70
  callback = resolve;
@@ -79,15 +78,28 @@ class GetServiceInterfaces {
79
78
  await waitForNext;
80
79
  }
81
80
  }
81
+ /**
82
+ * Watches the service interfaces for the package. Returns an async iterator that yields whenever the value changes
83
+ */
84
+ watch(abort) {
85
+ const ctrl = new AbortController();
86
+ abort?.addEventListener("abort", () => ctrl.abort());
87
+ return Drop_1.DropGenerator.of(this.watchGen(ctrl.signal), () => ctrl.abort());
88
+ }
82
89
  /**
83
90
  * Watches the service interfaces for the package. Takes a custom callback function to run whenever the value changes
84
91
  */
85
92
  onChange(callback) {
86
93
  ;
87
94
  (async () => {
88
- for await (const value of this.watch()) {
95
+ const ctrl = new AbortController();
96
+ for await (const value of this.watch(ctrl.signal)) {
89
97
  try {
90
- await callback(value);
98
+ const res = await callback(value);
99
+ if (res.cancel) {
100
+ ctrl.abort();
101
+ break;
102
+ }
91
103
  }
92
104
  catch (e) {
93
105
  console.error("callback function threw an error @ GetServiceInterfaces.onChange", e);
@@ -97,6 +109,20 @@ class GetServiceInterfaces {
97
109
  .catch((e) => callback(null, e))
98
110
  .catch((e) => console.error("callback function threw an error @ GetServiceInterfaces.onChange", e));
99
111
  }
112
+ /**
113
+ * Watches the service interfaces for the package. Returns when the predicate is true
114
+ */
115
+ waitFor(pred) {
116
+ const ctrl = new AbortController();
117
+ return Drop_1.DropPromise.of(Promise.resolve().then(async () => {
118
+ for await (const next of this.watchGen(ctrl.signal)) {
119
+ if (pred(next)) {
120
+ return next;
121
+ }
122
+ }
123
+ return null;
124
+ }), () => ctrl.abort());
125
+ }
100
126
  }
101
127
  exports.GetServiceInterfaces = GetServiceInterfaces;
102
128
  function getServiceInterfaces(effects, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"getServiceInterfaces.js","sourceRoot":"","sources":["../../../../base/lib/util/getServiceInterfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getServiceInterfaces.js","sourceRoot":"","sources":["../../../../base/lib/util/getServiceInterfaces.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export type Edge<EMetadata = null, VMetadata = null> = {
10
10
  export declare class Graph<VMetadata = null, EMetadata = null> {
11
11
  private readonly vertices;
12
12
  constructor();
13
+ dump(metadataRepr?: (metadata: VMetadata | EMetadata) => any): string;
13
14
  addVertex(metadata: VMetadata, fromEdges: Array<Omit<Edge<EMetadata, VMetadata>, "to">>, toEdges: Array<Omit<Edge<EMetadata, VMetadata>, "from">>): Vertex<VMetadata, EMetadata>;
14
15
  findVertex(predicate: (vertex: Vertex<VMetadata, EMetadata>) => boolean): Generator<Vertex<VMetadata, EMetadata>, null>;
15
16
  addEdge(metadata: EMetadata, from: Vertex<VMetadata, EMetadata>, to: Vertex<VMetadata, EMetadata>): Edge<EMetadata, VMetadata>;
@@ -5,6 +5,18 @@ class Graph {
5
5
  constructor() {
6
6
  this.vertices = [];
7
7
  }
8
+ dump(metadataRepr = (a) => a) {
9
+ const seen = new WeakSet();
10
+ return JSON.stringify(this.vertices, (k, v) => {
11
+ if (k === "metadata")
12
+ return metadataRepr(v);
13
+ if (k === "from")
14
+ return metadataRepr(v.metadata);
15
+ if (k === "to")
16
+ return metadataRepr(v.metadata);
17
+ return v;
18
+ }, 2);
19
+ }
8
20
  addVertex(metadata, fromEdges, toEdges) {
9
21
  const vertex = {
10
22
  metadata,
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../base/lib/util/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../base/lib/util/graph.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export { addressHostToUrl } from "./getServiceInterface";
2
2
  export { getDefaultString } from "./getDefaultString";
3
+ export * from "./ip";
3
4
  export { GetServiceInterface, getServiceInterface } from "./getServiceInterface";
4
5
  export { getServiceInterfaces } from "./getServiceInterfaces";
5
6
  export { once } from "./once";
@@ -13,7 +14,5 @@ export { splitCommand } from "./splitCommand";
13
14
  export { nullIfEmpty } from "./nullIfEmpty";
14
15
  export { deepMerge, partialDiff } from "./deepMerge";
15
16
  export { deepEqual } from "./deepEqual";
16
- export { hostnameInfoToAddress } from "./Hostname";
17
- export { PathBuilder, extractJsonPath, StorePath } from "./PathBuilder";
18
17
  export * as regexes from "./regexes";
19
18
  export { stringFromStdErrOut } from "./stringFromStdErrOut";