zeed 0.24.21 → 0.24.23

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 (320) hide show
  1. package/dist/browser/index.cjs +3 -3
  2. package/dist/browser/index.js +2 -2
  3. package/dist/browser/localstorage.spec.cjs +30 -30
  4. package/dist/browser/localstorage.spec.js +30 -30
  5. package/dist/browser/log/index.cjs +3 -3
  6. package/dist/browser/log/index.js +2 -2
  7. package/dist/browser/log/log-browser.cjs +3 -3
  8. package/dist/browser/log/log-browser.js +2 -2
  9. package/dist/browser/log/log-context-browser.cjs +4 -4
  10. package/dist/browser/log/log-context-browser.js +3 -3
  11. package/dist/{chunk-VWNQ7U34.js → chunk-2AXVHLEB.js} +3 -3
  12. package/dist/{chunk-X5MWXWOA.cjs → chunk-2P6TEB5M.cjs} +9 -9
  13. package/dist/{chunk-X5MWXWOA.cjs.map → chunk-2P6TEB5M.cjs.map} +1 -1
  14. package/dist/{chunk-SX5YQHZO.cjs → chunk-33B2TEAZ.cjs} +44 -2
  15. package/dist/chunk-33B2TEAZ.cjs.map +1 -0
  16. package/dist/{chunk-M36JIJIN.cjs → chunk-4I63E7RR.cjs} +4 -4
  17. package/dist/{chunk-M36JIJIN.cjs.map → chunk-4I63E7RR.cjs.map} +1 -1
  18. package/dist/{chunk-LXIRSGTR.js → chunk-5OO7YIJS.js} +2 -2
  19. package/dist/{chunk-VY4PIHM7.cjs → chunk-5XBENITT.cjs} +3 -3
  20. package/dist/{chunk-VY4PIHM7.cjs.map → chunk-5XBENITT.cjs.map} +1 -1
  21. package/dist/{chunk-57AYOGMA.js → chunk-6UYYLWYZ.js} +4 -4
  22. package/dist/{chunk-SCQIUUXO.js → chunk-ARGGC4S7.js} +2 -2
  23. package/dist/{chunk-HNN5IHXG.js → chunk-BMPLIZZN.js} +3 -3
  24. package/dist/{chunk-UO7L7NBK.js → chunk-BORRWM4T.js} +3 -3
  25. package/dist/{chunk-UO7L7NBK.js.map → chunk-BORRWM4T.js.map} +1 -1
  26. package/dist/{chunk-L2EE5STQ.js → chunk-C7EJAUFU.js} +2 -2
  27. package/dist/{chunk-KMMN6P2X.cjs → chunk-CIO2RO42.cjs} +3 -3
  28. package/dist/{chunk-KMMN6P2X.cjs.map → chunk-CIO2RO42.cjs.map} +1 -1
  29. package/dist/{chunk-SIJXIZ4J.cjs → chunk-COCHOK6W.cjs} +7 -7
  30. package/dist/{chunk-SIJXIZ4J.cjs.map → chunk-COCHOK6W.cjs.map} +1 -1
  31. package/dist/{chunk-OTNF3VVH.js → chunk-D46UZDEX.js} +2 -2
  32. package/dist/{chunk-NFGPFSPO.cjs → chunk-DR4WHI2S.cjs} +3 -3
  33. package/dist/{chunk-NFGPFSPO.cjs.map → chunk-DR4WHI2S.cjs.map} +1 -1
  34. package/dist/{chunk-MLCD7TOL.js → chunk-DX7JNKVT.js} +2 -2
  35. package/dist/chunk-DX7JNKVT.js.map +1 -0
  36. package/dist/{chunk-JLSAW4YK.js → chunk-EAM7QSTF.js} +3 -3
  37. package/dist/{chunk-RLHQ6YHC.cjs → chunk-EFNDJHGH.cjs} +2 -2
  38. package/dist/chunk-EFNDJHGH.cjs.map +1 -0
  39. package/dist/{chunk-HHZVPIBD.cjs → chunk-EZB4PXZZ.cjs} +5 -5
  40. package/dist/{chunk-HHZVPIBD.cjs.map → chunk-EZB4PXZZ.cjs.map} +1 -1
  41. package/dist/{chunk-HW2ATP66.js → chunk-F6BC7VBR.js} +2 -2
  42. package/dist/{chunk-RHWKNEUH.cjs → chunk-FGKARD4L.cjs} +4 -4
  43. package/dist/{chunk-RHWKNEUH.cjs.map → chunk-FGKARD4L.cjs.map} +1 -1
  44. package/dist/{chunk-VMVGGE32.cjs → chunk-G7WANTEK.cjs} +8 -8
  45. package/dist/{chunk-VMVGGE32.cjs.map → chunk-G7WANTEK.cjs.map} +1 -1
  46. package/dist/{chunk-WVAFGHBS.cjs → chunk-GAB4VEWK.cjs} +5 -5
  47. package/dist/{chunk-WVAFGHBS.cjs.map → chunk-GAB4VEWK.cjs.map} +1 -1
  48. package/dist/{chunk-DRU33ZUG.cjs → chunk-GRFP6IKE.cjs} +3 -3
  49. package/dist/{chunk-DRU33ZUG.cjs.map → chunk-GRFP6IKE.cjs.map} +1 -1
  50. package/dist/{chunk-S4V3EGNS.cjs → chunk-GVOOAPLA.cjs} +7 -7
  51. package/dist/{chunk-S4V3EGNS.cjs.map → chunk-GVOOAPLA.cjs.map} +1 -1
  52. package/dist/{chunk-FLUN46S4.cjs → chunk-HC4FRUCO.cjs} +20 -20
  53. package/dist/{chunk-FLUN46S4.cjs.map → chunk-HC4FRUCO.cjs.map} +1 -1
  54. package/dist/{chunk-WZB5LGZ4.cjs → chunk-HL7W3IJL.cjs} +3 -3
  55. package/dist/{chunk-WZB5LGZ4.cjs.map → chunk-HL7W3IJL.cjs.map} +1 -1
  56. package/dist/{chunk-3ONBXSUJ.js → chunk-HWSSZ74K.js} +3 -3
  57. package/dist/{chunk-QRZCRLS4.cjs → chunk-I33DGHK7.cjs} +5 -5
  58. package/dist/{chunk-QRZCRLS4.cjs.map → chunk-I33DGHK7.cjs.map} +1 -1
  59. package/dist/{chunk-B2VJ65J2.js → chunk-IHJALGOF.js} +2 -2
  60. package/dist/{chunk-FJRY5GL6.cjs → chunk-J5SM53KP.cjs} +9 -9
  61. package/dist/{chunk-FJRY5GL6.cjs.map → chunk-J5SM53KP.cjs.map} +1 -1
  62. package/dist/{chunk-N764ZFOI.cjs → chunk-JB2N3PRT.cjs} +4 -4
  63. package/dist/{chunk-N764ZFOI.cjs.map → chunk-JB2N3PRT.cjs.map} +1 -1
  64. package/dist/{chunk-QP3M4SXG.cjs → chunk-KD3O2CG4.cjs} +3 -3
  65. package/dist/{chunk-QP3M4SXG.cjs.map → chunk-KD3O2CG4.cjs.map} +1 -1
  66. package/dist/{chunk-QUQRUDWG.js → chunk-KGHBDTFF.js} +2 -2
  67. package/dist/{chunk-IEKOSBQF.cjs → chunk-KHDAGCHA.cjs} +3 -3
  68. package/dist/{chunk-IEKOSBQF.cjs.map → chunk-KHDAGCHA.cjs.map} +1 -1
  69. package/dist/{chunk-DO72DWOL.js → chunk-KURNIGQP.js} +2 -2
  70. package/dist/{chunk-QJVZDNUH.cjs → chunk-LT2F6LQX.cjs} +8 -8
  71. package/dist/{chunk-QJVZDNUH.cjs.map → chunk-LT2F6LQX.cjs.map} +1 -1
  72. package/dist/{chunk-CXRD376N.cjs → chunk-MDOWJ5TF.cjs} +3 -3
  73. package/dist/{chunk-CXRD376N.cjs.map → chunk-MDOWJ5TF.cjs.map} +1 -1
  74. package/dist/{chunk-RSLTBO5X.js → chunk-MFUX7YH7.js} +2 -2
  75. package/dist/{chunk-ZK5AZXA2.cjs → chunk-MJQBMVHF.cjs} +9 -9
  76. package/dist/{chunk-ZK5AZXA2.cjs.map → chunk-MJQBMVHF.cjs.map} +1 -1
  77. package/dist/{chunk-D4QZEGYG.js → chunk-MMY72EVL.js} +2 -2
  78. package/dist/{chunk-EJGW3W3K.js → chunk-MTV32UFZ.js} +5 -5
  79. package/dist/{chunk-EJGW3W3K.js.map → chunk-MTV32UFZ.js.map} +1 -1
  80. package/dist/{chunk-TMDQ3JIT.cjs → chunk-NGNWFHIG.cjs} +4 -4
  81. package/dist/{chunk-TMDQ3JIT.cjs.map → chunk-NGNWFHIG.cjs.map} +1 -1
  82. package/dist/{chunk-QV2QPYMW.js → chunk-NNCJ3QL5.js} +44 -2
  83. package/dist/{chunk-QV2QPYMW.js.map → chunk-NNCJ3QL5.js.map} +1 -1
  84. package/dist/{chunk-TECAZNSQ.js → chunk-NOZBH6BB.js} +3 -3
  85. package/dist/{chunk-CSYN5J44.js → chunk-NUXB3GKS.js} +3 -3
  86. package/dist/{chunk-6O4C75LB.cjs → chunk-NYB4MBNZ.cjs} +5 -5
  87. package/dist/{chunk-6O4C75LB.cjs.map → chunk-NYB4MBNZ.cjs.map} +1 -1
  88. package/dist/{chunk-DHBQHOGQ.js → chunk-O7MQBX35.js} +2 -2
  89. package/dist/{chunk-54BCGEKW.js → chunk-OC6HNIEN.js} +6 -6
  90. package/dist/chunk-OC6HNIEN.js.map +1 -0
  91. package/dist/{chunk-VQEYIAV2.js → chunk-OHKABZ6C.js} +2 -2
  92. package/dist/{chunk-OIGNNUN3.cjs → chunk-OUFIPYZS.cjs} +3 -3
  93. package/dist/{chunk-OIGNNUN3.cjs.map → chunk-OUFIPYZS.cjs.map} +1 -1
  94. package/dist/{chunk-EBLXU5RX.js → chunk-PMMHDI46.js} +4 -4
  95. package/dist/chunk-PMMHDI46.js.map +1 -0
  96. package/dist/{chunk-CG4A32PZ.js → chunk-QAMZSJ27.js} +2 -2
  97. package/dist/{chunk-2CBD7O3Z.cjs → chunk-QGH5AMOV.cjs} +10 -10
  98. package/dist/{chunk-2CBD7O3Z.cjs.map → chunk-QGH5AMOV.cjs.map} +1 -1
  99. package/dist/{chunk-KT4MUYOU.js → chunk-TEDI6MZR.js} +2 -2
  100. package/dist/{chunk-C57J5C7S.js → chunk-TZ5CXZYL.js} +3 -3
  101. package/dist/{chunk-3KQS63H6.js → chunk-U2HB2W6R.js} +2 -2
  102. package/dist/{chunk-JDRJMOB6.cjs → chunk-UJ54DCK2.cjs} +3 -3
  103. package/dist/{chunk-JDRJMOB6.cjs.map → chunk-UJ54DCK2.cjs.map} +1 -1
  104. package/dist/{chunk-D7LG5W7J.js → chunk-VCSRBH2M.js} +4 -4
  105. package/dist/{chunk-Z4FNOCPD.cjs → chunk-W6VAQS23.cjs} +6 -6
  106. package/dist/{chunk-Z4FNOCPD.cjs.map → chunk-W6VAQS23.cjs.map} +1 -1
  107. package/dist/{chunk-BBIZTUNJ.cjs → chunk-WYHVMVJJ.cjs} +3 -3
  108. package/dist/{chunk-BBIZTUNJ.cjs.map → chunk-WYHVMVJJ.cjs.map} +1 -1
  109. package/dist/{chunk-IGBQSN6M.js → chunk-XC7FA6Z7.js} +3 -3
  110. package/dist/{chunk-IWJ5F3JF.js → chunk-ZA5M5NJT.js} +2 -2
  111. package/dist/{chunk-O4GTSXBN.js → chunk-ZG6VDVZD.js} +2 -2
  112. package/dist/{chunk-QH47PAYE.cjs → chunk-ZPRW6AGN.cjs} +3 -3
  113. package/dist/{chunk-QH47PAYE.cjs.map → chunk-ZPRW6AGN.cjs.map} +1 -1
  114. package/dist/{chunk-KWXIJF6K.cjs → chunk-ZSHDSTAZ.cjs} +7 -7
  115. package/dist/{chunk-KWXIJF6K.cjs.map → chunk-ZSHDSTAZ.cjs.map} +1 -1
  116. package/dist/common/bin/index.cjs +3 -3
  117. package/dist/common/bin/index.js +2 -2
  118. package/dist/common/bin/index.spec.cjs +46 -46
  119. package/dist/common/bin/index.spec.cjs.map +1 -1
  120. package/dist/common/bin/index.spec.js +35 -35
  121. package/dist/common/crypto.cjs +3 -3
  122. package/dist/common/crypto.js +2 -2
  123. package/dist/common/crypto.spec.cjs +40 -40
  124. package/dist/common/crypto.spec.js +30 -30
  125. package/dist/common/csv.cjs +2 -2
  126. package/dist/common/csv.js +1 -1
  127. package/dist/common/csv.spec.cjs +5 -5
  128. package/dist/common/csv.spec.js +1 -1
  129. package/dist/common/data/basex.cjs +3 -3
  130. package/dist/common/data/basex.js +2 -2
  131. package/dist/common/data/basex.spec.cjs +15 -15
  132. package/dist/common/data/basex.spec.js +2 -2
  133. package/dist/common/data/bin.cjs +2 -2
  134. package/dist/common/data/bin.js +1 -1
  135. package/dist/common/data/bin.spec.cjs +30 -30
  136. package/dist/common/data/bin.spec.js +6 -6
  137. package/dist/common/data/convert.cjs +3 -3
  138. package/dist/common/data/convert.js +2 -2
  139. package/dist/common/data/convert.spec.cjs +25 -25
  140. package/dist/common/data/convert.spec.js +2 -2
  141. package/dist/common/data/datauri.cjs +3 -3
  142. package/dist/common/data/datauri.js +2 -2
  143. package/dist/common/data/datauri.spec.cjs +6 -6
  144. package/dist/common/data/datauri.spec.js +2 -2
  145. package/dist/common/data/deep.spec.cjs +3 -3
  146. package/dist/common/data/deep.spec.js +3 -3
  147. package/dist/common/data/index.cjs +7 -7
  148. package/dist/common/data/index.js +6 -6
  149. package/dist/common/data/object.cjs +2 -2
  150. package/dist/common/data/object.js +1 -1
  151. package/dist/common/data/object.spec.cjs +26 -26
  152. package/dist/common/data/object.spec.js +1 -1
  153. package/dist/common/data/sorted.spec.cjs +30 -30
  154. package/dist/common/data/sorted.spec.cjs.map +1 -1
  155. package/dist/common/data/sorted.spec.js +30 -30
  156. package/dist/common/data/utils.spec.cjs +8 -8
  157. package/dist/common/data/utils.spec.js +8 -8
  158. package/dist/common/data/wordlist.cjs +3 -3
  159. package/dist/common/data/wordlist.js +2 -2
  160. package/dist/common/data/wordlist.spec.cjs +5 -5
  161. package/dist/common/data/wordlist.spec.js +2 -2
  162. package/dist/common/dispose-defer.spec.cjs +10 -10
  163. package/dist/common/dispose-defer.spec.js +10 -10
  164. package/dist/common/exec/index.cjs +9 -9
  165. package/dist/common/exec/index.js +8 -8
  166. package/dist/common/exec/pool.cjs +8 -8
  167. package/dist/common/exec/pool.js +7 -7
  168. package/dist/common/exec/pool.spec.cjs +9 -9
  169. package/dist/common/exec/pool.spec.js +7 -7
  170. package/dist/common/exec/progress.cjs +7 -7
  171. package/dist/common/exec/progress.js +6 -6
  172. package/dist/common/exec/progress.spec.cjs +9 -9
  173. package/dist/common/exec/progress.spec.js +6 -6
  174. package/dist/common/exec/queue.cjs +7 -7
  175. package/dist/common/exec/queue.js +6 -6
  176. package/dist/common/exec/queue.spec.cjs +10 -10
  177. package/dist/common/exec/queue.spec.js +6 -6
  178. package/dist/common/index.cjs +68 -40
  179. package/dist/common/index.cjs.map +1 -1
  180. package/dist/common/index.d.cts +1 -1
  181. package/dist/common/index.d.ts +1 -1
  182. package/dist/common/index.js +68 -40
  183. package/dist/common/log/index.cjs +4 -4
  184. package/dist/common/log/index.js +3 -3
  185. package/dist/common/log/log-memory.cjs +4 -4
  186. package/dist/common/log/log-memory.js +3 -3
  187. package/dist/common/log/log-memory.spec.cjs +4 -4
  188. package/dist/common/log/log-memory.spec.js +3 -3
  189. package/dist/common/msg/channel-debug.cjs +8 -8
  190. package/dist/common/msg/channel-debug.js +7 -7
  191. package/dist/common/msg/channel-local.cjs +8 -8
  192. package/dist/common/msg/channel-local.js +7 -7
  193. package/dist/common/msg/channel-resilient.cjs +8 -8
  194. package/dist/common/msg/channel-resilient.js +7 -7
  195. package/dist/common/msg/channel-resilient.spec.cjs +11 -11
  196. package/dist/common/msg/channel-resilient.spec.js +8 -8
  197. package/dist/common/msg/channel.cjs +7 -7
  198. package/dist/common/msg/channel.js +6 -6
  199. package/dist/common/msg/channel.spec.cjs +10 -10
  200. package/dist/common/msg/channel.spec.js +9 -9
  201. package/dist/common/msg/encoder.cjs +4 -4
  202. package/dist/common/msg/encoder.js +3 -3
  203. package/dist/common/msg/encoder.spec.cjs +33 -33
  204. package/dist/common/msg/encoder.spec.js +30 -30
  205. package/dist/common/msg/index.cjs +14 -14
  206. package/dist/common/msg/index.js +13 -13
  207. package/dist/common/msg/messages.cjs +9 -9
  208. package/dist/common/msg/messages.js +8 -8
  209. package/dist/common/msg/messages.spec.cjs +15 -15
  210. package/dist/common/msg/messages.spec.js +10 -10
  211. package/dist/common/msg/pubsub.cjs +8 -8
  212. package/dist/common/msg/pubsub.js +7 -7
  213. package/dist/common/msg/pubsub.spec.cjs +15 -15
  214. package/dist/common/msg/pubsub.spec.js +9 -9
  215. package/dist/common/msg/rpc.spec.cjs +19 -19
  216. package/dist/common/msg/rpc.spec.cjs.map +1 -1
  217. package/dist/common/msg/rpc.spec.js +12 -12
  218. package/dist/common/network.cjs +3 -3
  219. package/dist/common/network.js +2 -2
  220. package/dist/common/network.spec.cjs +5 -5
  221. package/dist/common/network.spec.js +2 -2
  222. package/dist/common/schema/args.cjs +5 -5
  223. package/dist/common/schema/args.js +4 -4
  224. package/dist/common/schema/args.spec.cjs +6 -6
  225. package/dist/common/schema/args.spec.js +4 -4
  226. package/dist/common/schema/env.cjs +5 -5
  227. package/dist/common/schema/env.js +4 -4
  228. package/dist/common/schema/env.spec.cjs +7 -7
  229. package/dist/common/schema/env.spec.js +4 -4
  230. package/dist/common/schema/index.cjs +6 -6
  231. package/dist/common/schema/index.js +5 -5
  232. package/dist/common/schema/schema.spec.cjs +6 -6
  233. package/dist/common/schema/schema.spec.js +6 -6
  234. package/dist/common/time.cjs +30 -2
  235. package/dist/common/time.cjs.map +1 -1
  236. package/dist/common/time.d.cts +17 -1
  237. package/dist/common/time.d.ts +17 -1
  238. package/dist/common/time.js +31 -3
  239. package/dist/common/time.spec.cjs +43 -21
  240. package/dist/common/time.spec.cjs.map +1 -1
  241. package/dist/common/time.spec.js +31 -9
  242. package/dist/common/time.spec.js.map +1 -1
  243. package/dist/common/uuid.cjs +6 -6
  244. package/dist/common/uuid.js +5 -5
  245. package/dist/common/uuid.spec.cjs +54 -54
  246. package/dist/common/uuid.spec.js +5 -5
  247. package/dist/index.all.cjs +75 -47
  248. package/dist/index.all.cjs.map +1 -1
  249. package/dist/index.all.d.cts +1 -1
  250. package/dist/index.all.d.ts +1 -1
  251. package/dist/index.all.js +75 -47
  252. package/dist/index.browser.cjs +70 -42
  253. package/dist/index.browser.cjs.map +1 -1
  254. package/dist/index.browser.d.cts +1 -1
  255. package/dist/index.browser.d.ts +1 -1
  256. package/dist/index.browser.js +70 -42
  257. package/dist/index.node.cjs +74 -46
  258. package/dist/index.node.cjs.map +1 -1
  259. package/dist/index.node.d.cts +1 -1
  260. package/dist/index.node.d.ts +1 -1
  261. package/dist/index.node.js +74 -46
  262. package/dist/node/files-async.cjs +4 -4
  263. package/dist/node/files-async.js +3 -3
  264. package/dist/node/files-async.spec.cjs +13 -13
  265. package/dist/node/files-async.spec.js +3 -3
  266. package/dist/node/files.cjs +4 -4
  267. package/dist/node/files.js +3 -3
  268. package/dist/node/files.spec.cjs +6 -6
  269. package/dist/node/files.spec.js +3 -3
  270. package/dist/node/fs.cjs +3 -3
  271. package/dist/node/fs.js +2 -2
  272. package/dist/node/fs.spec.cjs +3 -3
  273. package/dist/node/fs.spec.js +2 -2
  274. package/dist/node/index.cjs +9 -9
  275. package/dist/node/index.js +8 -8
  276. package/dist/node/log/index.cjs +6 -6
  277. package/dist/node/log/index.js +5 -5
  278. package/dist/node/log/log-context-node.cjs +7 -7
  279. package/dist/node/log/log-context-node.js +6 -6
  280. package/dist/node/log/log-file.cjs +4 -4
  281. package/dist/node/log/log-file.js +3 -3
  282. package/dist/node/log/log-file.spec.cjs +7 -7
  283. package/dist/node/log/log-file.spec.js +6 -6
  284. package/dist/node/log/log-node.cjs +5 -5
  285. package/dist/node/log/log-node.js +4 -4
  286. package/dist/node/log/log-node.spec.cjs +10 -10
  287. package/dist/node/log/log-node.spec.js +6 -6
  288. package/package.json +12 -12
  289. package/dist/chunk-54BCGEKW.js.map +0 -1
  290. package/dist/chunk-EBLXU5RX.js.map +0 -1
  291. package/dist/chunk-MLCD7TOL.js.map +0 -1
  292. package/dist/chunk-RLHQ6YHC.cjs.map +0 -1
  293. package/dist/chunk-SX5YQHZO.cjs.map +0 -1
  294. /package/dist/{chunk-VWNQ7U34.js.map → chunk-2AXVHLEB.js.map} +0 -0
  295. /package/dist/{chunk-LXIRSGTR.js.map → chunk-5OO7YIJS.js.map} +0 -0
  296. /package/dist/{chunk-57AYOGMA.js.map → chunk-6UYYLWYZ.js.map} +0 -0
  297. /package/dist/{chunk-SCQIUUXO.js.map → chunk-ARGGC4S7.js.map} +0 -0
  298. /package/dist/{chunk-HNN5IHXG.js.map → chunk-BMPLIZZN.js.map} +0 -0
  299. /package/dist/{chunk-L2EE5STQ.js.map → chunk-C7EJAUFU.js.map} +0 -0
  300. /package/dist/{chunk-OTNF3VVH.js.map → chunk-D46UZDEX.js.map} +0 -0
  301. /package/dist/{chunk-JLSAW4YK.js.map → chunk-EAM7QSTF.js.map} +0 -0
  302. /package/dist/{chunk-HW2ATP66.js.map → chunk-F6BC7VBR.js.map} +0 -0
  303. /package/dist/{chunk-3ONBXSUJ.js.map → chunk-HWSSZ74K.js.map} +0 -0
  304. /package/dist/{chunk-B2VJ65J2.js.map → chunk-IHJALGOF.js.map} +0 -0
  305. /package/dist/{chunk-QUQRUDWG.js.map → chunk-KGHBDTFF.js.map} +0 -0
  306. /package/dist/{chunk-DO72DWOL.js.map → chunk-KURNIGQP.js.map} +0 -0
  307. /package/dist/{chunk-RSLTBO5X.js.map → chunk-MFUX7YH7.js.map} +0 -0
  308. /package/dist/{chunk-D4QZEGYG.js.map → chunk-MMY72EVL.js.map} +0 -0
  309. /package/dist/{chunk-TECAZNSQ.js.map → chunk-NOZBH6BB.js.map} +0 -0
  310. /package/dist/{chunk-CSYN5J44.js.map → chunk-NUXB3GKS.js.map} +0 -0
  311. /package/dist/{chunk-DHBQHOGQ.js.map → chunk-O7MQBX35.js.map} +0 -0
  312. /package/dist/{chunk-VQEYIAV2.js.map → chunk-OHKABZ6C.js.map} +0 -0
  313. /package/dist/{chunk-CG4A32PZ.js.map → chunk-QAMZSJ27.js.map} +0 -0
  314. /package/dist/{chunk-KT4MUYOU.js.map → chunk-TEDI6MZR.js.map} +0 -0
  315. /package/dist/{chunk-C57J5C7S.js.map → chunk-TZ5CXZYL.js.map} +0 -0
  316. /package/dist/{chunk-3KQS63H6.js.map → chunk-U2HB2W6R.js.map} +0 -0
  317. /package/dist/{chunk-D7LG5W7J.js.map → chunk-VCSRBH2M.js.map} +0 -0
  318. /package/dist/{chunk-IGBQSN6M.js.map → chunk-XC7FA6Z7.js.map} +0 -0
  319. /package/dist/{chunk-IWJ5F3JF.js.map → chunk-ZA5M5NJT.js.map} +0 -0
  320. /package/dist/{chunk-O4GTSXBN.js.map → chunk-ZG6VDVZD.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkX5MWXWOAcjs = require('./chunk-X5MWXWOA.cjs');
3
+ var _chunk2P6TEB5Mcjs = require('./chunk-2P6TEB5M.cjs');
4
4
 
5
5
 
6
- var _chunkDRU33ZUGcjs = require('./chunk-DRU33ZUG.cjs');
6
+ var _chunkGRFP6IKEcjs = require('./chunk-GRFP6IKE.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkFLUN46S4cjs = require('./chunk-FLUN46S4.cjs');
10
+ var _chunkHC4FRUCOcjs = require('./chunk-HC4FRUCO.cjs');
11
11
 
12
12
 
13
13
 
@@ -28,8 +28,8 @@ function createPromiseProxy(fn, opt, predefinedMethods = {}) {
28
28
  }
29
29
  function useMessageHub(opt = {}) {
30
30
  const {
31
- name = _chunkFLUN46S4cjs.uname.call(void 0, "hub"),
32
- encoder = new (0, _chunkX5MWXWOAcjs.JsonEncoder)(),
31
+ name = _chunkHC4FRUCOcjs.uname.call(void 0, "hub"),
32
+ encoder = new (0, _chunk2P6TEB5Mcjs.JsonEncoder)(),
33
33
  retryAfter = 1e3,
34
34
  ignoreUnhandled = true,
35
35
  logLevel = false
@@ -85,7 +85,7 @@ function useMessageHub(opt = {}) {
85
85
  if (id)
86
86
  await postMessage({ id, result: result2 });
87
87
  } catch (error2) {
88
- const err = error2 instanceof Error ? error2 : new Error(_chunkDRU33ZUGcjs.valueToString.call(void 0, error2));
88
+ const err = error2 instanceof Error ? error2 : new Error(_chunkGRFP6IKEcjs.valueToString.call(void 0, error2));
89
89
  log.warn("execution error", err.name);
90
90
  await postMessage({
91
91
  id,
@@ -127,7 +127,7 @@ function useMessageHub(opt = {}) {
127
127
  };
128
128
  const fetchMessage = async (name2, args, opt2 = {}) => {
129
129
  const { timeout = 5e3 } = opt2;
130
- const id = _chunkFLUN46S4cjs.uuid.call(void 0, );
130
+ const id = _chunkHC4FRUCOcjs.uuid.call(void 0, );
131
131
  await postMessage({
132
132
  name: name2,
133
133
  args,
@@ -162,4 +162,4 @@ function useMessageHub(opt = {}) {
162
162
 
163
163
 
164
164
  exports.createPromiseProxy = createPromiseProxy; exports.useMessageHub = useMessageHub;
165
- //# sourceMappingURL=chunk-QJVZDNUH.cjs.map
165
+ //# sourceMappingURL=chunk-LT2F6LQX.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-QJVZDNUH.cjs","../src/common/msg/messages.ts"],"names":["name","result","error","opt"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-QJVZDNUH.cjs","sourcesContent":[null,"import type { LogLevelAliasType } from '../log/log-base'\nimport type { Json } from '../types'\nimport type { Channel } from './channel'\nimport type { Encoder } from './encoder'\nimport { valueToString } from '../data/convert'\nimport { isPromise, tryTimeout } from '../exec/promise'\nimport { DefaultLogger } from '../log/log'\nimport { uname, uuid } from '../uuid'\nimport { JsonEncoder } from './encoder'\n\nexport interface MessageAction {\n name: string\n id: string\n args?: Json[]\n}\n\nexport interface MessageResult {\n id: string\n result?: Json\n error?: { stack?: string, name: string, message: string }\n}\n\nexport type Message = MessageAction | MessageResult\n\nexport interface MessagesOptions {\n timeout?: number\n}\n\nexport interface MessagesDefaultMethods<L> {\n dispose: () => void\n connect?: (channel: Channel) => void\n options: (opt: MessagesOptions) => L\n}\n\nexport type MessagesMethods<L> = L & MessagesDefaultMethods<L>\n\n// export type MessageDefinitions = {\n// [key: string]: (...args: any) => Promise<any>\n// }\n\nexport type MessageDefinitions = Record<any, (...args: any) => Promise<any>>\n\nexport interface MessageHub {\n dispose: () => void\n connect: (newChannel: Channel) => void\n listen: <L extends MessageDefinitions>(newHandlers: L) => void\n send: <L extends MessageDefinitions>() => MessagesMethods<L>\n}\n\n// The async proxy, waiting for a response\nexport function createPromiseProxy<P extends object>(fn: (name: string, args: any[], opt: any) => Promise<unknown>, opt: MessagesOptions, predefinedMethods: any = {}): P {\n return new Proxy<P>(predefinedMethods, {\n get: (target: any, name: any) => {\n if (name in target)\n return target[name]\n return (...args: any): any => fn(name, args, opt)\n },\n })\n}\n\n/**\n * RPC\n *\n * Features:\n * - Waits for connection\n * - Retries after fail\n * - Timeouts\n */\nexport function useMessageHub(\n opt: {\n name?: string\n channel?: Channel\n encoder?: Encoder\n retryAfter?: number\n ignoreUnhandled?: boolean\n debug?: boolean\n logLevel?: LogLevelAliasType\n } = {},\n): MessageHub {\n const {\n name = uname('hub'),\n encoder = new JsonEncoder(),\n retryAfter = 1000,\n ignoreUnhandled = true,\n logLevel = false,\n } = opt\n\n const log = DefaultLogger(name, logLevel)\n\n const handlers = {}\n let channel: Channel | undefined\n const queue: Message[] = []\n let queueRetryTimer: any\n const waitingForResponse: Record<string, [\n (result?: any) => any, // resolve\n (result?: any) => any, // reject\n ]> = {}\n\n const dispose = () => {\n clearTimeout(queueRetryTimer)\n }\n\n const postNext = async () => {\n clearTimeout(queueRetryTimer)\n if (channel) {\n if (channel.isConnected) {\n while (queue.length) {\n const message = queue[0]\n try {\n channel.postMessage(await encoder.encode(message))\n queue.shift() // remove from queue when done\n }\n catch (err) {\n log.warn('postMessage', err)\n break\n }\n }\n }\n if (queue.length > 0 && retryAfter > 0)\n queueRetryTimer = setTimeout(postNext, retryAfter)\n }\n }\n\n const postMessage = async (message: Message) => {\n log('enqueue postMessage', message)\n queue.push(message)\n await postNext()\n }\n\n const connect = async (newChannel: Channel) => {\n channel = newChannel\n\n channel.on('connect', postNext)\n\n channel.on('message', async (msg: any) => {\n log('onmessage', typeof msg)\n const { name, args, id, result, error } = await encoder.decode(msg.data)\n\n // Incoming new message\n if (name) {\n log(`name ${name} id ${id}`)\n try {\n // @ts-expect-error xxx\n if (handlers[name] == null)\n throw new Error(`handler for ${name} was not found`)\n\n // @ts-expect-error xxx\n let result = handlers[name](...args)\n if (isPromise(result))\n result = await result\n log(`result ${result}`)\n if (id)\n await postMessage({ id, result })\n }\n catch (error) {\n const err\n = error instanceof Error ? error : new Error(valueToString(error))\n log.warn('execution error', err.name)\n await postMessage({\n id,\n error: {\n message: err.message,\n stack: err.stack,\n name: err.name,\n },\n })\n }\n }\n\n // Incoming new response\n else if (id) {\n log(`response for id=${id}: result=${result}, error=${error}`)\n if (waitingForResponse[id] == null) {\n if (result === undefined)\n log(`skip response for ${id}`)\n else\n log.warn(`no response hook for ${id}`)\n }\n else {\n const [resolve, reject] = waitingForResponse[id]\n if (resolve && reject) {\n delete waitingForResponse[id]\n if (error) {\n const err = new Error(error.message)\n err.stack = error.stack\n err.name = error.name\n log.warn('reject', err.name)\n reject(err)\n }\n else {\n log('resolve', result)\n resolve(result)\n }\n }\n }\n }\n\n // Don't know what to do with it\n else if (!ignoreUnhandled) {\n log.warn('Unhandled message', msg)\n }\n })\n\n await postNext()\n }\n\n const fetchMessage = async (\n name: string,\n args: any[],\n opt: MessagesOptions = {},\n ): Promise<unknown> => {\n const { timeout = 5000 } = opt\n const id = uuid()\n await postMessage({\n name,\n args,\n id,\n })\n return tryTimeout(\n new Promise(\n (resolve, reject) => (waitingForResponse[id] = [resolve, reject]),\n ),\n timeout,\n )\n }\n\n if (opt.channel)\n void connect(opt.channel) // todo async\n\n return {\n dispose,\n\n connect,\n listen<L extends object>(newHandlers: L) {\n Object.assign(handlers, newHandlers)\n },\n send<L extends object>() {\n // The regular proxy without responding, just send\n return createPromiseProxy<L>(fetchMessage, {}, {\n options(perCallopt: MessagesOptions) {\n return createPromiseProxy<L>(fetchMessage, { ...perCallopt })\n },\n } as MessagesDefaultMethods<L>) as MessagesMethods<L>\n },\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-LT2F6LQX.cjs","../src/common/msg/messages.ts"],"names":["name","result","error","opt"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-LT2F6LQX.cjs","sourcesContent":[null,"import type { LogLevelAliasType } from '../log/log-base'\nimport type { Json } from '../types'\nimport type { Channel } from './channel'\nimport type { Encoder } from './encoder'\nimport { valueToString } from '../data/convert'\nimport { isPromise, tryTimeout } from '../exec/promise'\nimport { DefaultLogger } from '../log/log'\nimport { uname, uuid } from '../uuid'\nimport { JsonEncoder } from './encoder'\n\nexport interface MessageAction {\n name: string\n id: string\n args?: Json[]\n}\n\nexport interface MessageResult {\n id: string\n result?: Json\n error?: { stack?: string, name: string, message: string }\n}\n\nexport type Message = MessageAction | MessageResult\n\nexport interface MessagesOptions {\n timeout?: number\n}\n\nexport interface MessagesDefaultMethods<L> {\n dispose: () => void\n connect?: (channel: Channel) => void\n options: (opt: MessagesOptions) => L\n}\n\nexport type MessagesMethods<L> = L & MessagesDefaultMethods<L>\n\n// export type MessageDefinitions = {\n// [key: string]: (...args: any) => Promise<any>\n// }\n\nexport type MessageDefinitions = Record<any, (...args: any) => Promise<any>>\n\nexport interface MessageHub {\n dispose: () => void\n connect: (newChannel: Channel) => void\n listen: <L extends MessageDefinitions>(newHandlers: L) => void\n send: <L extends MessageDefinitions>() => MessagesMethods<L>\n}\n\n// The async proxy, waiting for a response\nexport function createPromiseProxy<P extends object>(fn: (name: string, args: any[], opt: any) => Promise<unknown>, opt: MessagesOptions, predefinedMethods: any = {}): P {\n return new Proxy<P>(predefinedMethods, {\n get: (target: any, name: any) => {\n if (name in target)\n return target[name]\n return (...args: any): any => fn(name, args, opt)\n },\n })\n}\n\n/**\n * RPC\n *\n * Features:\n * - Waits for connection\n * - Retries after fail\n * - Timeouts\n */\nexport function useMessageHub(\n opt: {\n name?: string\n channel?: Channel\n encoder?: Encoder\n retryAfter?: number\n ignoreUnhandled?: boolean\n debug?: boolean\n logLevel?: LogLevelAliasType\n } = {},\n): MessageHub {\n const {\n name = uname('hub'),\n encoder = new JsonEncoder(),\n retryAfter = 1000,\n ignoreUnhandled = true,\n logLevel = false,\n } = opt\n\n const log = DefaultLogger(name, logLevel)\n\n const handlers = {}\n let channel: Channel | undefined\n const queue: Message[] = []\n let queueRetryTimer: any\n const waitingForResponse: Record<string, [\n (result?: any) => any, // resolve\n (result?: any) => any, // reject\n ]> = {}\n\n const dispose = () => {\n clearTimeout(queueRetryTimer)\n }\n\n const postNext = async () => {\n clearTimeout(queueRetryTimer)\n if (channel) {\n if (channel.isConnected) {\n while (queue.length) {\n const message = queue[0]\n try {\n channel.postMessage(await encoder.encode(message))\n queue.shift() // remove from queue when done\n }\n catch (err) {\n log.warn('postMessage', err)\n break\n }\n }\n }\n if (queue.length > 0 && retryAfter > 0)\n queueRetryTimer = setTimeout(postNext, retryAfter)\n }\n }\n\n const postMessage = async (message: Message) => {\n log('enqueue postMessage', message)\n queue.push(message)\n await postNext()\n }\n\n const connect = async (newChannel: Channel) => {\n channel = newChannel\n\n channel.on('connect', postNext)\n\n channel.on('message', async (msg: any) => {\n log('onmessage', typeof msg)\n const { name, args, id, result, error } = await encoder.decode(msg.data)\n\n // Incoming new message\n if (name) {\n log(`name ${name} id ${id}`)\n try {\n // @ts-expect-error xxx\n if (handlers[name] == null)\n throw new Error(`handler for ${name} was not found`)\n\n // @ts-expect-error xxx\n let result = handlers[name](...args)\n if (isPromise(result))\n result = await result\n log(`result ${result}`)\n if (id)\n await postMessage({ id, result })\n }\n catch (error) {\n const err\n = error instanceof Error ? error : new Error(valueToString(error))\n log.warn('execution error', err.name)\n await postMessage({\n id,\n error: {\n message: err.message,\n stack: err.stack,\n name: err.name,\n },\n })\n }\n }\n\n // Incoming new response\n else if (id) {\n log(`response for id=${id}: result=${result}, error=${error}`)\n if (waitingForResponse[id] == null) {\n if (result === undefined)\n log(`skip response for ${id}`)\n else\n log.warn(`no response hook for ${id}`)\n }\n else {\n const [resolve, reject] = waitingForResponse[id]\n if (resolve && reject) {\n delete waitingForResponse[id]\n if (error) {\n const err = new Error(error.message)\n err.stack = error.stack\n err.name = error.name\n log.warn('reject', err.name)\n reject(err)\n }\n else {\n log('resolve', result)\n resolve(result)\n }\n }\n }\n }\n\n // Don't know what to do with it\n else if (!ignoreUnhandled) {\n log.warn('Unhandled message', msg)\n }\n })\n\n await postNext()\n }\n\n const fetchMessage = async (\n name: string,\n args: any[],\n opt: MessagesOptions = {},\n ): Promise<unknown> => {\n const { timeout = 5000 } = opt\n const id = uuid()\n await postMessage({\n name,\n args,\n id,\n })\n return tryTimeout(\n new Promise(\n (resolve, reject) => (waitingForResponse[id] = [resolve, reject]),\n ),\n timeout,\n )\n }\n\n if (opt.channel)\n void connect(opt.channel) // todo async\n\n return {\n dispose,\n\n connect,\n listen<L extends object>(newHandlers: L) {\n Object.assign(handlers, newHandlers)\n },\n send<L extends object>() {\n // The regular proxy without responding, just send\n return createPromiseProxy<L>(fetchMessage, {}, {\n options(perCallopt: MessagesOptions) {\n return createPromiseProxy<L>(fetchMessage, { ...perCallopt })\n },\n } as MessagesDefaultMethods<L>) as MessagesMethods<L>\n },\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkHHZVPIBDcjs = require('./chunk-HHZVPIBD.cjs');
3
+ var _chunkEZB4PXZZcjs = require('./chunk-EZB4PXZZ.cjs');
4
4
 
5
5
 
6
6
  var _chunkVAG3XY63cjs = require('./chunk-VAG3XY63.cjs');
@@ -65,7 +65,7 @@ async function readJson(...parts) {
65
65
  async function readBin(...parts) {
66
66
  const path = _path.join.call(void 0, ...parts);
67
67
  if (await exists(path))
68
- return _chunkHHZVPIBDcjs.toUint8Array.call(void 0, await _promises.readFile.call(void 0, path));
68
+ return _chunkEZB4PXZZcjs.toUint8Array.call(void 0, await _promises.readFile.call(void 0, path));
69
69
  }
70
70
  async function readData(...parts) {
71
71
  const path = _path.join.call(void 0, ...parts);
@@ -110,4 +110,4 @@ async function writeJson(path, content, info = {}) {
110
110
 
111
111
 
112
112
  exports.toHumanReadableFilePath = toHumanReadableFilePath; exports.exists = exists; exports.isHiddenPath = isHiddenPath; exports.ensureFolder = ensureFolder; exports.ensureFolderForFile = ensureFolderForFile; exports.removeFolder = removeFolder; exports.readText = readText; exports.readJson = readJson; exports.readBin = readBin; exports.readData = readData; exports.writeText = writeText; exports.writeData = writeData; exports.writeBin = writeBin; exports.writeJson = writeJson;
113
- //# sourceMappingURL=chunk-CXRD376N.cjs.map
113
+ //# sourceMappingURL=chunk-MDOWJ5TF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-CXRD376N.cjs","../src/node/fs.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,uCAAqD;AACrD,4BAAqD;AACrD,oFAAoB;AAMb,SAAS,uBAAA,CAAwB,IAAA,EAAc;AACpD,EAAA,MAAM,EAAA,EAAI,6BAAA,IAAc,CAAA;AACxB,EAAA,MAAM,EAAA,EAAI,iBAAA,CAAQ,GAAA,CAAI,IAAA;AACtB,EAAA,GAAA,CAAI,EAAA,GAAK,CAAA,CAAE,UAAA,CAAW,CAAC,CAAA;AACrB,IAAA,OAAO,CAAA,CAAA,EAAI,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,MAAM,CAAC,CAAA,CAAA;AAEvB,EAAA;AACT;AAE6D;AACvD,EAAA;AACa,IAAA;AAEL,EAAA;AACH,IAAA;AACT,EAAA;AACO,EAAA;AACT;AAEoD;AACnB,EAAA;AACjC;AAGsC;AACN,EAAA;AACP,EAAA;AACD,IAAA;AACf,EAAA;AACT;AAGsB;AACU,EAAA;AACP,EAAA;AACD,IAAA;AACf,EAAA;AACT;AAEsC;AACN,EAAA;AACT,EAAA;AACS,IAAA;AACvB,EAAA;AACT;AAEkC;AACF,EAAA;AACT,EAAA;AACS,IAAA;AAChC;AAE8C;AACb,EAAA;AACV,EAAA;AACf,IAAA;AACuB,MAAA;AAEf,IAAA;AAAC,IAAA;AACf,EAAA;AACF;AAEmF;AACnD,EAAA;AACT,EAAA;AACO,IAAA;AAC9B;AAGkC;AACF,EAAA;AACT,EAAA;AACO,IAAA;AAC9B;AAE8C;AACxC,EAAA;AACwB,IAAA;AACG,EAAA;AACjC;AAG8C;AACxC,EAAA;AACwB,IAAA;AACF,EAAA;AACA,EAAA;AAC5B;AAE6C;AAGb,EAAA;AAC1B,EAAA;AACwB,IAAA;AACC,EAAA;AAC/B;AAE0D;AAIzB,EAAA;AACT,EAAA;AACxB;ADjBiC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-CXRD376N.cjs","sourcesContent":[null,"import { mkdir, readFile, rm, stat, writeFile } from 'node:fs/promises'\nimport { dirname, join as joinPath, normalize } from 'node:path'\nimport process from 'node:process'\nimport { toUint8Array } from '../common/data/bin'\nimport { isUint8Array } from '../common/data/is'\nimport { jsonStringifySorted } from '../common/data/json'\n\n/** Try to use `~` for HOME folder if possible */\nexport function toHumanReadableFilePath(path: string) {\n const p = normalize(path)\n const h = process.env.HOME\n if (h && p.startsWith(h))\n return `~${p.slice(h.length)}`\n\n return p\n}\n\nexport async function exists(path: string): Promise<boolean> {\n try {\n await stat(path)\n }\n catch (err) {\n return false\n }\n return true\n}\n\nexport function isHiddenPath(path: string): boolean {\n return path.startsWith('.') || path.includes('/.')\n}\n\n/** Create missing folders e.g. `/a/b/c` will create folders `/a/b/c` */\nexport async function ensureFolder(...parts: string[]): Promise<string> {\n const path = joinPath(...parts)\n if (!(await exists(path)))\n await mkdir(path, { recursive: true })\n return path\n}\n\n/** Create missing folder to file location e.g. `/a/b/c/s.txt` will create folders `/a/b/c` */\nexport async function ensureFolderForFile(...parts: string[]): Promise<string> {\n const path = dirname(joinPath(...parts))\n if (!(await exists(path)))\n await mkdir(path, { recursive: true })\n return path\n}\n\nexport async function removeFolder(...parts: string[]): Promise<string> {\n const path = joinPath(...parts)\n if (await exists(path))\n await rm(path, { recursive: true })\n return path\n}\n\nexport async function readText(...parts: string[]): Promise<string | undefined> {\n const path = joinPath(...parts)\n if (await exists(path))\n return await readFile(path, 'utf-8')\n}\n\nexport async function readJson<T = object>(...parts: string[]): Promise<T | undefined> {\n const content = await readText(...parts)\n if (content != null) {\n try {\n return JSON.parse(content)\n }\n catch (err) {}\n }\n}\n\nexport async function readBin(...parts: string[]): Promise<Uint8Array | undefined> {\n const path = joinPath(...parts)\n if (await exists(path))\n return toUint8Array(await readFile(path))\n}\n\n/** @deprecated use readJson or readBin */\nexport async function readData(...parts: string[]): Promise<Uint8Array | undefined> {\n const path = joinPath(...parts)\n if (await exists(path))\n return await readFile(path)\n}\n\nexport async function writeText(path: string, content: string, createFolders = false): Promise<void> {\n if (createFolders)\n await ensureFolderForFile(path)\n await writeFile(path, content, 'utf-8')\n}\n\n/** @deprecated use writeBin or writeJson */\nexport async function writeData(path: string, content: object | Uint8Array, createFolders = false): Promise<void> {\n if (createFolders)\n await ensureFolderForFile(path)\n const data = isUint8Array(content) ? content : JSON.stringify(content)\n await writeFile(path, data)\n}\n\nexport async function writeBin(path: string, content: Uint8Array, info: {\n createFolders?: boolean\n} = {}): Promise<void> {\n const { createFolders = false } = info\n if (createFolders)\n await ensureFolderForFile(path)\n await writeFile(path, content)\n}\n\nexport async function writeJson<T = object>(path: string, content: T, info: {\n createFolders?: boolean\n pretty?: boolean\n} = {}): Promise<void> {\n const { createFolders = false, pretty = false } = info\n await writeText(path, jsonStringifySorted(content, pretty ? 2 : undefined), createFolders)\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-MDOWJ5TF.cjs","../src/node/fs.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,uCAAqD;AACrD,4BAAqD;AACrD,oFAAoB;AAMb,SAAS,uBAAA,CAAwB,IAAA,EAAc;AACpD,EAAA,MAAM,EAAA,EAAI,6BAAA,IAAc,CAAA;AACxB,EAAA,MAAM,EAAA,EAAI,iBAAA,CAAQ,GAAA,CAAI,IAAA;AACtB,EAAA,GAAA,CAAI,EAAA,GAAK,CAAA,CAAE,UAAA,CAAW,CAAC,CAAA;AACrB,IAAA,OAAO,CAAA,CAAA,EAAI,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,MAAM,CAAC,CAAA,CAAA;AAEvB,EAAA;AACT;AAE6D;AACvD,EAAA;AACa,IAAA;AAEL,EAAA;AACH,IAAA;AACT,EAAA;AACO,EAAA;AACT;AAEoD;AACnB,EAAA;AACjC;AAGsC;AACN,EAAA;AACP,EAAA;AACD,IAAA;AACf,EAAA;AACT;AAGsB;AACU,EAAA;AACP,EAAA;AACD,IAAA;AACf,EAAA;AACT;AAEsC;AACN,EAAA;AACT,EAAA;AACS,IAAA;AACvB,EAAA;AACT;AAEkC;AACF,EAAA;AACT,EAAA;AACS,IAAA;AAChC;AAE8C;AACb,EAAA;AACV,EAAA;AACf,IAAA;AACuB,MAAA;AAEf,IAAA;AAAC,IAAA;AACf,EAAA;AACF;AAEmF;AACnD,EAAA;AACT,EAAA;AACO,IAAA;AAC9B;AAGkC;AACF,EAAA;AACT,EAAA;AACO,IAAA;AAC9B;AAE8C;AACxC,EAAA;AACwB,IAAA;AACG,EAAA;AACjC;AAG8C;AACxC,EAAA;AACwB,IAAA;AACF,EAAA;AACA,EAAA;AAC5B;AAE6C;AAGb,EAAA;AAC1B,EAAA;AACwB,IAAA;AACC,EAAA;AAC/B;AAE0D;AAIzB,EAAA;AACT,EAAA;AACxB;ADjBiC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-MDOWJ5TF.cjs","sourcesContent":[null,"import { mkdir, readFile, rm, stat, writeFile } from 'node:fs/promises'\nimport { dirname, join as joinPath, normalize } from 'node:path'\nimport process from 'node:process'\nimport { toUint8Array } from '../common/data/bin'\nimport { isUint8Array } from '../common/data/is'\nimport { jsonStringifySorted } from '../common/data/json'\n\n/** Try to use `~` for HOME folder if possible */\nexport function toHumanReadableFilePath(path: string) {\n const p = normalize(path)\n const h = process.env.HOME\n if (h && p.startsWith(h))\n return `~${p.slice(h.length)}`\n\n return p\n}\n\nexport async function exists(path: string): Promise<boolean> {\n try {\n await stat(path)\n }\n catch (err) {\n return false\n }\n return true\n}\n\nexport function isHiddenPath(path: string): boolean {\n return path.startsWith('.') || path.includes('/.')\n}\n\n/** Create missing folders e.g. `/a/b/c` will create folders `/a/b/c` */\nexport async function ensureFolder(...parts: string[]): Promise<string> {\n const path = joinPath(...parts)\n if (!(await exists(path)))\n await mkdir(path, { recursive: true })\n return path\n}\n\n/** Create missing folder to file location e.g. `/a/b/c/s.txt` will create folders `/a/b/c` */\nexport async function ensureFolderForFile(...parts: string[]): Promise<string> {\n const path = dirname(joinPath(...parts))\n if (!(await exists(path)))\n await mkdir(path, { recursive: true })\n return path\n}\n\nexport async function removeFolder(...parts: string[]): Promise<string> {\n const path = joinPath(...parts)\n if (await exists(path))\n await rm(path, { recursive: true })\n return path\n}\n\nexport async function readText(...parts: string[]): Promise<string | undefined> {\n const path = joinPath(...parts)\n if (await exists(path))\n return await readFile(path, 'utf-8')\n}\n\nexport async function readJson<T = object>(...parts: string[]): Promise<T | undefined> {\n const content = await readText(...parts)\n if (content != null) {\n try {\n return JSON.parse(content)\n }\n catch (err) {}\n }\n}\n\nexport async function readBin(...parts: string[]): Promise<Uint8Array | undefined> {\n const path = joinPath(...parts)\n if (await exists(path))\n return toUint8Array(await readFile(path))\n}\n\n/** @deprecated use readJson or readBin */\nexport async function readData(...parts: string[]): Promise<Uint8Array | undefined> {\n const path = joinPath(...parts)\n if (await exists(path))\n return await readFile(path)\n}\n\nexport async function writeText(path: string, content: string, createFolders = false): Promise<void> {\n if (createFolders)\n await ensureFolderForFile(path)\n await writeFile(path, content, 'utf-8')\n}\n\n/** @deprecated use writeBin or writeJson */\nexport async function writeData(path: string, content: object | Uint8Array, createFolders = false): Promise<void> {\n if (createFolders)\n await ensureFolderForFile(path)\n const data = isUint8Array(content) ? content : JSON.stringify(content)\n await writeFile(path, data)\n}\n\nexport async function writeBin(path: string, content: Uint8Array, info: {\n createFolders?: boolean\n} = {}): Promise<void> {\n const { createFolders = false } = info\n if (createFolders)\n await ensureFolderForFile(path)\n await writeFile(path, content)\n}\n\nexport async function writeJson<T = object>(path: string, content: T, info: {\n createFolders?: boolean\n pretty?: boolean\n} = {}): Promise<void> {\n const { createFolders = false, pretty = false } = info\n await writeText(path, jsonStringifySorted(content, pretty ? 2 : undefined), createFolders)\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  equalBinary,
3
3
  toUint8Array
4
- } from "./chunk-EJGW3W3K.js";
4
+ } from "./chunk-MTV32UFZ.js";
5
5
 
6
6
  // src/common/crypto.ts
7
7
  function randomUint8Array(length = 16) {
@@ -98,4 +98,4 @@ export {
98
98
  encrypt,
99
99
  decrypt
100
100
  };
101
- //# sourceMappingURL=chunk-RSLTBO5X.js.map
101
+ //# sourceMappingURL=chunk-MFUX7YH7.js.map
@@ -31,7 +31,7 @@ var _chunkV3MFEGRKcjs = require('./chunk-V3MFEGRK.cjs');
31
31
  var _chunkMN7G6N6Gcjs = require('./chunk-MN7G6N6G.cjs');
32
32
 
33
33
 
34
- var _chunkHHZVPIBDcjs = require('./chunk-HHZVPIBD.cjs');
34
+ var _chunkEZB4PXZZcjs = require('./chunk-EZB4PXZZ.cjs');
35
35
 
36
36
  // src/common/bin/index.ts
37
37
  var BinaryEncoder = class {
@@ -41,7 +41,7 @@ var BinaryEncoder = class {
41
41
  return _chunkV3MFEGRKcjs.encodeToUint8Array.call(void 0, dataEncoder);
42
42
  }
43
43
  async decode(data) {
44
- return _chunkUFTHLJFJcjs.readAny.call(void 0, _chunkUFTHLJFJcjs.createDecoder.call(void 0, _chunkHHZVPIBDcjs.toUint8Array.call(void 0, data)));
44
+ return _chunkUFTHLJFJcjs.readAny.call(void 0, _chunkUFTHLJFJcjs.createDecoder.call(void 0, _chunkEZB4PXZZcjs.toUint8Array.call(void 0, data)));
45
45
  }
46
46
  };
47
47
  function encodeJson(data) {
@@ -50,20 +50,20 @@ function encodeJson(data) {
50
50
  return _chunkV3MFEGRKcjs.encodeToUint8Array.call(void 0, dataEncoder);
51
51
  }
52
52
  function decodeJson(data) {
53
- return _chunkUFTHLJFJcjs.readAny.call(void 0, _chunkUFTHLJFJcjs.createDecoder.call(void 0, _chunkHHZVPIBDcjs.toUint8Array.call(void 0, data)));
53
+ return _chunkUFTHLJFJcjs.readAny.call(void 0, _chunkUFTHLJFJcjs.createDecoder.call(void 0, _chunkEZB4PXZZcjs.toUint8Array.call(void 0, data)));
54
54
  }
55
55
  function createBinaryStreamEncoder(initialData) {
56
56
  const dataEncoder = _chunkV3MFEGRKcjs.createBinEncoder.call(void 0, );
57
57
  if (initialData != null)
58
- _chunkV3MFEGRKcjs.writeUint8Array.call(void 0, dataEncoder, _chunkHHZVPIBDcjs.toUint8Array.call(void 0, initialData));
58
+ _chunkV3MFEGRKcjs.writeUint8Array.call(void 0, dataEncoder, _chunkEZB4PXZZcjs.toUint8Array.call(void 0, initialData));
59
59
  return {
60
60
  /** Just writes the bytes. Length is not stored! */
61
61
  writeBytes: (data, expectedLength) => {
62
- const bin = _chunkHHZVPIBDcjs.toUint8Array.call(void 0, data);
62
+ const bin = _chunkEZB4PXZZcjs.toUint8Array.call(void 0, data);
63
63
  _chunkMN7G6N6Gcjs.assertCondition.call(void 0, !(expectedLength != null && bin.length !== expectedLength), `Expected ${expectedLength} bytes, got ${bin.length}`);
64
64
  _chunkV3MFEGRKcjs.writeUint8Array.call(void 0, dataEncoder, bin);
65
65
  },
66
- writeBytesVar: (data) => _chunkV3MFEGRKcjs.writeVarUint8Array.call(void 0, dataEncoder, _chunkHHZVPIBDcjs.toUint8Array.call(void 0, data)),
66
+ writeBytesVar: (data) => _chunkV3MFEGRKcjs.writeVarUint8Array.call(void 0, dataEncoder, _chunkEZB4PXZZcjs.toUint8Array.call(void 0, data)),
67
67
  writeUintVar: (data) => _chunkV3MFEGRKcjs.writeVarUint.call(void 0, dataEncoder, data),
68
68
  writeUint8: (data) => _chunkV3MFEGRKcjs.writeUint8.call(void 0, dataEncoder, data),
69
69
  writeUint16: (data) => _chunkV3MFEGRKcjs.writeUint16.call(void 0, dataEncoder, data),
@@ -77,7 +77,7 @@ function createBinaryStreamEncoder(initialData) {
77
77
  };
78
78
  }
79
79
  function createBinaryStreamDecoder(data) {
80
- const dataDecoder = _chunkUFTHLJFJcjs.createDecoder.call(void 0, _chunkHHZVPIBDcjs.toUint8Array.call(void 0, data));
80
+ const dataDecoder = _chunkUFTHLJFJcjs.createDecoder.call(void 0, _chunkEZB4PXZZcjs.toUint8Array.call(void 0, data));
81
81
  return {
82
82
  readBytes: (len) => _chunkUFTHLJFJcjs.readUint8Array.call(void 0, dataDecoder, len),
83
83
  readBytesVar: () => _chunkUFTHLJFJcjs.readVarUint8Array.call(void 0, dataDecoder),
@@ -107,7 +107,7 @@ async function blobToArrayBuffer(blob) {
107
107
  async function blobToUint8Array(blob) {
108
108
  const buffer = await blobToArrayBuffer(blob);
109
109
  if (buffer != null)
110
- return _chunkHHZVPIBDcjs.toUint8Array.call(void 0, buffer);
110
+ return _chunkEZB4PXZZcjs.toUint8Array.call(void 0, buffer);
111
111
  }
112
112
 
113
113
 
@@ -120,4 +120,4 @@ async function blobToUint8Array(blob) {
120
120
 
121
121
 
122
122
  exports.BinaryEncoder = BinaryEncoder; exports.encodeJson = encodeJson; exports.decodeJson = decodeJson; exports.createBinaryStreamEncoder = createBinaryStreamEncoder; exports.createBinaryStreamDecoder = createBinaryStreamDecoder; exports.bitfield = bitfield; exports.blobToArrayBuffer = blobToArrayBuffer; exports.blobToUint8Array = blobToUint8Array;
123
- //# sourceMappingURL=chunk-ZK5AZXA2.cjs.map
123
+ //# sourceMappingURL=chunk-MJQBMVHF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-ZK5AZXA2.cjs","../src/common/bin/index.ts"],"names":["bitfield"],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;AC1BO,IAAM,cAAA,EAAN,MAAuC;AAAA,EAC5C,MAAM,MAAA,CAAO,IAAA,EAAgC;AAC3C,IAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AACrC,IAAA,wCAAA,WAAS,EAAa,IAAI,CAAA;AAC1B,IAAA,OAAO,kDAAA,WAA8B,CAAA;AAAA,EACvC;AAAA,EAEA,MAAM,MAAA,CAAO,IAAA,EAA8C;AACzD,IAAA,OAAO,uCAAA,6CAAQ,4CAAc,IAAiB,CAAC,CAAC,CAAA;AAAA,EAClD;AACF,CAAA;AAKO,SAAS,UAAA,CAAW,IAAA,EAAuB;AAChD,EAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AACrC,EAAA,wCAAA,WAAS,EAAa,IAAI,CAAA;AAC1B,EAAA,OAAO,kDAAA,WAA8B,CAAA;AACvC;AAGO,SAAS,UAAA,CAAW,IAAA,EAAqC;AAC9D,EAAA,OAAO,uCAAA,6CAAQ,4CAAc,IAAiB,CAAC,CAAC,CAAA;AAClD;AAKO,SAAS,yBAAA,CAA0B,WAAA,EAAwB;AAChE,EAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AAErC,EAAA,GAAA,CAAI,YAAA,GAAe,IAAA;AACjB,IAAA,+CAAA,WAAgB,EAAa,4CAAA,WAAwB,CAAC,CAAA;AAExD,EAAA,OAAO;AAAA;AAAA,IAEL,UAAA,EAAY,CAAC,IAAA,EAAgB,cAAA,EAAA,GAA2B;AACtD,MAAA,MAAM,IAAA,EAAM,4CAAA,IAAiB,CAAA;AAC7B,MAAA,+CAAA,CAAgB,CAAE,eAAA,GAAkB,KAAA,GAAQ,GAAA,CAAI,OAAA,IAAW,cAAA,CAAA,EAAiB,CAAA,SAAA,EAAY,cAAc,CAAA,YAAA,EAAe,GAAA,CAAI,MAAM,CAAA,CAAA;AAC/F,MAAA;AAClC,IAAA;AACqF,IAAA;AACvB,IAAA;AACJ,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACM,IAAA;AAClB,IAAA;AACe,IAAA;AAC5B,IAAA;AACrC,EAAA;AACF;AAG0D;AACJ,EAAA;AAC7C,EAAA;AACkE,IAAA;AACV,IAAA;AACX,IAAA;AACJ,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACM,IAAA;AAClB,IAAA;AACQ,IAAA;AAC9C,EAAA;AACF;AAGuC;AAC9B,EAAA;AAC+F,IAAA;AAC/C,IAAA;AACC,IAAA;AACQ,IAAA;AAC9CA,IAAAA;AAClB,EAAA;AACF;AAI6F;AAC7D,EAAA;AAgBhC;AAE2F;AAC9C,EAAA;AAC7B,EAAA;AACc,IAAA;AAC9B;ADRsI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-ZK5AZXA2.cjs","sourcesContent":[null,"import type { BinInput } from '../data/bin'\nimport type { Encoder } from '../msg/encoder'\nimport { assertCondition } from '../assert'\nimport { toUint8Array } from '../data/bin'\nimport { createDecoder, readAny, readFloat32, readUint8, readUint8Array, readUint16, readUint32, readVarInt, readVarString, readVarUint, readVarUint8Array } from './lib0/decoding'\nimport { createBinEncoder, encodeToUint8Array, length, writeAny, writeFloat32, writeUint8, writeUint8Array, writeUint16, writeUint32, writeVarInt, writeVarString, writeVarUint, writeVarUint8Array } from './lib0/encoding'\n\n// Use in Zeed channels\n\nexport class BinaryEncoder implements Encoder {\n async encode(data: any): Promise<Uint8Array> {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n }\n\n async decode(data: Uint8Array | ArrayBuffer): Promise<any> {\n return readAny(createDecoder(toUint8Array(data)))\n }\n}\n\n// Json like\n\n/** Encode any object, including Uint8Array data */\nexport function encodeJson(data: any): Uint8Array {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n}\n\n/** Decode any object, including Uint8Array data */\nexport function decodeJson(data: Uint8Array | ArrayBuffer): any {\n return readAny(createDecoder(toUint8Array(data)))\n}\n\n// Stream like\n\n/** Incrementally encode binary data */\nexport function createBinaryStreamEncoder(initialData?: BinInput) {\n const dataEncoder = createBinEncoder()\n\n if (initialData != null)\n writeUint8Array(dataEncoder, toUint8Array(initialData))\n\n return {\n /** Just writes the bytes. Length is not stored! */\n writeBytes: (data: BinInput, expectedLength: number) => {\n const bin = toUint8Array(data)\n assertCondition(!(expectedLength != null && bin.length !== expectedLength), `Expected ${expectedLength} bytes, got ${bin.length}`)\n writeUint8Array(dataEncoder, bin)\n },\n writeBytesVar: (data: BinInput) => writeVarUint8Array(dataEncoder, toUint8Array(data)),\n writeUintVar: (data: number) => writeVarUint(dataEncoder, data),\n writeUint8: (data: number) => writeUint8(dataEncoder, data),\n writeUint16: (data: number) => writeUint16(dataEncoder, data),\n writeUint32: (data: number) => writeUint32(dataEncoder, data),\n writeIntVar: (data: number) => writeVarInt(dataEncoder, data),\n writeFloat: (data: number) => writeFloat32(dataEncoder, data),\n writeStringVar: (data: string) => writeVarString(dataEncoder, data),\n write: (data: any) => writeAny(dataEncoder, data),\n getUint8Array: (): Uint8Array => encodeToUint8Array(dataEncoder),\n getLength: () => length(dataEncoder),\n }\n}\n\n/** Incrementally decode binary data */\nexport function createBinaryStreamDecoder(data: BinInput) {\n const dataDecoder = createDecoder(toUint8Array(data))\n return {\n readBytes: (len: number): Uint8Array => readUint8Array(dataDecoder, len),\n readBytesVar: (): Uint8Array => readVarUint8Array(dataDecoder),\n readUintVar: (): number => readVarUint(dataDecoder),\n readUint8: (): number => readUint8(dataDecoder),\n readUint16: (): number => readUint16(dataDecoder),\n readUint32: (): number => readUint32(dataDecoder),\n readIntVar: (): number => readVarInt(dataDecoder),\n readFloat: (): number => readFloat32(dataDecoder),\n readStringVar: (): string => readVarString(dataDecoder),\n read: (): any => readAny(dataDecoder),\n getOffset: (): number => dataDecoder.pos || 0,\n }\n}\n\n// https://stackoverflow.com/a/1436448/140927\nexport function bitfield(bitfield = 0) {\n return {\n setBit: (bit: number, value = true): number => value ? (bitfield |= 1 << bit) : (bitfield &= ~(1 << bit)),\n unsetBit: (bit: number): number => (bitfield &= 1 << bit),\n toggleBit: (bit: number): number => (bitfield ^= 1 << bit),\n getBit: (bit: number): boolean => (bitfield & (1 << bit)) !== 0,\n getValue: () => bitfield,\n }\n}\n\n// Cast\n\nexport async function blobToArrayBuffer(blob: Blob | File): Promise<ArrayBuffer | undefined> {\n return await blob.arrayBuffer()\n // try {\n // return new Promise((resolve, reject) => {\n // try {\n // const reader = new FileReader()\n // reader.onloadend = () => resolve(reader.result as ArrayBuffer)\n // reader.onerror = err => reject(err)\n // reader.onabort = err => reject(err)\n // reader.readAsArrayBuffer(blob)\n // }\n // catch (err) {\n // reject(err)\n // }\n // })\n // }\n // catch (err) {}\n}\n\nexport async function blobToUint8Array(blob: Blob | File): Promise<Uint8Array | undefined> {\n const buffer = await blobToArrayBuffer(blob)\n if (buffer != null)\n return toUint8Array(buffer)\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-MJQBMVHF.cjs","../src/common/bin/index.ts"],"names":["bitfield"],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;AC1BO,IAAM,cAAA,EAAN,MAAuC;AAAA,EAC5C,MAAM,MAAA,CAAO,IAAA,EAAgC;AAC3C,IAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AACrC,IAAA,wCAAA,WAAS,EAAa,IAAI,CAAA;AAC1B,IAAA,OAAO,kDAAA,WAA8B,CAAA;AAAA,EACvC;AAAA,EAEA,MAAM,MAAA,CAAO,IAAA,EAA8C;AACzD,IAAA,OAAO,uCAAA,6CAAQ,4CAAc,IAAiB,CAAC,CAAC,CAAA;AAAA,EAClD;AACF,CAAA;AAKO,SAAS,UAAA,CAAW,IAAA,EAAuB;AAChD,EAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AACrC,EAAA,wCAAA,WAAS,EAAa,IAAI,CAAA;AAC1B,EAAA,OAAO,kDAAA,WAA8B,CAAA;AACvC;AAGO,SAAS,UAAA,CAAW,IAAA,EAAqC;AAC9D,EAAA,OAAO,uCAAA,6CAAQ,4CAAc,IAAiB,CAAC,CAAC,CAAA;AAClD;AAKO,SAAS,yBAAA,CAA0B,WAAA,EAAwB;AAChE,EAAA,MAAM,YAAA,EAAc,gDAAA,CAAiB;AAErC,EAAA,GAAA,CAAI,YAAA,GAAe,IAAA;AACjB,IAAA,+CAAA,WAAgB,EAAa,4CAAA,WAAwB,CAAC,CAAA;AAExD,EAAA,OAAO;AAAA;AAAA,IAEL,UAAA,EAAY,CAAC,IAAA,EAAgB,cAAA,EAAA,GAA2B;AACtD,MAAA,MAAM,IAAA,EAAM,4CAAA,IAAiB,CAAA;AAC7B,MAAA,+CAAA,CAAgB,CAAE,eAAA,GAAkB,KAAA,GAAQ,GAAA,CAAI,OAAA,IAAW,cAAA,CAAA,EAAiB,CAAA,SAAA,EAAY,cAAc,CAAA,YAAA,EAAe,GAAA,CAAI,MAAM,CAAA,CAAA;AAC/F,MAAA;AAClC,IAAA;AACqF,IAAA;AACvB,IAAA;AACJ,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACM,IAAA;AAClB,IAAA;AACe,IAAA;AAC5B,IAAA;AACrC,EAAA;AACF;AAG0D;AACJ,EAAA;AAC7C,EAAA;AACkE,IAAA;AACV,IAAA;AACX,IAAA;AACJ,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACM,IAAA;AAClB,IAAA;AACQ,IAAA;AAC9C,EAAA;AACF;AAGuC;AAC9B,EAAA;AAC+F,IAAA;AAC/C,IAAA;AACC,IAAA;AACQ,IAAA;AAC9CA,IAAAA;AAClB,EAAA;AACF;AAI6F;AAC7D,EAAA;AAgBhC;AAE2F;AAC9C,EAAA;AAC7B,EAAA;AACc,IAAA;AAC9B;ADRsI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-MJQBMVHF.cjs","sourcesContent":[null,"import type { BinInput } from '../data/bin'\nimport type { Encoder } from '../msg/encoder'\nimport { assertCondition } from '../assert'\nimport { toUint8Array } from '../data/bin'\nimport { createDecoder, readAny, readFloat32, readUint8, readUint8Array, readUint16, readUint32, readVarInt, readVarString, readVarUint, readVarUint8Array } from './lib0/decoding'\nimport { createBinEncoder, encodeToUint8Array, length, writeAny, writeFloat32, writeUint8, writeUint8Array, writeUint16, writeUint32, writeVarInt, writeVarString, writeVarUint, writeVarUint8Array } from './lib0/encoding'\n\n// Use in Zeed channels\n\nexport class BinaryEncoder implements Encoder {\n async encode(data: any): Promise<Uint8Array> {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n }\n\n async decode(data: Uint8Array | ArrayBuffer): Promise<any> {\n return readAny(createDecoder(toUint8Array(data)))\n }\n}\n\n// Json like\n\n/** Encode any object, including Uint8Array data */\nexport function encodeJson(data: any): Uint8Array {\n const dataEncoder = createBinEncoder()\n writeAny(dataEncoder, data)\n return encodeToUint8Array(dataEncoder)\n}\n\n/** Decode any object, including Uint8Array data */\nexport function decodeJson(data: Uint8Array | ArrayBuffer): any {\n return readAny(createDecoder(toUint8Array(data)))\n}\n\n// Stream like\n\n/** Incrementally encode binary data */\nexport function createBinaryStreamEncoder(initialData?: BinInput) {\n const dataEncoder = createBinEncoder()\n\n if (initialData != null)\n writeUint8Array(dataEncoder, toUint8Array(initialData))\n\n return {\n /** Just writes the bytes. Length is not stored! */\n writeBytes: (data: BinInput, expectedLength: number) => {\n const bin = toUint8Array(data)\n assertCondition(!(expectedLength != null && bin.length !== expectedLength), `Expected ${expectedLength} bytes, got ${bin.length}`)\n writeUint8Array(dataEncoder, bin)\n },\n writeBytesVar: (data: BinInput) => writeVarUint8Array(dataEncoder, toUint8Array(data)),\n writeUintVar: (data: number) => writeVarUint(dataEncoder, data),\n writeUint8: (data: number) => writeUint8(dataEncoder, data),\n writeUint16: (data: number) => writeUint16(dataEncoder, data),\n writeUint32: (data: number) => writeUint32(dataEncoder, data),\n writeIntVar: (data: number) => writeVarInt(dataEncoder, data),\n writeFloat: (data: number) => writeFloat32(dataEncoder, data),\n writeStringVar: (data: string) => writeVarString(dataEncoder, data),\n write: (data: any) => writeAny(dataEncoder, data),\n getUint8Array: (): Uint8Array => encodeToUint8Array(dataEncoder),\n getLength: () => length(dataEncoder),\n }\n}\n\n/** Incrementally decode binary data */\nexport function createBinaryStreamDecoder(data: BinInput) {\n const dataDecoder = createDecoder(toUint8Array(data))\n return {\n readBytes: (len: number): Uint8Array => readUint8Array(dataDecoder, len),\n readBytesVar: (): Uint8Array => readVarUint8Array(dataDecoder),\n readUintVar: (): number => readVarUint(dataDecoder),\n readUint8: (): number => readUint8(dataDecoder),\n readUint16: (): number => readUint16(dataDecoder),\n readUint32: (): number => readUint32(dataDecoder),\n readIntVar: (): number => readVarInt(dataDecoder),\n readFloat: (): number => readFloat32(dataDecoder),\n readStringVar: (): string => readVarString(dataDecoder),\n read: (): any => readAny(dataDecoder),\n getOffset: (): number => dataDecoder.pos || 0,\n }\n}\n\n// https://stackoverflow.com/a/1436448/140927\nexport function bitfield(bitfield = 0) {\n return {\n setBit: (bit: number, value = true): number => value ? (bitfield |= 1 << bit) : (bitfield &= ~(1 << bit)),\n unsetBit: (bit: number): number => (bitfield &= 1 << bit),\n toggleBit: (bit: number): number => (bitfield ^= 1 << bit),\n getBit: (bit: number): boolean => (bitfield & (1 << bit)) !== 0,\n getValue: () => bitfield,\n }\n}\n\n// Cast\n\nexport async function blobToArrayBuffer(blob: Blob | File): Promise<ArrayBuffer | undefined> {\n return await blob.arrayBuffer()\n // try {\n // return new Promise((resolve, reject) => {\n // try {\n // const reader = new FileReader()\n // reader.onloadend = () => resolve(reader.result as ArrayBuffer)\n // reader.onerror = err => reject(err)\n // reader.onabort = err => reject(err)\n // reader.readAsArrayBuffer(blob)\n // }\n // catch (err) {\n // reject(err)\n // }\n // })\n // }\n // catch (err) {}\n}\n\nexport async function blobToUint8Array(blob: Blob | File): Promise<Uint8Array | undefined> {\n const buffer = await blobToArrayBuffer(blob)\n if (buffer != null)\n return toUint8Array(buffer)\n}\n"]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-OSX4VQOR.js";
4
4
  import {
5
5
  uname
6
- } from "./chunk-54BCGEKW.js";
6
+ } from "./chunk-OC6HNIEN.js";
7
7
  import {
8
8
  useDispose
9
9
  } from "./chunk-TRCJY7KG.js";
@@ -157,4 +157,4 @@ var Progress = class _Progress extends Emitter {
157
157
  export {
158
158
  Progress
159
159
  };
160
- //# sourceMappingURL=chunk-D4QZEGYG.js.map
160
+ //# sourceMappingURL=chunk-MMY72EVL.js.map
@@ -96,20 +96,20 @@ function toBase64(bin, stripPadding = false) {
96
96
  sb = btoa(s);
97
97
  }
98
98
  if (stripPadding)
99
- return sb.replaceAll("=", "");
99
+ return sb.replace(/\=/g, "");
100
100
  return sb;
101
101
  }
102
102
  function toBase64Url(bin) {
103
103
  const bytes = toUint8Array(bin);
104
104
  if (typeof Buffer !== "undefined")
105
- return Buffer.from(bytes).toString("base64url").replaceAll("=", "");
105
+ return Buffer.from(bytes).toString("base64url").replace(/\=/g, "");
106
106
  let s = "";
107
107
  for (let i = 0; i < bytes.byteLength; i++)
108
108
  s += String.fromCharCode(bytes[i]);
109
- return btoa(s).replaceAll("+", "-").replaceAll("/", "_").replaceAll("=", "");
109
+ return btoa(s).replace(/\+/g, "-").replace(/\//g, "_").replace(/\=/g, "");
110
110
  }
111
111
  function fromBase64(s) {
112
- s = s.replaceAll("-", "+").replaceAll("_", "/");
112
+ s = s.replace(/\-/g, "+").replace(/\_/g, "/");
113
113
  if (typeof Buffer !== "undefined") {
114
114
  const buf = Buffer.from(s, "base64");
115
115
  return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
@@ -190,4 +190,4 @@ export {
190
190
  Uint8ArrayToJson,
191
191
  Uint8ArrayToHexDump
192
192
  };
193
- //# sourceMappingURL=chunk-EJGW3W3K.js.map
193
+ //# sourceMappingURL=chunk-MTV32UFZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/data/bin.ts"],"sourcesContent":["/* eslint-disable node/prefer-global/buffer */\n/* eslint-disable no-control-regex */\n/* eslint-disable prefer-spread */\n\nimport { jsonStringifySafe } from './json'\n\nexport type BinInput = Uint8Array | ArrayBuffer | string | number[]\n\n// From https://github.com/dmonad/lib0/blob/main/string.js#L44\n\nexport function _encodeUtf8Polyfill(str: string): Uint8Array {\n const encodedString = unescape(encodeURIComponent(str))\n const len = encodedString.length\n const buf = new Uint8Array(len)\n for (let i = 0; i < len; i++)\n buf[i] = encodedString.codePointAt(i) || 0\n return buf\n}\n\nexport function _decodeUtf8Polyfill(buf: Uint8Array) {\n let remainingLen = buf.length\n let encodedString = ''\n let bufPos = 0\n while (remainingLen > 0) {\n const nextLen = remainingLen < 10000 ? remainingLen : 10000\n const bytes = buf.subarray(bufPos, bufPos + nextLen)\n bufPos += nextLen\n // Starting with ES5.1 we can supply a generic array-like object as arguments\n // @ts-expect-error xxx\n encodedString += String.fromCodePoint.apply(null, bytes)\n remainingLen -= nextLen\n }\n return decodeURIComponent(escape(encodedString))\n}\n\nlet _textEncoder: (data: string) => Uint8Array\n\nexport function stringToUInt8Array(text: string): Uint8Array {\n if (_textEncoder == null) {\n _textEncoder = _encodeUtf8Polyfill\n if (typeof TextEncoder !== 'undefined') {\n const encoder = new TextEncoder()\n _textEncoder = data => encoder.encode(data)\n }\n }\n return _textEncoder(text.normalize('NFC'))\n}\n\nlet _textDecoder: (data: Uint8Array) => string\n\nexport function Uint8ArrayToString(bin: Uint8Array): string {\n if (_textDecoder == null) {\n _textDecoder = _decodeUtf8Polyfill\n if (typeof TextDecoder !== 'undefined') {\n const decoder = new TextDecoder('utf-8', { ignoreBOM: true })\n _textDecoder = data => decoder.decode(data)\n }\n }\n return _textDecoder(bin).normalize('NFC')\n}\n\nexport function toUint8Array(data: BinInput): Uint8Array {\n if (data instanceof ArrayBuffer)\n return new Uint8Array(data)\n if (typeof data === 'string')\n return stringToUInt8Array(data)\n if (data.length)\n return new Uint8Array(data)\n return data as Uint8Array\n}\n\nexport function joinToUint8Array(...args: BinInput[] | BinInput[][]) {\n let length = 0\n const bins = args.flat(1).map((d) => {\n const b = toUint8Array(d as BinInput)\n length += b.length\n return b\n })\n const bin = new Uint8Array(length)\n let cursor = 0\n for (const b of bins) {\n bin.set(b, cursor)\n cursor += b.length\n }\n return bin\n}\n\nexport function toHex(bin: BinInput): string {\n if (typeof Buffer !== 'undefined')\n return Buffer.from(toUint8Array(bin)).toString('hex')\n const h = '0123456789abcdef'\n let s = ''\n for (const v of [...toUint8Array(bin)])\n s += h[v >> 4] + h[v & 15]\n return s\n}\n\nexport function fromHex(hexString: string): Uint8Array {\n return Uint8Array.from(\n hexString.match(/.{1,2}/g)!.map(byte => Number.parseInt(byte, 16)),\n )\n}\n\n// Learn about Base64 in browsers: https://web.dev/articles/base64-encoding\n\n/** Regular base64 */\nexport function toBase64(bin: BinInput, stripPadding = false): string {\n const bytes = toUint8Array(bin)\n let sb = ''\n if (typeof Buffer !== 'undefined') {\n sb = Buffer.from(bytes).toString('base64')\n }\n else {\n let s = ''\n for (let i = 0; i < bytes.byteLength; i++)\n s += String.fromCharCode(bytes[i])\n sb = btoa(s)\n }\n if (stripPadding)\n return sb.replaceAll('=', '')\n return sb\n}\n\n/** Converts `+` -> `-` and `/` -> `_`. Always strips `=` */\nexport function toBase64Url(bin: BinInput): string {\n const bytes = toUint8Array(bin)\n if (typeof Buffer !== 'undefined')\n return Buffer.from(bytes).toString('base64url').replaceAll('=', '')\n let s = ''\n for (let i = 0; i < bytes.byteLength; i++)\n s += String.fromCharCode(bytes[i])\n return btoa(s).replaceAll('+', '-').replaceAll('/', '_').replaceAll('=', '')\n}\n\n/** Also parses toBase64Url encoded strings. */\nexport function fromBase64(s: string): Uint8Array {\n s = s.replaceAll('-', '+').replaceAll('_', '/')\n if (typeof Buffer !== 'undefined') {\n const buf = Buffer.from(s, 'base64')\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n }\n const a = atob(s)\n const bytes = new Uint8Array(a.length)\n for (let i = 0; i < a.length; i++)\n bytes[i] = a.charCodeAt(i)\n return bytes\n}\n\n/** Also parses toBase64Url encoded strings. */\nexport function fromBase64String(s: string): string {\n return Uint8ArrayToString(fromBase64(s))\n}\n\n/** Compare contents of binary arrays */\nexport function equalBinary(\n a: ArrayBuffer | Uint8Array,\n b: ArrayBuffer | Uint8Array,\n): boolean {\n if (a.byteLength !== b.byteLength)\n return false\n const aa = toUint8Array(a)\n const bb = toUint8Array(b)\n for (let i = 0; i < aa.length; i++) {\n if (aa[i] !== bb[i])\n return false\n }\n return true\n}\n\nexport function jsonToUint8Array(json: any): Uint8Array | never {\n return stringToUInt8Array(jsonStringifySafe(json))\n}\n\nexport function Uint8ArrayToJson<T = any>(data: Uint8Array): T | never {\n return JSON.parse(Uint8ArrayToString(data))\n}\n\n// https://gist.github.com/igorgatis/d294fe714a4f523ac3a3\nexport function Uint8ArrayToHexDump(\n buffer: Uint8Array | ArrayBuffer | string | Array<number>,\n blockSize?: number,\n) {\n if (typeof buffer === 'string') {\n // log(\"buffer is string\")\n // do nothing\n }\n else if (buffer instanceof ArrayBuffer && buffer.byteLength !== undefined) {\n // log(\"buffer is ArrayBuffer\")\n buffer = String.fromCharCode.apply(\n String,\n [].slice.call(new Uint8Array(buffer)),\n )\n }\n else if (Array.isArray(buffer)) {\n // log(\"buffer is Array\")\n buffer = String.fromCharCode.apply(String, buffer)\n }\n else if (buffer.constructor === Uint8Array) {\n // log(\"buffer is Uint8Array\")\n buffer = String.fromCharCode.apply(String, [].slice.call(buffer))\n }\n else {\n // log(\"Error: buffer is unknown...\")\n return false\n }\n\n blockSize = blockSize || 16\n const lines = []\n const hex = '0123456789abcdef' // '0123456789ABCDEF'\n for (let b = 0; b < buffer.length; b += blockSize) {\n const block = buffer.slice(b, Math.min(b + blockSize, buffer.length))\n const addr = (`0000${b.toString(16)}`).slice(-4)\n let codes = block\n .split('')\n .map((ch: any) => {\n const code = ch.charCodeAt(0)\n return ` ${hex[(0xF0 & code) >> 4]}${hex[0x0F & code]}`\n })\n .join('')\n codes += ' '.repeat(blockSize - block.length)\n let chars = block.replace(/[\\x00-\\x1F\\x20\\x7F-\\xA0\\xAD]/g, '.')\n chars += ' '.repeat(blockSize - block.length)\n lines.push(`${addr} ${codes} ${chars}`)\n }\n return lines.join('\\n')\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/common/data/bin.ts"],"sourcesContent":["/* eslint-disable node/prefer-global/buffer */\n/* eslint-disable no-control-regex */\n/* eslint-disable prefer-spread */\n\nimport { jsonStringifySafe } from './json'\n\nexport type BinInput = Uint8Array | ArrayBuffer | string | number[]\n\n// From https://github.com/dmonad/lib0/blob/main/string.js#L44\n\nexport function _encodeUtf8Polyfill(str: string): Uint8Array {\n const encodedString = unescape(encodeURIComponent(str))\n const len = encodedString.length\n const buf = new Uint8Array(len)\n for (let i = 0; i < len; i++)\n buf[i] = encodedString.codePointAt(i) || 0\n return buf\n}\n\nexport function _decodeUtf8Polyfill(buf: Uint8Array) {\n let remainingLen = buf.length\n let encodedString = ''\n let bufPos = 0\n while (remainingLen > 0) {\n const nextLen = remainingLen < 10000 ? remainingLen : 10000\n const bytes = buf.subarray(bufPos, bufPos + nextLen)\n bufPos += nextLen\n // Starting with ES5.1 we can supply a generic array-like object as arguments\n // @ts-expect-error xxx\n encodedString += String.fromCodePoint.apply(null, bytes)\n remainingLen -= nextLen\n }\n return decodeURIComponent(escape(encodedString))\n}\n\nlet _textEncoder: (data: string) => Uint8Array\n\nexport function stringToUInt8Array(text: string): Uint8Array {\n if (_textEncoder == null) {\n _textEncoder = _encodeUtf8Polyfill\n if (typeof TextEncoder !== 'undefined') {\n const encoder = new TextEncoder()\n _textEncoder = data => encoder.encode(data)\n }\n }\n return _textEncoder(text.normalize('NFC'))\n}\n\nlet _textDecoder: (data: Uint8Array) => string\n\nexport function Uint8ArrayToString(bin: Uint8Array): string {\n if (_textDecoder == null) {\n _textDecoder = _decodeUtf8Polyfill\n if (typeof TextDecoder !== 'undefined') {\n const decoder = new TextDecoder('utf-8', { ignoreBOM: true })\n _textDecoder = data => decoder.decode(data)\n }\n }\n return _textDecoder(bin).normalize('NFC')\n}\n\nexport function toUint8Array(data: BinInput): Uint8Array {\n if (data instanceof ArrayBuffer)\n return new Uint8Array(data)\n if (typeof data === 'string')\n return stringToUInt8Array(data)\n if (data.length)\n return new Uint8Array(data)\n return data as Uint8Array\n}\n\nexport function joinToUint8Array(...args: BinInput[] | BinInput[][]) {\n let length = 0\n const bins = args.flat(1).map((d) => {\n const b = toUint8Array(d as BinInput)\n length += b.length\n return b\n })\n const bin = new Uint8Array(length)\n let cursor = 0\n for (const b of bins) {\n bin.set(b, cursor)\n cursor += b.length\n }\n return bin\n}\n\nexport function toHex(bin: BinInput): string {\n if (typeof Buffer !== 'undefined')\n return Buffer.from(toUint8Array(bin)).toString('hex')\n const h = '0123456789abcdef'\n let s = ''\n for (const v of [...toUint8Array(bin)])\n s += h[v >> 4] + h[v & 15]\n return s\n}\n\nexport function fromHex(hexString: string): Uint8Array {\n return Uint8Array.from(\n hexString.match(/.{1,2}/g)!.map(byte => Number.parseInt(byte, 16)),\n )\n}\n\n// Learn about Base64 in browsers: https://web.dev/articles/base64-encoding\n\n/** Regular base64 */\nexport function toBase64(bin: BinInput, stripPadding = false): string {\n const bytes = toUint8Array(bin)\n let sb = ''\n if (typeof Buffer !== 'undefined') {\n sb = Buffer.from(bytes).toString('base64')\n }\n else {\n let s = ''\n for (let i = 0; i < bytes.byteLength; i++)\n s += String.fromCharCode(bytes[i])\n sb = btoa(s)\n }\n if (stripPadding)\n return sb.replace(/\\=/g, '')\n return sb\n}\n\n/** Converts `+` -> `-` and `/` -> `_`. Always strips `=` */\nexport function toBase64Url(bin: BinInput): string {\n const bytes = toUint8Array(bin)\n if (typeof Buffer !== 'undefined')\n return Buffer.from(bytes).toString('base64url').replace(/\\=/g, '')\n let s = ''\n for (let i = 0; i < bytes.byteLength; i++)\n s += String.fromCharCode(bytes[i])\n return btoa(s).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/\\=/g, '')\n}\n\n/** Also parses toBase64Url encoded strings. */\nexport function fromBase64(s: string): Uint8Array {\n s = s.replace(/\\-/g, '+').replace(/\\_/g, '/')\n if (typeof Buffer !== 'undefined') {\n const buf = Buffer.from(s, 'base64')\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n }\n const a = atob(s)\n const bytes = new Uint8Array(a.length)\n for (let i = 0; i < a.length; i++)\n bytes[i] = a.charCodeAt(i)\n return bytes\n}\n\n/** Also parses toBase64Url encoded strings. */\nexport function fromBase64String(s: string): string {\n return Uint8ArrayToString(fromBase64(s))\n}\n\n/** Compare contents of binary arrays */\nexport function equalBinary(\n a: ArrayBuffer | Uint8Array,\n b: ArrayBuffer | Uint8Array,\n): boolean {\n if (a.byteLength !== b.byteLength)\n return false\n const aa = toUint8Array(a)\n const bb = toUint8Array(b)\n for (let i = 0; i < aa.length; i++) {\n if (aa[i] !== bb[i])\n return false\n }\n return true\n}\n\nexport function jsonToUint8Array(json: any): Uint8Array | never {\n return stringToUInt8Array(jsonStringifySafe(json))\n}\n\nexport function Uint8ArrayToJson<T = any>(data: Uint8Array): T | never {\n return JSON.parse(Uint8ArrayToString(data))\n}\n\n// https://gist.github.com/igorgatis/d294fe714a4f523ac3a3\nexport function Uint8ArrayToHexDump(\n buffer: Uint8Array | ArrayBuffer | string | Array<number>,\n blockSize?: number,\n) {\n if (typeof buffer === 'string') {\n // log(\"buffer is string\")\n // do nothing\n }\n else if (buffer instanceof ArrayBuffer && buffer.byteLength !== undefined) {\n // log(\"buffer is ArrayBuffer\")\n buffer = String.fromCharCode.apply(\n String,\n [].slice.call(new Uint8Array(buffer)),\n )\n }\n else if (Array.isArray(buffer)) {\n // log(\"buffer is Array\")\n buffer = String.fromCharCode.apply(String, buffer)\n }\n else if (buffer.constructor === Uint8Array) {\n // log(\"buffer is Uint8Array\")\n buffer = String.fromCharCode.apply(String, [].slice.call(buffer))\n }\n else {\n // log(\"Error: buffer is unknown...\")\n return false\n }\n\n blockSize = blockSize || 16\n const lines = []\n const hex = '0123456789abcdef' // '0123456789ABCDEF'\n for (let b = 0; b < buffer.length; b += blockSize) {\n const block = buffer.slice(b, Math.min(b + blockSize, buffer.length))\n const addr = (`0000${b.toString(16)}`).slice(-4)\n let codes = block\n .split('')\n .map((ch: any) => {\n const code = ch.charCodeAt(0)\n return ` ${hex[(0xF0 & code) >> 4]}${hex[0x0F & code]}`\n })\n .join('')\n codes += ' '.repeat(blockSize - block.length)\n let chars = block.replace(/[\\x00-\\x1F\\x20\\x7F-\\xA0\\xAD]/g, '.')\n chars += ' '.repeat(blockSize - block.length)\n lines.push(`${addr} ${codes} ${chars}`)\n }\n return lines.join('\\n')\n}\n"],"mappings":"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","names":[]}
@@ -37,15 +37,15 @@ function csvStringify(data, opt = {}) {
37
37
  function csvParse(raw, opt = {}) {
38
38
  let rxOneValueWithSeparator = /("((?:(?:[^"]*?)(?:"")?)*)"|([^,;\t\n]*))([,;\t\n]|\r\n)/g;
39
39
  if (opt.separator)
40
- rxOneValueWithSeparator = new RegExp(rxOneValueWithSeparator.source.replaceAll(",;\\t", _chunkCUGOCLWNcjs.escapeRegExp.call(void 0, opt.separator)), rxOneValueWithSeparator.flags);
40
+ rxOneValueWithSeparator = new RegExp(rxOneValueWithSeparator.source.replace(/',;\\t/g, _chunkCUGOCLWNcjs.escapeRegExp.call(void 0, opt.separator)), rxOneValueWithSeparator.flags);
41
41
  const lines = [];
42
42
  let row = [];
43
43
  let m;
44
- const text = `${raw.replaceAll("\r\n", "\n").trim()}
44
+ const text = `${raw.replace(/\r\n/g, "\n").trim()}
45
45
  `;
46
46
  while (m = rxOneValueWithSeparator.exec(text)) {
47
47
  let value = _nullishCoalesce(_nullishCoalesce(m[2], () => ( m[3])), () => ( ""));
48
- value = value.replaceAll('""', '"');
48
+ value = value.replace(/""/g, '"');
49
49
  row.push(value);
50
50
  if (m[4] === "\n") {
51
51
  lines.push(row);
@@ -67,4 +67,4 @@ function csvParseToObjects(raw, opt = {}) {
67
67
 
68
68
 
69
69
  exports.csvStringify = csvStringify; exports.csvParse = csvParse; exports.csvParseToObjects = csvParseToObjects;
70
- //# sourceMappingURL=chunk-TMDQ3JIT.cjs.map
70
+ //# sourceMappingURL=chunk-NGNWFHIG.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-TMDQ3JIT.cjs","../src/common/csv.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACRA,IAAM,iBAAA,EAAmB,GAAA;AAElB,SAAS,YAAA,CAAa,IAAA,EAAa,IAAA,EAItC,CAAC,CAAA,EAAW;AACd,EAAA,MAAM,EAAE,UAAA,EAAY,iBAAiB,EAAA,EAAI,GAAA;AACzC,EAAA,IAAI,KAAA,EAAO,EAAA;AACX,EAAA,GAAA,CAAI,GAAA,CAAI,MAAA;AACN,IAAA,KAAA,EAAO,QAAA;AAOT,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,IAAA,CAAK,MAAA,EAAQ,CAAA,EAAA,EAAK;AACpC,IAAA,KAAA,GAAQ,CAAA,EAAA;AACF,MAAA;AACF,QAAA;AACE,MAAA;AACF,QAAA;AACE,MAAA;AACA,MAAA;AACE,QAAA;AACA,MAAA;AACJ,QAAA;AACK,MAAA;AACD,IAAA;AAAU;AACpB,EAAA;AAEO,EAAA;AACT;AAEgB;AAKV,EAAA;AACI,EAAA;AACN,IAAA;AAEI,EAAA;AACY,EAAA;AACd,EAAA;AACE,EAAA;AAA6C;AAGxC,EAAA;AACL,IAAA;AACI,IAAA;AACC,IAAA;AACF,IAAA;AACC,MAAA;AACC,MAAA;AACT,IAAA;AACF,EAAA;AACO,EAAA;AACT;AAEgB;AAGR,EAAA;AACA,EAAA;AACC,EAAA;AACL,IAAA;AACF,EAAA;AACF;ADXa;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-TMDQ3JIT.cjs","sourcesContent":[null,"import { isArray, isBoolean, isRecord } from './data/is'\nimport { jsonStringifySafe } from './data/json'\nimport { escapeRegExp } from './data/regexp'\n\nconst defaultSeparator = ','\n\nexport function csvStringify(data: any[], opt: {\n // header?: string[]\n separator?: string\n addBom?: boolean // option to add byte order mark for improved Excel support\n} = {}): string {\n const { separator = defaultSeparator } = opt\n let body = ''\n if (opt.addBom)\n body = '\\uFEFF'\n\n // Append the header row to the response if requested\n // if (header)\n // body = `${header.join(separator)}\\n`\n\n // Convert the data to a CSV-like structure\n for (let i = 0; i < data.length; i++) {\n body += `${data[i].map((field: string) => {\n if (field == null || field === '')\n return ''\n if (isBoolean(field))\n return field ? 1 : 0\n let s = String(field)\n if (isRecord(field) || isArray(field))\n s = jsonStringifySafe(field)\n if (s.includes('\"') || s.includes('\\n') || s.includes(separator))\n return `\"${s.replace(/\"/g, '\"\"')}\"`\n return s\n }).join(separator)}\\n`\n }\n\n return body\n}\n\nexport function csvParse(raw: string, opt: {\n separator?: string\n} = {}) {\n // https://regex101.com/r/BCpKyV/1\n // eslint-disable-next-line regexp/no-unused-capturing-group, regexp/no-super-linear-backtracking, regexp/no-dupe-disjunctions, regexp/no-useless-non-capturing-group\n let rxOneValueWithSeparator = /(\"((?:(?:[^\"]*?)(?:\"\")?)*)\"|([^,;\\t\\n]*))([,;\\t\\n]|\\r\\n)/g\n if (opt.separator)\n rxOneValueWithSeparator = new RegExp(rxOneValueWithSeparator.source.replaceAll(',;\\\\t', escapeRegExp(opt.separator)), rxOneValueWithSeparator.flags)\n\n const lines: any[][] = []\n let row: any[] = []\n let m: any\n const text = `${raw.replaceAll('\\r\\n', '\\n').trim()}\\n`\n\n // eslint-disable-next-line no-cond-assign\n while (m = rxOneValueWithSeparator.exec(text)) {\n let value = m[2] ?? m[3] ?? ''\n value = value.replaceAll('\"\"', '\"')\n row.push(value)\n if (m[4] === '\\n') {\n lines.push(row)\n row = []\n }\n }\n return lines\n}\n\nexport function csvParseToObjects(raw: string, opt: {\n separator?: string\n} = {}) {\n const lines = csvParse(raw, opt)\n const header = lines[0]\n return lines.slice(1).map(l =>\n Object.fromEntries (l.map((v, i) => [header[i], v])),\n )\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-NGNWFHIG.cjs","../src/common/csv.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACRA,IAAM,iBAAA,EAAmB,GAAA;AAElB,SAAS,YAAA,CAAa,IAAA,EAAa,IAAA,EAItC,CAAC,CAAA,EAAW;AACd,EAAA,MAAM,EAAE,UAAA,EAAY,iBAAiB,EAAA,EAAI,GAAA;AACzC,EAAA,IAAI,KAAA,EAAO,EAAA;AACX,EAAA,GAAA,CAAI,GAAA,CAAI,MAAA;AACN,IAAA,KAAA,EAAO,QAAA;AAOT,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,IAAA,CAAK,MAAA,EAAQ,CAAA,EAAA,EAAK;AACpC,IAAA,KAAA,GAAQ,CAAA,EAAA;AACF,MAAA;AACF,QAAA;AACE,MAAA;AACF,QAAA;AACE,MAAA;AACA,MAAA;AACE,QAAA;AACA,MAAA;AACJ,QAAA;AACK,MAAA;AACD,IAAA;AAAU;AACpB,EAAA;AAEO,EAAA;AACT;AAEgB;AAKV,EAAA;AACI,EAAA;AACN,IAAA;AAEI,EAAA;AACY,EAAA;AACd,EAAA;AACE,EAAA;AAA2C;AAGtC,EAAA;AACL,IAAA;AACI,IAAA;AACC,IAAA;AACF,IAAA;AACC,MAAA;AACC,MAAA;AACT,IAAA;AACF,EAAA;AACO,EAAA;AACT;AAEgB;AAGR,EAAA;AACA,EAAA;AACC,EAAA;AACL,IAAA;AACF,EAAA;AACF;ADXa;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/zeed/zeed/dist/chunk-NGNWFHIG.cjs","sourcesContent":[null,"import { isArray, isBoolean, isRecord } from './data/is'\nimport { jsonStringifySafe } from './data/json'\nimport { escapeRegExp } from './data/regexp'\n\nconst defaultSeparator = ','\n\nexport function csvStringify(data: any[], opt: {\n // header?: string[]\n separator?: string\n addBom?: boolean // option to add byte order mark for improved Excel support\n} = {}): string {\n const { separator = defaultSeparator } = opt\n let body = ''\n if (opt.addBom)\n body = '\\uFEFF'\n\n // Append the header row to the response if requested\n // if (header)\n // body = `${header.join(separator)}\\n`\n\n // Convert the data to a CSV-like structure\n for (let i = 0; i < data.length; i++) {\n body += `${data[i].map((field: string) => {\n if (field == null || field === '')\n return ''\n if (isBoolean(field))\n return field ? 1 : 0\n let s = String(field)\n if (isRecord(field) || isArray(field))\n s = jsonStringifySafe(field)\n if (s.includes('\"') || s.includes('\\n') || s.includes(separator))\n return `\"${s.replace(/\"/g, '\"\"')}\"`\n return s\n }).join(separator)}\\n`\n }\n\n return body\n}\n\nexport function csvParse(raw: string, opt: {\n separator?: string\n} = {}) {\n // https://regex101.com/r/BCpKyV/1\n // eslint-disable-next-line regexp/no-unused-capturing-group, regexp/no-super-linear-backtracking, regexp/no-dupe-disjunctions, regexp/no-useless-non-capturing-group\n let rxOneValueWithSeparator = /(\"((?:(?:[^\"]*?)(?:\"\")?)*)\"|([^,;\\t\\n]*))([,;\\t\\n]|\\r\\n)/g\n if (opt.separator)\n rxOneValueWithSeparator = new RegExp(rxOneValueWithSeparator.source.replace(/',;\\\\t/g, escapeRegExp(opt.separator)), rxOneValueWithSeparator.flags)\n\n const lines: any[][] = []\n let row: any[] = []\n let m: any\n const text = `${raw.replace(/\\r\\n/g, '\\n').trim()}\\n`\n\n // eslint-disable-next-line no-cond-assign\n while (m = rxOneValueWithSeparator.exec(text)) {\n let value = m[2] ?? m[3] ?? ''\n value = value.replace(/\"\"/g, '\"')\n row.push(value)\n if (m[4] === '\\n') {\n lines.push(row)\n row = []\n }\n }\n return lines\n}\n\nexport function csvParseToObjects(raw: string, opt: {\n separator?: string\n} = {}) {\n const lines = csvParse(raw, opt)\n const header = lines[0]\n return lines.slice(1).map(l =>\n Object.fromEntries (l.map((v, i) => [header[i], v])),\n )\n}\n"]}
@@ -65,6 +65,34 @@ function datetimeToUTC(fromDate) {
65
65
  fromDate.getMilliseconds()
66
66
  ));
67
67
  }
68
+ function timestampMillisecondsToSeconds(ts) {
69
+ if (ts <= 0)
70
+ return 0;
71
+ if (ts < 1e12) {
72
+ return ts;
73
+ }
74
+ return Math.floor(ts / 1e3);
75
+ }
76
+ function timestampSecondsToMilliseconds(ts) {
77
+ if (ts <= 0)
78
+ return 0;
79
+ if (ts > 1e12) {
80
+ return ts;
81
+ }
82
+ return Math.floor(ts * 1e3);
83
+ }
84
+ var TIME_YEAR_MS = 31536e6;
85
+ var TIME_YEAR_S = 31536e3;
86
+ var TIME_MONTH_MS = 2592e6;
87
+ var TIME_MONTH_S = 2592e3;
88
+ var TIME_WEEK_MS = 6048e5;
89
+ var TIME_WEEK_S = 604800;
90
+ var TIME_DAY_MS = 864e5;
91
+ var TIME_DAY_S = 86400;
92
+ var TIME_HOUR_MS = 36e5;
93
+ var TIME_HOUR_S = 3600;
94
+ var TIME_MINUTE_MS = 6e4;
95
+ var TIME_MINUTE_S = 60;
68
96
 
69
97
  export {
70
98
  getTimestamp,
@@ -75,6 +103,20 @@ export {
75
103
  getPerformanceTimestamp,
76
104
  duration,
77
105
  datetimeToLocal,
78
- datetimeToUTC
106
+ datetimeToUTC,
107
+ timestampMillisecondsToSeconds,
108
+ timestampSecondsToMilliseconds,
109
+ TIME_YEAR_MS,
110
+ TIME_YEAR_S,
111
+ TIME_MONTH_MS,
112
+ TIME_MONTH_S,
113
+ TIME_WEEK_MS,
114
+ TIME_WEEK_S,
115
+ TIME_DAY_MS,
116
+ TIME_DAY_S,
117
+ TIME_HOUR_MS,
118
+ TIME_HOUR_S,
119
+ TIME_MINUTE_MS,
120
+ TIME_MINUTE_S
79
121
  };
80
- //# sourceMappingURL=chunk-QV2QPYMW.js.map
122
+ //# sourceMappingURL=chunk-NNCJ3QL5.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/time.ts"],"sourcesContent":["/**\n * @returns Timestamp in miliseconds\n */\nexport function getTimestamp(): number {\n return Date.now()\n}\n\n/**\n * @returns Timestamp in seconds\n */\nexport function getTimestampInSeconds(): number {\n return Math.floor(Date.now() / 1000)\n}\n\n/**\n * @returns Timestamp in 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\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 * @returns Timestamp in miliseconds\n */\nexport function getPerformanceTimestamp(): number {\n return typeof performance !== 'undefined' ? performance.now() : Date.now()\n}\n\nexport function duration() {\n const t0 = getPerformanceTimestamp()\n\n return function () {\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/** If you parsed a date without time zone, you may need to shift it to local time */\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/** If you parsed a date without time zone, you may need to shift it to UTC time */\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"],"mappings":";AAGO,SAAS,eAAuB;AACrC,SAAO,KAAK,IAAI;AAClB;AAKO,SAAS,wBAAgC;AAC9C,SAAO,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACrC;AAKO,SAAS,gBAAgB,IAAkB;AAChD,SAAO,IAAI,KAAK,KAAK,GAAI;AAC3B;AAIO,SAAS,mBAAmB,IAAoB;AACrD,SAAO,KAAK,MAAM,IAAI,KAAK,KAAM,QAAQ,CAAC,CAAC,OAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AACpE;AAQO,SAAS,aACX,gBACe;AAClB,aAAW,iBAAiB,gBAAgB;AAC1C,QAAI,yBAAyB;AAC3B,aAAO;AAET,QAAI,OAAO,kBAAkB,UAAU;AACrC,UAAI,OAAO;AACX,UAAI,cAAc,SAAS,GAAG,GAAG;AAC/B,YAAI;AACF,iBAAO,IAAI,KAAK,aAAa;AAAA,QAC/B,SACO,KAAK;AAAA,QAAC;AAAA,MACf;AACA,UAAI,EAAE,gBAAgB,OAAO;AAC3B,cAAM,IAAI,2BAA2B,KAAK,aAAa;AACvD,YAAI;AACF,iBAAO,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;AAAA,MAClD;AACA,UAAI,gBAAgB;AAClB,eAAO;AAAA,IACX;AAAA,EACF;AACF;AAKO,SAAS,0BAAkC;AAChD,SAAO,OAAO,gBAAgB,cAAc,YAAY,IAAI,IAAI,KAAK,IAAI;AAC3E;AAEO,SAAS,WAAW;AACzB,QAAM,KAAK,wBAAwB;AAEnC,SAAO,WAAY;AACjB,UAAMA,YAAW,wBAAwB,IAAI;AAC7C,WAAO,mBAAmBA,SAAQ;AAAA,EAapC;AACF;AAGO,SAAS,gBAAgB,UAAsB;AACpD,SAAO,IAAI;AAAA,IACT,SAAS,eAAe;AAAA,IACxB,SAAS,YAAY;AAAA,IACrB,SAAS,WAAW;AAAA,IACpB,SAAS,YAAY;AAAA,IACrB,SAAS,cAAc;AAAA,IACvB,SAAS,cAAc;AAAA,IACvB,SAAS,mBAAmB;AAAA,EAC9B;AACF;AAGO,SAAS,cAAc,UAAsB;AAClD,SAAO,IAAI,KAAK,KAAK;AAAA,IACnB,SAAS,YAAY;AAAA,IACrB,SAAS,SAAS;AAAA,IAClB,SAAS,QAAQ;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,SAAS,WAAW;AAAA,IACpB,SAAS,WAAW;AAAA,IACpB,SAAS,gBAAgB;AAAA,EAC3B,CAAC;AACH;","names":["duration"]}
1
+ {"version":3,"sources":["../src/common/time.ts"],"sourcesContent":["/**\n * @returns Timestamp in miliseconds\n */\nexport function getTimestamp(): number {\n return Date.now()\n}\n\n/**\n * @returns Timestamp in seconds\n */\nexport function getTimestampInSeconds(): number {\n return Math.floor(Date.now() / 1000)\n}\n\n/**\n * @returns Timestamp in 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\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 * @returns Timestamp in miliseconds\n */\nexport function getPerformanceTimestamp(): number {\n return typeof performance !== 'undefined' ? performance.now() : Date.now()\n}\n\nexport function duration() {\n const t0 = getPerformanceTimestamp()\n\n return function () {\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/** If you parsed a date without time zone, you may need to shift it to local time */\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/** If you parsed a date without time zone, you may need to shift it to UTC time */\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/** ms -> s with simple check */\nexport function timestampMillisecondsToSeconds(ts: number) {\n if (ts <= 0)\n return 0\n if (ts < 1000000000000) {\n return ts\n // log.warn('Timestamp might already be in seconds?', ts)\n }\n return Math.floor(ts / 1000)\n}\n\n/** s -> ms with simple check */\nexport function timestampSecondsToMilliseconds(ts: number) {\n if (ts <= 0)\n return 0\n if (ts > 1000000000000) {\n return ts\n // log.warn('Timestamp might already be in milliseconds?', ts)\n }\n return Math.floor(ts * 1000)\n}\n\nexport const TIME_YEAR_MS = 31536000000 // 365 * 24 * 60 * 60 * 1000\nexport const TIME_YEAR_S = 31536000 // 365 * 24 * 60 * 60\nexport const TIME_MONTH_MS = 2592000000 // 30 * 24 * 60 * 60 * 1000\nexport const TIME_MONTH_S = 2592000 // 30 * 24 * 60 * 60\nexport const TIME_WEEK_MS = 604800000 // 7 * 24 * 60 * 60 * 1000\nexport const TIME_WEEK_S = 604800 // 7 * 24 * 60 * 60\nexport const TIME_DAY_MS = 86400000 // 24 * 60 * 60 * 1000\nexport const TIME_DAY_S = 86400 // 24 * 60 * 60\nexport const TIME_HOUR_MS = 3600000 // 60 * 60 * 1000\nexport const TIME_HOUR_S = 3600 // 60 * 60\nexport const TIME_MINUTE_MS = 60000 // 60 * 1000\nexport const TIME_MINUTE_S = 60 // 60\n"],"mappings":";AAGO,SAAS,eAAuB;AACrC,SAAO,KAAK,IAAI;AAClB;AAKO,SAAS,wBAAgC;AAC9C,SAAO,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACrC;AAKO,SAAS,gBAAgB,IAAkB;AAChD,SAAO,IAAI,KAAK,KAAK,GAAI;AAC3B;AAIO,SAAS,mBAAmB,IAAoB;AACrD,SAAO,KAAK,MAAM,IAAI,KAAK,KAAM,QAAQ,CAAC,CAAC,OAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AACpE;AAQO,SAAS,aACX,gBACe;AAClB,aAAW,iBAAiB,gBAAgB;AAC1C,QAAI,yBAAyB;AAC3B,aAAO;AAET,QAAI,OAAO,kBAAkB,UAAU;AACrC,UAAI,OAAO;AACX,UAAI,cAAc,SAAS,GAAG,GAAG;AAC/B,YAAI;AACF,iBAAO,IAAI,KAAK,aAAa;AAAA,QAC/B,SACO,KAAK;AAAA,QAAC;AAAA,MACf;AACA,UAAI,EAAE,gBAAgB,OAAO;AAC3B,cAAM,IAAI,2BAA2B,KAAK,aAAa;AACvD,YAAI;AACF,iBAAO,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;AAAA,MAClD;AACA,UAAI,gBAAgB;AAClB,eAAO;AAAA,IACX;AAAA,EACF;AACF;AAKO,SAAS,0BAAkC;AAChD,SAAO,OAAO,gBAAgB,cAAc,YAAY,IAAI,IAAI,KAAK,IAAI;AAC3E;AAEO,SAAS,WAAW;AACzB,QAAM,KAAK,wBAAwB;AAEnC,SAAO,WAAY;AACjB,UAAMA,YAAW,wBAAwB,IAAI;AAC7C,WAAO,mBAAmBA,SAAQ;AAAA,EAapC;AACF;AAGO,SAAS,gBAAgB,UAAsB;AACpD,SAAO,IAAI;AAAA,IACT,SAAS,eAAe;AAAA,IACxB,SAAS,YAAY;AAAA,IACrB,SAAS,WAAW;AAAA,IACpB,SAAS,YAAY;AAAA,IACrB,SAAS,cAAc;AAAA,IACvB,SAAS,cAAc;AAAA,IACvB,SAAS,mBAAmB;AAAA,EAC9B;AACF;AAGO,SAAS,cAAc,UAAsB;AAClD,SAAO,IAAI,KAAK,KAAK;AAAA,IACnB,SAAS,YAAY;AAAA,IACrB,SAAS,SAAS;AAAA,IAClB,SAAS,QAAQ;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,SAAS,WAAW;AAAA,IACpB,SAAS,WAAW;AAAA,IACpB,SAAS,gBAAgB;AAAA,EAC3B,CAAC;AACH;AAGO,SAAS,+BAA+B,IAAY;AACzD,MAAI,MAAM;AACR,WAAO;AACT,MAAI,KAAK,MAAe;AACtB,WAAO;AAAA,EAET;AACA,SAAO,KAAK,MAAM,KAAK,GAAI;AAC7B;AAGO,SAAS,+BAA+B,IAAY;AACzD,MAAI,MAAM;AACR,WAAO;AACT,MAAI,KAAK,MAAe;AACtB,WAAO;AAAA,EAET;AACA,SAAO,KAAK,MAAM,KAAK,GAAI;AAC7B;AAEO,IAAM,eAAe;AACrB,IAAM,cAAc;AACpB,IAAM,gBAAgB;AACtB,IAAM,eAAe;AACrB,IAAM,eAAe;AACrB,IAAM,cAAc;AACpB,IAAM,cAAc;AACpB,IAAM,aAAa;AACnB,IAAM,eAAe;AACrB,IAAM,cAAc;AACpB,IAAM,iBAAiB;AACvB,IAAM,gBAAgB;","names":["duration"]}
@@ -5,7 +5,7 @@ import {
5
5
  valueToBoolean,
6
6
  valueToBooleanNotFalse,
7
7
  valueToInteger
8
- } from "./chunk-QUQRUDWG.js";
8
+ } from "./chunk-KGHBDTFF.js";
9
9
  import {
10
10
  fromCamelCase,
11
11
  toCamelCase
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  objectFilter,
15
15
  objectMap
16
- } from "./chunk-MLCD7TOL.js";
16
+ } from "./chunk-DX7JNKVT.js";
17
17
  import {
18
18
  assert
19
19
  } from "./chunk-CDC2UKQU.js";
@@ -55,4 +55,4 @@ export {
55
55
  parseSchemaEnv,
56
56
  stringFromSchemaEnv
57
57
  };
58
- //# sourceMappingURL=chunk-TECAZNSQ.js.map
58
+ //# sourceMappingURL=chunk-NOZBH6BB.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Channel
3
- } from "./chunk-DO72DWOL.js";
3
+ } from "./chunk-KURNIGQP.js";
4
4
  import {
5
5
  uuid
6
- } from "./chunk-54BCGEKW.js";
6
+ } from "./chunk-OC6HNIEN.js";
7
7
 
8
8
  // src/common/msg/channel-local.ts
9
9
  var LocalChannel = class extends Channel {
@@ -32,4 +32,4 @@ export {
32
32
  LocalChannel,
33
33
  createLocalChannelPair
34
34
  };
35
- //# sourceMappingURL=chunk-CSYN5J44.js.map
35
+ //# sourceMappingURL=chunk-NUXB3GKS.js.map
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
- var _chunkRLHQ6YHCcjs = require('./chunk-RLHQ6YHC.cjs');
3
+ var _chunkEFNDJHGHcjs = require('./chunk-EFNDJHGH.cjs');
4
4
 
5
5
 
6
- var _chunkSX5YQHZOcjs = require('./chunk-SX5YQHZO.cjs');
6
+ var _chunk33B2TEAZcjs = require('./chunk-33B2TEAZ.cjs');
7
7
 
8
8
 
9
9
 
@@ -24,8 +24,8 @@ function LoggerMemoryHandler(opt) {
24
24
  return;
25
25
  if (!matchesNamespace(msg.name))
26
26
  return;
27
- _nullishCoalesce(msg.timestamp, () => ( (msg.timestamp = _chunkSX5YQHZOcjs.getTimestamp.call(void 0, ))));
28
- const m = _chunkRLHQ6YHCcjs.objectPlain.call(void 0, msg, { maxDepth, errorTrace });
27
+ _nullishCoalesce(msg.timestamp, () => ( (msg.timestamp = _chunk33B2TEAZcjs.getTimestamp.call(void 0, ))));
28
+ const m = _chunkEFNDJHGHcjs.objectPlain.call(void 0, msg, { maxDepth, errorTrace });
29
29
  if (compact === true)
30
30
  messages.push([m.timestamp, m.level, m.name, ...m.messages]);
31
31
  else
@@ -41,4 +41,4 @@ function LoggerMemoryHandler(opt) {
41
41
 
42
42
 
43
43
  exports.logMessageFromCompact = logMessageFromCompact; exports.LoggerMemoryHandler = LoggerMemoryHandler;
44
- //# sourceMappingURL=chunk-6O4C75LB.cjs.map
44
+ //# sourceMappingURL=chunk-NYB4MBNZ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-6O4C75LB.cjs","../src/common/log/log-memory.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACNO,SAAS,qBAAA,CAAsB,CAAA,EAAkC;AACtE,EAAA,MAAM,CAAC,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,GAAG,QAAQ,EAAA,EAAI,CAAA;AAC9C,EAAA,OAAO,EAAE,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,SAAS,CAAA;AAC5C;AAGO,SAAS,mBAAA,CACd,GAAA,EAOY;AACZ,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,CAAA,EAAW,OAAA,EAAS,KAAA,CAAA,EAAW,QAAA,EAAU,KAAA,EAAO,SAAA,EAAW,CAAC,CAAA,EAAG,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,GAAG,EAAA,EAAI,GAAA;AACrH,EAAA,MAAM,iBAAA,EAAmB,kDAAA,MAAyB,CAAA;AAClD,EAAA,MAAM,aAAA,EAAe,8CAAA,KAAoB,CAAA;AAEzC,EAAA,IAAI,QAAA,mBAAU,GAAA,CAAI,KAAA,UAAS,MAAA,CAAO,mBAAA;AAElC,EAAA,OAAO,CAAC,GAAA,EAAA,GAAoB;AAC1B,IAAA,GAAA,CAAI,CAAC,YAAA,CAAa,GAAA,CAAI,KAAK,CAAA;AACzB,MAAA,MAAA;AACF,IAAA,GAAA,CAAI,CAAC,gBAAA,CAAiB,GAAA,CAAI,IAAI,CAAA;AAC5B,MAAA,MAAA;AAEF,qBAAA,GAAA,CAAI,SAAA,UAAA,CAAJ,GAAA,CAAI,UAAA,EAAc,4CAAA,CAAa,GAAA;AAE/B,IAAA,MAAM,EAAA,EAAI,2CAAA,GAAY,EAAK,EAAE,QAAA,EAAU,WAAW,CAAC,CAAA;AAEnD,IAAA,GAAA,CAAI,QAAA,IAAY,IAAA;AACd,MAAC,QAAA,CAAiC,IAAA,CAAK,CAAC,CAAA,CAAE,SAAA,EAAW,CAAA,CAAE,KAAA,EAAO,CAAA,CAAE,IAAA,EAAM,GAAG,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,IAAA;AAEpF,MAAC,QAAA,CAA0B,IAAA,CAAK,CAAC,CAAA;AAEnC,IAAA,GAAA,CAAI,QAAA,GAAW,CAAA;AACb,MAAA,QAAA,CAAS,KAAA,CAAM,CAAA;AAAA,IAAA;AAEf,MAAA,EAAE,OAAA;AAAA,EACN,CAAA;AACF;ADRA;AACA;AACE;AACA;AACF,yGAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-6O4C75LB.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { objectPlain } from '../data/object'\nimport { getTimestamp } from '../time'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n const [timestamp, level, name, ...messages] = m\n return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n opt: LogHandlerOptions & {\n compact?: boolean\n messages: LogMessageCompact[] | LogMessage[]\n errorTrace?: boolean\n limit?: number\n maxDepth?: number\n },\n): LogHandler {\n const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20 } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n msg.timestamp ??= getTimestamp()\n\n const m = objectPlain(msg, { maxDepth, errorTrace })\n\n if (compact === true)\n (messages as LogMessageCompact[]).push([m.timestamp, m.level, m.name, ...m.messages])\n else\n (messages as LogMessage[]).push(m)\n\n if (counter <= 0)\n messages.shift()\n else\n --counter\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-NYB4MBNZ.cjs","../src/common/log/log-memory.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACNO,SAAS,qBAAA,CAAsB,CAAA,EAAkC;AACtE,EAAA,MAAM,CAAC,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,GAAG,QAAQ,EAAA,EAAI,CAAA;AAC9C,EAAA,OAAO,EAAE,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,SAAS,CAAA;AAC5C;AAGO,SAAS,mBAAA,CACd,GAAA,EAOY;AACZ,EAAA,MAAM,EAAE,MAAA,EAAQ,KAAA,CAAA,EAAW,OAAA,EAAS,KAAA,CAAA,EAAW,QAAA,EAAU,KAAA,EAAO,SAAA,EAAW,CAAC,CAAA,EAAG,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,GAAG,EAAA,EAAI,GAAA;AACrH,EAAA,MAAM,iBAAA,EAAmB,kDAAA,MAAyB,CAAA;AAClD,EAAA,MAAM,aAAA,EAAe,8CAAA,KAAoB,CAAA;AAEzC,EAAA,IAAI,QAAA,mBAAU,GAAA,CAAI,KAAA,UAAS,MAAA,CAAO,mBAAA;AAElC,EAAA,OAAO,CAAC,GAAA,EAAA,GAAoB;AAC1B,IAAA,GAAA,CAAI,CAAC,YAAA,CAAa,GAAA,CAAI,KAAK,CAAA;AACzB,MAAA,MAAA;AACF,IAAA,GAAA,CAAI,CAAC,gBAAA,CAAiB,GAAA,CAAI,IAAI,CAAA;AAC5B,MAAA,MAAA;AAEF,qBAAA,GAAA,CAAI,SAAA,UAAA,CAAJ,GAAA,CAAI,UAAA,EAAc,4CAAA,CAAa,GAAA;AAE/B,IAAA,MAAM,EAAA,EAAI,2CAAA,GAAY,EAAK,EAAE,QAAA,EAAU,WAAW,CAAC,CAAA;AAEnD,IAAA,GAAA,CAAI,QAAA,IAAY,IAAA;AACd,MAAC,QAAA,CAAiC,IAAA,CAAK,CAAC,CAAA,CAAE,SAAA,EAAW,CAAA,CAAE,KAAA,EAAO,CAAA,CAAE,IAAA,EAAM,GAAG,CAAA,CAAE,QAAQ,CAAC,CAAA;AAAA,IAAA;AAEpF,MAAC,QAAA,CAA0B,IAAA,CAAK,CAAC,CAAA;AAEnC,IAAA,GAAA,CAAI,QAAA,GAAW,CAAA;AACb,MAAA,QAAA,CAAS,KAAA,CAAM,CAAA;AAAA,IAAA;AAEf,MAAA,EAAE,OAAA;AAAA,EACN,CAAA;AACF;ADRA;AACA;AACE;AACA;AACF,yGAAC","file":"/home/runner/work/zeed/zeed/dist/chunk-NYB4MBNZ.cjs","sourcesContent":[null,"import type { LogHandler, LogHandlerOptions, LogMessage, LogMessageCompact } from './log-base'\nimport { objectPlain } from '../data/object'\nimport { getTimestamp } from '../time'\nimport { useLevelFilter, useNamespaceFilter } from './log-filter'\n\nexport function logMessageFromCompact(m: LogMessageCompact): LogMessage {\n const [timestamp, level, name, ...messages] = m\n return { timestamp, level, name, messages }\n}\n\n/** Collect messages in a list. */\nexport function LoggerMemoryHandler(\n opt: LogHandlerOptions & {\n compact?: boolean\n messages: LogMessageCompact[] | LogMessage[]\n errorTrace?: boolean\n limit?: number\n maxDepth?: number\n },\n): LogHandler {\n const { level = undefined, filter = undefined, compact = false, messages = [], errorTrace = false, maxDepth = 20 } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n\n let counter = opt.limit ?? Number.POSITIVE_INFINITY\n\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n\n msg.timestamp ??= getTimestamp()\n\n const m = objectPlain(msg, { maxDepth, errorTrace })\n\n if (compact === true)\n (messages as LogMessageCompact[]).push([m.timestamp, m.level, m.name, ...m.messages])\n else\n (messages as LogMessage[]).push(m)\n\n if (counter <= 0)\n messages.shift()\n else\n --counter\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Channel
3
- } from "./chunk-DO72DWOL.js";
3
+ } from "./chunk-KURNIGQP.js";
4
4
 
5
5
  // src/common/msg/channel-debug.ts
6
6
  var DebugChannel = class extends Channel {
@@ -23,4 +23,4 @@ var DebugChannel = class extends Channel {
23
23
  export {
24
24
  DebugChannel
25
25
  };
26
- //# sourceMappingURL=chunk-DHBQHOGQ.js.map
26
+ //# sourceMappingURL=chunk-O7MQBX35.js.map