@fnndsc/brasa 0.56.1 → 0.56.3

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 (361) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/berth/berth.d.ts +90 -3
  3. package/dist/builtins/berth/berth.js +129 -76
  4. package/dist/builtins/berth/berth.js.map +1 -1
  5. package/dist/builtins/berth/berthClose.d.ts +25 -6
  6. package/dist/builtins/berth/berthClose.js +8 -64
  7. package/dist/builtins/berth/berthClose.js.map +1 -1
  8. package/dist/builtins/berth/berthCube.d.ts +3 -2
  9. package/dist/builtins/berth/berthCube.js +9 -16
  10. package/dist/builtins/berth/berthCube.js.map +1 -1
  11. package/dist/builtins/berth/berthProcesses.js +33 -3
  12. package/dist/builtins/berth/berthProcesses.js.map +1 -1
  13. package/dist/builtins/debug.d.ts +24 -3
  14. package/dist/builtins/debug.js +66 -13
  15. package/dist/builtins/debug.js.map +1 -1
  16. package/dist/builtins/fs/acl.args.d.ts +5 -38
  17. package/dist/builtins/fs/acl.args.js +6 -72
  18. package/dist/builtins/fs/acl.args.js.map +1 -1
  19. package/dist/builtins/fs/acl.d.ts +100 -10
  20. package/dist/builtins/fs/acl.js +222 -68
  21. package/dist/builtins/fs/acl.js.map +1 -1
  22. package/dist/builtins/fs/cat.args.d.ts +14 -15
  23. package/dist/builtins/fs/cat.args.js +13 -40
  24. package/dist/builtins/fs/cat.args.js.map +1 -1
  25. package/dist/builtins/fs/cat.d.ts +40 -3
  26. package/dist/builtins/fs/cat.js +92 -13
  27. package/dist/builtins/fs/cat.js.map +1 -1
  28. package/dist/builtins/fs/cd.d.ts +24 -6
  29. package/dist/builtins/fs/cd.js +71 -18
  30. package/dist/builtins/fs/cd.js.map +1 -1
  31. package/dist/builtins/fs/configWrite.d.ts +24 -8
  32. package/dist/builtins/fs/configWrite.js +77 -36
  33. package/dist/builtins/fs/configWrite.js.map +1 -1
  34. package/dist/builtins/fs/cp.d.ts +39 -4
  35. package/dist/builtins/fs/cp.js +122 -56
  36. package/dist/builtins/fs/cp.js.map +1 -1
  37. package/dist/builtins/fs/download.d.ts +31 -4
  38. package/dist/builtins/fs/download.js +75 -38
  39. package/dist/builtins/fs/download.js.map +1 -1
  40. package/dist/builtins/fs/du.d.ts +59 -33
  41. package/dist/builtins/fs/du.js +111 -79
  42. package/dist/builtins/fs/du.js.map +1 -1
  43. package/dist/builtins/fs/edit.d.ts +19 -4
  44. package/dist/builtins/fs/edit.js +77 -16
  45. package/dist/builtins/fs/edit.js.map +1 -1
  46. package/dist/builtins/fs/find.d.ts +25 -0
  47. package/dist/builtins/fs/find.js +76 -5
  48. package/dist/builtins/fs/find.js.map +1 -1
  49. package/dist/builtins/fs/ls.d.ts +69 -4
  50. package/dist/builtins/fs/ls.js +84 -45
  51. package/dist/builtins/fs/ls.js.map +1 -1
  52. package/dist/builtins/fs/mkdir.d.ts +28 -18
  53. package/dist/builtins/fs/mkdir.js +95 -66
  54. package/dist/builtins/fs/mkdir.js.map +1 -1
  55. package/dist/builtins/fs/mv.d.ts +34 -4
  56. package/dist/builtins/fs/mv.js +129 -64
  57. package/dist/builtins/fs/mv.js.map +1 -1
  58. package/dist/builtins/fs/pull.args.d.ts +56 -17
  59. package/dist/builtins/fs/pull.args.js +16 -66
  60. package/dist/builtins/fs/pull.args.js.map +1 -1
  61. package/dist/builtins/fs/pull.d.ts +62 -0
  62. package/dist/builtins/fs/pull.js +123 -31
  63. package/dist/builtins/fs/pull.js.map +1 -1
  64. package/dist/builtins/fs/pwd.d.ts +19 -5
  65. package/dist/builtins/fs/pwd.js +62 -8
  66. package/dist/builtins/fs/pwd.js.map +1 -1
  67. package/dist/builtins/fs/rm.d.ts +58 -21
  68. package/dist/builtins/fs/rm.js +99 -82
  69. package/dist/builtins/fs/rm.js.map +1 -1
  70. package/dist/builtins/fs/rmdir.d.ts +29 -11
  71. package/dist/builtins/fs/rmdir.js +87 -36
  72. package/dist/builtins/fs/rmdir.js.map +1 -1
  73. package/dist/builtins/fs/touch.d.ts +44 -9
  74. package/dist/builtins/fs/touch.js +91 -27
  75. package/dist/builtins/fs/touch.js.map +1 -1
  76. package/dist/builtins/fs/tree.d.ts +36 -9
  77. package/dist/builtins/fs/tree.js +126 -36
  78. package/dist/builtins/fs/tree.js.map +1 -1
  79. package/dist/builtins/fs/upload.d.ts +22 -3
  80. package/dist/builtins/fs/upload.js +82 -14
  81. package/dist/builtins/fs/upload.js.map +1 -1
  82. package/dist/builtins/fs/xattr.args.d.ts +12 -33
  83. package/dist/builtins/fs/xattr.args.js +17 -95
  84. package/dist/builtins/fs/xattr.args.js.map +1 -1
  85. package/dist/builtins/fs/xattr.d.ts +98 -8
  86. package/dist/builtins/fs/xattr.js +163 -24
  87. package/dist/builtins/fs/xattr.js.map +1 -1
  88. package/dist/builtins/games/bytes.d.ts +201 -5
  89. package/dist/builtins/games/bytes.js +255 -54
  90. package/dist/builtins/games/bytes.js.map +1 -1
  91. package/dist/builtins/games/chimes.d.ts +180 -3
  92. package/dist/builtins/games/chimes.js +203 -26
  93. package/dist/builtins/games/chimes.js.map +1 -1
  94. package/dist/builtins/games/chrislab.d.ts +101 -3
  95. package/dist/builtins/games/chrislab.js +117 -17
  96. package/dist/builtins/games/chrislab.js.map +1 -1
  97. package/dist/builtins/games/cowsay.d.ts +93 -2
  98. package/dist/builtins/games/cowsay.js +90 -31
  99. package/dist/builtins/games/cowsay.js.map +1 -1
  100. package/dist/builtins/games/figlet.d.ts +70 -2
  101. package/dist/builtins/games/figlet.js +83 -6
  102. package/dist/builtins/games/figlet.js.map +1 -1
  103. package/dist/builtins/games/lab.d.ts +104 -5
  104. package/dist/builtins/games/lab.js +144 -6
  105. package/dist/builtins/games/lab.js.map +1 -1
  106. package/dist/builtins/games/lolcat.d.ts +61 -1
  107. package/dist/builtins/games/lolcat.js +59 -24
  108. package/dist/builtins/games/lolcat.js.map +1 -1
  109. package/dist/builtins/games/morse.d.ts +36 -1
  110. package/dist/builtins/games/morse.js +50 -2
  111. package/dist/builtins/games/morse.js.map +1 -1
  112. package/dist/builtins/games/numbers.d.ts +241 -5
  113. package/dist/builtins/games/numbers.js +298 -23
  114. package/dist/builtins/games/numbers.js.map +1 -1
  115. package/dist/builtins/games/play.d.ts +96 -6
  116. package/dist/builtins/games/play.js +137 -6
  117. package/dist/builtins/games/play.js.map +1 -1
  118. package/dist/builtins/games/qr.d.ts +40 -1
  119. package/dist/builtins/games/qr.js +51 -2
  120. package/dist/builtins/games/qr.js.map +1 -1
  121. package/dist/builtins/games/show.d.ts +131 -6
  122. package/dist/builtins/games/show.js +208 -20
  123. package/dist/builtins/games/show.js.map +1 -1
  124. package/dist/builtins/games/sky.d.ts +178 -4
  125. package/dist/builtins/games/sky.js +228 -12
  126. package/dist/builtins/games/sky.js.map +1 -1
  127. package/dist/builtins/games/text.d.ts +258 -7
  128. package/dist/builtins/games/text.js +310 -29
  129. package/dist/builtins/games/text.js.map +1 -1
  130. package/dist/builtins/games/trek.d.ts +67 -3
  131. package/dist/builtins/games/trek.js +63 -10
  132. package/dist/builtins/games/trek.js.map +1 -1
  133. package/dist/builtins/games/wtf.d.ts +58 -1
  134. package/dist/builtins/games/wtf.js +67 -6
  135. package/dist/builtins/games/wtf.js.map +1 -1
  136. package/dist/builtins/help.d.ts +41 -3
  137. package/dist/builtins/help.js +92 -796
  138. package/dist/builtins/help.js.map +1 -1
  139. package/dist/builtins/net/connect.d.ts +36 -3
  140. package/dist/builtins/net/connect.js +84 -26
  141. package/dist/builtins/net/connect.js.map +1 -1
  142. package/dist/builtins/net/cubepath.d.ts +49 -5
  143. package/dist/builtins/net/cubepath.js +69 -27
  144. package/dist/builtins/net/cubepath.js.map +1 -1
  145. package/dist/builtins/net/logout.d.ts +13 -4
  146. package/dist/builtins/net/logout.js +49 -3
  147. package/dist/builtins/net/logout.js.map +1 -1
  148. package/dist/builtins/net/netstat.d.ts +29 -4
  149. package/dist/builtins/net/netstat.js +64 -23
  150. package/dist/builtins/net/netstat.js.map +1 -1
  151. package/dist/builtins/net/pacs.d.ts +169 -15
  152. package/dist/builtins/net/pacs.js +92 -33
  153. package/dist/builtins/net/pacs.js.map +1 -1
  154. package/dist/builtins/net/query.args.d.ts +95 -0
  155. package/dist/builtins/net/query.args.js +26 -0
  156. package/dist/builtins/net/query.args.js.map +1 -0
  157. package/dist/builtins/net/query.d.ts +98 -5
  158. package/dist/builtins/net/query.js +89 -83
  159. package/dist/builtins/net/query.js.map +1 -1
  160. package/dist/builtins/net/status.d.ts +5 -3
  161. package/dist/builtins/net/status.js +5 -12
  162. package/dist/builtins/net/status.js.map +1 -1
  163. package/dist/builtins/parametersofplugin.d.ts +82 -3
  164. package/dist/builtins/parametersofplugin.js +79 -23
  165. package/dist/builtins/parametersofplugin.js.map +1 -1
  166. package/dist/builtins/proc.d.ts +210 -3
  167. package/dist/builtins/proc.js +210 -119
  168. package/dist/builtins/proc.js.map +1 -1
  169. package/dist/builtins/res/compute.d.ts +67 -3
  170. package/dist/builtins/res/compute.js +121 -35
  171. package/dist/builtins/res/compute.js.map +1 -1
  172. package/dist/builtins/res/dicom.d.ts +55 -7
  173. package/dist/builtins/res/dicom.js +86 -52
  174. package/dist/builtins/res/dicom.js.map +1 -1
  175. package/dist/builtins/res/expect.d.ts +52 -3
  176. package/dist/builtins/res/expect.js +92 -29
  177. package/dist/builtins/res/expect.js.map +1 -1
  178. package/dist/builtins/res/feed.d.ts +475 -3
  179. package/dist/builtins/res/feed.js +253 -158
  180. package/dist/builtins/res/feed.js.map +1 -1
  181. package/dist/builtins/res/files.d.ts +517 -3
  182. package/dist/builtins/res/files.js +124 -44
  183. package/dist/builtins/res/files.js.map +1 -1
  184. package/dist/builtins/res/gather.d.ts +113 -3
  185. package/dist/builtins/res/gather.js +153 -44
  186. package/dist/builtins/res/gather.js.map +1 -1
  187. package/dist/builtins/res/gather.process.d.ts +27 -19
  188. package/dist/builtins/res/gather.process.js +29 -59
  189. package/dist/builtins/res/gather.process.js.map +1 -1
  190. package/dist/builtins/res/group.d.ts +284 -3
  191. package/dist/builtins/res/group.js +147 -76
  192. package/dist/builtins/res/group.js.map +1 -1
  193. package/dist/builtins/res/image.d.ts +30 -2
  194. package/dist/builtins/res/image.js +62 -10
  195. package/dist/builtins/res/image.js.map +1 -1
  196. package/dist/builtins/res/play.d.ts +71 -9
  197. package/dist/builtins/res/play.js +124 -82
  198. package/dist/builtins/res/play.js.map +1 -1
  199. package/dist/builtins/res/plugininstance.d.ts +307 -2
  200. package/dist/builtins/res/plugininstance.js +122 -50
  201. package/dist/builtins/res/plugininstance.js.map +1 -1
  202. package/dist/builtins/res/pluginmeta.d.ts +244 -2
  203. package/dist/builtins/res/pluginmeta.js +98 -40
  204. package/dist/builtins/res/pluginmeta.js.map +1 -1
  205. package/dist/builtins/res/record.d.ts +37 -3
  206. package/dist/builtins/res/record.js +127 -57
  207. package/dist/builtins/res/record.js.map +1 -1
  208. package/dist/builtins/res/resourceList.d.ts +136 -0
  209. package/dist/builtins/res/resourceList.js +51 -0
  210. package/dist/builtins/res/resourceList.js.map +1 -0
  211. package/dist/builtins/res/tag.d.ts +244 -3
  212. package/dist/builtins/res/tag.js +97 -41
  213. package/dist/builtins/res/tag.js.map +1 -1
  214. package/dist/builtins/res/user.d.ts +122 -3
  215. package/dist/builtins/res/user.js +83 -21
  216. package/dist/builtins/res/user.js.map +1 -1
  217. package/dist/builtins/res/workflow.d.ts +244 -2
  218. package/dist/builtins/res/workflow.js +97 -40
  219. package/dist/builtins/res/workflow.js.map +1 -1
  220. package/dist/builtins/store.d.ts +85 -3
  221. package/dist/builtins/store.js +135 -68
  222. package/dist/builtins/store.js.map +1 -1
  223. package/dist/builtins/sys/apropos.d.ts +80 -5
  224. package/dist/builtins/sys/apropos.js +121 -15
  225. package/dist/builtins/sys/apropos.js.map +1 -1
  226. package/dist/builtins/sys/cal.d.ts +44 -5
  227. package/dist/builtins/sys/cal.js +57 -10
  228. package/dist/builtins/sys/cal.js.map +1 -1
  229. package/dist/builtins/sys/command.d.ts +20 -0
  230. package/dist/builtins/sys/command.js +31 -0
  231. package/dist/builtins/sys/command.js.map +1 -1
  232. package/dist/builtins/sys/context.d.ts +13 -3
  233. package/dist/builtins/sys/context.js +51 -4
  234. package/dist/builtins/sys/context.js.map +1 -1
  235. package/dist/builtins/sys/date.d.ts +56 -5
  236. package/dist/builtins/sys/date.js +63 -9
  237. package/dist/builtins/sys/date.js.map +1 -1
  238. package/dist/builtins/sys/echo.d.ts +63 -2
  239. package/dist/builtins/sys/echo.js +87 -8
  240. package/dist/builtins/sys/echo.js.map +1 -1
  241. package/dist/builtins/sys/fortune.d.ts +27 -2
  242. package/dist/builtins/sys/fortune.js +44 -2
  243. package/dist/builtins/sys/fortune.js.map +1 -1
  244. package/dist/builtins/sys/grep.d.ts +245 -11
  245. package/dist/builtins/sys/grep.js +418 -131
  246. package/dist/builtins/sys/grep.js.map +1 -1
  247. package/dist/builtins/sys/joblets.d.ts +66 -7
  248. package/dist/builtins/sys/joblets.js +101 -14
  249. package/dist/builtins/sys/joblets.js.map +1 -1
  250. package/dist/builtins/sys/motd.d.ts +37 -3
  251. package/dist/builtins/sys/motd.js +49 -8
  252. package/dist/builtins/sys/motd.js.map +1 -1
  253. package/dist/builtins/sys/notes.d.ts +75 -3
  254. package/dist/builtins/sys/notes.js +90 -29
  255. package/dist/builtins/sys/notes.js.map +1 -1
  256. package/dist/builtins/sys/physicalmode.d.ts +24 -3
  257. package/dist/builtins/sys/physicalmode.js +68 -14
  258. package/dist/builtins/sys/physicalmode.js.map +1 -1
  259. package/dist/builtins/sys/tasks.d.ts +74 -5
  260. package/dist/builtins/sys/tasks.js +102 -14
  261. package/dist/builtins/sys/tasks.js.map +1 -1
  262. package/dist/builtins/sys/textFilters.d.ts +673 -41
  263. package/dist/builtins/sys/textFilters.js +719 -264
  264. package/dist/builtins/sys/textFilters.js.map +1 -1
  265. package/dist/builtins/sys/timing.d.ts +24 -3
  266. package/dist/builtins/sys/timing.js +67 -14
  267. package/dist/builtins/sys/timing.js.map +1 -1
  268. package/dist/builtins/sys/variables.d.ts +70 -4
  269. package/dist/builtins/sys/variables.js +103 -31
  270. package/dist/builtins/sys/variables.js.map +1 -1
  271. package/dist/builtins/sys/version.d.ts +27 -2
  272. package/dist/builtins/sys/version.js +48 -3
  273. package/dist/builtins/sys/version.js.map +1 -1
  274. package/dist/builtins/sys/weather.d.ts +92 -15
  275. package/dist/builtins/sys/weather.js +71 -45
  276. package/dist/builtins/sys/weather.js.map +1 -1
  277. package/dist/builtins/sys/whoami.d.ts +38 -18
  278. package/dist/builtins/sys/whoami.js +112 -8
  279. package/dist/builtins/sys/whoami.js.map +1 -1
  280. package/dist/builtins/utils.d.ts +1 -38
  281. package/dist/builtins/utils.js +1 -87
  282. package/dist/builtins/utils.js.map +1 -1
  283. package/dist/chris/backend.js +2 -0
  284. package/dist/chris/backend.js.map +1 -1
  285. package/dist/chris/chrisCommands.js +62 -159
  286. package/dist/chris/chrisCommands.js.map +1 -1
  287. package/dist/chris/commandFallback.d.ts +12 -0
  288. package/dist/chris/commandFallback.js +47 -0
  289. package/dist/chris/commandFallback.js.map +1 -1
  290. package/dist/chris/files.js +24 -85
  291. package/dist/chris/files.js.map +1 -1
  292. package/dist/chris/filesystem.js +7 -5
  293. package/dist/chris/filesystem.js.map +1 -1
  294. package/dist/chris/help.js +0 -1082
  295. package/dist/chris/help.js.map +1 -1
  296. package/dist/chris/kinds.d.ts +30 -0
  297. package/dist/chris/kinds.js +154 -0
  298. package/dist/chris/kinds.js.map +1 -0
  299. package/dist/chris/mounts.d.ts +4 -4
  300. package/dist/chris/mounts.js +9 -16
  301. package/dist/chris/mounts.js.map +1 -1
  302. package/dist/chris/navigation.d.ts +2 -3
  303. package/dist/chris/navigation.js +6 -20
  304. package/dist/chris/navigation.js.map +1 -1
  305. package/dist/chris/pacsResources.d.ts +259 -0
  306. package/dist/chris/pacsResources.js +168 -0
  307. package/dist/chris/pacsResources.js.map +1 -0
  308. package/dist/chris/promptContext.d.ts +6 -0
  309. package/dist/chris/promptContext.js +3 -1
  310. package/dist/chris/promptContext.js.map +1 -1
  311. package/dist/core/argumentKinds.d.ts +107 -0
  312. package/dist/core/argumentKinds.js +223 -0
  313. package/dist/core/argumentKinds.js.map +1 -0
  314. package/dist/core/backend.d.ts +4 -1
  315. package/dist/core/backend.js.map +1 -1
  316. package/dist/core/commandDeclaration.d.ts +453 -0
  317. package/dist/core/commandDeclaration.js +52 -0
  318. package/dist/core/commandDeclaration.js.map +1 -0
  319. package/dist/core/commandParse.d.ts +64 -0
  320. package/dist/core/commandParse.js +468 -0
  321. package/dist/core/commandParse.js.map +1 -0
  322. package/dist/core/commandRegistry.d.ts +37 -0
  323. package/dist/core/commandRegistry.js +100 -3
  324. package/dist/core/commandRegistry.js.map +1 -1
  325. package/dist/core/commandSchema.d.ts +32 -0
  326. package/dist/core/commandSchema.js +117 -0
  327. package/dist/core/commandSchema.js.map +1 -0
  328. package/dist/core/commandUsage.d.ts +62 -0
  329. package/dist/core/commandUsage.js +247 -0
  330. package/dist/core/commandUsage.js.map +1 -0
  331. package/dist/core/coreCommands.js +66 -214
  332. package/dist/core/coreCommands.js.map +1 -1
  333. package/dist/core/dispatch.js +15 -8
  334. package/dist/core/dispatch.js.map +1 -1
  335. package/dist/core/paths.d.ts +51 -0
  336. package/dist/core/paths.js +86 -2
  337. package/dist/core/paths.js.map +1 -1
  338. package/dist/core/preprocess.d.ts +10 -9
  339. package/dist/core/preprocess.js +10 -20
  340. package/dist/core/preprocess.js.map +1 -1
  341. package/dist/core/warmupFailures.d.ts +34 -2
  342. package/dist/core/warmupFailures.js +43 -2
  343. package/dist/core/warmupFailures.js.map +1 -1
  344. package/dist/lib/completer/cfsPaths.d.ts +14 -0
  345. package/dist/lib/completer/cfsPaths.js +91 -0
  346. package/dist/lib/completer/cfsPaths.js.map +1 -0
  347. package/dist/lib/completer/declared.d.ts +15 -0
  348. package/dist/lib/completer/declared.js +189 -0
  349. package/dist/lib/completer/declared.js.map +1 -0
  350. package/dist/lib/completer/index.js +33 -79
  351. package/dist/lib/completer/index.js.map +1 -1
  352. package/dist/lib/parser.d.ts +5 -8
  353. package/dist/lib/parser.js +2 -11
  354. package/dist/lib/parser.js.map +1 -1
  355. package/dist/lib/vfs/vfs.d.ts +2 -1
  356. package/dist/lib/vfs/vfs.js +9 -6
  357. package/dist/lib/vfs/vfs.js.map +1 -1
  358. package/dist/lib/wildcard.js +2 -3
  359. package/dist/lib/wildcard.js.map +1 -1
  360. package/dist/notes.json +1 -1
  361. package/package.json +6 -5
@@ -11,6 +11,8 @@
11
11
  import chalk from 'chalk';
12
12
  import { WEATHER_DEFAULT_PLACE, place_find } from '../sys/weather.js';
13
13
  import { envelope_ok, envelope_error } from '@fnndsc/menu';
14
+ import { command_declare } from '../../core/commandDeclaration.js';
15
+ import { declaredCommand_run } from '../../core/commandParse.js';
14
16
  /* --------------------------------------------------------------- moon */
15
17
  /** A reference new moon: 2000-01-06 18:14 UTC, as a Julian day. */
16
18
  const NEW_MOON_JD = 2451550.1;
@@ -57,11 +59,67 @@ export function moon_draw(phase) {
57
59
  }
58
60
  return rows;
59
61
  }
60
- /** `pom [YYYY-MM-DD]` */
62
+ /**
63
+ * Reads a date out of the words a command was given.
64
+ *
65
+ * @param words - The date's words, none for today.
66
+ * @returns The date; invalid when the words are not one.
67
+ */
68
+ function date_read(words) {
69
+ return words.length > 0 ? new Date(words.join(' ')) : new Date();
70
+ }
71
+ /** What `pom` takes: a date, in as many words as it is written. */
72
+ const POM_GRAMMAR = {
73
+ operands: [{ name: 'date', kind: 'word', optional: true, repeat: true, summary: 'The date to look at (default: today)' }],
74
+ };
75
+ /**
76
+ * `pom [date]`: the declaration.
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * commands_register({ declarations: [pomCommand] });
81
+ * ```
82
+ */
83
+ export const pomCommand = command_declare({
84
+ name: 'pom',
85
+ grammar: POM_GRAMMAR,
86
+ help: {
87
+ summary: 'The phase of the moon',
88
+ description: "BSD's pom: the Moon's phase today (or on a date), how much of it is lit, the days to the next full and new moons, and a small moon drawn as it looks.",
89
+ examples: ['pom', 'pom 2026-12-25'],
90
+ },
91
+ holds: [],
92
+ handler: async (args) => pom_run(args.operands.date),
93
+ });
94
+ /**
95
+ * `pom` over words already split: the declaration's parse and handler.
96
+ *
97
+ * @param args - The words after `pom`.
98
+ * @returns The answer, or the refusal of a bad line.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * await builtin_pom(['2026-12-25']);
103
+ * ```
104
+ */
61
105
  export async function builtin_pom(args) {
62
- const date = args.length > 0 ? new Date(args.join(' ')) : new Date();
106
+ return declaredCommand_run(pomCommand, args);
107
+ }
108
+ /**
109
+ * Runs `pom` on a date.
110
+ *
111
+ * @param words - The date's words, none for today.
112
+ * @returns The answer, or a refusal for words that are not a date.
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * await pom_run(['2026-12-25']);
117
+ * ```
118
+ */
119
+ export async function pom_run(words) {
120
+ const date = date_read(words);
63
121
  if (Number.isNaN(date.getTime()))
64
- return envelope_error('', undefined, `pom: '${args.join(' ')}' is not a date (try pom 2026-12-25)\n`);
122
+ return envelope_error('', undefined, `pom: '${words.join(' ')}' is not a date (try pom 2026-12-25)\n`);
65
123
  const moon = moon_phase(date);
66
124
  const percent = Math.round(moon.illumination * 100);
67
125
  const trend = moon.name === 'Full Moon' || moon.name === 'New Moon' ? '' : moon.phase < 0.5 ? ' (waxing)' : ' (waning)';
@@ -89,11 +147,58 @@ export function stardate_derive(date) {
89
147
  const tng = (year - 2323) * 1000 + fraction * 1000;
90
148
  return { kelvin, tng: tng.toFixed(1) };
91
149
  }
92
- /** `stardate` */
150
+ /** What `stardate` takes: a date, in as many words as it is written. */
151
+ const STARDATE_GRAMMAR = {
152
+ operands: [{ name: 'date', kind: 'word', optional: true, repeat: true, summary: 'The date to reckon (default: today)' }],
153
+ };
154
+ /**
155
+ * `stardate [date]`: the declaration.
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * commands_register({ declarations: [stardateCommand] });
160
+ * ```
161
+ */
162
+ export const stardateCommand = command_declare({
163
+ name: 'stardate',
164
+ grammar: STARDATE_GRAMMAR,
165
+ help: {
166
+ summary: 'The stardate, two ways',
167
+ description: "The day as a stardate: by the Kelvin films' reckoning (the year, then the day of it), with TNG's thousand-a-year count from 2323 beside it.",
168
+ examples: ['stardate', 'stardate 2366-01-01'],
169
+ },
170
+ holds: [],
171
+ handler: async (args) => stardate_run(args.operands.date),
172
+ });
173
+ /**
174
+ * `stardate` over words already split: the declaration's parse and handler.
175
+ *
176
+ * @param args - The words after `stardate`.
177
+ * @returns The answer, or the refusal of a bad line.
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * await builtin_stardate(['2366-01-01']);
182
+ * ```
183
+ */
93
184
  export async function builtin_stardate(args) {
94
- const date = args.length > 0 ? new Date(args.join(' ')) : new Date();
185
+ return declaredCommand_run(stardateCommand, args);
186
+ }
187
+ /**
188
+ * Runs `stardate` on a date.
189
+ *
190
+ * @param words - The date's words, none for today.
191
+ * @returns The answer, or a refusal for words that are not a date.
192
+ *
193
+ * @example
194
+ * ```ts
195
+ * await stardate_run(['2366-01-01']);
196
+ * ```
197
+ */
198
+ export async function stardate_run(words) {
199
+ const date = date_read(words);
95
200
  if (Number.isNaN(date.getTime()))
96
- return envelope_error('', undefined, `stardate: '${args.join(' ')}' is not a date\n`);
201
+ return envelope_error('', undefined, `stardate: '${words.join(' ')}' is not a date\n`);
97
202
  const sd = stardate_derive(date);
98
203
  const lines = [
99
204
  `Stardate ${chalk.bold(sd.kelvin)}`,
@@ -128,11 +233,58 @@ export function ordinal_format(n) {
128
233
  return `${n}th`;
129
234
  return `${n}${['th', 'st', 'nd', 'rd'][n % 10] ?? 'th'}`;
130
235
  }
131
- /** `ddate [YYYY-MM-DD]` */
236
+ /** What `ddate` takes: a date, in as many words as it is written. */
237
+ const DDATE_GRAMMAR = {
238
+ operands: [{ name: 'date', kind: 'word', optional: true, repeat: true, summary: 'The date to convert (default: today)' }],
239
+ };
240
+ /**
241
+ * `ddate [date]`: the declaration.
242
+ *
243
+ * @example
244
+ * ```ts
245
+ * commands_register({ declarations: [ddateCommand] });
246
+ * ```
247
+ */
248
+ export const ddateCommand = command_declare({
249
+ name: 'ddate',
250
+ grammar: DDATE_GRAMMAR,
251
+ help: {
252
+ summary: 'The Discordian date',
253
+ description: "Today in the Discordian calendar: five seasons of 73 days, a five-day week, St. Tib's Day in a leap year, and the holy days called out. Hail Eris.",
254
+ examples: ['ddate', 'ddate 2028-02-29'],
255
+ },
256
+ holds: [],
257
+ handler: async (args) => ddate_run(args.operands.date),
258
+ });
259
+ /**
260
+ * `ddate` over words already split: the declaration's parse and handler.
261
+ *
262
+ * @param args - The words after `ddate`.
263
+ * @returns The answer, or the refusal of a bad line.
264
+ *
265
+ * @example
266
+ * ```ts
267
+ * await builtin_ddate(['2028-02-29']);
268
+ * ```
269
+ */
132
270
  export async function builtin_ddate(args) {
133
- const date = args.length > 0 ? new Date(args.join(' ')) : new Date();
271
+ return declaredCommand_run(ddateCommand, args);
272
+ }
273
+ /**
274
+ * Runs `ddate` on a date.
275
+ *
276
+ * @param words - The date's words, none for today.
277
+ * @returns The answer, or a refusal for words that are not a date.
278
+ *
279
+ * @example
280
+ * ```ts
281
+ * await ddate_run(['2028-02-29']);
282
+ * ```
283
+ */
284
+ export async function ddate_run(words) {
285
+ const date = date_read(words);
134
286
  if (Number.isNaN(date.getTime()))
135
- return envelope_error('', undefined, `ddate: '${args.join(' ')}' is not a date\n`);
287
+ return envelope_error('', undefined, `ddate: '${words.join(' ')}' is not a date\n`);
136
288
  const d = ddate_derive(date);
137
289
  const line = d.tibs
138
290
  ? `Today is St. Tib's Day in the YOLD ${d.yold}`
@@ -164,9 +316,73 @@ export async function sun_fetch(fetchFn, place) {
164
316
  }
165
317
  /** `HH:MM` out of an ISO local time. */
166
318
  const clock_format = (iso) => iso.slice(11, 16) || '?';
167
- /** `sunrise [place]` */
168
- export async function builtin_sunrise(args, fetchFn = (url, init) => fetch(url, init)) {
169
- const name = args.length > 0 ? args.join(' ') : WEATHER_DEFAULT_PLACE;
319
+ /** What `sunrise` takes: a place, in as many words as it is named. */
320
+ const SUNRISE_GRAMMAR = {
321
+ operands: [{ name: 'place', kind: 'word', optional: true, repeat: true, summary: 'The place (default: Boston)' }],
322
+ };
323
+ /** The fetch `sunrise` uses unless handed another. */
324
+ const defaultFetch = (url, init) => fetch(url, init);
325
+ /**
326
+ * Declares `sunrise` over a fetch (a test hands in its own).
327
+ *
328
+ * @param fetchFn - The fetch the command asks Open-Meteo with.
329
+ * @returns The declaration.
330
+ *
331
+ * @example
332
+ * ```ts
333
+ * const command = sunriseCommand_make(fakeFetch);
334
+ * ```
335
+ */
336
+ export function sunriseCommand_make(fetchFn) {
337
+ return command_declare({
338
+ name: 'sunrise',
339
+ grammar: SUNRISE_GRAMMAR,
340
+ help: {
341
+ summary: 'When the sun rises and sets at a place',
342
+ description: "Asks Open-Meteo (the service weather uses; no key) for sunrise, sunset and the length of the day at a place, today and tomorrow, in the place's own time. Boston when no place is named. Needs the session host to reach the internet.",
343
+ examples: ['sunrise', 'sunrise Cape Town', 'sunrise Tromsø'],
344
+ },
345
+ handler: async (args) => sunrise_run(args.operands.place, fetchFn),
346
+ });
347
+ }
348
+ /**
349
+ * `sunrise [place]`: the declaration.
350
+ *
351
+ * @example
352
+ * ```ts
353
+ * commands_register({ declarations: [sunriseCommand] });
354
+ * ```
355
+ */
356
+ export const sunriseCommand = sunriseCommand_make(defaultFetch);
357
+ /**
358
+ * `sunrise` over words already split: the declaration's parse and handler.
359
+ *
360
+ * @param args - The words after `sunrise`.
361
+ * @param fetchFn - The fetch to use.
362
+ * @returns The sun's days, or the refusal of a bad line.
363
+ *
364
+ * @example
365
+ * ```ts
366
+ * await builtin_sunrise(['Cape', 'Town']);
367
+ * ```
368
+ */
369
+ export async function builtin_sunrise(args, fetchFn = defaultFetch) {
370
+ return declaredCommand_run(fetchFn === defaultFetch ? sunriseCommand : sunriseCommand_make(fetchFn), args);
371
+ }
372
+ /**
373
+ * When the sun rises and sets at a place, today and tomorrow.
374
+ *
375
+ * @param words - The place's words, none for the default place.
376
+ * @param fetchFn - The fetch to use.
377
+ * @returns The sun's days, or a refusal.
378
+ *
379
+ * @example
380
+ * ```ts
381
+ * await sunrise_run(['Tromsø'], fetch);
382
+ * ```
383
+ */
384
+ export async function sunrise_run(words, fetchFn) {
385
+ const name = words.length > 0 ? words.join(' ') : WEATHER_DEFAULT_PLACE;
170
386
  try {
171
387
  const place = await place_find(fetchFn, name);
172
388
  if (place === null)
@@ -1 +1 @@
1
- {"version":3,"file":"sky.js","sourceRoot":"","sources":["../../../src/builtins/games/sky.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAwC,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAAmB,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5E,0EAA0E;AAE1E,mEAAmE;AACnE,MAAM,WAAW,GAAW,SAAS,CAAC;AACtC,kCAAkC;AAClC,MAAM,YAAY,GAAW,YAAY,CAAC;AAE1C,8BAA8B;AAC9B,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,SAAS,CAAC;AACjD,CAAC;AAeD,uCAAuC;AACvC,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,MAAM,MAAM,GAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,YAAY,CAAC;IAC9E,MAAM,KAAK,GAAW,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,YAAY,GAAW,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IACpG,MAAM,IAAI,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc;QAC9H,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC5H,MAAM,MAAM,GAAW,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;IAC9D,MAAM,KAAK,GAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;IACvD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtD,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,SAAS,CAAC,KAAgB;IACxC,MAAM,GAAG,GAAW,KAAK,CAAC,YAAY,CAAC;IACvC,MAAM,MAAM,GAAY,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;IAC1C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAW,CAAC,CAAC;IACzB,KAAK,IAAI,CAAC,GAAW,CAAC,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,GAAG,GAAW,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,MAAM,EAAE,GAAW,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,MAAM,GAAY,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;YACjE,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,GAAG,IAAI,GAAG,CAAC;gBAAC,SAAS;YAAC,CAAC;YACtC,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrE,oEAAoE;YACpE,MAAM,IAAI,GAAW,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;YAC1C,MAAM,MAAM,GAAY,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;YAC1D,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,IAAI,GAAS,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3E,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACxI,MAAM,IAAI,GAAc,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAW,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IAChI,MAAM,KAAK,GAAa;QACtB,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,OAAO,eAAe;QACvE,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;QACnH,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAU,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;KAC7D,CAAC;IACF,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;AAClH,CAAC;AAED,0EAA0E;AAE1E,0DAA0D;AAC1D,SAAS,eAAe,CAAC,IAAU;IACjC,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC;IAC7D,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAW,IAAI,CAAC,cAAc,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAW,GAAG,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACjE,MAAM,GAAG,GAAW,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC3D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,iBAAiB;AACjB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACnD,MAAM,IAAI,GAAS,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3E,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxH,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAa;QACtB,YAAY,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QACnC,KAAK,CAAC,IAAI,CAAC,uEAAuE,EAAE,CAAC,GAAG,mCAAmC,CAAC;KAC7H,CAAC;IACF,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AACrH,CAAC;AAED,0EAA0E;AAE1E,MAAM,OAAO,GAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;AACzG,MAAM,QAAQ,GAA0B,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;AACpH,MAAM,YAAY,GAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACnG,MAAM,WAAW,GAA0B,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAYxG,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,MAAM,IAAI,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,IAAI,GAAW,IAAI,GAAG,IAAI,CAAC;IACjC,MAAM,KAAK,GAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/H,MAAM,IAAI,GAAY,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC;IAC/E,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpH,MAAM,QAAQ,GAAW,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,MAAM,MAAM,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,GAAG,GAAW,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAW,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;IAC/D,MAAM,OAAO,GAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAE,WAAW,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAClI,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAW,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzF,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,MAAM,IAAI,GAAW,CAAC,GAAG,GAAG,CAAC;IAC7B,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,2BAA2B;AAC3B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,MAAM,IAAI,GAAS,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3E,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACrH,MAAM,CAAC,GAAmB,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAW,CAAC,CAAC,IAAI;QACzB,CAAC,CAAC,sCAAsC,CAAC,CAAC,IAAI,EAAE;QAChD,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,SAAS,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3J,OAAO,WAAW,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACrG,CAAC;AAED,0EAA0E;AAE1E,MAAM,YAAY,GAAW,wCAAwC,CAAC;AACtE,MAAM,gBAAgB,GAAW,KAAK,CAAC;AAKvC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAqB,EAAE,KAAmB;IACxE,MAAM,GAAG,GAAW,GAAG,YAAY,aAAa,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,SAAS,uEAAuE,CAAC;IACnK,MAAM,QAAQ,GAAa,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACjG,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyG,CAAC;IAC/I,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC;QAClE,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;QACjC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;QAC/B,eAAe,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACnD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,wCAAwC;AACxC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;AAEvE,wBAAwB;AACxB,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAc,EACd,UAAwB,CAAC,GAAW,EAAE,IAAkB,EAAqB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IAEhG,MAAM,IAAI,GAAW,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,KAAK,GAAwB,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,6BAA6B,IAAI,2BAA2B,CAAC,CAAC;QACvH,MAAM,IAAI,GAAa,MAAM,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,uCAAuC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACnH,MAAM,KAAK,GAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxH,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,aAAa,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACpP,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/G,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sky.js","sourceRoot":"","sources":["../../../src/builtins/games/sky.ts"],"names":[],"mappings":"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"}
@@ -14,24 +14,275 @@ export declare function text_rot13(text: string): string;
14
14
  /**
15
15
  * The numbers `seq` prints: `seq LAST`, `seq FIRST LAST`, `seq FIRST STEP LAST`.
16
16
  *
17
+ * @param nums - One to three numbers, as the line gave them.
17
18
  * @returns The numbers, or a refusal.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * seq_numbers([2, 5]); // { numbers: [2, 3, 4, 5] }
23
+ * ```
18
24
  */
19
- export declare function seq_numbers(args: ReadonlyArray<string>): {
25
+ export declare function seq_numbers(nums: ReadonlyArray<number>): {
20
26
  numbers: number[];
21
27
  } | {
22
28
  refusal: string;
23
29
  };
24
30
  /** Shuffles lines (Fisher–Yates), with an optional source of chance for tests. */
25
31
  export declare function lines_shuffle(lines: string[], random?: () => number): string[];
26
- /** `rev [text]` */
32
+ /**
33
+ * `rev [text]`: the declaration.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * commands_register({ declarations: [revCommand] });
38
+ * ```
39
+ */
40
+ export declare const revCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
41
+ readonly operands: readonly [{
42
+ readonly name: "text";
43
+ readonly kind: "word";
44
+ readonly optional: true;
45
+ readonly repeat: true;
46
+ readonly summary: "The text to work on (default: what is piped in)";
47
+ }];
48
+ }>;
49
+ /**
50
+ * `rev` over words already split: the declaration's parse and handler.
51
+ *
52
+ * @param args - The words after `rev`.
53
+ * @returns The reversed text, or the refusal of a bad line.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * await builtin_rev(['stressed']);
58
+ * ```
59
+ */
27
60
  export declare function builtin_rev(args: string[]): Promise<CommandEnvelope>;
28
- /** `tac [text]` */
61
+ /**
62
+ * Reverses each line of the piped text, else of the words.
63
+ *
64
+ * @param words - The words given.
65
+ * @returns The reversed text, or a refusal when there is none.
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * await rev_run(['stressed']); // desserts
70
+ * ```
71
+ */
72
+ export declare function rev_run(words: ReadonlyArray<string>): Promise<CommandEnvelope>;
73
+ /**
74
+ * `tac [text]`: the declaration.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * commands_register({ declarations: [tacCommand] });
79
+ * ```
80
+ */
81
+ export declare const tacCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
82
+ readonly operands: readonly [{
83
+ readonly name: "text";
84
+ readonly kind: "word";
85
+ readonly optional: true;
86
+ readonly repeat: true;
87
+ readonly summary: "The text to work on (default: what is piped in)";
88
+ }];
89
+ }>;
90
+ /**
91
+ * `tac` over words already split: the declaration's parse and handler.
92
+ *
93
+ * @param args - The words after `tac`.
94
+ * @returns The lines last to first, or the refusal of a bad line.
95
+ *
96
+ * @example
97
+ * ```ts
98
+ * await builtin_tac(['a']);
99
+ * ```
100
+ */
29
101
  export declare function builtin_tac(args: string[]): Promise<CommandEnvelope>;
30
- /** `yes [word] [-n N]` */
102
+ /**
103
+ * Turns the lines of the piped text, else of the words, last to first.
104
+ *
105
+ * @param words - The words given.
106
+ * @returns The turned lines, or a refusal when there are none.
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * await tac_run(['a', 'b']);
111
+ * ```
112
+ */
113
+ export declare function tac_run(words: ReadonlyArray<string>): Promise<CommandEnvelope>;
114
+ /**
115
+ * `yes [word] [-n N]`: the declaration.
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * commands_register({ declarations: [yesCommand] });
120
+ * ```
121
+ */
122
+ export declare const yesCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
123
+ readonly operands: readonly [{
124
+ readonly name: "words";
125
+ readonly kind: "word";
126
+ readonly optional: true;
127
+ readonly repeat: true;
128
+ readonly summary: "The word to repeat (default y)";
129
+ }];
130
+ readonly options: {
131
+ readonly count: {
132
+ readonly short: "n";
133
+ readonly summary: "Lines to print (default 10, at most 10000)";
134
+ readonly value: {
135
+ readonly name: "N";
136
+ readonly kind: "int";
137
+ readonly min: 1;
138
+ };
139
+ };
140
+ };
141
+ }>;
142
+ /**
143
+ * `yes` over words already split: the declaration's parse and handler.
144
+ *
145
+ * @param args - The words after `yes`.
146
+ * @returns The repeated lines, or the refusal of a bad line.
147
+ *
148
+ * @example
149
+ * ```ts
150
+ * await builtin_yes(['no', '-n', '3']);
151
+ * ```
152
+ */
31
153
  export declare function builtin_yes(args: string[]): Promise<CommandEnvelope>;
32
- /** `seq [FIRST [STEP]] LAST` */
154
+ /**
155
+ * Prints a word a bounded number of times.
156
+ *
157
+ * @param words - The words to repeat, joined by a space; none means `y`.
158
+ * @param requested - How many lines were asked for, or undefined for the default.
159
+ * @returns The lines and a note saying how many.
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * await yes_run(['no'], 3);
164
+ * ```
165
+ */
166
+ export declare function yes_run(words: ReadonlyArray<string>, requested: number | undefined): Promise<CommandEnvelope>;
167
+ /**
168
+ * `seq [FIRST [STEP]] LAST`: the declaration.
169
+ *
170
+ * @example
171
+ * ```ts
172
+ * commands_register({ declarations: [seqCommand] });
173
+ * ```
174
+ */
175
+ export declare const seqCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
176
+ readonly operands: readonly [{
177
+ readonly name: "numbers";
178
+ readonly kind: "number";
179
+ readonly repeat: true;
180
+ readonly summary: "[FIRST [STEP]] LAST";
181
+ }];
182
+ }>;
183
+ /**
184
+ * `seq` over words already split: the declaration's parse and handler.
185
+ *
186
+ * @param args - The words after `seq`.
187
+ * @returns The numbers, or the refusal of a bad line.
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * await builtin_seq(['3']);
192
+ * ```
193
+ */
33
194
  export declare function builtin_seq(args: string[]): Promise<CommandEnvelope>;
34
- /** `shuf [words...]`: lines piped in, or the words given, in a random order. */
195
+ /**
196
+ * Prints a sequence of numbers.
197
+ *
198
+ * @param nums - FIRST, STEP and LAST as the line gave them (one to three).
199
+ * @returns The numbers one per line, or a refusal.
200
+ *
201
+ * @example
202
+ * ```ts
203
+ * await seq_run([1, 2, 9]);
204
+ * ```
205
+ */
206
+ export declare function seq_run(nums: ReadonlyArray<number>): Promise<CommandEnvelope>;
207
+ /**
208
+ * `shuf [words...]`: the declaration.
209
+ *
210
+ * @example
211
+ * ```ts
212
+ * commands_register({ declarations: [shufCommand] });
213
+ * ```
214
+ */
215
+ export declare const shufCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
216
+ readonly operands: readonly [{
217
+ readonly name: "words";
218
+ readonly kind: "word";
219
+ readonly optional: true;
220
+ readonly repeat: true;
221
+ readonly summary: "The words to shuffle (default: the lines piped in)";
222
+ }];
223
+ }>;
224
+ /**
225
+ * `shuf` over words already split: the declaration's parse and handler.
226
+ *
227
+ * @param args - The words after `shuf`.
228
+ * @returns The shuffled lines, or the refusal of a bad line.
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * await builtin_shuf(['a', 'b']);
233
+ * ```
234
+ */
35
235
  export declare function builtin_shuf(args: string[]): Promise<CommandEnvelope>;
36
- /** `rot13 [text]` */
236
+ /**
237
+ * Shuffles the lines piped in, else the words given.
238
+ *
239
+ * @param words - The words given.
240
+ * @returns The lines in a random order, or a refusal when there are none.
241
+ *
242
+ * @example
243
+ * ```ts
244
+ * await shuf_run(['a', 'b', 'c']);
245
+ * ```
246
+ */
247
+ export declare function shuf_run(words: ReadonlyArray<string>): Promise<CommandEnvelope>;
248
+ /**
249
+ * `rot13 [text]`: the declaration.
250
+ *
251
+ * @example
252
+ * ```ts
253
+ * commands_register({ declarations: [rot13Command] });
254
+ * ```
255
+ */
256
+ export declare const rot13Command: import("../../core/commandDeclaration.js").CommandDeclaration<{
257
+ readonly operands: readonly [{
258
+ readonly name: "text";
259
+ readonly kind: "word";
260
+ readonly optional: true;
261
+ readonly repeat: true;
262
+ readonly summary: "The text to work on (default: what is piped in)";
263
+ }];
264
+ }>;
265
+ /**
266
+ * `rot13` over words already split: the declaration's parse and handler.
267
+ *
268
+ * @param args - The words after `rot13`.
269
+ * @returns The turned text, or the refusal of a bad line.
270
+ *
271
+ * @example
272
+ * ```ts
273
+ * await builtin_rot13(['hello']);
274
+ * ```
275
+ */
37
276
  export declare function builtin_rot13(args: string[]): Promise<CommandEnvelope>;
277
+ /**
278
+ * Turns the piped text, else the words, thirteen places round the alphabet.
279
+ *
280
+ * @param words - The words given.
281
+ * @returns The turned text, or a refusal when there is none.
282
+ *
283
+ * @example
284
+ * ```ts
285
+ * await rot13_run(['hello']); // uryyb
286
+ * ```
287
+ */
288
+ export declare function rot13_run(words: ReadonlyArray<string>): Promise<CommandEnvelope>;