zeed 1.1.1 → 1.2.4

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 (411) hide show
  1. package/AGENTS.md +225 -18
  2. package/README.md +1 -1
  3. package/dist/_experiments/bitcask.cjs.map +1 -1
  4. package/dist/browser/base64.cjs.map +1 -1
  5. package/dist/browser/gravatar.cjs.map +1 -1
  6. package/dist/browser/index.cjs.map +1 -1
  7. package/dist/browser/localstorage.cjs.map +1 -1
  8. package/dist/browser/log/index.cjs.map +1 -1
  9. package/dist/browser/log/log-browser-factory.cjs.map +1 -1
  10. package/dist/browser/log/log-browser.cjs.map +1 -1
  11. package/dist/browser/log/log-colors.cjs.map +1 -1
  12. package/dist/browser/log/log-context-browser.cjs.map +1 -1
  13. package/dist/chunk-2TNLYCZH.cjs.map +1 -1
  14. package/dist/chunk-2UQU3IBA.cjs.map +1 -1
  15. package/dist/chunk-32B4KRI6.cjs.map +1 -1
  16. package/dist/{chunk-DAD3M2IM.cjs → chunk-344WNUEK.cjs} +2 -2
  17. package/dist/chunk-344WNUEK.cjs.map +1 -0
  18. package/dist/chunk-36N7ZI6A.cjs.map +1 -1
  19. package/dist/chunk-3P4XRJ23.cjs.map +1 -1
  20. package/dist/chunk-3TNVJY4F.cjs.map +1 -1
  21. package/dist/chunk-3ZBLU4D6.cjs.map +1 -1
  22. package/dist/chunk-47GAJHNO.cjs.map +1 -1
  23. package/dist/chunk-4ATJXWZH.cjs.map +1 -1
  24. package/dist/chunk-4B2XCWGL.cjs.map +1 -1
  25. package/dist/chunk-4M4EUXUS.cjs.map +1 -1
  26. package/dist/chunk-4TLMJAZB.cjs.map +1 -1
  27. package/dist/chunk-5RHVNJKM.cjs.map +1 -1
  28. package/dist/chunk-5RJ6XORD.cjs.map +1 -1
  29. package/dist/chunk-5VHLMAKU.cjs.map +1 -1
  30. package/dist/chunk-75LG3YTX.cjs.map +1 -1
  31. package/dist/chunk-7HXAZLZN.cjs.map +1 -1
  32. package/dist/chunk-7UA33BQW.cjs.map +1 -1
  33. package/dist/chunk-7XE6IQ4X.cjs.map +1 -1
  34. package/dist/chunk-A6DSKTWF.cjs.map +1 -1
  35. package/dist/chunk-ABCQXAMV.cjs.map +1 -1
  36. package/dist/chunk-AERHWWDH.cjs.map +1 -1
  37. package/dist/chunk-AH7ZMSSE.cjs.map +1 -1
  38. package/dist/chunk-B2XPF5R4.cjs.map +1 -1
  39. package/dist/chunk-B75IPNYG.cjs.map +1 -1
  40. package/dist/{chunk-RZPIAOGG.js → chunk-BPPN3ZNV.js} +2 -2
  41. package/dist/chunk-BPWOWVF7.cjs.map +1 -1
  42. package/dist/chunk-BQ66KUDG.cjs.map +1 -1
  43. package/dist/chunk-BTEZYY77.cjs.map +1 -1
  44. package/dist/chunk-BTOZJX47.cjs.map +1 -1
  45. package/dist/chunk-C3WUDLBK.cjs.map +1 -1
  46. package/dist/{chunk-AUYYYDRM.cjs → chunk-C72ST4ZR.cjs} +1 -1
  47. package/dist/chunk-C72ST4ZR.cjs.map +1 -0
  48. package/dist/chunk-C7CD7VGT.cjs.map +1 -1
  49. package/dist/chunk-CEANCAI7.cjs.map +1 -1
  50. package/dist/chunk-CGNAZMNO.cjs.map +1 -1
  51. package/dist/chunk-CGQIHGXL.cjs.map +1 -1
  52. package/dist/chunk-CHR4BOAA.cjs.map +1 -1
  53. package/dist/{chunk-LXFL3VYA.cjs → chunk-CLMIDN5Q.cjs} +2 -2
  54. package/dist/chunk-CLMIDN5Q.cjs.map +1 -0
  55. package/dist/chunk-CM2VW6MR.cjs.map +1 -1
  56. package/dist/chunk-CWGNDC2T.cjs.map +1 -1
  57. package/dist/chunk-CYPMLO24.cjs.map +1 -1
  58. package/dist/{chunk-AH3LPY2A.js → chunk-DBXJFUZ7.js} +2 -2
  59. package/dist/chunk-DHZPCNPE.cjs.map +1 -1
  60. package/dist/chunk-DLVWYIS2.cjs.map +1 -1
  61. package/dist/chunk-DMKWVXY7.cjs.map +1 -1
  62. package/dist/chunk-DRKHTT76.cjs.map +1 -1
  63. package/dist/chunk-DXQHNAIL.cjs.map +1 -1
  64. package/dist/chunk-ETHALF2S.cjs.map +1 -1
  65. package/dist/chunk-FMMEBQFR.cjs.map +1 -1
  66. package/dist/{chunk-5BA3O5XZ.cjs → chunk-GARQAHQE.cjs} +2 -2
  67. package/dist/chunk-GARQAHQE.cjs.map +1 -0
  68. package/dist/chunk-GFMSFYKE.cjs.map +1 -1
  69. package/dist/chunk-GILR5DT5.cjs.map +1 -1
  70. package/dist/chunk-HEYAOG5D.cjs.map +1 -1
  71. package/dist/chunk-HTEAHUXG.cjs.map +1 -1
  72. package/dist/chunk-HZC2RTNS.cjs.map +1 -1
  73. package/dist/chunk-I5HBI6EC.cjs.map +1 -1
  74. package/dist/chunk-IA2OMOCB.cjs.map +1 -1
  75. package/dist/chunk-IJE3VBKC.cjs.map +1 -1
  76. package/dist/chunk-IOEXXFCL.cjs.map +1 -1
  77. package/dist/chunk-IVUEQANC.cjs.map +1 -1
  78. package/dist/chunk-IXH5D35S.cjs.map +1 -1
  79. package/dist/chunk-JJKWFF7B.cjs.map +1 -1
  80. package/dist/chunk-JLB5ALZ5.cjs.map +1 -1
  81. package/dist/chunk-JWON4PLZ.cjs.map +1 -1
  82. package/dist/chunk-K4IRAHZV.cjs.map +1 -1
  83. package/dist/chunk-KFNJHRCB.cjs.map +1 -1
  84. package/dist/chunk-KJ3RKZH5.cjs.map +1 -1
  85. package/dist/chunk-KNKYRU4X.cjs.map +1 -1
  86. package/dist/chunk-KPU7ZOUH.cjs.map +1 -1
  87. package/dist/{chunk-LI2YWV3G.js → chunk-KWFFSQMW.js} +2 -2
  88. package/dist/chunk-KYDHX5HW.cjs.map +1 -1
  89. package/dist/chunk-KYNPDWX4.cjs.map +1 -1
  90. package/dist/chunk-L5C7BHMX.cjs.map +1 -1
  91. package/dist/chunk-L5IXZXHR.cjs.map +1 -1
  92. package/dist/chunk-L5XYQBG4.cjs.map +1 -1
  93. package/dist/chunk-LCZEBSTH.cjs.map +1 -1
  94. package/dist/{chunk-ETMFCGHO.cjs → chunk-LG7UXZKN.cjs} +2 -2
  95. package/dist/chunk-LG7UXZKN.cjs.map +1 -0
  96. package/dist/chunk-LLRM7AW7.cjs.map +1 -1
  97. package/dist/chunk-LONV4KUS.cjs +2 -0
  98. package/dist/chunk-LONV4KUS.cjs.map +1 -0
  99. package/dist/chunk-LUPESR7S.cjs.map +1 -1
  100. package/dist/chunk-M3W3RDZF.cjs.map +1 -1
  101. package/dist/chunk-MIEXPALS.cjs.map +1 -1
  102. package/dist/chunk-MQFII6MR.cjs.map +1 -1
  103. package/dist/{chunk-UFYY2K4G.js → chunk-MV2F4DQ6.js} +2 -2
  104. package/dist/chunk-MVSJTIGR.cjs.map +1 -1
  105. package/dist/chunk-N7XCSNC7.cjs.map +1 -1
  106. package/dist/chunk-NNQYMABK.cjs.map +1 -1
  107. package/dist/chunk-NPQ77LO4.cjs.map +1 -1
  108. package/dist/chunk-NU2LARFE.cjs.map +1 -1
  109. package/dist/chunk-NVLJOTGF.cjs.map +1 -1
  110. package/dist/chunk-NVLQ55J2.cjs.map +1 -1
  111. package/dist/chunk-O5QH7LLM.cjs.map +1 -1
  112. package/dist/chunk-OGP3AZFM.cjs.map +1 -1
  113. package/dist/chunk-ONPGFM6G.cjs.map +1 -1
  114. package/dist/chunk-P7XCQ7WV.cjs.map +1 -1
  115. package/dist/{chunk-X7RJP4DR.cjs → chunk-PU67BXVP.cjs} +1 -1
  116. package/dist/chunk-PU67BXVP.cjs.map +1 -0
  117. package/dist/chunk-PYRSJ4KI.cjs.map +1 -1
  118. package/dist/chunk-Q2SNIYQS.cjs.map +1 -1
  119. package/dist/chunk-QOZ5S3UC.cjs.map +1 -1
  120. package/dist/chunk-R3NVN3FY.cjs.map +1 -1
  121. package/dist/chunk-R74LEJVE.cjs.map +1 -1
  122. package/dist/chunk-RAXM7FU3.cjs.map +1 -1
  123. package/dist/chunk-RLII6GIK.cjs.map +1 -1
  124. package/dist/chunk-RMTW3TW2.cjs.map +1 -1
  125. package/dist/chunk-SEQAFKIV.cjs.map +1 -1
  126. package/dist/chunk-SHOLGUSO.cjs.map +1 -1
  127. package/dist/chunk-SQK2VOFN.cjs.map +1 -1
  128. package/dist/{chunk-BRQSQXKK.js → chunk-SSKDGT5N.js} +1 -1
  129. package/dist/chunk-SSKDGT5N.js.map +1 -0
  130. package/dist/chunk-TAUWRIFY.cjs.map +1 -1
  131. package/dist/chunk-TJQMBWXU.cjs.map +1 -1
  132. package/dist/chunk-TNMEWZPW.cjs.map +1 -1
  133. package/dist/chunk-UCS53L2H.cjs.map +1 -1
  134. package/dist/chunk-ULLUQLTA.cjs.map +1 -1
  135. package/dist/chunk-UO65Z4DR.cjs.map +1 -1
  136. package/dist/chunk-UXW3L3L6.cjs.map +1 -1
  137. package/dist/{chunk-IMM23TO5.cjs → chunk-V3A7ZIGT.cjs} +2 -2
  138. package/dist/chunk-V3A7ZIGT.cjs.map +1 -0
  139. package/dist/chunk-VMGJFJIM.cjs.map +1 -1
  140. package/dist/chunk-VR7T3I5N.cjs.map +1 -1
  141. package/dist/chunk-VWJZWXTJ.cjs.map +1 -1
  142. package/dist/chunk-VX3R7DUJ.cjs.map +1 -1
  143. package/dist/{chunk-LTEGKVQQ.js → chunk-W4M6PGBQ.js} +2 -2
  144. package/dist/chunk-WAK73JNG.cjs.map +1 -1
  145. package/dist/chunk-WCOWHFZD.cjs.map +1 -1
  146. package/dist/chunk-WEF4N7J4.cjs.map +1 -1
  147. package/dist/{chunk-4X7UJTXJ.js → chunk-WH4WW45N.js} +2 -2
  148. package/dist/chunk-WHJI4PQ2.cjs.map +1 -1
  149. package/dist/chunk-WK6DXBUD.cjs.map +1 -1
  150. package/dist/chunk-WPWV7ZEM.cjs.map +1 -1
  151. package/dist/chunk-WSRQ3X55.cjs.map +1 -1
  152. package/dist/chunk-X6SZNPFL.cjs.map +1 -1
  153. package/dist/chunk-X764QBCC.cjs.map +1 -1
  154. package/dist/{chunk-L5OF6DSH.cjs → chunk-XAU2ICXA.cjs} +2 -2
  155. package/dist/chunk-XAU2ICXA.cjs.map +1 -0
  156. package/dist/chunk-XH7UHZOF.cjs.map +1 -1
  157. package/dist/chunk-XICDURQQ.cjs.map +1 -1
  158. package/dist/chunk-XMUXVBF2.cjs.map +1 -1
  159. package/dist/chunk-XX5NP5VA.cjs.map +1 -1
  160. package/dist/chunk-Y6NKJM35.cjs.map +1 -1
  161. package/dist/chunk-YEP2NVSS.js +2 -0
  162. package/dist/chunk-YEP2NVSS.js.map +1 -0
  163. package/dist/{chunk-PRTEIKN2.js → chunk-YO6FIHXC.js} +1 -1
  164. package/dist/chunk-YO6FIHXC.js.map +1 -0
  165. package/dist/chunk-ZBG4FI7E.cjs.map +1 -1
  166. package/dist/chunk-ZEDMMWJI.cjs.map +1 -1
  167. package/dist/chunk-ZEQQVU3K.cjs.map +1 -1
  168. package/dist/chunk-ZJQITDTA.cjs.map +1 -1
  169. package/dist/common/assert.cjs.map +1 -1
  170. package/dist/common/bin/index.cjs.map +1 -1
  171. package/dist/common/bin/lib0/binary.cjs.map +1 -1
  172. package/dist/common/bin/lib0/buffer.cjs.map +1 -1
  173. package/dist/common/bin/lib0/create.cjs.map +1 -1
  174. package/dist/common/bin/lib0/decoding.cjs.map +1 -1
  175. package/dist/common/bin/lib0/encoding.cjs.map +1 -1
  176. package/dist/common/bin/lib0/string.cjs.map +1 -1
  177. package/dist/common/crypto/aes-sealed.cjs.map +1 -1
  178. package/dist/common/crypto/crypto.cjs.map +1 -1
  179. package/dist/common/crypto/index.cjs.map +1 -1
  180. package/dist/common/crypto/xaes.cjs.map +1 -1
  181. package/dist/common/csv.cjs.map +1 -1
  182. package/dist/common/data/array.cjs.map +1 -1
  183. package/dist/common/data/basex-secure.cjs.map +1 -1
  184. package/dist/common/data/basex.cjs.map +1 -1
  185. package/dist/common/data/bin-types.cjs.map +1 -1
  186. package/dist/common/data/bin.cjs.map +1 -1
  187. package/dist/common/data/camelcase.cjs.map +1 -1
  188. package/dist/common/data/convert.cjs.map +1 -1
  189. package/dist/common/data/datauri.cjs.map +1 -1
  190. package/dist/common/data/day-legacy.cjs +1 -1
  191. package/dist/common/data/day-legacy.cjs.map +1 -1
  192. package/dist/common/data/day-legacy.js +1 -1
  193. package/dist/common/data/day.cjs +1 -1
  194. package/dist/common/data/day.cjs.map +1 -1
  195. package/dist/common/data/day.d.cts +19 -1
  196. package/dist/common/data/day.d.ts +19 -1
  197. package/dist/common/data/day.js +1 -1
  198. package/dist/common/data/decimal.cjs.map +1 -1
  199. package/dist/common/data/deep.cjs.map +1 -1
  200. package/dist/common/data/diff.cjs.map +1 -1
  201. package/dist/common/data/distributed.cjs.map +1 -1
  202. package/dist/common/data/format.cjs.map +1 -1
  203. package/dist/common/data/html.cjs.map +1 -1
  204. package/dist/common/data/index.cjs +1 -1
  205. package/dist/common/data/index.cjs.map +1 -1
  206. package/dist/common/data/index.d.cts +1 -1
  207. package/dist/common/data/index.d.ts +1 -1
  208. package/dist/common/data/index.js +1 -1
  209. package/dist/common/data/is.cjs.map +1 -1
  210. package/dist/common/data/json.cjs.map +1 -1
  211. package/dist/common/data/list.cjs.map +1 -1
  212. package/dist/common/data/lru.cjs.map +1 -1
  213. package/dist/common/data/math.cjs.map +1 -1
  214. package/dist/common/data/message.cjs.map +1 -1
  215. package/dist/common/data/object-changes.cjs.map +1 -1
  216. package/dist/common/data/object.cjs.map +1 -1
  217. package/dist/common/data/orderby.cjs.map +1 -1
  218. package/dist/common/data/path.cjs.map +1 -1
  219. package/dist/common/data/regexp.cjs.map +1 -1
  220. package/dist/common/data/rounding.cjs.map +1 -1
  221. package/dist/common/data/signal.cjs.map +1 -1
  222. package/dist/common/data/sortable.cjs.map +1 -1
  223. package/dist/common/data/sorted.cjs.map +1 -1
  224. package/dist/common/data/string-deburr.cjs.map +1 -1
  225. package/dist/common/data/string-hash-fnv.cjs.map +1 -1
  226. package/dist/common/data/string-hash-pool.cjs.map +1 -1
  227. package/dist/common/data/url.cjs.map +1 -1
  228. package/dist/common/data/utils.cjs.map +1 -1
  229. package/dist/common/data/wordlist.cjs.map +1 -1
  230. package/dist/common/data/xrx.cjs.map +1 -1
  231. package/dist/common/dispose-defer.cjs.map +1 -1
  232. package/dist/common/dispose-types.cjs.map +1 -1
  233. package/dist/common/dispose-utils.cjs.map +1 -1
  234. package/dist/common/exec/index.cjs +1 -1
  235. package/dist/common/exec/index.cjs.map +1 -1
  236. package/dist/common/exec/index.js +1 -1
  237. package/dist/common/exec/mutex.cjs.map +1 -1
  238. package/dist/common/exec/pool.cjs +1 -1
  239. package/dist/common/exec/pool.cjs.map +1 -1
  240. package/dist/common/exec/pool.js +1 -1
  241. package/dist/common/exec/progress.cjs.map +1 -1
  242. package/dist/common/exec/promise.cjs.map +1 -1
  243. package/dist/common/exec/queue.cjs.map +1 -1
  244. package/dist/common/exec/throttle-debounce.cjs.map +1 -1
  245. package/dist/common/global.cjs.map +1 -1
  246. package/dist/common/index.cjs +1 -1
  247. package/dist/common/index.cjs.map +1 -1
  248. package/dist/common/index.d.cts +1 -1
  249. package/dist/common/index.d.ts +1 -1
  250. package/dist/common/index.js +1 -1
  251. package/dist/common/localhost.cjs.map +1 -1
  252. package/dist/common/log/index.cjs.map +1 -1
  253. package/dist/common/log/log-base.cjs.map +1 -1
  254. package/dist/common/log/log-colors.cjs.map +1 -1
  255. package/dist/common/log/log-config.cjs.map +1 -1
  256. package/dist/common/log/log-console-capture.cjs.map +1 -1
  257. package/dist/common/log/log-console-original.cjs.map +1 -1
  258. package/dist/common/log/log-console.cjs.map +1 -1
  259. package/dist/common/log/log-context.cjs.map +1 -1
  260. package/dist/common/log/log-filter.cjs.map +1 -1
  261. package/dist/common/log/log-memory.cjs.map +1 -1
  262. package/dist/common/log/log-noop.cjs.map +1 -1
  263. package/dist/common/log/log.cjs.map +1 -1
  264. package/dist/common/msg/channel-debug.cjs.map +1 -1
  265. package/dist/common/msg/channel-local.cjs.map +1 -1
  266. package/dist/common/msg/channel-resilient.cjs.map +1 -1
  267. package/dist/common/msg/channel-wkwebview.cjs +2 -0
  268. package/dist/common/msg/channel-wkwebview.cjs.map +1 -0
  269. package/dist/common/msg/channel-wkwebview.d.cts +22 -0
  270. package/dist/common/msg/channel-wkwebview.d.ts +22 -0
  271. package/dist/common/msg/channel-wkwebview.js +2 -0
  272. package/dist/common/msg/channel-wkwebview.js.map +1 -0
  273. package/dist/common/msg/channel.cjs.map +1 -1
  274. package/dist/common/msg/emitter.cjs.map +1 -1
  275. package/dist/common/msg/encoder.cjs.map +1 -1
  276. package/dist/common/msg/index.cjs.map +1 -1
  277. package/dist/common/msg/messages.cjs.map +1 -1
  278. package/dist/common/msg/pipe.cjs.map +1 -1
  279. package/dist/common/msg/pubsub.cjs.map +1 -1
  280. package/dist/common/msg/rpc.cjs.map +1 -1
  281. package/dist/common/network.cjs.map +1 -1
  282. package/dist/common/platform.cjs.map +1 -1
  283. package/dist/common/schema/_sandbox/sandbox-inherit.cjs +1 -0
  284. package/dist/common/schema/_sandbox/sandbox-inherit.cjs.map +1 -0
  285. package/dist/common/schema/_sandbox/sandbox-inherit.d.cts +2 -0
  286. package/dist/common/schema/_sandbox/sandbox-inherit.d.ts +2 -0
  287. package/dist/common/schema/_sandbox/sandbox-inherit.js +1 -0
  288. package/dist/common/schema/_sandbox/sandbox-inherit.js.map +1 -0
  289. package/dist/common/schema/_sandbox/sandbox.cjs +1 -0
  290. package/dist/common/schema/_sandbox/sandbox.cjs.map +1 -0
  291. package/dist/common/schema/_sandbox/sandbox.d.cts +2 -0
  292. package/dist/common/schema/_sandbox/sandbox.d.ts +2 -0
  293. package/dist/common/schema/_sandbox/sandbox.js +1 -0
  294. package/dist/common/schema/_sandbox/sandbox.js.map +1 -0
  295. package/dist/common/schema/_sandbox/sandbox.xspec.cjs +1 -0
  296. package/dist/common/schema/_sandbox/sandbox.xspec.cjs.map +1 -0
  297. package/dist/common/schema/_sandbox/sandbox.xspec.d.cts +2 -0
  298. package/dist/common/schema/_sandbox/sandbox.xspec.d.ts +2 -0
  299. package/dist/common/schema/_sandbox/sandbox.xspec.js +1 -0
  300. package/dist/common/schema/_sandbox/sandbox.xspec.js.map +1 -0
  301. package/dist/common/schema/export-json-schema.cjs +1 -1
  302. package/dist/common/schema/export-json-schema.cjs.map +1 -1
  303. package/dist/common/schema/export-json-schema.js +1 -1
  304. package/dist/common/schema/export-swift.cjs +1 -1
  305. package/dist/common/schema/export-swift.cjs.map +1 -1
  306. package/dist/common/schema/export-swift.js +1 -1
  307. package/dist/common/schema/export-typescript.cjs.map +1 -1
  308. package/dist/common/schema/index.cjs +1 -1
  309. package/dist/common/schema/index.cjs.map +1 -1
  310. package/dist/common/schema/index.js +1 -1
  311. package/dist/common/schema/parse-args.cjs +1 -1
  312. package/dist/common/schema/parse-args.cjs.map +1 -1
  313. package/dist/common/schema/parse-args.js +1 -1
  314. package/dist/common/schema/parse-env.cjs +1 -1
  315. package/dist/common/schema/parse-env.cjs.map +1 -1
  316. package/dist/common/schema/parse-env.js +1 -1
  317. package/dist/common/schema/parse-object.cjs +1 -1
  318. package/dist/common/schema/parse-object.cjs.map +1 -1
  319. package/dist/common/schema/parse-object.js +1 -1
  320. package/dist/common/schema/schema-standard.cjs.map +1 -1
  321. package/dist/common/schema/schema.cjs.map +1 -1
  322. package/dist/common/schema/serialize.cjs.map +1 -1
  323. package/dist/common/schema/type-test.cjs.map +1 -1
  324. package/dist/common/schema/utils.cjs.map +1 -1
  325. package/dist/common/schema/z-collection.cjs.map +1 -1
  326. package/dist/common/schema/z.cjs.map +1 -1
  327. package/dist/common/storage/index.cjs.map +1 -1
  328. package/dist/common/storage/memstorage.cjs.map +1 -1
  329. package/dist/common/test.cjs +1 -1
  330. package/dist/common/test.cjs.map +1 -1
  331. package/dist/common/test.js +1 -1
  332. package/dist/common/time.cjs.map +1 -1
  333. package/dist/common/timeout.cjs.map +1 -1
  334. package/dist/common/types.cjs.map +1 -1
  335. package/dist/common/utils.cjs.map +1 -1
  336. package/dist/common/uuid.cjs.map +1 -1
  337. package/dist/index.all.cjs +1 -1
  338. package/dist/index.all.cjs.map +1 -1
  339. package/dist/index.all.d.cts +1 -1
  340. package/dist/index.all.d.ts +1 -1
  341. package/dist/index.all.js +1 -1
  342. package/dist/index.browser.cjs +1 -1
  343. package/dist/index.browser.cjs.map +1 -1
  344. package/dist/index.browser.d.cts +1 -1
  345. package/dist/index.browser.d.ts +1 -1
  346. package/dist/index.browser.js +1 -1
  347. package/dist/index.jsr.cjs.map +1 -1
  348. package/dist/index.node.cjs +1 -1
  349. package/dist/index.node.cjs.map +1 -1
  350. package/dist/index.node.d.cts +1 -1
  351. package/dist/index.node.d.ts +1 -1
  352. package/dist/index.node.js +1 -1
  353. package/dist/node/args.cjs.map +1 -1
  354. package/dist/node/clipboard.cjs.map +1 -1
  355. package/dist/node/crypto.cjs.map +1 -1
  356. package/dist/node/env.cjs.map +1 -1
  357. package/dist/node/files-async.cjs.map +1 -1
  358. package/dist/node/files.cjs.map +1 -1
  359. package/dist/node/filestorage.cjs.map +1 -1
  360. package/dist/node/fs.cjs.map +1 -1
  361. package/dist/node/glob.cjs.map +1 -1
  362. package/dist/node/index.cjs +1 -1
  363. package/dist/node/index.cjs.map +1 -1
  364. package/dist/node/index.js +1 -1
  365. package/dist/node/log/index.cjs +1 -1
  366. package/dist/node/log/index.cjs.map +1 -1
  367. package/dist/node/log/index.js +1 -1
  368. package/dist/node/log/log-context-node.cjs +1 -1
  369. package/dist/node/log/log-context-node.cjs.map +1 -1
  370. package/dist/node/log/log-context-node.js +1 -1
  371. package/dist/node/log/log-file-rotation.cjs +1 -1
  372. package/dist/node/log/log-file-rotation.cjs.map +1 -1
  373. package/dist/node/log/log-file-rotation.js +1 -1
  374. package/dist/node/log/log-file.cjs +1 -1
  375. package/dist/node/log/log-file.cjs.map +1 -1
  376. package/dist/node/log/log-file.js +1 -1
  377. package/dist/node/log/log-node.cjs.map +1 -1
  378. package/dist/node/log/log-rotation.cjs.map +1 -1
  379. package/dist/node/log/log-util.cjs.map +1 -1
  380. package/dist/node/open-browser.cjs.map +1 -1
  381. package/dist/shim-window.d.cjs.map +1 -1
  382. package/package.json +16 -15
  383. package/src/common/data/day.spec.ts +20 -1
  384. package/src/common/data/day.ts +44 -0
  385. package/src/common/exec/pool.ts +1 -1
  386. package/src/common/msg/channel-wkwebview.ts +47 -0
  387. package/src/common/schema/_sandbox/sandbox-inherit.ts +13 -0
  388. package/src/common/schema/_sandbox/sandbox.ts +42 -0
  389. package/src/common/schema/_sandbox/sandbox.xspec.ts +45 -0
  390. package/src/common/schema/parse-object.ts +1 -3
  391. package/src/common/time.spec.ts +3 -4
  392. package/dist/chunk-5BA3O5XZ.cjs.map +0 -1
  393. package/dist/chunk-AUYYYDRM.cjs.map +0 -1
  394. package/dist/chunk-BRQSQXKK.js.map +0 -1
  395. package/dist/chunk-DAD3M2IM.cjs.map +0 -1
  396. package/dist/chunk-ETMFCGHO.cjs.map +0 -1
  397. package/dist/chunk-IMM23TO5.cjs.map +0 -1
  398. package/dist/chunk-KHK37DTS.cjs +0 -2
  399. package/dist/chunk-KHK37DTS.cjs.map +0 -1
  400. package/dist/chunk-L5OF6DSH.cjs.map +0 -1
  401. package/dist/chunk-LXFL3VYA.cjs.map +0 -1
  402. package/dist/chunk-PRTEIKN2.js.map +0 -1
  403. package/dist/chunk-TSNDVQHW.js +0 -2
  404. package/dist/chunk-TSNDVQHW.js.map +0 -1
  405. package/dist/chunk-X7RJP4DR.cjs.map +0 -1
  406. /package/dist/{chunk-RZPIAOGG.js.map → chunk-BPPN3ZNV.js.map} +0 -0
  407. /package/dist/{chunk-AH3LPY2A.js.map → chunk-DBXJFUZ7.js.map} +0 -0
  408. /package/dist/{chunk-LI2YWV3G.js.map → chunk-KWFFSQMW.js.map} +0 -0
  409. /package/dist/{chunk-UFYY2K4G.js.map → chunk-MV2F4DQ6.js.map} +0 -0
  410. /package/dist/{chunk-LTEGKVQQ.js.map → chunk-W4M6PGBQ.js.map} +0 -0
  411. /package/dist/{chunk-4X7UJTXJ.js.map → chunk-WH4WW45N.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-XX5NP5VA.cjs","../src/node/glob.ts"],"names":["globToRegExp","glob","opts","str","reStr","extended","globstar","inGroup","flags","c","i","len"],"mappings":"AAAA,iIAAwC,SCgBxBA,CAAAA,CAAaC,CAAAA,CAAcC,CAAAA,CAAY,CACrD,EAAA,CAAI,OAAOD,CAAAA,EAAS,QAAA,CAClB,MAAM,IAAI,SAAA,CAAU,mBAAmB,CAAA,CAEzC,IAAME,CAAAA,CAAM,MAAA,CAAOF,CAAI,CAAA,CAGnBG,CAAAA,CAAQ,EAAA,CAKNC,CAAAA,CAAWH,CAAAA,CAAO,CAAC,CAACA,CAAAA,CAAK,QAAA,CAAW,CAAA,CAAA,CAWpCI,CAAAA,CAAWJ,CAAAA,CAAO,CAAC,CAACA,CAAAA,CAAK,QAAA,CAAW,CAAA,CAAA,CAItCK,CAAAA,CAAU,CAAA,CAAA,CAGRC,CAAAA,CAASN,CAAAA,EAAQ,OAAQA,CAAAA,CAAK,KAAA,EAAW,QAAA,CAAYA,CAAAA,CAAK,KAAA,CAAQ,EAAA,CAEpEO,CAAAA,CACJ,GAAA,CAAA,IAASC,CAAAA,CAAI,CAAA,CAAGC,CAAAA,CAAMR,CAAAA,CAAI,MAAA,CAAQO,CAAAA,CAAIC,CAAAA,CAAKD,CAAAA,EAAAA,CAGzC,MAAA,CAFAD,CAAAA,CAAIN,CAAAA,CAAIO,CAAC,CAAA,CAEDD,CAAAA,CAAG,CACT,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACHL,CAAAA,EAAS,CAAA,EAAA,EAAKK,CAAC,CAAA,CAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-XX5NP5VA.cjs","sourcesContent":[null,"// Original at https://github.com/fitzgen/glob-to-regexp\n\n/*\nCopyright (c) 2013, Nick Fitzgerald\n\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\nexport function globToRegExp(glob: string, opts?: any) {\n if (typeof glob !== 'string')\n throw new TypeError('Expected a string')\n\n const str = String(glob)\n\n // The regexp we are building, as a string.\n let reStr = ''\n\n // Whether we are matching so called \"extended\" globs (like bash) and should\n // support single character matching, matching ranges of characters, group\n // matching, etc.\n const extended = opts ? !!opts.extended : false\n\n // When globstar is _false_ (default), '/foo/*' is translated a regexp like\n // '^\\/foo\\/.*$' which will match any string beginning with '/foo/'\n // When globstar is _true_, '/foo/*' is translated to regexp like\n // '^\\/foo\\/[^/]*$' which will match any string beginning with '/foo/' BUT\n // which does not have a '/' to the right of it.\n // E.g. with '/foo/*' these will match: '/foo/bar', '/foo/bar.txt' but\n // these will not '/foo/bar/baz', '/foo/bar/baz.txt'\n // Lastely, when globstar is _true_, '/foo/**' is equivelant to '/foo/*' when\n // globstar is _false_\n const globstar = opts ? !!opts.globstar : false\n\n // If we are doing extended matching, this boolean is true when we are inside\n // a group (eg {*.html,*.js}), and false otherwise.\n let inGroup = false\n\n // RegExp flags (eg \"i\" ) to pass in to RegExp constructor.\n const flags = (opts && typeof (opts.flags) === 'string') ? opts.flags : ''\n\n let c\n for (let i = 0, len = str.length; i < len; i++) {\n c = str[i]\n\n switch (c) {\n case '/':\n case '$':\n case '^':\n case '+':\n case '.':\n case '(':\n case ')':\n case '=':\n case '!':\n case '|':\n reStr += `\\\\${c}`\n break\n\n case '?':\n if (extended)\n reStr += '.'\n break\n\n case '[':\n case ']':\n if (extended)\n reStr += c\n\n break\n\n case '{':\n if (extended) {\n inGroup = true\n reStr += '('\n }\n break\n\n case '}':\n if (extended) {\n inGroup = false\n reStr += ')'\n }\n break\n\n case ',':\n if (inGroup)\n reStr += '|'\n else\n reStr += `\\\\${c}`\n break\n\n case '*':\n {\n // Move over all consecutive \"*\"'s.\n // Also store the previous and next characters\n const prevChar = str[i - 1]\n let starCount = 1\n while (str[i + 1] === '*') {\n starCount++\n i++\n }\n const nextChar = str[i + 1]\n\n if (!globstar) {\n // globstar is disabled, so treat any number of \"*\" as one\n reStr += '.*'\n }\n else {\n // globstar is enabled, so determine if this is a globstar segment\n const isGlobstar = starCount > 1 // multiple \"*\"'s\n && (prevChar === '/' || prevChar === undefined) // from the start of the segment\n && (nextChar === '/' || nextChar === undefined) // to the end of the segment\n\n if (isGlobstar) {\n // it's a globstar, so match zero or more path segments\n reStr += '((?:[^/]*(?:\\/|$))*)'\n i++ // move over the \"/\"\n }\n else {\n // it's not a globstar, so only match one path segment\n reStr += '([^/]*)'\n }\n }\n }\n break\n\n default:\n reStr += c\n }\n }\n\n // When regexp 'g' flag is specified don't\n // constrain the regular expression with ^ & $\n if (!flags || !~flags.indexOf('g'))\n reStr = `^${reStr}$`\n\n return new RegExp(reStr, flags)\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-XX5NP5VA.cjs","../src/node/glob.ts"],"names":["globToRegExp","glob","opts","str","reStr","extended","globstar","inGroup","flags","c","i","len"],"mappings":"AAAA,iIAAwC,SCgBxBA,CAAAA,CAAaC,CAAAA,CAAcC,CAAAA,CAAY,CACrD,EAAA,CAAI,OAAOD,CAAAA,EAAS,QAAA,CAClB,MAAM,IAAI,SAAA,CAAU,mBAAmB,CAAA,CAEzC,IAAME,CAAAA,CAAM,MAAA,CAAOF,CAAI,CAAA,CAGnBG,CAAAA,CAAQ,EAAA,CAKNC,CAAAA,CAAWH,CAAAA,CAAO,CAAC,CAACA,CAAAA,CAAK,QAAA,CAAW,CAAA,CAAA,CAWpCI,CAAAA,CAAWJ,CAAAA,CAAO,CAAC,CAACA,CAAAA,CAAK,QAAA,CAAW,CAAA,CAAA,CAItCK,CAAAA,CAAU,CAAA,CAAA,CAGRC,CAAAA,CAASN,CAAAA,EAAQ,OAAQA,CAAAA,CAAK,KAAA,EAAW,QAAA,CAAYA,CAAAA,CAAK,KAAA,CAAQ,EAAA,CAEpEO,CAAAA,CACJ,GAAA,CAAA,IAASC,CAAAA,CAAI,CAAA,CAAGC,CAAAA,CAAMR,CAAAA,CAAI,MAAA,CAAQO,CAAAA,CAAIC,CAAAA,CAAKD,CAAAA,EAAAA,CAGzC,MAAA,CAFAD,CAAAA,CAAIN,CAAAA,CAAIO,CAAC,CAAA,CAEDD,CAAAA,CAAG,CACT,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACL,IAAK,GAAA,CACHL,CAAAA,EAAS,CAAA,EAAA,EAAKK,CAAC,CAAA,CAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-XX5NP5VA.cjs","sourcesContent":[null,"// Original at https://github.com/fitzgen/glob-to-regexp\n\n/*\nCopyright (c) 2013, Nick Fitzgerald\n\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\nexport function globToRegExp(glob: string, opts?: any) {\n if (typeof glob !== 'string')\n throw new TypeError('Expected a string')\n\n const str = String(glob)\n\n // The regexp we are building, as a string.\n let reStr = ''\n\n // Whether we are matching so called \"extended\" globs (like bash) and should\n // support single character matching, matching ranges of characters, group\n // matching, etc.\n const extended = opts ? !!opts.extended : false\n\n // When globstar is _false_ (default), '/foo/*' is translated a regexp like\n // '^\\/foo\\/.*$' which will match any string beginning with '/foo/'\n // When globstar is _true_, '/foo/*' is translated to regexp like\n // '^\\/foo\\/[^/]*$' which will match any string beginning with '/foo/' BUT\n // which does not have a '/' to the right of it.\n // E.g. with '/foo/*' these will match: '/foo/bar', '/foo/bar.txt' but\n // these will not '/foo/bar/baz', '/foo/bar/baz.txt'\n // Lastely, when globstar is _true_, '/foo/**' is equivelant to '/foo/*' when\n // globstar is _false_\n const globstar = opts ? !!opts.globstar : false\n\n // If we are doing extended matching, this boolean is true when we are inside\n // a group (eg {*.html,*.js}), and false otherwise.\n let inGroup = false\n\n // RegExp flags (eg \"i\" ) to pass in to RegExp constructor.\n const flags = (opts && typeof (opts.flags) === 'string') ? opts.flags : ''\n\n let c\n for (let i = 0, len = str.length; i < len; i++) {\n c = str[i]\n\n switch (c) {\n case '/':\n case '$':\n case '^':\n case '+':\n case '.':\n case '(':\n case ')':\n case '=':\n case '!':\n case '|':\n reStr += `\\\\${c}`\n break\n\n case '?':\n if (extended)\n reStr += '.'\n break\n\n case '[':\n case ']':\n if (extended)\n reStr += c\n\n break\n\n case '{':\n if (extended) {\n inGroup = true\n reStr += '('\n }\n break\n\n case '}':\n if (extended) {\n inGroup = false\n reStr += ')'\n }\n break\n\n case ',':\n if (inGroup)\n reStr += '|'\n else\n reStr += `\\\\${c}`\n break\n\n case '*':\n {\n // Move over all consecutive \"*\"'s.\n // Also store the previous and next characters\n const prevChar = str[i - 1]\n let starCount = 1\n while (str[i + 1] === '*') {\n starCount++\n i++\n }\n const nextChar = str[i + 1]\n\n if (!globstar) {\n // globstar is disabled, so treat any number of \"*\" as one\n reStr += '.*'\n }\n else {\n // globstar is enabled, so determine if this is a globstar segment\n const isGlobstar = starCount > 1 // multiple \"*\"'s\n && (prevChar === '/' || prevChar === undefined) // from the start of the segment\n && (nextChar === '/' || nextChar === undefined) // to the end of the segment\n\n if (isGlobstar) {\n // it's a globstar, so match zero or more path segments\n reStr += '((?:[^/]*(?:\\/|$))*)'\n i++ // move over the \"/\"\n }\n else {\n // it's not a globstar, so only match one path segment\n reStr += '([^/]*)'\n }\n }\n }\n break\n\n default:\n reStr += c\n }\n }\n\n // When regexp 'g' flag is specified don't\n // constrain the regular expression with ^ & $\n if (!flags || !~flags.indexOf('g'))\n reStr = `^${reStr}$`\n\n return new RegExp(reStr, flags)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-Y6NKJM35.cjs","../src/browser/localstorage.ts"],"names":["LocalStorage","__name","opt"],"mappings":"AAAA,iPAAwC,wDAAyC,ICSpEA,CAAAA,WAAN,KAAyD,CAThE,MASgE,CAAAC,iCAAAA,IAAA,CAAA,cAAA,CAAA,CACtD,eAEA,MAAA,CAAS,CAAA,EAAA,WAIjB,CAAYC,CAAAA,CAA0B,qCACpC,IAAA,CAAK,IAAA,kBAAOA,CAAAA,CAAI,IAAA,SAAQ,QAAA,CACxB,IAAA,CAAK,MAAA,CAAS,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-Y6NKJM35.cjs","sourcesContent":[null,"import type { Json, ObjectStorage } from '../common/types'\nimport { jsonStringifySafe } from '../common/data/json'\n\nexport interface LocalStorageOptions {\n name: string\n objectFromString?: (data: string) => any\n objectToString?: (data: any) => string\n}\n\nexport class LocalStorage<T = Json> implements ObjectStorage<T> {\n private name: string\n private prefix: string\n private pretty = false\n private objectFromString: (data: string) => any\n private objectToString: (data: any) => string\n\n constructor(opt: LocalStorageOptions) {\n this.name = opt.name ?? 'zeed'\n this.prefix = `${opt.name}$`\n this.objectToString = opt.objectToString ?? ((data: any): string => {\n return this.pretty\n ? jsonStringifySafe(data, null, 2)\n : jsonStringifySafe(data)\n })\n\n this.objectFromString = opt.objectFromString ?? ((data: string) => {\n try {\n return JSON.parse(data)\n }\n catch (err) {\n // log.warn(`LocalStorage parse error '${err}' in`, data)\n }\n })\n }\n\n setItem(key: string, value: T): void {\n const data = this.objectToString(value)\n localStorage.setItem(`${this.prefix}${key}`, data)\n }\n\n getItem(key: string): T | undefined {\n const value = localStorage.getItem(`${this.prefix}${key}`)\n if (value != null)\n return this.objectFromString(value)\n }\n\n removeItem(key: string): void {\n localStorage.removeItem(`${this.prefix}${key}`)\n }\n\n clear(): void {\n Object.keys(localStorage).filter(key => key.startsWith(this.prefix)).forEach((key) => {\n localStorage.removeItem(key)\n })\n }\n\n allKeys(): string[] {\n const prefixLength = this.prefix.length\n return Object.keys(localStorage).filter(key => key.startsWith(this.prefix)).map(key => key.substr(prefixLength))\n }\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-Y6NKJM35.cjs","../src/browser/localstorage.ts"],"names":["LocalStorage","__name","opt"],"mappings":"AAAA,iPAAwC,wDAAyC,ICSpEA,CAAAA,WAAN,KAAyD,CAThE,MASgE,CAAAC,iCAAAA,IAAA,CAAA,cAAA,CAAA,CACtD,eAEA,MAAA,CAAS,CAAA,EAAA,WAIjB,CAAYC,CAAAA,CAA0B,qCACpC,IAAA,CAAK,IAAA,kBAAOA,CAAAA,CAAI,IAAA,SAAQ,QAAA,CACxB,IAAA,CAAK,MAAA,CAAS,CAAA,EAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-Y6NKJM35.cjs","sourcesContent":[null,"import type { Json, ObjectStorage } from '../common/types'\nimport { jsonStringifySafe } from '../common/data/json'\n\nexport interface LocalStorageOptions {\n name: string\n objectFromString?: (data: string) => any\n objectToString?: (data: any) => string\n}\n\nexport class LocalStorage<T = Json> implements ObjectStorage<T> {\n private name: string\n private prefix: string\n private pretty = false\n private objectFromString: (data: string) => any\n private objectToString: (data: any) => string\n\n constructor(opt: LocalStorageOptions) {\n this.name = opt.name ?? 'zeed'\n this.prefix = `${opt.name}$`\n this.objectToString = opt.objectToString ?? ((data: any): string => {\n return this.pretty\n ? jsonStringifySafe(data, null, 2)\n : jsonStringifySafe(data)\n })\n\n this.objectFromString = opt.objectFromString ?? ((data: string) => {\n try {\n return JSON.parse(data)\n }\n catch (err) {\n // log.warn(`LocalStorage parse error '${err}' in`, data)\n }\n })\n }\n\n setItem(key: string, value: T): void {\n const data = this.objectToString(value)\n localStorage.setItem(`${this.prefix}${key}`, data)\n }\n\n getItem(key: string): T | undefined {\n const value = localStorage.getItem(`${this.prefix}${key}`)\n if (value != null)\n return this.objectFromString(value)\n }\n\n removeItem(key: string): void {\n localStorage.removeItem(`${this.prefix}${key}`)\n }\n\n clear(): void {\n Object.keys(localStorage).filter(key => key.startsWith(this.prefix)).forEach((key) => {\n localStorage.removeItem(key)\n })\n }\n\n allKeys(): string[] {\n const prefixLength = this.prefix.length\n return Object.keys(localStorage).filter(key => key.startsWith(this.prefix)).map(key => key.substr(prefixLength))\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{s as D}from"./chunk-73A2QE6J.js";import{a as n}from"./chunk-5NKC2EQJ.js";var V;function g(e=20000101){V=e}n(g,"setDayTest");var S=D;function o(e){return Math.floor(e/1e4)}n(o,"dayYear");function f(e){return Math.floor(e/100%100)}n(f,"dayMonth");function s(e){return Math.floor(e%100)}n(s,"dayDay");function F(e){return[o(e),f(e),s(e)]}n(F,"dayToParts");function l(e,t=!1){return t?new Date(`${T(e)}T00:00:00.000Z`):new Date(e/1e4,Math.max(0,e/100%100-1),Math.max(1,e%100))}n(l,"dayToDate");function x(){return V??u(new Date)}n(x,"dayFromToday");function w(e,t=!1){if(typeof e=="number")return e<100?void 0:e;if(typeof e=="string")return d(e);if(Array.isArray(e)&&e.length>=1)return y(...e);if(e instanceof Date)return u(e,t)}n(w,"dayFromAny");function I(e){return l(e,!0)}n(I,"dayToDateUTC");function O(e){return l(e,!0)}n(O,"dayToDateGMT");function u(e,t=!1){return t?d(e.toISOString()):e.getFullYear()*1e4+(e.getMonth()+1)*100+e.getDate()}n(u,"dayFromDate");function Y(e){return u(e,!0)}n(Y,"dayFromDateUTC");function A(e){return u(e,!0)}n(A,"dayFromDateGMT");function C(e,t=!0){return Math.floor(l(e,t).getTime()/1e3)}n(C,"dayToTimestampSeconds");function p(e,t=!0){return l(e,t).getTime()}n(p,"dayToTimestamp");function b(e,t=!0){return u(new Date(e),t)}n(b,"dayFromTimestamp");function U(e,t=!0){return u(new Date(Math.floor(e*1e3)),t)}n(U,"dayFromTimestampSeconds");function T(e,t="-"){let r=String(e);return r.slice(0,4)+t+r.slice(4,6)+t+r.slice(6,8)}n(T,"dayToString");function y(e,t=1,r=1){if(!(t<1||t>12||r<1||r>31))return e*1e4+t*100+r}n(y,"dayFromParts");function d(e){let t=String(e).replace(/\D/g,"").slice(0,8);if(t.length===8)return+t}n(d,"dayFromString");function _(e,t=0){let r=o(e),a=f(e);return t!==0&&(a+=t,r+=Math.floor((a-1)/12),a=Math.floor((a-1)%12)+1,a===0&&(a=12)),y(r,a,1)}n(_,"dayMonthStart");function G(e,t){let r=o(e),a=f(e),m=s(e);t!==0&&(a+=t,r+=Math.floor((a-1)/12),a=Math.floor((a-1)%12)+1,a===0&&(a=12));let c=M(r,a);return y(r,a,Math.min(m,c))}n(G,"dayMonthOffset");function P(e,t=0){let r=o(e);return y(r+t,1,1)}n(P,"dayYearStart");function E(e,t){let r=o(e)+t,a=f(e),m=s(e),c=M(r,a);return y(r,a,Math.min(m,c))}n(E,"dayYearOffset");function M(e,t){return new Date(Date.UTC(e,t,0)).getUTCDate()}n(M,"dayDaysInMonth");function i(e,t){return b(p(e)+t*D)}n(i,"dayOffset");function R(e,t){return Math.round((p(t)-p(e))/D)}n(R,"dayDiff");function Z(e,t){let r=[];for(t==null&&(t=x()),e<0&&(e=i(t,e+1));e<=t;)r.push(e),e=i(e,1);return r}n(Z,"dayRange");function*$(e,t){let r=[];for(t==null&&(t=x()),e<0&&(e=i(t,e+1));e<=t;)yield e,e=i(e,1);return r}n($,"dayIterator");export{g as a,S as b,o as c,f as d,s as e,F as f,l as g,x as h,w as i,I as j,O as k,u as l,Y as m,A as n,C as o,p,b as q,U as r,T as s,y as t,d as u,_ as v,G as w,P as x,E as y,M as z,i as A,R as B,Z as C,$ as D};
2
+ //# sourceMappingURL=chunk-YEP2NVSS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/data/day.ts"],"sourcesContent":["import { TIME_DAY_MS } from \"../time\"\n\n// Functionality variant\nlet testModeDay: number | undefined\n\n/**\n * Enable test mode for date functions by forcing \"today\" to a fixed day value.\n *\n * Use a numeric DayValue like 20000101 (YYYYMMDD). This is intended for tests\n * to make date-based logic deterministic. Call with no args to reset.\n *\n * @param ts - day to use as \"today\" in YYYYMMDD format (default: 20000101)\n */\nexport function setDayTest(ts = 20000101) {\n testModeDay = ts\n}\n\n/** \n * @deprecated use TIME_DAY_MS\n * Number of milliseconds in one calendar day (24 * 60 * 60 * 1000). */\nexport const DAY_MS = TIME_DAY_MS // 1000 * 60 * 60 * 24\n\n/** DayValue is a numeric date encoded as YYYYMMDD (for example 20250907). */\nexport type DayValue = number\n\n/**\n * Accepted inputs for day conversion helpers.\n * - DayValue or number: a YYYYMMDD numeric value\n * - string: a date string (parsed by digits)\n * - Date: JavaScript Date\n * - [year, month?, day?]: numeric parts\n */\nexport type DayInput =\n | DayValue\n | number\n | string\n | Date\n | [number, number?, number?]\n\n/**\n * Extract the year (YYYY) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns year as number (e.g. 2025)\n */\nexport function dayYear(day: DayValue): DayValue {\n return Math.floor(day / 10000)\n}\n\n/**\n * Extract the month (1-12) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns month number (1-12)\n */\nexport function dayMonth(day: DayValue): DayValue {\n return Math.floor((day / 100) % 100)\n}\n\n/**\n * Extract the day of month (1-31) from a DayValue.\n *\n * @param day - day as YYYYMMDD\n * @returns day of month (1-31)\n */\nexport function dayDay(day: DayValue): DayValue {\n return Math.floor(day % 100)\n}\n\n/**\n * Split a DayValue into [year, month, day].\n *\n * @param day - day as YYYYMMDD\n * @returns tuple [year, month, day]\n */\nexport function dayToParts(day: DayValue): [number, number, number] {\n return [dayYear(day), dayMonth(day), dayDay(day)]\n}\n\n/**\n * Convert a DayValue to a JavaScript Date.\n *\n * By default returns a local Date at midnight for the day. If `utc` is true\n * the returned Date represents midnight UTC for that day.\n *\n * @param day - day as YYYYMMDD\n * @param utc - whether to construct the Date in UTC (default: false)\n * @returns Date object for the given day\n */\nexport function dayToDate(day: DayValue, utc = false): Date {\n return utc\n ? new Date(`${dayToString(day)}T00:00:00.000Z`)\n : new Date(\n day / 10000, // year\n Math.max(0, ((day / 100) % 100) - 1), // month\n Math.max(1, day % 100), // day\n )\n}\n\n/**\n * Return today's day as a DayValue (YYYYMMDD).\n *\n * If test mode has been enabled via `setDayTest` this returns the forced\n * value instead. Otherwise it uses the current local date.\n */\nexport function dayFromToday(): DayValue {\n return testModeDay ?? dayFromDate(new Date())\n}\n\n/**\n * Convert multiple input types to a DayValue (YYYYMMDD).\n *\n * Supports numbers (DayValue), strings, Date objects and [year, month?, day?]\n * tuples. Returns undefined for invalid or unsupported values.\n *\n * @param value - input to convert\n * @param utc - when converting from Date, interpret as UTC if true\n */\nexport function dayFromAny(\n value: DayInput,\n utc = false,\n): DayValue | undefined {\n if (typeof value === 'number') {\n if (value < 100)\n return\n return value\n }\n else if (typeof value === 'string') {\n return dayFromString(value)\n }\n else if (Array.isArray(value) && value.length >= 1) {\n return dayFromParts(...value)\n }\n else if (value instanceof Date) {\n return dayFromDate(value, utc)\n // } else if (value instanceof Day) {\n // return value.days\n }\n}\n\n/** Convert a DayValue to a Date at midnight UTC. */\nexport function dayToDateUTC(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\n/**\n * @deprecated use dayToDateUTC\n *\n * Kept for backwards compatibility; returns a Date for midnight UTC.\n */\nexport function dayToDateGMT(day: DayValue): Date {\n return dayToDate(day, true)\n}\n\n/**\n * Convert a JavaScript Date to a DayValue (YYYYMMDD).\n *\n * If `utc` is true the function uses the ISO string representation to\n * calculate the day in UTC. Otherwise it uses local date components.\n */\nexport function dayFromDate(date: Date, utc = false): DayValue {\n return (\n utc\n ? dayFromString(date.toISOString())\n : date.getFullYear() * 10000\n + (date.getMonth() + 1) * 100\n + date.getDate()\n )!\n}\n\n/** Convert a Date to DayValue using UTC. */\nexport function dayFromDateUTC(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\n/** @deprecated use dayFromDateUTC */\n/**\n * Deprecated: use `dayFromDateUTC`.\n *\n * Kept for backwards compatibility; converts a Date to a UTC DayValue.\n */\nexport function dayFromDateGMT(date: Date): DayValue {\n return dayFromDate(date, true)\n}\n\n\n/**\n * Convert a DayValue to a UNIX timestamp in seconds. Returns seconds since\n * epoch for midnight of the given day. Defaults to UTC.\n */\nexport function dayToTimestampSeconds(day: DayValue, utc = true): number {\n return Math.floor(dayToDate(day, utc).getTime() / 1000)\n}\n\n/**\n * Convert a DayValue to a timestamp in milliseconds for midnight of that day.\n * Defaults to UTC when constructing the Date.\n */\nexport function dayToTimestamp(day: DayValue, utc = true): number {\n return dayToDate(day, utc).getTime()\n}\n\n/**\n * Convert a timestamp in milliseconds to a DayValue. The timestamp is turned\n * into a Date and then converted; `utc` controls interpretation.\n */\nexport function dayFromTimestamp(ms: number, utc = true): DayValue {\n return dayFromDate(new Date(ms), utc)\n}\n\n/**\n * Convert a UNIX timestamp in seconds to a DayValue.\n *\n * @param ms - seconds since epoch\n */\nexport function dayFromTimestampSeconds(ms: number, utc = true): DayValue {\n return dayFromDate(new Date(Math.floor(ms * 1000)), utc)\n}\n\n/**\n * Format a DayValue as a string with an optional separator.\n *\n * Example: dayToString(20250907) -> \"2025-09-07\"\n */\nexport function dayToString(day: DayValue, sep = '-') {\n const baseString = String(day)\n return (\n baseString.slice(0, 4) + sep\n + baseString.slice(4, 6) + sep\n + baseString.slice(6, 8)\n )\n}\n\n/**\n * Build a DayValue from numeric parts. Returns undefined for invalid parts.\n *\n * @param year - full year (e.g. 2025)\n * @param month - 1-12 (default 1)\n * @param day - 1-31 (default 1)\n */\nexport function dayFromParts(\n year: number,\n month = 1,\n day = 1,\n): DayValue | undefined {\n if (month < 1 || month > 12 || day < 1 || day > 31)\n return\n return year * 10000 + month * 100 + day\n}\n \n/**\n * Parse a string into a DayValue by extracting up to 8 digits (YYYYMMDD).\n * Returns undefined for invalid results.\n * \n * Example:\n * dayValue === dayFromString(String(dayValue))\n */\nexport function dayFromString(value: string): DayValue | undefined {\n const string = String(value)\n .replace(/\\D/g, '')\n .slice(0, 8)\n if (string.length === 8)\n return +string\n}\n\n/**\n * Return the first day of the month for the given DayValue. An optional\n * `offset` (positive or negative) moves the result by months.\n *\n * @param day - source DayValue\n * @param offset - months to offset (default 0)\n */\nexport function dayMonthStart(day: DayValue, offset = 0): DayValue {\n let year = dayYear(day)\n let month = dayMonth(day)\n if (offset !== 0) {\n month += offset\n year += Math.floor((month - 1) / 12)\n month = Math.floor((month - 1) % 12) + 1\n if (month === 0)\n month = 12\n }\n return dayFromParts(year, month, 1)!\n}\n\n/**\n * Return the day offset by whole months, keeping the day-of-month when possible.\n * If the target month has fewer days, the result is clamped to the last day.\n *\n * @param day - source DayValue\n * @param offset - months to offset (positive or negative)\n */\nexport function dayMonthOffset(day: DayValue, offset: number): DayValue {\n let year = dayYear(day)\n let month = dayMonth(day)\n const dayOfMonth = dayDay(day)\n\n if (offset !== 0) {\n month += offset\n year += Math.floor((month - 1) / 12)\n month = Math.floor((month - 1) % 12) + 1\n if (month === 0)\n month = 12\n }\n\n const maxDay = dayDaysInMonth(year, month)\n return dayFromParts(year, month, Math.min(dayOfMonth, maxDay))!\n}\n\n/**\n * Return the first day of the year for the given DayValue. `offset` moves\n * the year by the given amount.\n */\nexport function dayYearStart(day: DayValue, offset = 0): DayValue {\n const year = dayYear(day)\n return dayFromParts(year + offset, 1, 1)!\n}\n\n/**\n * Return the day offset by whole years, keeping month and day when possible.\n * If the target month has fewer days, the result is clamped to the last day.\n *\n * @param day - source DayValue\n * @param offset - years to offset (positive or negative)\n */\nexport function dayYearOffset(day: DayValue, offset: number): DayValue {\n const year = dayYear(day) + offset\n const month = dayMonth(day)\n const dayOfMonth = dayDay(day)\n const maxDay = dayDaysInMonth(year, month)\n return dayFromParts(year, month, Math.min(dayOfMonth, maxDay))!\n}\n\n/** Return number of days in a given month. Month is 1-12. */\nexport function dayDaysInMonth(year: number, month: number): number {\n return new Date(Date.UTC(year, month, 0)).getUTCDate()\n}\n\n/**\n * Offset a DayValue by a number of days. Uses timestamp math to avoid local\n * DST issues.\n *\n * @param day - source DayValue\n * @param offset - days to add (negative to subtract)\n */\nexport function dayOffset(day: DayValue, offset: number): DayValue {\n // Important! Don't use local time here due to summer/winter time days can\n // be longer or shorter!\n return dayFromTimestamp(dayToTimestamp(day) + offset * TIME_DAY_MS)\n}\n\n/**\n * Compute the difference in whole days between two DayValues (right - left).\n */\nexport function dayDiff(left: DayValue, right: DayValue): number {\n return Math.round((dayToTimestamp(right) - dayToTimestamp(left)) / TIME_DAY_MS)\n}\n\n/**\n * Return an array of DayValues from left to right (inclusive).\n *\n * If `right` is omitted it defaults to today. If `left` is negative it is\n * interpreted as an offset relative to `right` (e.g. -7 means the last 7 days).\n */\nexport function dayRange(left: DayValue, right?: DayValue): number[] {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n list.push(left)\n left = dayOffset(left, +1)\n }\n return list\n}\n\n/** Iterator, see dayRange */\n/**\n * Generator that yields DayValues from left to right (inclusive). Same rules\n * as `dayRange` regarding defaults and negative left values.\n */\nexport function* dayIterator(left: DayValue, right?: DayValue) {\n const list: number[] = []\n\n if (right == null)\n right = dayFromToday()\n\n if (left < 0)\n left = dayOffset(right, left + 1)\n\n while (left <= right) {\n yield left\n left = dayOffset(left, +1)\n }\n return list\n}\n\n"],"mappings":"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","names":["testModeDay","setDayTest","ts","__name","DAY_MS","TIME_DAY_MS","dayYear","day","dayMonth","dayDay","dayToParts","dayToDate","utc","dayToString","dayFromToday","dayFromDate","dayFromAny","value","dayFromString","dayFromParts","dayToDateUTC","dayToDateGMT","date","dayFromDateUTC","dayFromDateGMT","dayToTimestampSeconds","dayToTimestamp","dayFromTimestamp","ms","dayFromTimestampSeconds","sep","baseString","year","month","string","dayMonthStart","offset","dayMonthOffset","dayOfMonth","maxDay","dayDaysInMonth","dayYearStart","dayYearOffset","dayOffset","dayDiff","left","right","dayRange","list","dayIterator"]}
@@ -1,2 +1,2 @@
1
1
  import{a as y}from"./chunk-QOGHU2FA.js";import{a as b}from"./chunk-UWM7RELA.js";import{b as R}from"./chunk-JSX6JZHU.js";import{a as h}from"./chunk-6EQDC7VW.js";import{q as C,u as w}from"./chunk-KDKT5HPM.js";import{a as s}from"./chunk-5NKC2EQJ.js";function $(F={}){let{maxParallel:U=3,name:j=w("pool"),idConflictResolution:I="memoize"}=F,l=new b,k=R();k.add(g);let f=new y({name:j});f.on("progressCancelled",g);let c=0,p=0,v=0,P=0,i={};async function z(){if(c>0){let[t,e]=h();return l.once("didFinish",e),t}}s(z,"waitFinishAll");async function M(){for(let t of Object.keys(i))i[t].state==="finished"&&(await i[t].progress.dispose(),delete i[t])}s(M,"cleanupFinished");function E(){l.emit("didFinish"),c=0,p=0,M(),f.reset()}s(E,"didFinish");function m(){let t=0,e=0;for(let{max:n,resolved:d,state:o}of Object.values(i))t+=n,e+=o==="finished"?n:Math.min(n,d);l.emit("didUpdate",c,p,t,e)}s(m,"didUpdate");function T(){if(m(),c>0&&c===p&&E(),v>=U)return;let t=Object.values(i).filter(e=>e.state==="waiting");if(t.length>0){let e;for(let n of t)n.group!=null&&Object.values(i).some(d=>d.state==="running"&&d.id!==n.id&&d.group===n.group)||(e==null||n.priority<e.priority)&&(e=n);if(e!=null){let n=e.id,d=e.done;e.state="running",++v,l.emit("didStart",n);let o=s(a=>{e&&(e.result=a,e.state="finished",e.resolved=e.max,e.progress?.setCompleted()),--v,++p,T()},"taskFinished");e.task(e).then(a=>{d(a),l.emit("didResolve",n,a),o(a)}).catch(a=>{d(),l.emit("didReject",n,a),o()})}}}s(T,"performNext");function u(t){let e=i[t];e&&e.state==="waiting"&&(i[t].state="finished",++p,l.emit("didCancel",t),i[t].progress.dispose(),m())}s(u,"cancel");function g(){Object.keys(i).forEach(u)}s(g,"cancelAll");function O(t){return i[t]!=null}s(O,"hasById");function S(t,e={}){let n,d=new Promise(r=>n=r),o=e.id??C();if(i[o]!=null){let r=e.idConflictResolution??I;if(r==="replace")u(o);else if(r==="memoize"||r==="prioritize"){let x=i[o];return r==="prioritize"&&(x.priority=++P),{id:o,promise:(async()=>{if(x.state==="finished")return i[o].result})(),dispose:s(()=>u(o),"dispose"),cancel:s(()=>u(o),"cancel")}}else throw new Error(`Pool task with id=${o} already exists!`)}let a=new y({name:o,totalUnits:e.max??1,completeUnits:e.resolved??0});return f.addChild(a),i[o]={id:o,task:t,priority:++P,group:e.group,state:"waiting",max:e.max??1,resolved:e.resolved??0,done:n,payload:e.payload,progress:a,setMax(r){a.setTotalUnits(r),i[o].max=r,m()},setResolved(r){a.setCompletetedUnits(r),i[o].resolved=r,m()},incResolved(r=1){a.incCompletedUnits(r),i[o].resolved+=r,m()}},++c,T(),{id:o,promise:d,dispose:s(()=>u(o),"dispose"),cancel:s(()=>u(o),"cancel")}}return s(S,"enqueue"),{events:l,cancel:u,cancelAll:g,hasById:O,progress:f,enqueue:S,dispose:k,waitFinishAll:z}}s($,"usePool");export{$ as a};
2
- //# sourceMappingURL=chunk-PRTEIKN2.js.map
2
+ //# sourceMappingURL=chunk-YO6FIHXC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/exec/pool.ts"],"sourcesContent":["import { useDispose } from '../dispose-defer'\nimport { Emitter } from '../msg/emitter'\nimport { uname, uuid } from '../uuid'\nimport { Progress } from './progress'\nimport { createPromise } from './promise'\n\nexport type PoolTaskIdConflictResolution = 'replace' | 'memoize' | 'prioritize' | 'error'\n\n// export enum PoolTaskIdConflictResolution {\n// /**\n// * Tasks with same `id` are replaced. Newest wins.\n// */\n// replace = 0,\n\n// /**\n// * Task with same `id` will continue to run. Reference is returned with option to cancel.\n// * Named \"memoize\" because the result of the task should always be the same for the same `id`,\n// * like e.g. a download.\n// */\n// memoize = 1,\n\n// /** Like memoize, but try to put on top of the list */\n// prioritize = 2,\n\n// /**\n// * Tasks with same `id` throw error\n// */\n// error = 3,\n\n// }\n\nexport interface PoolConfig {\n name?: string\n maxParallel?: number\n idConflictResolution?: PoolTaskIdConflictResolution\n}\n\nexport type PoolTaskFn<T = any> = (taskInfo: PoolTask<T>) => Promise<T>\n\nexport type PoolTaskState = 'waiting' | 'running' | 'finished'\n\n/** Task */\nexport interface PoolTask<T> {\n readonly id: string\n readonly task: PoolTaskFn<T>\n readonly done: (result?: any) => void\n readonly setMax: (max: number) => void\n readonly setResolved: (resolved: number) => void\n readonly incResolved: (inc?: number) => void\n state: PoolTaskState\n priority: number\n /** Same groups are executed only one at a time */\n group?: string\n\n progress: Progress\n max: number\n resolved: number\n\n result?: T\n payload?: unknown\n}\n\nexport interface PoolTaskEvents {\n didUpdate: (\n max: number,\n resolved: number,\n presentMax: number,\n presentResolved: number,\n ) => void\n didStart: (id: string) => void\n didCancel: (id: string) => void\n didFinish: () => void\n didResolve: (id: string, value: any) => void\n didReject: (id: string, error: any) => void\n}\n\n// todo: barrier\n// todo: dependents\n\nexport function usePool<T = any>(config: PoolConfig = {}) {\n const {\n maxParallel = 3,\n name = uname('pool'),\n idConflictResolution = 'memoize',\n } = config\n\n const events = new Emitter<PoolTaskEvents>()\n\n const dispose = useDispose()\n dispose.add(cancelAll)\n\n const progress = new Progress({ name })\n\n progress.on('progressCancelled', cancelAll)\n\n let countMax = 0\n let countResolved = 0\n let currentParallel = 0\n let priority = 0\n const tasks: Record<string, PoolTask<T>> = {}\n\n // const [allFinishedPromise, allFinishedResolve] = createPromise()\n\n async function waitFinishAll() {\n if (countMax > 0) {\n const [promise, resolve] = createPromise()\n events.once('didFinish', resolve)\n return promise\n }\n }\n\n async function cleanupFinished() {\n for (const id of Object.keys(tasks)) {\n const task = tasks[id]\n if (task.state === 'finished') {\n await tasks[id].progress.dispose()\n delete tasks[id]\n }\n }\n }\n\n function didFinish() {\n void events.emit('didFinish')\n // allFinishedResolve(countMax)\n countMax = 0\n countResolved = 0\n void cleanupFinished()\n progress.reset()\n }\n\n function didUpdate() {\n let presentMax = 0\n let presentResolved = 0\n for (const { max, resolved, state } of Object.values(tasks)) {\n presentMax += max\n presentResolved += state === 'finished' ? max : Math.min(max, resolved)\n }\n void events.emit(\n 'didUpdate',\n countMax,\n countResolved,\n presentMax,\n presentResolved,\n )\n }\n\n function performNext() {\n didUpdate()\n if (countMax > 0 && countMax === countResolved)\n didFinish()\n if (currentParallel >= maxParallel)\n return\n const waitingTasks = Object.values(tasks).filter(\n t => t.state === 'waiting',\n )\n if (waitingTasks.length > 0) {\n let taskInfo: PoolTask<T> | undefined\n for (const t of waitingTasks) {\n // Skip task if one of same group is running.\n // Forces serialized execution for subgroup of tasks.\n if (\n t.group != null\n && Object.values(tasks).some(\n tt =>\n tt.state === 'running'\n && tt.id !== t.id\n && tt.group === t.group,\n )\n ) {\n continue\n }\n\n // fifo\n if (taskInfo == null || t.priority < taskInfo.priority)\n taskInfo = t\n }\n if (taskInfo != null) {\n const id = taskInfo.id\n const done = taskInfo.done\n taskInfo.state = 'running'\n ++currentParallel\n void events.emit('didStart', id)\n\n const taskFinished = (result?: T) => {\n if (taskInfo) {\n taskInfo.result = result\n taskInfo.state = 'finished'\n taskInfo.resolved = taskInfo.max\n taskInfo.progress?.setCompleted()\n // void taskInfo.progress.dispose()\n }\n --currentParallel\n ++countResolved\n performNext()\n }\n\n taskInfo\n .task(taskInfo)\n .then((r) => {\n done(r)\n void events.emit('didResolve', id, r)\n taskFinished(r)\n })\n .catch((err) => {\n done()\n void events.emit('didReject', id, err)\n taskFinished()\n })\n }\n }\n }\n\n function cancel(id: string) {\n const taskInfo = tasks[id]\n if (taskInfo && taskInfo.state === 'waiting') {\n tasks[id].state = 'finished'\n ++countResolved\n void events.emit('didCancel', id)\n void tasks[id].progress.dispose()\n didUpdate()\n }\n }\n\n function cancelAll() {\n Object.keys(tasks).forEach(cancel)\n // progress.dispose()\n }\n\n function hasById(id: string) {\n return tasks[id] != null\n }\n\n function enqueue<P>(\n task: PoolTaskFn<T>,\n config: {\n id?: string\n max?: number\n resolved?: number\n group?: string\n idConflictResolution?: PoolTaskIdConflictResolution\n payload?: P\n } = {},\n ) {\n let done: any\n const promise: Promise<any> = new Promise(resolve => (done = resolve))\n const id = config.id ?? uuid()\n\n if (tasks[id] != null) {\n const resolution = config.idConflictResolution ?? idConflictResolution\n\n if (resolution === 'replace') {\n cancel(id)\n }\n else if (resolution === 'memoize' || resolution === 'prioritize') {\n const runningTask = tasks[id]\n\n if (resolution === 'prioritize')\n runningTask.priority = ++priority\n\n return {\n id,\n promise: (async () => {\n if (runningTask.state === 'finished')\n return tasks[id].result\n\n // todo: wait for task to finish\n })(),\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n else {\n throw new Error(`Pool task with id=${id} already exists!`)\n }\n }\n\n const taskProgress = new Progress({\n name: id,\n totalUnits: config.max ?? 1,\n completeUnits: config.resolved ?? 0,\n })\n\n progress.addChild(taskProgress)\n\n tasks[id] = {\n id,\n task,\n priority: ++priority,\n group: config.group,\n state: 'waiting',\n max: config.max ?? 1,\n resolved: config.resolved ?? 0,\n done,\n payload: config.payload,\n progress: taskProgress,\n\n /** @deprecated should use `.progress` */\n setMax(units) {\n taskProgress.setTotalUnits(units)\n tasks[id].max = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n setResolved(units) {\n taskProgress.setCompletetedUnits(units)\n tasks[id].resolved = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n incResolved(inc = 1) {\n taskProgress.incCompletedUnits(inc)\n tasks[id].resolved += inc\n didUpdate()\n },\n }\n ++countMax\n performNext()\n\n return {\n id,\n promise,\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n\n return {\n events,\n cancel,\n cancelAll,\n hasById,\n progress,\n enqueue,\n dispose,\n waitFinishAll,\n }\n}\n"],"mappings":"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","names":["usePool","config","maxParallel","name","uname","idConflictResolution","events","Emitter","dispose","useDispose","cancelAll","progress","Progress","countMax","countResolved","currentParallel","priority","tasks","waitFinishAll","promise","resolve","createPromise","__name","cleanupFinished","id","didFinish","didUpdate","presentMax","presentResolved","max","resolved","state","performNext","waitingTasks","t","taskInfo","tt","done","taskFinished","result","r","err","cancel","hasById","enqueue","task","uuid","resolution","runningTask","taskProgress","units","inc"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-ZBG4FI7E.cjs","../src/common/assert.ts"],"names":["fatal","messages","getGlobalLoggerIfExists"],"mappings":"AAAA,qoBAAwC,wDAAyC,SCGjEA,CAAAA,CAAAA,GAASC,CAAAA,CAAwB,CAC/C,sBAAAC,iCAAAA,CAAwB,wBAAA,CAAI,QAAQ,CAAA,6BAAG,KAAA,mBAAM,GAAGD,CAAQ,GAAA,CAClD,IAAI,KAAA,CAAM,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-ZBG4FI7E.cjs","sourcesContent":[null,"import { getGlobalLoggerIfExists } from './log/log'\n\n/** Always throws. */\nexport function fatal(...messages: any[]): never {\n getGlobalLoggerIfExists()?.('assert')?.fatal(...messages)\n throw new Error(`${messages.map(String).join(' ')}`)\n}\n\n/** Throws if condition is not truthy. */\nexport function assert(condition: unknown, ...messages: any[]): asserts condition {\n if (condition == null || (typeof condition === 'number' && Number.isNaN(condition)) || !condition)\n fatal(...messages)\n}\n\n/** Alias for `assert` for better differentiation to unit test's assert function. */\nexport function assertCondition(condition: unknown, ...messages: any[]): asserts condition {\n assert(condition, ...messages)\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-ZBG4FI7E.cjs","../src/common/assert.ts"],"names":["fatal","messages","getGlobalLoggerIfExists"],"mappings":"AAAA,qoBAAwC,wDAAyC,SCGjEA,CAAAA,CAAAA,GAASC,CAAAA,CAAwB,CAC/C,sBAAAC,iCAAAA,CAAwB,wBAAA,CAAI,QAAQ,CAAA,6BAAG,KAAA,mBAAM,GAAGD,CAAQ,GAAA,CAClD,IAAI,KAAA,CAAM,CAAA,EAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-ZBG4FI7E.cjs","sourcesContent":[null,"import { getGlobalLoggerIfExists } from './log/log'\n\n/** Always throws. */\nexport function fatal(...messages: any[]): never {\n getGlobalLoggerIfExists()?.('assert')?.fatal(...messages)\n throw new Error(`${messages.map(String).join(' ')}`)\n}\n\n/** Throws if condition is not truthy. */\nexport function assert(condition: unknown, ...messages: any[]): asserts condition {\n if (condition == null || (typeof condition === 'number' && Number.isNaN(condition)) || !condition)\n fatal(...messages)\n}\n\n/** Alias for `assert` for better differentiation to unit test's assert function. */\nexport function assertCondition(condition: unknown, ...messages: any[]): asserts condition {\n assert(condition, ...messages)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-ZEDMMWJI.cjs","../src/common/time.ts"],"names":["testModeTime","setTimestampTest","ts","__name","getTimestamp","getTimestampInSeconds","dateFromSeconds","formatMilliseconds","ms"],"mappings":"AAAA,qOAA+C,wDAAyC,ICEpFA,CAAAA,CAUG,SAASC,CAAAA,CAAiBC,CAAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAA,CAAM,CAAA,CAAG,CAAA,CAAG,CAAA,CAAG,CAAA,CAAG,CAAA,CAAG,CAAC,CAAA,CAAG,CACtEF,CAAAA,CAAeE,CACjB,CAFgBC,iCAAAA,CAAAF,CAAA,kBAAA,CAAA,CAYT,SAASG,CAAAA,CAAAA,CAAuB,CACrC,wBAAOJ,CAAAA,SAAgB,IAAA,CAAK,GAAA,CAAI,GAClC,CAFgBG,iCAAAA,CAAAC,CAAA,cAAA,CAAA,CAYT,SAASC,CAAAA,CAAAA,CAAgC,CAC9C,OAAO,IAAA,CAAK,KAAA,CAAMD,CAAAA,CAAa,CAAA,CAAI,GAAI,CACzC,CAFgBD,iCAAAA,CAAAE,CAAA,uBAAA,CAAA,CAUT,SAASC,CAAAA,CAAgBJ,CAAAA,CAAkB,CAChD,OAAO,IAAI,IAAA,CAAKA,CAAAA,CAAK,GAAI,CAC3B,CAFgBC,iCAAAA,CAAAG,CAAA,iBAAA,CAAA,CAeT,SAASC,CAAAA,CAAmBC,CAAAA,CAAoB,CACrD,OAAOA,CAAAA,CAAK,GAAA,CAAM,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-ZEDMMWJI.cjs","sourcesContent":[null,"import { base32ToNumber, numberToBase32 } from './data/math'\n\nlet testModeTime: number | undefined\n\n/**\n * Set a fixed timestamp (ms since epoch) used by `getTimestamp` for tests.\n *\n * Pass a millisecond timestamp (for example created with Date.UTC) to force\n * time-based helpers to return deterministic values during tests.\n *\n * @param ts - timestamp in milliseconds (defaults to 2000-01-01T00:00:00.000Z)\n */\nexport function setTimestampTest(ts = Date.UTC(2000, 0, 1, 0, 0, 0, 0)) {\n testModeTime = ts\n}\n\n/**\n * Return the current timestamp in milliseconds.\n *\n * In test mode (when `setTimestampTest` was called) the forced value is\n * returned instead of the real current time.\n *\n * @returns timestamp in milliseconds\n */\nexport function getTimestamp(): number {\n return testModeTime ?? Date.now()\n}\n\n/**\n * Return the current timestamp in seconds.\n *\n * Uses `getTimestamp()` which can be overridden for tests with\n * `setTimestampTest`.\n *\n * @returns timestamp in whole seconds (integer)\n */\nexport function getTimestampInSeconds(): number {\n return Math.floor(getTimestamp() / 1000)\n}\n\n/**\n * Convert a UNIX timestamp in seconds to a JavaScript Date.\n *\n * @param ts - seconds since epoch\n * @returns Date instance corresponding to the provided seconds\n */\nexport function dateFromSeconds(ts: number): Date {\n return new Date(ts * 1000)\n}\n\n// typeof performance !== \"undefined\" ? performance.now() : new Date().getTime()\n\n/**\n * Format a millisecond duration into a human readable string.\n *\n * - Values >= 1000ms are shown in seconds with one decimal (e.g. \"1.2 s\").\n * - Smaller values are shown in milliseconds with two decimals (e.g. \"123.45 ms\").\n *\n * @param ms - duration in milliseconds\n * @returns formatted duration string\n */\nexport function formatMilliseconds(ms: number): string {\n return ms > 999 ? `${(ms / 1000).toFixed(1)} s` : `${ms.toFixed(2)} ms`\n}\n\n/**\n * Parses the given date candidates and returns the first valid Date object found.\n *\n * @param dateCandidates - The date candidates to parse, which can be either strings or Date objects.\n * @returns The parsed Date object, or undefined if no valid date is found.\n */\nexport function parseDate(\n ...dateCandidates: (string | Date)[]\n): Date | undefined {\n for (const dateCandidate of dateCandidates) {\n if (dateCandidate instanceof Date)\n return dateCandidate\n\n if (typeof dateCandidate === 'string') {\n let date = null\n if (dateCandidate.includes(':')) {\n try {\n date = new Date(dateCandidate)\n }\n catch (err) {}\n }\n if (!(date instanceof Date)) {\n const m = /(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)/.exec(dateCandidate)\n if (m)\n date = new Date(+m[1], +m[2] - 1, +m[3], 12, 0)\n }\n if (date instanceof Date)\n return date\n }\n }\n}\n\n/**\n * Return a high-resolution timestamp in milliseconds.\n *\n * Uses the `performance.now()` clock when available (monotonic, high\n * resolution), otherwise falls back to `Date.now()`.\n *\n * @returns timestamp in milliseconds (relative for performance.now, epoch for Date.now)\n */\nexport function getPerformanceTimestamp(): number {\n return typeof performance !== 'undefined' ? performance.now() : Date.now()\n}\n\n/**\n * Create a simple duration reporter.\n *\n * Returns a function that, when called, reports the elapsed time since\n * `duration()` was called. The returned string is formatted via\n * `formatMilliseconds`.\n *\n * Example: const t = duration(); // do work...; console.log(t());\n *\n * @returns a zero-argument function that returns the elapsed time string\n */\nexport function duration(): () => string {\n const t0 = getPerformanceTimestamp()\n\n return function (): string {\n const duration = getPerformanceTimestamp() - t0\n return formatMilliseconds(duration)\n\n // if (duration > 500)\n // return `${(duration / 1000).toFixed(4)}s`\n\n // // https://elijahmanor.com/format-js-numbers\n // // https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-issanctionedsimpleunitidentifier\n // return duration.toLocaleString('en-US', {\n // style: 'unit',\n // unit: 'millisecond',\n // notation: 'compact',\n // compactDisplay: 'long',\n // })\n }\n}\n\n/**\n * If you parsed a date string that didn't include a time zone, adjust the\n * naive UTC components into a local Date with the same Y/M/D/H/M/S values.\n *\n * This effectively treats the input as if it already represented local time\n * and builds a corresponding Date using the local timezone.\n */\nexport function datetimeToLocal(fromDate: Date): Date {\n return new Date(\n fromDate.getUTCFullYear(),\n fromDate.getUTCMonth(),\n fromDate.getUTCDate(),\n fromDate.getUTCHours(),\n fromDate.getUTCMinutes(),\n fromDate.getUTCSeconds(),\n fromDate.getUTCMilliseconds(),\n )\n}\n\n/**\n * If you parsed a date string that didn't include a time zone, adjust the\n * local date components into a UTC Date with the same Y/M/D/H/M/S values.\n */\nexport function datetimeToUTC(fromDate: Date): Date {\n return new Date(Date.UTC(\n fromDate.getFullYear(),\n fromDate.getMonth(),\n fromDate.getDate(),\n fromDate.getHours(),\n fromDate.getMinutes(),\n fromDate.getSeconds(),\n fromDate.getMilliseconds(),\n ))\n}\n\n// const tsMs2000 = 946684800000 // same as Jan 11 1970 in ms\n// const tsMs2500 = 16725225600000 // same as Jul 13 1970 in ms\n// 1000000000000\n\n/**\n * Convert a timestamp in milliseconds to seconds.\n *\n * When `smart` is true the function will try to detect already-second\n * timestamps and return them unchanged (heuristic threshold). For example,\n * small numbers (< 1e12) are likely seconds and are returned as-is.\n *\n * @param ts - timestamp in milliseconds or seconds\n * @param smart - enable heuristic detection (default: true)\n * @returns timestamp in seconds\n */\nexport function timestampMillisecondsToSeconds(ts: number, smart = true): number {\n if (ts <= 0)\n return 0\n if (smart && ts < 1000000000000) { // TODO find a better threshold and add tests\n return ts\n // log.warn('Timestamp might already be in seconds?', ts)\n }\n return Math.floor(ts / 1000)\n}\n\n/**\n * Convert a timestamp in seconds to milliseconds.\n *\n * When `smart` is true the function tries to detect already-millisecond\n * values and returns them unchanged (heuristic threshold). Very large\n * numbers (> 1e12) are assumed to already be milliseconds.\n *\n * @param ts - timestamp in seconds or milliseconds\n * @param smart - enable heuristic detection (default: true)\n * @returns timestamp in milliseconds\n */\nexport function timestampSecondsToMilliseconds(ts: number, smart = true): number {\n if (ts <= 0)\n return 0\n if (smart && ts > 1000000000000) { // TODO find a better threshold and add tests\n return ts\n // log.warn('Timestamp might already be in milliseconds?', ts)\n }\n return Math.floor(ts * 1000)\n}\n\n/** Number of milliseconds in (approx.) one year (365 days). */\nexport const TIME_YEAR_MS = 31536000000 // 365 * 24 * 60 * 60 * 1000\n/** Number of seconds in (approx.) one year (365 days). */\nexport const TIME_YEAR_S = 31536000 // 365 * 24 * 60 * 60\n/** Number of milliseconds in (approx.) one month (30 days). */\nexport const TIME_MONTH_MS = 2592000000 // 30 * 24 * 60 * 60 * 1000\n/** Number of seconds in (approx.) one month (30 days). */\nexport const TIME_MONTH_S = 2592000 // 30 * 24 * 60 * 60\n/** Number of milliseconds in one week (7 days). */\nexport const TIME_WEEK_MS = 604800000 // 7 * 24 * 60 * 60 * 1000\n/** Number of seconds in one week (7 days). */\nexport const TIME_WEEK_S = 604800 // 7 * 24 * 60 * 60\n/** Number of milliseconds in one day (24 hours). */\nexport const TIME_DAY_MS = 86400000 // 24 * 60 * 60 * 1000\n/** Number of seconds in one day (24 hours). */\nexport const TIME_DAY_S = 86400 // 24 * 60 * 60\n/** Number of milliseconds in one hour (60 minutes). */\nexport const TIME_HOUR_MS = 3600000 // 60 * 60 * 1000\n/** Number of seconds in one hour (60 minutes). */\nexport const TIME_HOUR_S = 3600 // 60 * 60\n/** Number of milliseconds in one minute (60 seconds). */\nexport const TIME_MINUTE_MS = 60000 // 60 * 1000\n/** Number of seconds in one minute (60 seconds). */\nexport const TIME_MINUTE_S = 60 // 60\n\n// BUILD NUMBER\n\nconst buildNumberSeconds = 5\nconst buildNumberPadding = 6\nconst buildStartSeconds = 1735686000 // 2025-01-01\n\n/** Build number is minutes since 2025-01-01 in base32 \"agnoster\" encoded format */\nexport function getBuildNumber(): string {\n const buildNumber = Math.floor((getTimestampInSeconds() - buildStartSeconds) / buildNumberSeconds)\n return numberToBase32(buildNumber, buildNumberPadding)\n}\n\nexport function getSecondsFromBuildNumber(buildNumber: string): number {\n return buildStartSeconds + (base32ToNumber(buildNumber) * buildNumberSeconds)\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-ZEDMMWJI.cjs","../src/common/time.ts"],"names":["testModeTime","setTimestampTest","ts","__name","getTimestamp","getTimestampInSeconds","dateFromSeconds","formatMilliseconds","ms"],"mappings":"AAAA,qOAA+C,wDAAyC,ICEpFA,CAAAA,CAUG,SAASC,CAAAA,CAAiBC,CAAAA,CAAK,IAAA,CAAK,GAAA,CAAI,GAAA,CAAM,CAAA,CAAG,CAAA,CAAG,CAAA,CAAG,CAAA,CAAG,CAAA,CAAG,CAAC,CAAA,CAAG,CACtEF,CAAAA,CAAeE,CACjB,CAFgBC,iCAAAA,CAAAF,CAAA,kBAAA,CAAA,CAYT,SAASG,CAAAA,CAAAA,CAAuB,CACrC,wBAAOJ,CAAAA,SAAgB,IAAA,CAAK,GAAA,CAAI,GAClC,CAFgBG,iCAAAA,CAAAC,CAAA,cAAA,CAAA,CAYT,SAASC,CAAAA,CAAAA,CAAgC,CAC9C,OAAO,IAAA,CAAK,KAAA,CAAMD,CAAAA,CAAa,CAAA,CAAI,GAAI,CACzC,CAFgBD,iCAAAA,CAAAE,CAAA,uBAAA,CAAA,CAUT,SAASC,CAAAA,CAAgBJ,CAAAA,CAAkB,CAChD,OAAO,IAAI,IAAA,CAAKA,CAAAA,CAAK,GAAI,CAC3B,CAFgBC,iCAAAA,CAAAG,CAAA,iBAAA,CAAA,CAeT,SAASC,CAAAA,CAAmBC,CAAAA,CAAoB,CACrD,OAAOA,CAAAA,CAAK,GAAA,CAAM,CAAA,EAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-ZEDMMWJI.cjs","sourcesContent":[null,"import { base32ToNumber, numberToBase32 } from './data/math'\n\nlet testModeTime: number | undefined\n\n/**\n * Set a fixed timestamp (ms since epoch) used by `getTimestamp` for tests.\n *\n * Pass a millisecond timestamp (for example created with Date.UTC) to force\n * time-based helpers to return deterministic values during tests.\n *\n * @param ts - timestamp in milliseconds (defaults to 2000-01-01T00:00:00.000Z)\n */\nexport function setTimestampTest(ts = Date.UTC(2000, 0, 1, 0, 0, 0, 0)) {\n testModeTime = ts\n}\n\n/**\n * Return the current timestamp in milliseconds.\n *\n * In test mode (when `setTimestampTest` was called) the forced value is\n * returned instead of the real current time.\n *\n * @returns timestamp in milliseconds\n */\nexport function getTimestamp(): number {\n return testModeTime ?? Date.now()\n}\n\n/**\n * Return the current timestamp in seconds.\n *\n * Uses `getTimestamp()` which can be overridden for tests with\n * `setTimestampTest`.\n *\n * @returns timestamp in whole seconds (integer)\n */\nexport function getTimestampInSeconds(): number {\n return Math.floor(getTimestamp() / 1000)\n}\n\n/**\n * Convert a UNIX timestamp in seconds to a JavaScript Date.\n *\n * @param ts - seconds since epoch\n * @returns Date instance corresponding to the provided seconds\n */\nexport function dateFromSeconds(ts: number): Date {\n return new Date(ts * 1000)\n}\n\n// typeof performance !== \"undefined\" ? performance.now() : new Date().getTime()\n\n/**\n * Format a millisecond duration into a human readable string.\n *\n * - Values >= 1000ms are shown in seconds with one decimal (e.g. \"1.2 s\").\n * - Smaller values are shown in milliseconds with two decimals (e.g. \"123.45 ms\").\n *\n * @param ms - duration in milliseconds\n * @returns formatted duration string\n */\nexport function formatMilliseconds(ms: number): string {\n return ms > 999 ? `${(ms / 1000).toFixed(1)} s` : `${ms.toFixed(2)} ms`\n}\n\n/**\n * Parses the given date candidates and returns the first valid Date object found.\n *\n * @param dateCandidates - The date candidates to parse, which can be either strings or Date objects.\n * @returns The parsed Date object, or undefined if no valid date is found.\n */\nexport function parseDate(\n ...dateCandidates: (string | Date)[]\n): Date | undefined {\n for (const dateCandidate of dateCandidates) {\n if (dateCandidate instanceof Date)\n return dateCandidate\n\n if (typeof dateCandidate === 'string') {\n let date = null\n if (dateCandidate.includes(':')) {\n try {\n date = new Date(dateCandidate)\n }\n catch (err) {}\n }\n if (!(date instanceof Date)) {\n const m = /(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)/.exec(dateCandidate)\n if (m)\n date = new Date(+m[1], +m[2] - 1, +m[3], 12, 0)\n }\n if (date instanceof Date)\n return date\n }\n }\n}\n\n/**\n * Return a high-resolution timestamp in milliseconds.\n *\n * Uses the `performance.now()` clock when available (monotonic, high\n * resolution), otherwise falls back to `Date.now()`.\n *\n * @returns timestamp in milliseconds (relative for performance.now, epoch for Date.now)\n */\nexport function getPerformanceTimestamp(): number {\n return typeof performance !== 'undefined' ? performance.now() : Date.now()\n}\n\n/**\n * Create a simple duration reporter.\n *\n * Returns a function that, when called, reports the elapsed time since\n * `duration()` was called. The returned string is formatted via\n * `formatMilliseconds`.\n *\n * Example: const t = duration(); // do work...; console.log(t());\n *\n * @returns a zero-argument function that returns the elapsed time string\n */\nexport function duration(): () => string {\n const t0 = getPerformanceTimestamp()\n\n return function (): string {\n const duration = getPerformanceTimestamp() - t0\n return formatMilliseconds(duration)\n\n // if (duration > 500)\n // return `${(duration / 1000).toFixed(4)}s`\n\n // // https://elijahmanor.com/format-js-numbers\n // // https://tc39.es/proposal-unified-intl-numberformat/section6/locales-currencies-tz_proposed_out.html#sec-issanctionedsimpleunitidentifier\n // return duration.toLocaleString('en-US', {\n // style: 'unit',\n // unit: 'millisecond',\n // notation: 'compact',\n // compactDisplay: 'long',\n // })\n }\n}\n\n/**\n * If you parsed a date string that didn't include a time zone, adjust the\n * naive UTC components into a local Date with the same Y/M/D/H/M/S values.\n *\n * This effectively treats the input as if it already represented local time\n * and builds a corresponding Date using the local timezone.\n */\nexport function datetimeToLocal(fromDate: Date): Date {\n return new Date(\n fromDate.getUTCFullYear(),\n fromDate.getUTCMonth(),\n fromDate.getUTCDate(),\n fromDate.getUTCHours(),\n fromDate.getUTCMinutes(),\n fromDate.getUTCSeconds(),\n fromDate.getUTCMilliseconds(),\n )\n}\n\n/**\n * If you parsed a date string that didn't include a time zone, adjust the\n * local date components into a UTC Date with the same Y/M/D/H/M/S values.\n */\nexport function datetimeToUTC(fromDate: Date): Date {\n return new Date(Date.UTC(\n fromDate.getFullYear(),\n fromDate.getMonth(),\n fromDate.getDate(),\n fromDate.getHours(),\n fromDate.getMinutes(),\n fromDate.getSeconds(),\n fromDate.getMilliseconds(),\n ))\n}\n\n// const tsMs2000 = 946684800000 // same as Jan 11 1970 in ms\n// const tsMs2500 = 16725225600000 // same as Jul 13 1970 in ms\n// 1000000000000\n\n/**\n * Convert a timestamp in milliseconds to seconds.\n *\n * When `smart` is true the function will try to detect already-second\n * timestamps and return them unchanged (heuristic threshold). For example,\n * small numbers (< 1e12) are likely seconds and are returned as-is.\n *\n * @param ts - timestamp in milliseconds or seconds\n * @param smart - enable heuristic detection (default: true)\n * @returns timestamp in seconds\n */\nexport function timestampMillisecondsToSeconds(ts: number, smart = true): number {\n if (ts <= 0)\n return 0\n if (smart && ts < 1000000000000) { // TODO find a better threshold and add tests\n return ts\n // log.warn('Timestamp might already be in seconds?', ts)\n }\n return Math.floor(ts / 1000)\n}\n\n/**\n * Convert a timestamp in seconds to milliseconds.\n *\n * When `smart` is true the function tries to detect already-millisecond\n * values and returns them unchanged (heuristic threshold). Very large\n * numbers (> 1e12) are assumed to already be milliseconds.\n *\n * @param ts - timestamp in seconds or milliseconds\n * @param smart - enable heuristic detection (default: true)\n * @returns timestamp in milliseconds\n */\nexport function timestampSecondsToMilliseconds(ts: number, smart = true): number {\n if (ts <= 0)\n return 0\n if (smart && ts > 1000000000000) { // TODO find a better threshold and add tests\n return ts\n // log.warn('Timestamp might already be in milliseconds?', ts)\n }\n return Math.floor(ts * 1000)\n}\n\n/** Number of milliseconds in (approx.) one year (365 days). */\nexport const TIME_YEAR_MS = 31536000000 // 365 * 24 * 60 * 60 * 1000\n/** Number of seconds in (approx.) one year (365 days). */\nexport const TIME_YEAR_S = 31536000 // 365 * 24 * 60 * 60\n/** Number of milliseconds in (approx.) one month (30 days). */\nexport const TIME_MONTH_MS = 2592000000 // 30 * 24 * 60 * 60 * 1000\n/** Number of seconds in (approx.) one month (30 days). */\nexport const TIME_MONTH_S = 2592000 // 30 * 24 * 60 * 60\n/** Number of milliseconds in one week (7 days). */\nexport const TIME_WEEK_MS = 604800000 // 7 * 24 * 60 * 60 * 1000\n/** Number of seconds in one week (7 days). */\nexport const TIME_WEEK_S = 604800 // 7 * 24 * 60 * 60\n/** Number of milliseconds in one day (24 hours). */\nexport const TIME_DAY_MS = 86400000 // 24 * 60 * 60 * 1000\n/** Number of seconds in one day (24 hours). */\nexport const TIME_DAY_S = 86400 // 24 * 60 * 60\n/** Number of milliseconds in one hour (60 minutes). */\nexport const TIME_HOUR_MS = 3600000 // 60 * 60 * 1000\n/** Number of seconds in one hour (60 minutes). */\nexport const TIME_HOUR_S = 3600 // 60 * 60\n/** Number of milliseconds in one minute (60 seconds). */\nexport const TIME_MINUTE_MS = 60000 // 60 * 1000\n/** Number of seconds in one minute (60 seconds). */\nexport const TIME_MINUTE_S = 60 // 60\n\n// BUILD NUMBER\n\nconst buildNumberSeconds = 5\nconst buildNumberPadding = 6\nconst buildStartSeconds = 1735686000 // 2025-01-01\n\n/** Build number is minutes since 2025-01-01 in base32 \"agnoster\" encoded format */\nexport function getBuildNumber(): string {\n const buildNumber = Math.floor((getTimestampInSeconds() - buildStartSeconds) / buildNumberSeconds)\n return numberToBase32(buildNumber, buildNumberPadding)\n}\n\nexport function getSecondsFromBuildNumber(buildNumber: string): number {\n return buildStartSeconds + (base32ToNumber(buildNumber) * buildNumberSeconds)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-ZEQQVU3K.cjs","../src/common/schema/z-collection.ts"],"names":["z_collection_exports","__export","any","array","boolean","double","stringLiterals","float","func","int","literal","none","number","object","real","record","rpc","string","tuple","union"],"mappings":"AAAA,iIAA0J,wDAAyC,ICAnMA,CAAAA,CAAA,CAAA,CAAA,CAAAC,iCAAAA,CAAAD,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAAE,mBAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAAA,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-ZEQQVU3K.cjs","sourcesContent":[null,"export type { Infer as infer, Type as type } from './schema'\nexport { any, array, boolean, double, stringLiterals as enum, float, func, int, literal, none, number, object, real, record, rpc, string, tuple, union } from './schema'\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-ZEQQVU3K.cjs","../src/common/schema/z-collection.ts"],"names":["z_collection_exports","__export","any","array","boolean","double","stringLiterals","float","func","int","literal","none","number","object","real","record","rpc","string","tuple","union"],"mappings":"AAAA,iIAA0J,wDAAyC,ICAnMA,CAAAA,CAAA,CAAA,CAAA,CAAAC,iCAAAA,CAAAD,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAAE,mBAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAAC,mBAAAA,CAAAA,CAAAA,CAAAA,cAAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-ZEQQVU3K.cjs","sourcesContent":[null,"export type { Infer as infer, Type as type } from './schema'\nexport { any, array, boolean, double, stringLiterals as enum, float, func, int, literal, none, number, object, real, record, rpc, string, tuple, union } from './schema'\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-ZJQITDTA.cjs","../src/common/log/log-console.ts"],"names":["LoggerConsoleHandler","opt","level","filter","matchesNamespace","useNamespaceFilter","matchesLevel","useLevelFilter","originalConsole","getGlobalConsole","msg","name","joinLogStrings"],"mappings":"AAAA,iIAAwC,wDAAuD,wDAAkD,wDAAoC,SCSrKA,CAAAA,CAAqBC,CAAAA,CAAyB,CAAC,CAAA,CAAe,CAC5E,GAAM,CACJ,KAAA,CAAAC,CAAAA,CAAQ,KAAA,CAAA,CACR,MAAA,CAAAC,CAAAA,CAAS,KAAA,CAKX,CAAA,CAAIF,CAAAA,CACEG,CAAAA,CAAmBC,iCAAAA,CAAyB,CAAA,CAC5CC,CAAAA,CAAeC,iCAAAA,CAAoB,CAAA,CAGnCC,CAAAA,CAAkBC,iCAAAA,CAAiB,CAEzC,OAAKD,CAAAA,CAGGE,CAAAA,EAAoB,CAG1B,EAAA,CAFI,CAACJ,CAAAA,CAAaI,CAAAA,CAAI,KAAK,CAAA,EAEvB,CAACN,CAAAA,CAAiBM,CAAAA,CAAI,IAAI,CAAA,CAC5B,MAAA,CACF,IAAMC,CAAAA,CAAOD,CAAAA,CAAI,IAAA,CAAO,CAAA,CAAA,EAAIA,CAAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAM,EAAA,CAC1C,MAAA,CAAQA,CAAAA,CAAI,KAAA,CAAO,CACjB,KAAK,CAAA,CACHF,CAAAA,CAAgB,IAAA,CAAK,GAAGI,iCAAAA,CAAe,MAAA,EAASD,CAAI,CAAA,CAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-ZJQITDTA.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage } from './log-base'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from './log-base'\nimport { getGlobalConsole } from './log-console-original'\nimport { joinLogStrings, useLevelFilter, useNamespaceFilter } from './log-filter'\n\n/**\n * Very basic logger. Please take a look at the browser and node\n * optimized loggers. This one is just the absolute fallback option.\n */\nexport function LoggerConsoleHandler(opt: LogHandlerOptions = {}): LogHandler {\n const {\n level = undefined,\n filter = undefined,\n // colors = true,\n // levelHelper = false,\n // nameBrackets = true,\n // padding = 16,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n // logCaptureConsole will override the console methods, so we need to get the original ones\n const originalConsole = getGlobalConsole()\n\n if (!originalConsole)\n return () => {}\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n const name = msg.name ? `[${msg.name}]` : ''\n switch (msg.level) {\n case LogLevelInfo:\n originalConsole.info(...joinLogStrings(`I|* ${name}`, ...msg.messages))\n break\n case LogLevelWarn:\n originalConsole.warn(...joinLogStrings(`W|** ${name}`, ...msg.messages))\n break\n case LogLevelError:\n originalConsole.error(...joinLogStrings(`E|*** ${name}`, ...msg.messages))\n break\n default:\n originalConsole.debug(...joinLogStrings(`D| ${name}`, ...msg.messages))\n break\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/chunk-ZJQITDTA.cjs","../src/common/log/log-console.ts"],"names":["LoggerConsoleHandler","opt","level","filter","matchesNamespace","useNamespaceFilter","matchesLevel","useLevelFilter","originalConsole","getGlobalConsole","msg","name","joinLogStrings"],"mappings":"AAAA,iIAAwC,wDAAuD,wDAAkD,wDAAoC,SCSrKA,CAAAA,CAAqBC,CAAAA,CAAyB,CAAC,CAAA,CAAe,CAC5E,GAAM,CACJ,KAAA,CAAAC,CAAAA,CAAQ,KAAA,CAAA,CACR,MAAA,CAAAC,CAAAA,CAAS,KAAA,CAKX,CAAA,CAAIF,CAAAA,CACEG,CAAAA,CAAmBC,iCAAAA,CAAyB,CAAA,CAC5CC,CAAAA,CAAeC,iCAAAA,CAAoB,CAAA,CAGnCC,CAAAA,CAAkBC,iCAAAA,CAAiB,CAEzC,OAAKD,CAAAA,CAGGE,CAAAA,EAAoB,CAG1B,EAAA,CAFI,CAACJ,CAAAA,CAAaI,CAAAA,CAAI,KAAK,CAAA,EAEvB,CAACN,CAAAA,CAAiBM,CAAAA,CAAI,IAAI,CAAA,CAC5B,MAAA,CACF,IAAMC,CAAAA,CAAOD,CAAAA,CAAI,IAAA,CAAO,CAAA,CAAA,EAAIA,CAAAA,CAAI,IAAI,CAAA,CAAA,CAAA,CAAM,EAAA,CAC1C,MAAA,CAAQA,CAAAA,CAAI,KAAA,CAAO,CACjB,KAAK,CAAA,CACHF,CAAAA,CAAgB,IAAA,CAAK,GAAGI,iCAAAA,CAAe,MAAA,EAASD,CAAI,CAAA,CAAA","file":"/Users/dirk/work/github-zeed/dist/chunk-ZJQITDTA.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage } from './log-base'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from './log-base'\nimport { getGlobalConsole } from './log-console-original'\nimport { joinLogStrings, useLevelFilter, useNamespaceFilter } from './log-filter'\n\n/**\n * Very basic logger. Please take a look at the browser and node\n * optimized loggers. This one is just the absolute fallback option.\n */\nexport function LoggerConsoleHandler(opt: LogHandlerOptions = {}): LogHandler {\n const {\n level = undefined,\n filter = undefined,\n // colors = true,\n // levelHelper = false,\n // nameBrackets = true,\n // padding = 16,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n // logCaptureConsole will override the console methods, so we need to get the original ones\n const originalConsole = getGlobalConsole()\n\n if (!originalConsole)\n return () => {}\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n const name = msg.name ? `[${msg.name}]` : ''\n switch (msg.level) {\n case LogLevelInfo:\n originalConsole.info(...joinLogStrings(`I|* ${name}`, ...msg.messages))\n break\n case LogLevelWarn:\n originalConsole.warn(...joinLogStrings(`W|** ${name}`, ...msg.messages))\n break\n case LogLevelError:\n originalConsole.error(...joinLogStrings(`E|*** ${name}`, ...msg.messages))\n break\n default:\n originalConsole.debug(...joinLogStrings(`D| ${name}`, ...msg.messages))\n break\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/assert.cjs"],"names":[],"mappings":"AAAA,kIAAwC,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,yHAAoD","file":"/home/runner/work/zeed/zeed/dist/common/assert.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/assert.cjs"],"names":[],"mappings":"AAAA,kIAAwC,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,yHAAoD","file":"/Users/dirk/work/github-zeed/dist/common/assert.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/index.cjs"],"names":[],"mappings":"AAAA,qIAAqD,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,2XAAoL","file":"/home/runner/work/zeed/zeed/dist/common/bin/index.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/bin/index.cjs"],"names":[],"mappings":"AAAA,qIAAqD,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,2XAAoL","file":"/Users/dirk/work/github-zeed/dist/common/bin/index.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/lib0/binary.cjs"],"names":[],"mappings":"AAAA,wIAAqL,uCAAoC,63EAA4uB","file":"/home/runner/work/zeed/zeed/dist/common/bin/lib0/binary.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/bin/lib0/binary.cjs"],"names":[],"mappings":"AAAA,wIAAqL,uCAAoC,63EAA4uB","file":"/Users/dirk/work/github-zeed/dist/common/bin/lib0/binary.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/lib0/buffer.cjs","../../../../src/common/bin/lib0/buffer.ts"],"names":["createUint8ArrayFromLen","len","__name","copyUint8Array","uint8Array","newBuf","encodeAny","data","encoder","createBinEncoder","writeAny","encodeToUint8Array","decodeAny","buf","readAny","createDecoder"],"mappings":"AAAA,wIAAsD,+DAA8D,uCAAoC,uCAAoC,uCAAoC,+DAAgD,SCShQA,CAAAA,CAAwBC,CAAAA,CAAyB,CAC/D,OAAO,IAAI,UAAA,CAAWA,CAAG,CAC3B,CAFgBC,iCAAAA,CAAAF,CAAA,yBAAA,CAAA,CAOT,SAASG,CAAAA,CAAeC,CAAAA,CAAoC,CACjE,IAAMC,CAAAA,CAASL,CAAAA,CAAwBI,CAAAA,CAAW,UAAU,CAAA,CAC5D,OAAAC,CAAAA,CAAO,GAAA,CAAID,CAAU,CAAA,CACdC,CACT,CAJgBH,iCAAAA,CAAAC,CAAA,gBAAA,CAAA,CAUT,SAASG,CAAAA,CAAUC,CAAAA,CAAuB,CAC/C,IAAMC,CAAAA,CAAUC,iCAAAA,CAAiB,CACjC,OAAAC,iCAAAA,CAASF,CAASD,CAAI,CAAA,CACfI,iCAAAA,CAA0B,CACnC,CAJgBT,iCAAAA,CAAAI,CAAA,WAAA,CAAA,CAST,SAASM,CAAAA,CAAUC,CAAAA,CAAsB,CAC9C,OAAOC,iCAAAA,iCAAQC,CAAiB,CAAC,CACnC,CAFgBb,iCAAAA,CAAAU,CAAA,WAAA,CAAA,CAAA,8GAAA","file":"/home/runner/work/zeed/zeed/dist/common/bin/lib0/buffer.cjs","sourcesContent":[null,"/**\n * Original at https://github.com/dmonad/lib0\n *\n * Utility functions to work with buffers (Uint8Array).\n */\n\nimport { createDecoder, readAny } from './decoding'\nimport { createBinEncoder, encodeToUint8Array, writeAny } from './encoding'\n\nexport function createUint8ArrayFromLen(len: number): Uint8Array {\n return new Uint8Array(len)\n}\n\n/**\n * Copy the content of an Uint8Array view to a new ArrayBuffer.\n */\nexport function copyUint8Array(uint8Array: Uint8Array): Uint8Array {\n const newBuf = createUint8ArrayFromLen(uint8Array.byteLength)\n newBuf.set(uint8Array)\n return newBuf\n}\n\n/**\n * Encode anything as a UInt8Array. It's a pun on typescripts's `any` type.\n * See encoding.writeAny for more information.\n */\nexport function encodeAny(data: any): Uint8Array {\n const encoder = createBinEncoder()\n writeAny(encoder, data)\n return encodeToUint8Array(encoder)\n}\n\n/**\n * Decode an any-encoded value.\n */\nexport function decodeAny(buf: Uint8Array): any {\n return readAny(createDecoder(buf))\n}\n"]}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/bin/lib0/buffer.cjs","../../../../src/common/bin/lib0/buffer.ts"],"names":["createUint8ArrayFromLen","len","__name","copyUint8Array","uint8Array","newBuf","encodeAny","data","encoder","createBinEncoder","writeAny","encodeToUint8Array","decodeAny","buf","readAny","createDecoder"],"mappings":"AAAA,wIAAsD,+DAA8D,uCAAoC,uCAAoC,uCAAoC,+DAAgD,SCShQA,CAAAA,CAAwBC,CAAAA,CAAyB,CAC/D,OAAO,IAAI,UAAA,CAAWA,CAAG,CAC3B,CAFgBC,iCAAAA,CAAAF,CAAA,yBAAA,CAAA,CAOT,SAASG,CAAAA,CAAeC,CAAAA,CAAoC,CACjE,IAAMC,CAAAA,CAASL,CAAAA,CAAwBI,CAAAA,CAAW,UAAU,CAAA,CAC5D,OAAAC,CAAAA,CAAO,GAAA,CAAID,CAAU,CAAA,CACdC,CACT,CAJgBH,iCAAAA,CAAAC,CAAA,gBAAA,CAAA,CAUT,SAASG,CAAAA,CAAUC,CAAAA,CAAuB,CAC/C,IAAMC,CAAAA,CAAUC,iCAAAA,CAAiB,CACjC,OAAAC,iCAAAA,CAASF,CAASD,CAAI,CAAA,CACfI,iCAAAA,CAA0B,CACnC,CAJgBT,iCAAAA,CAAAI,CAAA,WAAA,CAAA,CAST,SAASM,CAAAA,CAAUC,CAAAA,CAAsB,CAC9C,OAAOC,iCAAAA,iCAAQC,CAAiB,CAAC,CACnC,CAFgBb,iCAAAA,CAAAU,CAAA,WAAA,CAAA,CAAA,8GAAA","file":"/Users/dirk/work/github-zeed/dist/common/bin/lib0/buffer.cjs","sourcesContent":[null,"/**\n * Original at https://github.com/dmonad/lib0\n *\n * Utility functions to work with buffers (Uint8Array).\n */\n\nimport { createDecoder, readAny } from './decoding'\nimport { createBinEncoder, encodeToUint8Array, writeAny } from './encoding'\n\nexport function createUint8ArrayFromLen(len: number): Uint8Array {\n return new Uint8Array(len)\n}\n\n/**\n * Copy the content of an Uint8Array view to a new ArrayBuffer.\n */\nexport function copyUint8Array(uint8Array: Uint8Array): Uint8Array {\n const newBuf = createUint8ArrayFromLen(uint8Array.byteLength)\n newBuf.set(uint8Array)\n return newBuf\n}\n\n/**\n * Encode anything as a UInt8Array. It's a pun on typescripts's `any` type.\n * See encoding.writeAny for more information.\n */\nexport function encodeAny(data: any): Uint8Array {\n const encoder = createBinEncoder()\n writeAny(encoder, data)\n return encodeToUint8Array(encoder)\n}\n\n/**\n * Decode an any-encoded value.\n */\nexport function decodeAny(buf: Uint8Array): any {\n return readAny(createDecoder(buf))\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/lib0/create.cjs"],"names":[],"mappings":"AAAA,wIAA4C,uCAAoC,iIAAsF","file":"/home/runner/work/zeed/zeed/dist/common/bin/lib0/create.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/bin/lib0/create.cjs"],"names":[],"mappings":"AAAA,wIAA4C,uCAAoC,iIAAsF","file":"/Users/dirk/work/github-zeed/dist/common/bin/lib0/create.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/lib0/decoding.cjs"],"names":[],"mappings":"AAAA,wIAA8F,uCAAoC,uCAAoC,uCAAoC,uCAAoC,opCAA+d","file":"/home/runner/work/zeed/zeed/dist/common/bin/lib0/decoding.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/bin/lib0/decoding.cjs"],"names":[],"mappings":"AAAA,wIAA8F,uCAAoC,uCAAoC,uCAAoC,uCAAoC,opCAA+d","file":"/Users/dirk/work/github-zeed/dist/common/bin/lib0/decoding.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/lib0/encoding.cjs"],"names":[],"mappings":"AAAA,wIAA8F,uCAAoC,uCAAoC,uCAAoC,uCAAoC,gqCAA2e","file":"/home/runner/work/zeed/zeed/dist/common/bin/lib0/encoding.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/bin/lib0/encoding.cjs"],"names":[],"mappings":"AAAA,wIAA8F,uCAAoC,uCAAoC,uCAAoC,uCAAoC,gqCAA2e","file":"/Users/dirk/work/github-zeed/dist/common/bin/lib0/encoding.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/bin/lib0/string.cjs"],"names":[],"mappings":"AAAA,wIAA0D,uCAAoC,mZAAkL","file":"/home/runner/work/zeed/zeed/dist/common/bin/lib0/string.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/bin/lib0/string.cjs"],"names":[],"mappings":"AAAA,wIAA0D,uCAAoC,mZAAkL","file":"/Users/dirk/work/github-zeed/dist/common/bin/lib0/string.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/crypto/aes-sealed.cjs"],"names":[],"mappings":"AAAA,qIAAyC,oCAAiC,oCAAiC,oCAAiC,yFAA8C","file":"/home/runner/work/zeed/zeed/dist/common/crypto/aes-sealed.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/crypto/aes-sealed.cjs"],"names":[],"mappings":"AAAA,qIAAyC,oCAAiC,oCAAiC,oCAAiC,yFAA8C","file":"/Users/dirk/work/github-zeed/dist/common/crypto/aes-sealed.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/crypto/crypto.cjs"],"names":[],"mappings":"AAAA,qIAA2D,oCAAiC,oCAAiC,oCAAiC,8hBAAyQ","file":"/home/runner/work/zeed/zeed/dist/common/crypto/crypto.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/crypto/crypto.cjs"],"names":[],"mappings":"AAAA,qIAA2D,oCAAiC,oCAAiC,oCAAiC,8hBAAyQ","file":"/Users/dirk/work/github-zeed/dist/common/crypto/crypto.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/crypto/index.cjs"],"names":[],"mappings":"AAAA,6GAAgC,4DAA0C,4DAAmH,4DAAyE,oCAAiC,oCAAiC,oCAAiC,u1BAA4Y","file":"/home/runner/work/zeed/zeed/dist/common/crypto/index.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/crypto/index.cjs"],"names":[],"mappings":"AAAA,6GAAgC,4DAA0C,4DAAmH,4DAAyE,oCAAiC,oCAAiC,oCAAiC,u1BAA4Y","file":"/Users/dirk/work/github-zeed/dist/common/crypto/index.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/crypto/xaes.cjs"],"names":[],"mappings":"AAAA,qIAA+C,oCAAiC,oCAAiC,oCAAiC,8NAAqG","file":"/home/runner/work/zeed/zeed/dist/common/crypto/xaes.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/crypto/xaes.cjs"],"names":[],"mappings":"AAAA,qIAA+C,oCAAiC,oCAAiC,oCAAiC,8NAAqG","file":"/Users/dirk/work/github-zeed/dist/common/crypto/xaes.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/csv.cjs"],"names":[],"mappings":"AAAA,kIAAwC,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,oIAA+D","file":"/home/runner/work/zeed/zeed/dist/common/csv.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/csv.cjs"],"names":[],"mappings":"AAAA,kIAAwC,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,oIAA+D","file":"/Users/dirk/work/github-zeed/dist/common/csv.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/array.cjs"],"names":[],"mappings":"AAAA,qIAAuF,oCAAiC,oCAAiC,oCAAiC,+nCAA8f","file":"/home/runner/work/zeed/zeed/dist/common/data/array.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/array.cjs"],"names":[],"mappings":"AAAA,qIAAuF,oCAAiC,oCAAiC,oCAAiC,+nCAA8f","file":"/Users/dirk/work/github-zeed/dist/common/data/array.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/basex-secure.cjs"],"names":[],"mappings":"AAAA,qIAA2F,oCAAiC,oCAAiC,ylCAAoa","file":"/home/runner/work/zeed/zeed/dist/common/data/basex-secure.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/basex-secure.cjs"],"names":[],"mappings":"AAAA,qIAA2F,oCAAiC,oCAAiC,ylCAAoa","file":"/Users/dirk/work/github-zeed/dist/common/data/basex-secure.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/basex.cjs"],"names":[],"mappings":"AAAA,qIAA2D,oCAAiC,oCAAiC,oCAAiC,ieAA4M","file":"/home/runner/work/zeed/zeed/dist/common/data/basex.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/basex.cjs"],"names":[],"mappings":"AAAA,qIAA2D,oCAAiC,oCAAiC,oCAAiC,ieAA4M","file":"/Users/dirk/work/github-zeed/dist/common/data/basex.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/bin-types.cjs"],"names":[],"mappings":"AAAA,iDAAgC","file":"/home/runner/work/zeed/zeed/dist/common/data/bin-types.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/bin-types.cjs"],"names":[],"mappings":"AAAA,iDAAgC","file":"/Users/dirk/work/github-zeed/dist/common/data/bin-types.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/bin.cjs"],"names":[],"mappings":"AAAA,qIAAmK,oCAAiC,oCAAiC,yzBAA8W","file":"/home/runner/work/zeed/zeed/dist/common/data/bin.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/bin.cjs"],"names":[],"mappings":"AAAA,qIAAmK,oCAAiC,oCAAiC,yzBAA8W","file":"/Users/dirk/work/github-zeed/dist/common/data/bin.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/camelcase.cjs"],"names":[],"mappings":"AAAA,qIAA6C,oCAAiC,oLAAqF","file":"/home/runner/work/zeed/zeed/dist/common/data/camelcase.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/camelcase.cjs"],"names":[],"mappings":"AAAA,qIAA6C,oCAAiC,oLAAqF","file":"/Users/dirk/work/github-zeed/dist/common/data/camelcase.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/convert.cjs"],"names":[],"mappings":"AAAA,qIAAmE,oCAAiC,opBAAuR","file":"/home/runner/work/zeed/zeed/dist/common/data/convert.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/convert.cjs"],"names":[],"mappings":"AAAA,qIAAmE,oCAAiC,opBAAuR","file":"/Users/dirk/work/github-zeed/dist/common/data/convert.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/datauri.cjs"],"names":[],"mappings":"AAAA,qIAA+C,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,gPAAuH","file":"/home/runner/work/zeed/zeed/dist/common/data/datauri.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/datauri.cjs"],"names":[],"mappings":"AAAA,qIAA+C,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,gPAAuH","file":"/Users/dirk/work/github-zeed/dist/common/data/datauri.cjs"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkIMM23TO5cjs = require('../../chunk-IMM23TO5.cjs');require('../../chunk-KHK37DTS.cjs');require('../../chunk-7UA33BQW.cjs');require('../../chunk-ZEDMMWJI.cjs');require('../../chunk-UXW3L3L6.cjs');require('../../chunk-P7XCQ7WV.cjs');exports.Day = _chunkIMM23TO5cjs.a; exports.dateStringToDays = _chunkIMM23TO5cjs.e; exports.day = _chunkIMM23TO5cjs.d; exports.forEachDay = _chunkIMM23TO5cjs.b; exports.today = _chunkIMM23TO5cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkV3A7ZIGTcjs = require('../../chunk-V3A7ZIGT.cjs');require('../../chunk-LONV4KUS.cjs');require('../../chunk-7UA33BQW.cjs');require('../../chunk-ZEDMMWJI.cjs');require('../../chunk-UXW3L3L6.cjs');require('../../chunk-P7XCQ7WV.cjs');exports.Day = _chunkV3A7ZIGTcjs.a; exports.dateStringToDays = _chunkV3A7ZIGTcjs.e; exports.day = _chunkV3A7ZIGTcjs.d; exports.forEachDay = _chunkV3A7ZIGTcjs.b; exports.today = _chunkV3A7ZIGTcjs.c;
2
2
  //# sourceMappingURL=day-legacy.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/day-legacy.cjs"],"names":[],"mappings":"AAAA,qIAA+C,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oMAA2E","file":"/home/runner/work/zeed/zeed/dist/common/data/day-legacy.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/day-legacy.cjs"],"names":[],"mappings":"AAAA,qIAA+C,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oCAAiC,oMAA2E","file":"/Users/dirk/work/github-zeed/dist/common/data/day-legacy.cjs"}
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e}from"../../chunk-LTEGKVQQ.js";import"../../chunk-TSNDVQHW.js";import"../../chunk-6EQDC7VW.js";import"../../chunk-73A2QE6J.js";import"../../chunk-YAGYM2VT.js";import"../../chunk-5NKC2EQJ.js";export{a as Day,e as dateStringToDays,d as day,b as forEachDay,c as today};
1
+ import{a,b,c,d,e}from"../../chunk-W4M6PGBQ.js";import"../../chunk-YEP2NVSS.js";import"../../chunk-6EQDC7VW.js";import"../../chunk-73A2QE6J.js";import"../../chunk-YAGYM2VT.js";import"../../chunk-5NKC2EQJ.js";export{a as Day,e as dateStringToDays,d as day,b as forEachDay,c as today};
2
2
  //# sourceMappingURL=day-legacy.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKHK37DTScjs = require('../../chunk-KHK37DTS.cjs');require('../../chunk-ZEDMMWJI.cjs');require('../../chunk-UXW3L3L6.cjs');require('../../chunk-P7XCQ7WV.cjs');exports.DAY_MS = _chunkKHK37DTScjs.b; exports.dayDay = _chunkKHK37DTScjs.e; exports.dayDiff = _chunkKHK37DTScjs.y; exports.dayFromAny = _chunkKHK37DTScjs.i; exports.dayFromDate = _chunkKHK37DTScjs.l; exports.dayFromDateGMT = _chunkKHK37DTScjs.n; exports.dayFromDateUTC = _chunkKHK37DTScjs.m; exports.dayFromParts = _chunkKHK37DTScjs.t; exports.dayFromString = _chunkKHK37DTScjs.u; exports.dayFromTimestamp = _chunkKHK37DTScjs.q; exports.dayFromTimestampSeconds = _chunkKHK37DTScjs.r; exports.dayFromToday = _chunkKHK37DTScjs.h; exports.dayIterator = _chunkKHK37DTScjs.A; exports.dayMonth = _chunkKHK37DTScjs.d; exports.dayMonthStart = _chunkKHK37DTScjs.v; exports.dayOffset = _chunkKHK37DTScjs.x; exports.dayRange = _chunkKHK37DTScjs.z; exports.dayToDate = _chunkKHK37DTScjs.g; exports.dayToDateGMT = _chunkKHK37DTScjs.k; exports.dayToDateUTC = _chunkKHK37DTScjs.j; exports.dayToParts = _chunkKHK37DTScjs.f; exports.dayToString = _chunkKHK37DTScjs.s; exports.dayToTimestamp = _chunkKHK37DTScjs.p; exports.dayToTimestampSeconds = _chunkKHK37DTScjs.o; exports.dayYear = _chunkKHK37DTScjs.c; exports.dayYearStart = _chunkKHK37DTScjs.w; exports.setDayTest = _chunkKHK37DTScjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLONV4KUScjs = require('../../chunk-LONV4KUS.cjs');require('../../chunk-ZEDMMWJI.cjs');require('../../chunk-UXW3L3L6.cjs');require('../../chunk-P7XCQ7WV.cjs');exports.DAY_MS = _chunkLONV4KUScjs.b; exports.dayDay = _chunkLONV4KUScjs.e; exports.dayDaysInMonth = _chunkLONV4KUScjs.z; exports.dayDiff = _chunkLONV4KUScjs.B; exports.dayFromAny = _chunkLONV4KUScjs.i; exports.dayFromDate = _chunkLONV4KUScjs.l; exports.dayFromDateGMT = _chunkLONV4KUScjs.n; exports.dayFromDateUTC = _chunkLONV4KUScjs.m; exports.dayFromParts = _chunkLONV4KUScjs.t; exports.dayFromString = _chunkLONV4KUScjs.u; exports.dayFromTimestamp = _chunkLONV4KUScjs.q; exports.dayFromTimestampSeconds = _chunkLONV4KUScjs.r; exports.dayFromToday = _chunkLONV4KUScjs.h; exports.dayIterator = _chunkLONV4KUScjs.D; exports.dayMonth = _chunkLONV4KUScjs.d; exports.dayMonthOffset = _chunkLONV4KUScjs.w; exports.dayMonthStart = _chunkLONV4KUScjs.v; exports.dayOffset = _chunkLONV4KUScjs.A; exports.dayRange = _chunkLONV4KUScjs.C; exports.dayToDate = _chunkLONV4KUScjs.g; exports.dayToDateGMT = _chunkLONV4KUScjs.k; exports.dayToDateUTC = _chunkLONV4KUScjs.j; exports.dayToParts = _chunkLONV4KUScjs.f; exports.dayToString = _chunkLONV4KUScjs.s; exports.dayToTimestamp = _chunkLONV4KUScjs.p; exports.dayToTimestampSeconds = _chunkLONV4KUScjs.o; exports.dayYear = _chunkLONV4KUScjs.c; exports.dayYearOffset = _chunkLONV4KUScjs.y; exports.dayYearStart = _chunkLONV4KUScjs.x; exports.setDayTest = _chunkLONV4KUScjs.a;
2
2
  //# sourceMappingURL=day.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/day.cjs"],"names":[],"mappings":"AAAA,qIAA2F,oCAAiC,oCAAiC,oCAAiC,spCAAie","file":"/home/runner/work/zeed/zeed/dist/common/data/day.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/day.cjs"],"names":[],"mappings":"AAAA,qIAAiG,oCAAiC,oCAAiC,oCAAiC,+xCAA4hB","file":"/Users/dirk/work/github-zeed/dist/common/data/day.cjs"}
@@ -152,11 +152,29 @@ declare function dayFromString(value: string): DayValue | undefined;
152
152
  * @param offset - months to offset (default 0)
153
153
  */
154
154
  declare function dayMonthStart(day: DayValue, offset?: number): DayValue;
155
+ /**
156
+ * Return the day offset by whole months, keeping the day-of-month when possible.
157
+ * If the target month has fewer days, the result is clamped to the last day.
158
+ *
159
+ * @param day - source DayValue
160
+ * @param offset - months to offset (positive or negative)
161
+ */
162
+ declare function dayMonthOffset(day: DayValue, offset: number): DayValue;
155
163
  /**
156
164
  * Return the first day of the year for the given DayValue. `offset` moves
157
165
  * the year by the given amount.
158
166
  */
159
167
  declare function dayYearStart(day: DayValue, offset?: number): DayValue;
168
+ /**
169
+ * Return the day offset by whole years, keeping month and day when possible.
170
+ * If the target month has fewer days, the result is clamped to the last day.
171
+ *
172
+ * @param day - source DayValue
173
+ * @param offset - years to offset (positive or negative)
174
+ */
175
+ declare function dayYearOffset(day: DayValue, offset: number): DayValue;
176
+ /** Return number of days in a given month. Month is 1-12. */
177
+ declare function dayDaysInMonth(year: number, month: number): number;
160
178
  /**
161
179
  * Offset a DayValue by a number of days. Uses timestamp math to avoid local
162
180
  * DST issues.
@@ -183,4 +201,4 @@ declare function dayRange(left: DayValue, right?: DayValue): number[];
183
201
  */
184
202
  declare function dayIterator(left: DayValue, right?: DayValue): Generator<number, number[], unknown>;
185
203
 
186
- export { DAY_MS, type DayInput, type DayValue, dayDay, dayDiff, dayFromAny, dayFromDate, dayFromDateGMT, dayFromDateUTC, dayFromParts, dayFromString, dayFromTimestamp, dayFromTimestampSeconds, dayFromToday, dayIterator, dayMonth, dayMonthStart, dayOffset, dayRange, dayToDate, dayToDateGMT, dayToDateUTC, dayToParts, dayToString, dayToTimestamp, dayToTimestampSeconds, dayYear, dayYearStart, setDayTest };
204
+ export { DAY_MS, type DayInput, type DayValue, dayDay, dayDaysInMonth, dayDiff, dayFromAny, dayFromDate, dayFromDateGMT, dayFromDateUTC, dayFromParts, dayFromString, dayFromTimestamp, dayFromTimestampSeconds, dayFromToday, dayIterator, dayMonth, dayMonthOffset, dayMonthStart, dayOffset, dayRange, dayToDate, dayToDateGMT, dayToDateUTC, dayToParts, dayToString, dayToTimestamp, dayToTimestampSeconds, dayYear, dayYearOffset, dayYearStart, setDayTest };
@@ -152,11 +152,29 @@ declare function dayFromString(value: string): DayValue | undefined;
152
152
  * @param offset - months to offset (default 0)
153
153
  */
154
154
  declare function dayMonthStart(day: DayValue, offset?: number): DayValue;
155
+ /**
156
+ * Return the day offset by whole months, keeping the day-of-month when possible.
157
+ * If the target month has fewer days, the result is clamped to the last day.
158
+ *
159
+ * @param day - source DayValue
160
+ * @param offset - months to offset (positive or negative)
161
+ */
162
+ declare function dayMonthOffset(day: DayValue, offset: number): DayValue;
155
163
  /**
156
164
  * Return the first day of the year for the given DayValue. `offset` moves
157
165
  * the year by the given amount.
158
166
  */
159
167
  declare function dayYearStart(day: DayValue, offset?: number): DayValue;
168
+ /**
169
+ * Return the day offset by whole years, keeping month and day when possible.
170
+ * If the target month has fewer days, the result is clamped to the last day.
171
+ *
172
+ * @param day - source DayValue
173
+ * @param offset - years to offset (positive or negative)
174
+ */
175
+ declare function dayYearOffset(day: DayValue, offset: number): DayValue;
176
+ /** Return number of days in a given month. Month is 1-12. */
177
+ declare function dayDaysInMonth(year: number, month: number): number;
160
178
  /**
161
179
  * Offset a DayValue by a number of days. Uses timestamp math to avoid local
162
180
  * DST issues.
@@ -183,4 +201,4 @@ declare function dayRange(left: DayValue, right?: DayValue): number[];
183
201
  */
184
202
  declare function dayIterator(left: DayValue, right?: DayValue): Generator<number, number[], unknown>;
185
203
 
186
- export { DAY_MS, type DayInput, type DayValue, dayDay, dayDiff, dayFromAny, dayFromDate, dayFromDateGMT, dayFromDateUTC, dayFromParts, dayFromString, dayFromTimestamp, dayFromTimestampSeconds, dayFromToday, dayIterator, dayMonth, dayMonthStart, dayOffset, dayRange, dayToDate, dayToDateGMT, dayToDateUTC, dayToParts, dayToString, dayToTimestamp, dayToTimestampSeconds, dayYear, dayYearStart, setDayTest };
204
+ export { DAY_MS, type DayInput, type DayValue, dayDay, dayDaysInMonth, dayDiff, dayFromAny, dayFromDate, dayFromDateGMT, dayFromDateUTC, dayFromParts, dayFromString, dayFromTimestamp, dayFromTimestampSeconds, dayFromToday, dayIterator, dayMonth, dayMonthOffset, dayMonthStart, dayOffset, dayRange, dayToDate, dayToDateGMT, dayToDateUTC, dayToParts, dayToString, dayToTimestamp, dayToTimestampSeconds, dayYear, dayYearOffset, dayYearStart, setDayTest };
@@ -1,2 +1,2 @@
1
- import{A,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"../../chunk-TSNDVQHW.js";import"../../chunk-73A2QE6J.js";import"../../chunk-YAGYM2VT.js";import"../../chunk-5NKC2EQJ.js";export{b as DAY_MS,e as dayDay,y as dayDiff,i as dayFromAny,l as dayFromDate,n as dayFromDateGMT,m as dayFromDateUTC,t as dayFromParts,u as dayFromString,q as dayFromTimestamp,r as dayFromTimestampSeconds,h as dayFromToday,A as dayIterator,d as dayMonth,v as dayMonthStart,x as dayOffset,z as dayRange,g as dayToDate,k as dayToDateGMT,j as dayToDateUTC,f as dayToParts,s as dayToString,p as dayToTimestamp,o as dayToTimestampSeconds,c as dayYear,w as dayYearStart,a as setDayTest};
1
+ import{A,B,C,D,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"../../chunk-YEP2NVSS.js";import"../../chunk-73A2QE6J.js";import"../../chunk-YAGYM2VT.js";import"../../chunk-5NKC2EQJ.js";export{b as DAY_MS,e as dayDay,z as dayDaysInMonth,B as dayDiff,i as dayFromAny,l as dayFromDate,n as dayFromDateGMT,m as dayFromDateUTC,t as dayFromParts,u as dayFromString,q as dayFromTimestamp,r as dayFromTimestampSeconds,h as dayFromToday,D as dayIterator,d as dayMonth,w as dayMonthOffset,v as dayMonthStart,A as dayOffset,C as dayRange,g as dayToDate,k as dayToDateGMT,j as dayToDateUTC,f as dayToParts,s as dayToString,p as dayToTimestamp,o as dayToTimestampSeconds,c as dayYear,y as dayYearOffset,x as dayYearStart,a as setDayTest};
2
2
  //# sourceMappingURL=day.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/decimal.cjs"],"names":[],"mappings":"AAAA,qIAA6C,oCAAiC,oLAAqF","file":"/home/runner/work/zeed/zeed/dist/common/data/decimal.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/decimal.cjs"],"names":[],"mappings":"AAAA,qIAA6C,oCAAiC,oLAAqF","file":"/Users/dirk/work/github-zeed/dist/common/data/decimal.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/deep.cjs"],"names":[],"mappings":"AAAA,qIAA2C,oCAAiC,oCAAiC,oCAAiC,oCAAiC,0IAAqE","file":"/home/runner/work/zeed/zeed/dist/common/data/deep.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/deep.cjs"],"names":[],"mappings":"AAAA,qIAA2C,oCAAiC,oCAAiC,oCAAiC,oCAAiC,0IAAqE","file":"/Users/dirk/work/github-zeed/dist/common/data/deep.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/diff.cjs"],"names":[],"mappings":"AAAA,qIAAuC,oCAAiC,0CAAyB","file":"/home/runner/work/zeed/zeed/dist/common/data/diff.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/diff.cjs"],"names":[],"mappings":"AAAA,qIAAuC,oCAAiC,0CAAyB","file":"/Users/dirk/work/github-zeed/dist/common/data/diff.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/distributed.cjs"],"names":[],"mappings":"AAAA,qIAAuC,oCAAiC,kDAAiC","file":"/home/runner/work/zeed/zeed/dist/common/data/distributed.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/distributed.cjs"],"names":[],"mappings":"AAAA,qIAAuC,oCAAiC,kDAAiC","file":"/Users/dirk/work/github-zeed/dist/common/data/distributed.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/format.cjs"],"names":[],"mappings":"AAAA,qIAA2C,oCAAiC,sKAAiG","file":"/home/runner/work/zeed/zeed/dist/common/data/format.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/format.cjs"],"names":[],"mappings":"AAAA,qIAA2C,oCAAiC,sKAAiG","file":"/Users/dirk/work/github-zeed/dist/common/data/format.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/common/data/html.cjs"],"names":[],"mappings":"AAAA,qIAAyC,oCAAiC,qFAA0C","file":"/home/runner/work/zeed/zeed/dist/common/data/html.cjs"}
1
+ {"version":3,"sources":["/Users/dirk/work/github-zeed/dist/common/data/html.cjs"],"names":[],"mappings":"AAAA,qIAAyC,oCAAiC,qFAA0C","file":"/Users/dirk/work/github-zeed/dist/common/data/html.cjs"}