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

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 -44
  275. package/package/lib/mainFn/Daemons.js +105 -29
  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,17 +1,47 @@
1
1
  import { InputSpec, LazyBuild } from "./inputSpec";
2
2
  import { List } from "./list";
3
- import { Variants } from "./variants";
3
+ import { UnionRes, UnionResStaticValidatedAs, Variants } from "./variants";
4
4
  import { Pattern, RandomString, ValueSpec, ValueSpecDatetime, ValueSpecText } from "../inputSpecTypes";
5
5
  import { DefaultString } from "../inputSpecTypes";
6
6
  import { Parser } from "ts-matches";
7
7
  import { DeepPartial } from "../../../types";
8
+ export declare const fileInfoParser: Parser<unknown, {
9
+ path: string;
10
+ commitment: {
11
+ hash: string;
12
+ size: number;
13
+ };
14
+ }>;
15
+ export type FileInfo = typeof fileInfoParser._TYPE;
8
16
  type AsRequired<T, Required extends boolean> = Required extends true ? T : T | null;
9
- export declare class Value<Type, Store> {
10
- build: LazyBuild<Store, ValueSpec>;
11
- validator: Parser<unknown, Type>;
12
- protected constructor(build: LazyBuild<Store, ValueSpec>, validator: Parser<unknown, Type>);
17
+ export declare class Value<Type extends StaticValidatedAs, StaticValidatedAs = Type> {
18
+ build: LazyBuild<{
19
+ spec: ValueSpec;
20
+ validator: Parser<unknown, Type>;
21
+ }>;
22
+ readonly validator: Parser<unknown, StaticValidatedAs>;
23
+ protected constructor(build: LazyBuild<{
24
+ spec: ValueSpec;
25
+ validator: Parser<unknown, Type>;
26
+ }>, validator: Parser<unknown, StaticValidatedAs>);
13
27
  _TYPE: Type;
14
28
  _PARTIAL: DeepPartial<Type>;
29
+ /**
30
+ * @description Displays a boolean toggle to enable/disable
31
+ * @example
32
+ * ```
33
+ toggleExample: Value.toggle({
34
+ // required
35
+ name: 'Toggle Example',
36
+ default: true,
37
+
38
+ // optional
39
+ description: null,
40
+ warning: null,
41
+ immutable: false,
42
+ }),
43
+ * ```
44
+ */
15
45
  static toggle(a: {
16
46
  name: string;
17
47
  description?: string | null;
@@ -23,14 +53,38 @@ export declare class Value<Type, Store> {
23
53
  * @default false
24
54
  */
25
55
  immutable?: boolean;
26
- }): Value<boolean, never>;
27
- static dynamicToggle<Store = never>(a: LazyBuild<Store, {
56
+ }): Value<boolean, boolean>;
57
+ static dynamicToggle(a: LazyBuild<{
28
58
  name: string;
29
59
  description?: string | null;
30
60
  warning?: string | null;
31
61
  default: boolean;
32
62
  disabled?: false | string;
33
- }>): Value<boolean, Store>;
63
+ }>): Value<boolean, boolean>;
64
+ /**
65
+ * @description Displays a text input field
66
+ * @example
67
+ * ```
68
+ textExample: Value.text({
69
+ // required
70
+ name: 'Text Example',
71
+ required: false,
72
+ default: null,
73
+
74
+ // optional
75
+ description: null,
76
+ placeholder: null,
77
+ warning: null,
78
+ generate: null,
79
+ inputmode: 'text',
80
+ masked: false,
81
+ minLength: null,
82
+ maxLength: null,
83
+ patterns: [],
84
+ immutable: false,
85
+ }),
86
+ * ```
87
+ */
34
88
  static text<Required extends boolean>(a: {
35
89
  name: string;
36
90
  description?: string | null;
@@ -81,13 +135,13 @@ export declare class Value<Type, Store> {
81
135
  * @description Displays a button that will generate a random string according to the provided charset and len attributes.
82
136
  */
83
137
  generate?: RandomString | null;
84
- }): Value<AsRequired<string, Required>, never>;
85
- static dynamicText<Store = never>(getA: LazyBuild<Store, {
138
+ }): Value<AsRequired<string, Required>, AsRequired<string, Required>>;
139
+ static dynamicText<Required extends boolean>(getA: LazyBuild<{
86
140
  name: string;
87
141
  description?: string | null;
88
142
  warning?: string | null;
89
143
  default: DefaultString | null;
90
- required: boolean;
144
+ required: Required;
91
145
  masked?: boolean;
92
146
  placeholder?: string | null;
93
147
  minLength?: number | null;
@@ -96,7 +150,27 @@ export declare class Value<Type, Store> {
96
150
  inputmode?: ValueSpecText["inputmode"];
97
151
  disabled?: string | false;
98
152
  generate?: null | RandomString;
99
- }>): Value<string | null, Store>;
153
+ }>): Value<AsRequired<string, Required>, string | null>;
154
+ /**
155
+ * @description Displays a large textarea field for long form entry.
156
+ * @example
157
+ * ```
158
+ textareaExample: Value.textarea({
159
+ // required
160
+ name: 'Textarea Example',
161
+ required: false,
162
+ default: null,
163
+
164
+ // optional
165
+ description: null,
166
+ placeholder: null,
167
+ warning: null,
168
+ minLength: null,
169
+ maxLength: null,
170
+ immutable: false,
171
+ }),
172
+ * ```
173
+ */
100
174
  static textarea<Required extends boolean>(a: {
101
175
  name: string;
102
176
  description?: string | null;
@@ -112,18 +186,41 @@ export declare class Value<Type, Store> {
112
186
  * @default false
113
187
  */
114
188
  immutable?: boolean;
115
- }): Value<AsRequired<string, Required>, never>;
116
- static dynamicTextarea<Store = never>(getA: LazyBuild<Store, {
189
+ }): Value<AsRequired<string, Required>, AsRequired<string, Required>>;
190
+ static dynamicTextarea<Required extends boolean>(getA: LazyBuild<{
117
191
  name: string;
118
192
  description?: string | null;
119
193
  warning?: string | null;
120
194
  default: string | null;
121
- required: boolean;
195
+ required: Required;
122
196
  minLength?: number | null;
123
197
  maxLength?: number | null;
124
198
  placeholder?: string | null;
125
199
  disabled?: false | string;
126
- }>): Value<string | null, Store>;
200
+ }>): Value<AsRequired<string, Required>, string | null>;
201
+ /**
202
+ * @description Displays a number input field
203
+ * @example
204
+ * ```
205
+ numberExample: Value.number({
206
+ // required
207
+ name: 'Number Example',
208
+ required: false,
209
+ default: null,
210
+ integer: true,
211
+
212
+ // optional
213
+ description: null,
214
+ placeholder: null,
215
+ warning: null,
216
+ min: null,
217
+ max: null,
218
+ immutable: false,
219
+ step: null,
220
+ units: null,
221
+ }),
222
+ * ```
223
+ */
127
224
  static number<Required extends boolean>(a: {
128
225
  name: string;
129
226
  description?: string | null;
@@ -158,13 +255,13 @@ export declare class Value<Type, Store> {
158
255
  * @default false
159
256
  */
160
257
  immutable?: boolean;
161
- }): Value<AsRequired<number, Required>, never>;
162
- static dynamicNumber<Store = never>(getA: LazyBuild<Store, {
258
+ }): Value<AsRequired<number, Required>, AsRequired<number, Required>>;
259
+ static dynamicNumber<Required extends boolean>(getA: LazyBuild<{
163
260
  name: string;
164
261
  description?: string | null;
165
262
  warning?: string | null;
166
263
  default: number | null;
167
- required: boolean;
264
+ required: Required;
168
265
  min?: number | null;
169
266
  max?: number | null;
170
267
  step?: number | null;
@@ -172,7 +269,24 @@ export declare class Value<Type, Store> {
172
269
  units?: string | null;
173
270
  placeholder?: string | null;
174
271
  disabled?: false | string;
175
- }>): Value<number | null, Store>;
272
+ }>): Value<AsRequired<number, Required>, number | null>;
273
+ /**
274
+ * @description Displays a browser-native color selector.
275
+ * @example
276
+ * ```
277
+ colorExample: Value.color({
278
+ // required
279
+ name: 'Color Example',
280
+ required: false,
281
+ default: null,
282
+
283
+ // optional
284
+ description: null,
285
+ warning: null,
286
+ immutable: false,
287
+ }),
288
+ * ```
289
+ */
176
290
  static color<Required extends boolean>(a: {
177
291
  name: string;
178
292
  description?: string | null;
@@ -191,15 +305,35 @@ export declare class Value<Type, Store> {
191
305
  * @default false
192
306
  */
193
307
  immutable?: boolean;
194
- }): Value<AsRequired<string, Required>, never>;
195
- static dynamicColor<Store = never>(getA: LazyBuild<Store, {
308
+ }): Value<AsRequired<string, Required>, AsRequired<string, Required>>;
309
+ static dynamicColor<Required extends boolean>(getA: LazyBuild<{
196
310
  name: string;
197
311
  description?: string | null;
198
312
  warning?: string | null;
199
313
  default: string | null;
200
- required: boolean;
314
+ required: Required;
201
315
  disabled?: false | string;
202
- }>): Value<string | null, Store>;
316
+ }>): Value<AsRequired<string, Required>, string | null>;
317
+ /**
318
+ * @description Displays a browser-native date/time selector.
319
+ * @example
320
+ * ```
321
+ datetimeExample: Value.datetime({
322
+ // required
323
+ name: 'Datetime Example',
324
+ required: false,
325
+ default: null,
326
+
327
+ // optional
328
+ description: null,
329
+ warning: null,
330
+ immutable: false,
331
+ inputmode: 'datetime-local',
332
+ min: null,
333
+ max: null,
334
+ }),
335
+ * ```
336
+ */
203
337
  static datetime<Required extends boolean>(a: {
204
338
  name: string;
205
339
  description?: string | null;
@@ -225,18 +359,39 @@ export declare class Value<Type, Store> {
225
359
  * @default false
226
360
  */
227
361
  immutable?: boolean;
228
- }): Value<AsRequired<string, Required>, never>;
229
- static dynamicDatetime<Store = never>(getA: LazyBuild<Store, {
362
+ }): Value<AsRequired<string, Required>, AsRequired<string, Required>>;
363
+ static dynamicDatetime<Required extends boolean>(getA: LazyBuild<{
230
364
  name: string;
231
365
  description?: string | null;
232
366
  warning?: string | null;
233
367
  default: string | null;
234
- required: boolean;
368
+ required: Required;
235
369
  inputmode?: ValueSpecDatetime["inputmode"];
236
370
  min?: string | null;
237
371
  max?: string | null;
238
372
  disabled?: false | string;
239
- }>): Value<string | null, Store>;
373
+ }>): Value<AsRequired<string, Required>, string | null>;
374
+ /**
375
+ * @description Displays a select modal with radio buttons, allowing for a single selection.
376
+ * @example
377
+ * ```
378
+ selectExample: Value.select({
379
+ // required
380
+ name: 'Select Example',
381
+ default: 'radio1',
382
+ values: {
383
+ radio1: 'Radio 1',
384
+ radio2: 'Radio 2',
385
+ },
386
+
387
+ // optional
388
+ description: null,
389
+ warning: null,
390
+ immutable: false,
391
+ disabled: false,
392
+ }),
393
+ * ```
394
+ */
240
395
  static select<Values extends Record<string, string>>(a: {
241
396
  name: string;
242
397
  description?: string | null;
@@ -266,15 +421,38 @@ export declare class Value<Type, Store> {
266
421
  * @default false
267
422
  */
268
423
  immutable?: boolean;
269
- }): Value<keyof Values & string, never>;
270
- static dynamicSelect<Store = never>(getA: LazyBuild<Store, {
424
+ }): Value<keyof Values & string, keyof Values & string>;
425
+ static dynamicSelect<Values extends Record<string, string>>(getA: LazyBuild<{
271
426
  name: string;
272
427
  description?: string | null;
273
428
  warning?: string | null;
274
429
  default: string;
275
- values: Record<string, string>;
430
+ values: Values;
276
431
  disabled?: false | string | string[];
277
- }>): Value<string, Store>;
432
+ }>): Value<keyof Values & string, string>;
433
+ /**
434
+ * @description Displays a select modal with checkboxes, allowing for multiple selections.
435
+ * @example
436
+ * ```
437
+ multiselectExample: Value.multiselect({
438
+ // required
439
+ name: 'Multiselect Example',
440
+ values: {
441
+ option1: 'Option 1',
442
+ option2: 'Option 2',
443
+ },
444
+ default: [],
445
+
446
+ // optional
447
+ description: null,
448
+ warning: null,
449
+ immutable: false,
450
+ disabled: false,
451
+ minlength: null,
452
+ maxLength: null,
453
+ }),
454
+ * ```
455
+ */
278
456
  static multiselect<Values extends Record<string, string>>(a: {
279
457
  name: string;
280
458
  description?: string | null;
@@ -303,31 +481,116 @@ export declare class Value<Type, Store> {
303
481
  * @default false
304
482
  */
305
483
  immutable?: boolean;
306
- }): Value<(keyof Values)[], never>;
307
- static dynamicMultiselect<Store = never>(getA: LazyBuild<Store, {
484
+ }): Value<(keyof Values & string)[], (keyof Values & string)[]>;
485
+ static dynamicMultiselect<Values extends Record<string, string>>(getA: LazyBuild<{
308
486
  name: string;
309
487
  description?: string | null;
310
488
  warning?: string | null;
311
489
  default: string[];
312
- values: Record<string, string>;
490
+ values: Values;
313
491
  minLength?: number | null;
314
492
  maxLength?: number | null;
315
493
  disabled?: false | string | string[];
316
- }>): Value<string[], Store>;
317
- static object<Type extends Record<string, any>, Store>(a: {
494
+ }>): Value<(keyof Values & string)[], string[]>;
495
+ /**
496
+ * @description Display a collapsable grouping of additional fields, a "sub form". The second value is the inputSpec spec for the sub form.
497
+ * @example
498
+ * ```
499
+ objectExample: Value.object(
500
+ {
501
+ // required
502
+ name: 'Object Example',
503
+
504
+ // optional
505
+ description: null,
506
+ warning: null,
507
+ },
508
+ InputSpec.of({}),
509
+ ),
510
+ * ```
511
+ */
512
+ static object<Type extends StaticValidatedAs, StaticValidatedAs extends Record<string, any>>(a: {
513
+ name: string;
514
+ description?: string | null;
515
+ }, spec: InputSpec<Type, StaticValidatedAs>): Value<Type, StaticValidatedAs>;
516
+ static file<Required extends boolean>(a: {
517
+ name: string;
518
+ description?: string | null;
519
+ warning?: string | null;
520
+ extensions: string[];
521
+ required: Required;
522
+ }): Value<AsRequired<{
523
+ path: string;
524
+ commitment: {
525
+ hash: string;
526
+ size: number;
527
+ };
528
+ }, Required>, AsRequired<{
529
+ path: string;
530
+ commitment: {
531
+ hash: string;
532
+ size: number;
533
+ };
534
+ }, Required>>;
535
+ static dynamicFile<Required extends boolean>(a: LazyBuild<{
318
536
  name: string;
319
537
  description?: string | null;
320
- }, spec: InputSpec<Type, Store>): Value<Type, Store>;
538
+ warning?: string | null;
539
+ extensions: string[];
540
+ required: Required;
541
+ }>): Value<AsRequired<{
542
+ path: string;
543
+ commitment: {
544
+ hash: string;
545
+ size: number;
546
+ };
547
+ }, Required>, {
548
+ path: string;
549
+ commitment: {
550
+ hash: string;
551
+ size: number;
552
+ };
553
+ } | null>;
554
+ /**
555
+ * @description Displays a dropdown, allowing for a single selection. Depending on the selection, a different object ("sub form") is presented.
556
+ * @example
557
+ * ```
558
+ unionExample: Value.union(
559
+ {
560
+ // required
561
+ name: 'Union Example',
562
+ default: 'option1',
563
+
564
+ // optional
565
+ description: null,
566
+ warning: null,
567
+ disabled: false,
568
+ immutable: false,
569
+ },
570
+ Variants.of({
571
+ option1: {
572
+ name: 'Option 1',
573
+ spec: InputSpec.of({}),
574
+ },
575
+ option2: {
576
+ name: 'Option 2',
577
+ spec: InputSpec.of({}),
578
+ },
579
+ }),
580
+ ),
581
+ * ```
582
+ */
321
583
  static union<VariantValues extends {
322
584
  [K in string]: {
323
585
  name: string;
324
- spec: InputSpec<any, Store> | InputSpec<any, never>;
586
+ spec: InputSpec<any>;
325
587
  };
326
- }, Store>(a: {
588
+ }>(a: {
327
589
  name: string;
328
590
  description?: string | null;
329
591
  /** Presents a warning prompt before permitting the value to change. */
330
592
  warning?: string | null;
593
+ variants: Variants<VariantValues>;
331
594
  /**
332
595
  * @description Provide a default value from the list of variants.
333
596
  * @type { string }
@@ -339,47 +602,114 @@ export declare class Value<Type, Store> {
339
602
  * @default false
340
603
  */
341
604
  immutable?: boolean;
342
- }, aVariants: Variants<VariantValues, Store>): Value<import("./variants").UnionRes<Store, VariantValues, keyof VariantValues & string>, Store>;
343
- static filteredUnion<VariantValues extends {
605
+ }): Value<UnionRes<VariantValues, keyof VariantValues & string>, UnionResStaticValidatedAs<VariantValues, keyof VariantValues & string>>;
606
+ static dynamicUnion<VariantValues extends {
344
607
  [K in string]: {
345
608
  name: string;
346
- spec: InputSpec<any, Store> | InputSpec<any, never>;
609
+ spec: InputSpec<any>;
347
610
  };
348
- }, Store>(getDisabledFn: LazyBuild<Store, string[] | false | string>, a: {
611
+ }>(getA: LazyBuild<{
349
612
  name: string;
350
613
  description?: string | null;
351
614
  warning?: string | null;
615
+ variants: Variants<VariantValues>;
352
616
  default: keyof VariantValues & string;
353
- }, aVariants: Variants<VariantValues, Store> | Variants<VariantValues, never>): Value<import("./variants").UnionRes<Store, VariantValues, keyof VariantValues & string> | import("./variants").UnionRes<never, VariantValues, keyof VariantValues & string>, Store>;
354
- static dynamicUnion<VariantValues extends {
617
+ disabled: string[] | false | string;
618
+ }>): Value<UnionRes<VariantValues>, unknown>;
619
+ static dynamicUnion<VariantValues extends StaticVariantValues, StaticVariantValues extends {
355
620
  [K in string]: {
356
621
  name: string;
357
- spec: InputSpec<any, Store> | InputSpec<any, never>;
622
+ spec: InputSpec<any, any>;
358
623
  };
359
- }, Store>(getA: LazyBuild<Store, {
624
+ }>(getA: LazyBuild<{
360
625
  name: string;
361
626
  description?: string | null;
362
627
  warning?: string | null;
628
+ variants: Variants<VariantValues>;
363
629
  default: keyof VariantValues & string;
364
630
  disabled: string[] | false | string;
365
- }>, aVariants: Variants<VariantValues, Store> | Variants<VariantValues, never>): Value<import("./variants").UnionRes<Store, VariantValues, keyof VariantValues & string> | import("./variants").UnionRes<never, VariantValues, keyof VariantValues & string>, Store>;
366
- static list<Type, Store>(a: List<Type, Store>): Value<Type, Store>;
367
- static hidden<T>(parser?: Parser<unknown, T>): Value<T, never>;
368
- map<U>(fn: (value: Type) => U): Value<U, Store>;
631
+ }>, validator: Parser<unknown, UnionResStaticValidatedAs<StaticVariantValues>>): Value<UnionRes<VariantValues>, UnionResStaticValidatedAs<StaticVariantValues>>;
369
632
  /**
370
- * Use this during the times that the input needs a more specific type.
371
- * Used in types that the value/ variant/ list/ inputSpec is constructed somewhere else.
372
- ```ts
373
- const a = InputSpec.text({
374
- name: "a",
375
- required: false,
376
- })
633
+ * @description Presents an interface to add/remove/edit items in a list.
634
+ * @example
635
+ * In this example, we create a list of text inputs.
636
+ *
637
+ * ```
638
+ listExampleText: Value.list(
639
+ List.text(
640
+ {
641
+ // required
642
+ name: 'Text List',
643
+
644
+ // optional
645
+ description: null,
646
+ warning: null,
647
+ default: [],
648
+ minLength: null,
649
+ maxLength: null,
650
+ },
651
+ {
652
+ // required
653
+ patterns: [],
377
654
 
378
- return InputSpec.of<Store>()({
379
- myValue: a.withStore(),
380
- })
381
- ```
655
+ // optional
656
+ placeholder: null,
657
+ generate: null,
658
+ inputmode: 'url',
659
+ masked: false,
660
+ minLength: null,
661
+ maxLength: null,
662
+ },
663
+ ),
664
+ ),
665
+ * ```
666
+ * @example
667
+ * In this example, we create a list of objects.
668
+ *
669
+ * ```
670
+ listExampleObject: Value.list(
671
+ List.obj(
672
+ {
673
+ // required
674
+ name: 'Object List',
675
+
676
+ // optional
677
+ description: null,
678
+ warning: null,
679
+ default: [],
680
+ minLength: null,
681
+ maxLength: null,
682
+ },
683
+ {
684
+ // required
685
+ spec: InputSpec.of({}),
686
+
687
+ // optional
688
+ displayAs: null,
689
+ uniqueBy: null,
690
+ },
691
+ ),
692
+ ),
693
+ * ```
694
+ */
695
+ static list<Type>(a: List<Type>): Value<Type, Type>;
696
+ /**
697
+ * @description Provides a way to define a hidden field with a static value. Useful for tracking
698
+ * @example
699
+ * ```
700
+ hiddenExample: Value.hidden(),
701
+ * ```
702
+ */
703
+ static hidden<T>(): Value<T, unknown>;
704
+ static hidden<T>(parser: Parser<unknown, T>): Value<T>;
705
+ /**
706
+ * @description Provides a way to define a hidden field with a static value. Useful for tracking
707
+ * @example
708
+ * ```
709
+ hiddenExample: Value.hidden(),
710
+ * ```
382
711
  */
383
- withStore<NewStore extends Store extends never ? any : Store>(): Value<Type, NewStore>;
712
+ static dynamicHidden<T>(getParser: LazyBuild<Parser<unknown, T>>): Value<T, unknown>;
713
+ map<U>(fn: (value: StaticValidatedAs) => U): Value<U>;
384
714
  }
385
715
  export {};