zeed 0.28.21 → 0.29.0

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 (321) hide show
  1. package/dist/browser/index.cjs +1 -1
  2. package/dist/browser/index.cjs.map +1 -1
  3. package/dist/browser/index.js +1 -1
  4. package/dist/browser/log/index.cjs +1 -1
  5. package/dist/browser/log/index.js +1 -1
  6. package/dist/browser/log/log-browser.cjs +1 -1
  7. package/dist/browser/log/log-browser.js +1 -1
  8. package/dist/browser/log/log-context-browser.cjs +1 -1
  9. package/dist/browser/log/log-context-browser.js +1 -1
  10. package/dist/{chunk-XVJBLOJN.js → chunk-23LAWLUA.js} +2 -2
  11. package/dist/chunk-3NN7GCMG.js +2 -0
  12. package/dist/{chunk-3JYK34SS.js → chunk-3REOR55V.js} +2 -2
  13. package/dist/chunk-3REOR55V.js.map +1 -0
  14. package/dist/chunk-3UE4OYUL.js +2 -0
  15. package/dist/chunk-3UE4OYUL.js.map +1 -0
  16. package/dist/chunk-4BUMEKE4.js +2 -0
  17. package/dist/chunk-4BUMEKE4.js.map +1 -0
  18. package/dist/{chunk-PBHNRC5D.cjs → chunk-4F2DX6E6.cjs} +2 -2
  19. package/dist/{chunk-PBHNRC5D.cjs.map → chunk-4F2DX6E6.cjs.map} +1 -1
  20. package/dist/{chunk-L32SZCS2.js → chunk-5BU2RTLI.js} +2 -2
  21. package/dist/{chunk-CDRKVTXH.cjs → chunk-5RS7ZPJW.cjs} +2 -2
  22. package/dist/{chunk-CDRKVTXH.cjs.map → chunk-5RS7ZPJW.cjs.map} +1 -1
  23. package/dist/{chunk-5BBJL6OC.cjs → chunk-6ZTAQPF3.cjs} +2 -2
  24. package/dist/{chunk-5BBJL6OC.cjs.map → chunk-6ZTAQPF3.cjs.map} +1 -1
  25. package/dist/{chunk-SDCEAQZX.cjs → chunk-7THBTD5T.cjs} +2 -2
  26. package/dist/{chunk-SDCEAQZX.cjs.map → chunk-7THBTD5T.cjs.map} +1 -1
  27. package/dist/chunk-B3IJAAUT.js +2 -0
  28. package/dist/chunk-B3IJAAUT.js.map +1 -0
  29. package/dist/{chunk-HK7ZBUGP.js → chunk-BQTR3A4K.js} +2 -2
  30. package/dist/chunk-CIJIUVZT.cjs +1 -0
  31. package/dist/chunk-CIJIUVZT.cjs.map +1 -0
  32. package/dist/{chunk-BPESVGQQ.cjs → chunk-DR2IXKD3.cjs} +2 -2
  33. package/dist/{chunk-BPESVGQQ.cjs.map → chunk-DR2IXKD3.cjs.map} +1 -1
  34. package/dist/chunk-E24W4VM7.cjs +4 -0
  35. package/dist/chunk-E24W4VM7.cjs.map +1 -0
  36. package/dist/{chunk-GLXW4DRV.js → chunk-E2HNYDJ3.js} +2 -2
  37. package/dist/{chunk-DIIKUZU5.cjs → chunk-EJHDKRDI.cjs} +2 -2
  38. package/dist/{chunk-DIIKUZU5.cjs.map → chunk-EJHDKRDI.cjs.map} +1 -1
  39. package/dist/{chunk-WYDZGMP2.js → chunk-EMLG23EY.js} +2 -2
  40. package/dist/chunk-EMLG23EY.js.map +1 -0
  41. package/dist/{chunk-LG6Q6ZYH.js → chunk-FB652MJM.js} +2 -2
  42. package/dist/{chunk-ZSSRSXLU.cjs → chunk-FBM5OH5V.cjs} +2 -2
  43. package/dist/{chunk-ZSSRSXLU.cjs.map → chunk-FBM5OH5V.cjs.map} +1 -1
  44. package/dist/{chunk-KGZLR63U.js → chunk-FLFL2HBO.js} +2 -2
  45. package/dist/{chunk-7JYEP4TW.js → chunk-G7OPT6HL.js} +2 -2
  46. package/dist/{chunk-25WKPUPK.js → chunk-GY3DIGQB.js} +2 -2
  47. package/dist/chunk-H6Z6XPCN.cjs +2 -0
  48. package/dist/chunk-H6Z6XPCN.cjs.map +1 -0
  49. package/dist/chunk-HCE5UWRA.cjs +2 -0
  50. package/dist/chunk-HCE5UWRA.cjs.map +1 -0
  51. package/dist/{chunk-MVTKILPI.cjs → chunk-HKBWBHQ3.cjs} +2 -2
  52. package/dist/chunk-HKBWBHQ3.cjs.map +1 -0
  53. package/dist/{chunk-DUTK2D77.cjs → chunk-IHRIOXDZ.cjs} +2 -2
  54. package/dist/{chunk-DUTK2D77.cjs.map → chunk-IHRIOXDZ.cjs.map} +1 -1
  55. package/dist/{chunk-PL7IE4EC.js → chunk-KGVQQKNR.js} +2 -2
  56. package/dist/{chunk-DY6RMJJK.cjs → chunk-KOZF2WEA.cjs} +2 -2
  57. package/dist/chunk-KOZF2WEA.cjs.map +1 -0
  58. package/dist/{chunk-M7TCBWAB.js → chunk-KXDP4F6H.js} +2 -2
  59. package/dist/{chunk-PBG65NPI.js → chunk-LLA23PXV.js} +2 -2
  60. package/dist/{chunk-47SVTDUJ.js → chunk-LXIU2YVJ.js} +2 -2
  61. package/dist/chunk-LZAJKLTJ.js +2 -0
  62. package/dist/chunk-LZAJKLTJ.js.map +1 -0
  63. package/dist/{chunk-SUPJG4Y2.js → chunk-MFEQZ4NH.js} +2 -2
  64. package/dist/chunk-MFK27PDQ.cjs +2 -0
  65. package/dist/{chunk-X375623D.cjs.map → chunk-MFK27PDQ.cjs.map} +1 -1
  66. package/dist/chunk-MNDP6M4C.js +1 -0
  67. package/dist/{chunk-VSXOJYNZ.cjs → chunk-NHTV3UPL.cjs} +2 -2
  68. package/dist/{chunk-VSXOJYNZ.cjs.map → chunk-NHTV3UPL.cjs.map} +1 -1
  69. package/dist/{chunk-RCT2GXKQ.cjs → chunk-NQEPSSO2.cjs} +2 -2
  70. package/dist/{chunk-RCT2GXKQ.cjs.map → chunk-NQEPSSO2.cjs.map} +1 -1
  71. package/dist/{chunk-OGNEGHHJ.cjs → chunk-NRZLSOHT.cjs} +2 -2
  72. package/dist/chunk-NRZLSOHT.cjs.map +1 -0
  73. package/dist/{chunk-S2TSPHHP.js → chunk-O45IUDO7.js} +2 -2
  74. package/dist/{chunk-HT2VGSOC.cjs → chunk-OIOU3THS.cjs} +2 -2
  75. package/dist/{chunk-HT2VGSOC.cjs.map → chunk-OIOU3THS.cjs.map} +1 -1
  76. package/dist/chunk-OOTCYORD.js +2 -0
  77. package/dist/chunk-OOTCYORD.js.map +1 -0
  78. package/dist/{chunk-QZD36HZL.cjs → chunk-ORPMJ75E.cjs} +2 -2
  79. package/dist/{chunk-QZD36HZL.cjs.map → chunk-ORPMJ75E.cjs.map} +1 -1
  80. package/dist/{chunk-Z6XHALPL.js → chunk-P3O3JX2O.js} +2 -2
  81. package/dist/{chunk-6Y7WTQVG.js → chunk-PKJ6SFGO.js} +2 -2
  82. package/dist/{chunk-6K2ZECAZ.js → chunk-PPDA7WI4.js} +2 -2
  83. package/dist/{chunk-6ZLJSWLM.cjs → chunk-QHU5L465.cjs} +2 -2
  84. package/dist/{chunk-6ZLJSWLM.cjs.map → chunk-QHU5L465.cjs.map} +1 -1
  85. package/dist/chunk-QHVB4SNR.js +3 -0
  86. package/dist/chunk-QHVB4SNR.js.map +1 -0
  87. package/dist/{chunk-U7YH3JVM.js → chunk-QRJ6CPZI.js} +2 -2
  88. package/dist/{chunk-XAJUO7BH.js → chunk-QSAFIBCK.js} +2 -2
  89. package/dist/{chunk-I5YVETCQ.cjs → chunk-QTRZBP6S.cjs} +2 -2
  90. package/dist/{chunk-I5YVETCQ.cjs.map → chunk-QTRZBP6S.cjs.map} +1 -1
  91. package/dist/{chunk-OYAZQOT3.cjs → chunk-QVOKQH4R.cjs} +2 -2
  92. package/dist/{chunk-OYAZQOT3.cjs.map → chunk-QVOKQH4R.cjs.map} +1 -1
  93. package/dist/chunk-RIXMGBZQ.cjs +3 -0
  94. package/dist/chunk-RIXMGBZQ.cjs.map +1 -0
  95. package/dist/{chunk-WR6QCC7M.cjs → chunk-SGVPHVXN.cjs} +2 -2
  96. package/dist/{chunk-WR6QCC7M.cjs.map → chunk-SGVPHVXN.cjs.map} +1 -1
  97. package/dist/chunk-SN22QMLJ.cjs +1 -0
  98. package/dist/chunk-SN22QMLJ.cjs.map +1 -0
  99. package/dist/{chunk-P67NJXJB.cjs → chunk-SYCPUJY6.cjs} +2 -2
  100. package/dist/{chunk-P67NJXJB.cjs.map → chunk-SYCPUJY6.cjs.map} +1 -1
  101. package/dist/{chunk-JVWHUOOY.cjs → chunk-TH5SSUXM.cjs} +3 -3
  102. package/dist/{chunk-JVWHUOOY.cjs.map → chunk-TH5SSUXM.cjs.map} +1 -1
  103. package/dist/{chunk-4SKL5XXG.cjs → chunk-TNZGMZGR.cjs} +1 -1
  104. package/dist/chunk-TNZGMZGR.cjs.map +1 -0
  105. package/dist/{chunk-3VDPEJAS.js → chunk-TY2IJCPS.js} +2 -2
  106. package/dist/{chunk-BNMSTFVY.cjs → chunk-UKLSZJTQ.cjs} +2 -2
  107. package/dist/{chunk-BNMSTFVY.cjs.map → chunk-UKLSZJTQ.cjs.map} +1 -1
  108. package/dist/{chunk-XRSSOHB3.cjs → chunk-UKSSXBSQ.cjs} +2 -2
  109. package/dist/chunk-UKSSXBSQ.cjs.map +1 -0
  110. package/dist/{chunk-3EDQ6AO4.js → chunk-VOAQ3XQN.js} +2 -2
  111. package/dist/{chunk-2FUSCDBB.cjs → chunk-VUF6POXZ.cjs} +2 -2
  112. package/dist/chunk-VUF6POXZ.cjs.map +1 -0
  113. package/dist/{chunk-7HCVIDPQ.js → chunk-W7QLONZN.js} +2 -2
  114. package/dist/{chunk-BOM3HKWA.cjs → chunk-WBCIZCIT.cjs} +2 -2
  115. package/dist/{chunk-BOM3HKWA.cjs.map → chunk-WBCIZCIT.cjs.map} +1 -1
  116. package/dist/{chunk-D5MT7SAA.cjs → chunk-WZXFXFPZ.cjs} +2 -2
  117. package/dist/{chunk-D5MT7SAA.cjs.map → chunk-WZXFXFPZ.cjs.map} +1 -1
  118. package/dist/{chunk-WGYEX7AJ.cjs → chunk-XQZFGGB5.cjs} +2 -2
  119. package/dist/{chunk-WGYEX7AJ.cjs.map → chunk-XQZFGGB5.cjs.map} +1 -1
  120. package/dist/chunk-YFYLOTJ6.js +1 -0
  121. package/dist/chunk-YFYLOTJ6.js.map +1 -0
  122. package/dist/{chunk-CR2WSRFB.cjs → chunk-YOWA3XPM.cjs} +2 -2
  123. package/dist/{chunk-CR2WSRFB.cjs.map → chunk-YOWA3XPM.cjs.map} +1 -1
  124. package/dist/{chunk-NIOT5ALA.cjs → chunk-YSJNSGVQ.cjs} +2 -2
  125. package/dist/{chunk-NIOT5ALA.cjs.map → chunk-YSJNSGVQ.cjs.map} +1 -1
  126. package/dist/{chunk-TVWT25NF.js → chunk-Z6354MCN.js} +2 -2
  127. package/dist/{chunk-GMJXOP7Z.js → chunk-ZB6EQQDT.js} +2 -2
  128. package/dist/{chunk-TSLCXYM6.js → chunk-ZN3QH3MM.js} +1 -1
  129. package/dist/chunk-ZN3QH3MM.js.map +1 -0
  130. package/dist/chunk-ZS3PXTRG.js +4 -0
  131. package/dist/chunk-ZS3PXTRG.js.map +1 -0
  132. package/dist/common/bin/index.cjs +1 -1
  133. package/dist/common/bin/index.js +1 -1
  134. package/dist/common/data/array.cjs +1 -1
  135. package/dist/common/data/array.js +1 -1
  136. package/dist/common/data/datauri.cjs +1 -1
  137. package/dist/common/data/datauri.js +1 -1
  138. package/dist/common/data/deep.cjs +1 -1
  139. package/dist/common/data/deep.js +1 -1
  140. package/dist/common/data/index.cjs +1 -1
  141. package/dist/common/data/index.cjs.map +1 -1
  142. package/dist/common/data/index.js +1 -1
  143. package/dist/common/data/object-changes.cjs +1 -1
  144. package/dist/common/data/object-changes.js +1 -1
  145. package/dist/common/data/rounding.cjs +1 -1
  146. package/dist/common/data/rounding.js +1 -1
  147. package/dist/common/data/signal.cjs +1 -1
  148. package/dist/common/data/signal.js +1 -1
  149. package/dist/common/data/xrx.cjs +1 -1
  150. package/dist/common/data/xrx.d.cts +1 -4
  151. package/dist/common/data/xrx.d.ts +1 -4
  152. package/dist/common/data/xrx.js +1 -1
  153. package/dist/common/dispose-defer.cjs +1 -1
  154. package/dist/common/dispose-defer.js +1 -1
  155. package/dist/common/dispose-utils.cjs +1 -1
  156. package/dist/common/dispose-utils.js +1 -1
  157. package/dist/common/exec/index.cjs +1 -1
  158. package/dist/common/exec/index.cjs.map +1 -1
  159. package/dist/common/exec/index.js +1 -1
  160. package/dist/common/exec/pool.cjs +1 -1
  161. package/dist/common/exec/pool.js +1 -1
  162. package/dist/common/exec/progress.cjs +1 -1
  163. package/dist/common/exec/progress.js +1 -1
  164. package/dist/common/exec/queue.cjs +1 -1
  165. package/dist/common/exec/queue.js +1 -1
  166. package/dist/common/index.cjs +1 -1
  167. package/dist/common/index.cjs.map +1 -1
  168. package/dist/common/index.d.cts +1 -21
  169. package/dist/common/index.d.ts +1 -21
  170. package/dist/common/index.js +1 -1
  171. package/dist/common/log/index.cjs +1 -1
  172. package/dist/common/log/index.cjs.map +1 -1
  173. package/dist/common/log/index.js +1 -1
  174. package/dist/common/log/log-memory.cjs +1 -1
  175. package/dist/common/log/log-memory.js +1 -1
  176. package/dist/common/msg/channel-debug.cjs +1 -1
  177. package/dist/common/msg/channel-debug.js +1 -1
  178. package/dist/common/msg/channel-local.cjs +1 -1
  179. package/dist/common/msg/channel-local.js +1 -1
  180. package/dist/common/msg/channel-resilient.cjs +1 -1
  181. package/dist/common/msg/channel-resilient.js +1 -1
  182. package/dist/common/msg/channel.cjs +1 -1
  183. package/dist/common/msg/channel.js +1 -1
  184. package/dist/common/msg/emitter.cjs +1 -1
  185. package/dist/common/msg/emitter.js +1 -1
  186. package/dist/common/msg/index.cjs +1 -1
  187. package/dist/common/msg/index.cjs.map +1 -1
  188. package/dist/common/msg/index.js +1 -1
  189. package/dist/common/msg/messages.cjs +1 -1
  190. package/dist/common/msg/messages.js +1 -1
  191. package/dist/common/msg/pubsub.cjs +1 -1
  192. package/dist/common/msg/pubsub.js +1 -1
  193. package/dist/common/network.cjs +1 -1
  194. package/dist/common/network.js +1 -1
  195. package/dist/common/schema/index.cjs +1 -1
  196. package/dist/common/schema/index.cjs.map +1 -1
  197. package/dist/common/schema/index.d.cts +1 -0
  198. package/dist/common/schema/index.d.ts +1 -0
  199. package/dist/common/schema/index.js +1 -1
  200. package/dist/common/schema/parse-args.cjs +1 -1
  201. package/dist/common/schema/parse-args.cjs.map +1 -1
  202. package/dist/common/schema/parse-args.js +1 -1
  203. package/dist/common/schema/parse-env.cjs +1 -1
  204. package/dist/common/schema/parse-env.cjs.map +1 -1
  205. package/dist/common/schema/parse-env.js +1 -1
  206. package/dist/common/schema/parse-object.cjs +2 -0
  207. package/dist/common/schema/parse-object.cjs.map +1 -0
  208. package/dist/common/schema/parse-object.d.cts +20 -0
  209. package/dist/common/schema/parse-object.d.ts +20 -0
  210. package/dist/common/schema/parse-object.js +2 -0
  211. package/dist/common/schema/parse-object.js.map +1 -0
  212. package/dist/common/schema/schema.cjs +1 -1
  213. package/dist/common/schema/schema.d.cts +0 -6
  214. package/dist/common/schema/schema.d.ts +0 -6
  215. package/dist/common/schema/schema.js +1 -1
  216. package/dist/common/time.cjs +1 -1
  217. package/dist/common/time.js +1 -1
  218. package/dist/common/timeout.cjs +1 -1
  219. package/dist/common/timeout.js +1 -1
  220. package/dist/common/uuid.cjs +1 -1
  221. package/dist/common/uuid.d.cts +3 -3
  222. package/dist/common/uuid.d.ts +3 -3
  223. package/dist/common/uuid.js +1 -1
  224. package/dist/index.all.cjs +1 -1
  225. package/dist/index.all.cjs.map +1 -1
  226. package/dist/index.all.d.cts +1 -1
  227. package/dist/index.all.d.ts +1 -1
  228. package/dist/index.all.js +1 -1
  229. package/dist/index.browser.cjs +1 -1
  230. package/dist/index.browser.cjs.map +1 -1
  231. package/dist/index.browser.d.cts +1 -1
  232. package/dist/index.browser.d.ts +1 -1
  233. package/dist/index.browser.js +1 -1
  234. package/dist/index.jsr.cjs +2 -0
  235. package/dist/index.jsr.cjs.map +1 -0
  236. package/dist/index.jsr.d.cts +5 -0
  237. package/dist/index.jsr.d.ts +5 -0
  238. package/dist/index.jsr.js +2 -0
  239. package/dist/index.jsr.js.map +1 -0
  240. package/dist/index.node.cjs +1 -1
  241. package/dist/index.node.cjs.map +1 -1
  242. package/dist/index.node.d.cts +1 -1
  243. package/dist/index.node.d.ts +1 -1
  244. package/dist/index.node.js +1 -1
  245. package/dist/node/files-async.cjs +1 -1
  246. package/dist/node/files-async.js +1 -1
  247. package/dist/node/files.cjs +1 -1
  248. package/dist/node/files.js +1 -1
  249. package/dist/node/index.cjs +1 -1
  250. package/dist/node/index.cjs.map +1 -1
  251. package/dist/node/index.js +1 -1
  252. package/dist/node/log/index.cjs +1 -1
  253. package/dist/node/log/index.cjs.map +1 -1
  254. package/dist/node/log/index.js +1 -1
  255. package/dist/node/log/log-context-node.cjs +1 -1
  256. package/dist/node/log/log-context-node.js +1 -1
  257. package/dist/node/log/log-node.cjs +1 -1
  258. package/dist/node/log/log-node.js +1 -1
  259. package/package.json +1 -1
  260. package/dist/chunk-2FUSCDBB.cjs.map +0 -1
  261. package/dist/chunk-37WX4OII.js +0 -2
  262. package/dist/chunk-3JYK34SS.js.map +0 -1
  263. package/dist/chunk-4SKL5XXG.cjs.map +0 -1
  264. package/dist/chunk-4UZG3DJM.js +0 -4
  265. package/dist/chunk-4UZG3DJM.js.map +0 -1
  266. package/dist/chunk-CXWP357D.cjs +0 -1
  267. package/dist/chunk-CXWP357D.cjs.map +0 -1
  268. package/dist/chunk-DY6RMJJK.cjs.map +0 -1
  269. package/dist/chunk-ENO2S7A6.js +0 -2
  270. package/dist/chunk-ENO2S7A6.js.map +0 -1
  271. package/dist/chunk-GEMIICZ3.cjs +0 -3
  272. package/dist/chunk-GEMIICZ3.cjs.map +0 -1
  273. package/dist/chunk-GI5KLMI3.js +0 -1
  274. package/dist/chunk-GNFY5RXJ.js +0 -2
  275. package/dist/chunk-GNFY5RXJ.js.map +0 -1
  276. package/dist/chunk-I2AG7VBC.cjs +0 -4
  277. package/dist/chunk-I2AG7VBC.cjs.map +0 -1
  278. package/dist/chunk-JKYONBGO.js +0 -2
  279. package/dist/chunk-JKYONBGO.js.map +0 -1
  280. package/dist/chunk-KBV6B6VE.js +0 -2
  281. package/dist/chunk-KBV6B6VE.js.map +0 -1
  282. package/dist/chunk-MJLJAWQU.cjs +0 -2
  283. package/dist/chunk-MJLJAWQU.cjs.map +0 -1
  284. package/dist/chunk-MPPDQFG7.js +0 -3
  285. package/dist/chunk-MPPDQFG7.js.map +0 -1
  286. package/dist/chunk-MVTKILPI.cjs.map +0 -1
  287. package/dist/chunk-OGNEGHHJ.cjs.map +0 -1
  288. package/dist/chunk-PW7VXIKT.js +0 -2
  289. package/dist/chunk-PW7VXIKT.js.map +0 -1
  290. package/dist/chunk-PWOQR4XN.cjs +0 -2
  291. package/dist/chunk-PWOQR4XN.cjs.map +0 -1
  292. package/dist/chunk-TSLCXYM6.js.map +0 -1
  293. package/dist/chunk-WYDZGMP2.js.map +0 -1
  294. package/dist/chunk-X375623D.cjs +0 -2
  295. package/dist/chunk-XRSSOHB3.cjs.map +0 -1
  296. /package/dist/{chunk-XVJBLOJN.js.map → chunk-23LAWLUA.js.map} +0 -0
  297. /package/dist/{chunk-37WX4OII.js.map → chunk-3NN7GCMG.js.map} +0 -0
  298. /package/dist/{chunk-L32SZCS2.js.map → chunk-5BU2RTLI.js.map} +0 -0
  299. /package/dist/{chunk-HK7ZBUGP.js.map → chunk-BQTR3A4K.js.map} +0 -0
  300. /package/dist/{chunk-GLXW4DRV.js.map → chunk-E2HNYDJ3.js.map} +0 -0
  301. /package/dist/{chunk-LG6Q6ZYH.js.map → chunk-FB652MJM.js.map} +0 -0
  302. /package/dist/{chunk-KGZLR63U.js.map → chunk-FLFL2HBO.js.map} +0 -0
  303. /package/dist/{chunk-7JYEP4TW.js.map → chunk-G7OPT6HL.js.map} +0 -0
  304. /package/dist/{chunk-25WKPUPK.js.map → chunk-GY3DIGQB.js.map} +0 -0
  305. /package/dist/{chunk-PL7IE4EC.js.map → chunk-KGVQQKNR.js.map} +0 -0
  306. /package/dist/{chunk-M7TCBWAB.js.map → chunk-KXDP4F6H.js.map} +0 -0
  307. /package/dist/{chunk-PBG65NPI.js.map → chunk-LLA23PXV.js.map} +0 -0
  308. /package/dist/{chunk-47SVTDUJ.js.map → chunk-LXIU2YVJ.js.map} +0 -0
  309. /package/dist/{chunk-SUPJG4Y2.js.map → chunk-MFEQZ4NH.js.map} +0 -0
  310. /package/dist/{chunk-GI5KLMI3.js.map → chunk-MNDP6M4C.js.map} +0 -0
  311. /package/dist/{chunk-S2TSPHHP.js.map → chunk-O45IUDO7.js.map} +0 -0
  312. /package/dist/{chunk-Z6XHALPL.js.map → chunk-P3O3JX2O.js.map} +0 -0
  313. /package/dist/{chunk-6Y7WTQVG.js.map → chunk-PKJ6SFGO.js.map} +0 -0
  314. /package/dist/{chunk-6K2ZECAZ.js.map → chunk-PPDA7WI4.js.map} +0 -0
  315. /package/dist/{chunk-U7YH3JVM.js.map → chunk-QRJ6CPZI.js.map} +0 -0
  316. /package/dist/{chunk-XAJUO7BH.js.map → chunk-QSAFIBCK.js.map} +0 -0
  317. /package/dist/{chunk-3VDPEJAS.js.map → chunk-TY2IJCPS.js.map} +0 -0
  318. /package/dist/{chunk-3EDQ6AO4.js.map → chunk-VOAQ3XQN.js.map} +0 -0
  319. /package/dist/{chunk-7HCVIDPQ.js.map → chunk-W7QLONZN.js.map} +0 -0
  320. /package/dist/{chunk-TVWT25NF.js.map → chunk-Z6354MCN.js.map} +0 -0
  321. /package/dist/{chunk-GMJXOP7Z.js.map → chunk-ZB6EQQDT.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-KPU7ZOUH.cjs');require('../chunk-ULLUQLTA.cjs');var _chunkW4EPLFUEcjs = require('../chunk-W4EPLFUE.cjs');require('../chunk-MZOAQKNJ.cjs');var _chunkD5MT7SAAcjs = require('../chunk-D5MT7SAA.cjs');var _chunk5W7DNVOJcjs = require('../chunk-5W7DNVOJ.cjs');require('../chunk-DVSS4UAR.cjs');require('../chunk-2FUSCDBB.cjs');require('../chunk-D3MBR5LJ.cjs');require('../chunk-SAYZWFMV.cjs');require('../chunk-SEQAFKIV.cjs');require('../chunk-PWWR4H26.cjs');require('../chunk-YKQSST44.cjs');require('../chunk-G3QVU7BW.cjs');var _chunkFQ2HVUI7cjs = require('../chunk-FQ2HVUI7.cjs');var _chunkKZUVW6PPcjs = require('../chunk-KZUVW6PP.cjs');var _chunkCW7OVU6Dcjs = require('../chunk-CW7OVU6D.cjs');require('../chunk-BNWABQDO.cjs');exports.LocalStorage = _chunkCW7OVU6Dcjs.a; exports.LoggerBrowserHandler = _chunkD5MT7SAAcjs.a; exports.LoggerBrowserSetupDebugFactory = _chunkW4EPLFUEcjs.a; exports.browserSupportsColors = _chunk5W7DNVOJcjs.a; exports.gravatarURLByEmail = _chunkKZUVW6PPcjs.a; exports.urlBase64ToUint8Array = _chunkFQ2HVUI7cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-KPU7ZOUH.cjs');require('../chunk-ULLUQLTA.cjs');var _chunkW4EPLFUEcjs = require('../chunk-W4EPLFUE.cjs');require('../chunk-MZOAQKNJ.cjs');var _chunkWZXFXFPZcjs = require('../chunk-WZXFXFPZ.cjs');var _chunk5W7DNVOJcjs = require('../chunk-5W7DNVOJ.cjs');var _chunkCW7OVU6Dcjs = require('../chunk-CW7OVU6D.cjs');require('../chunk-DVSS4UAR.cjs');require('../chunk-D3MBR5LJ.cjs');require('../chunk-SAYZWFMV.cjs');require('../chunk-SEQAFKIV.cjs');require('../chunk-PWWR4H26.cjs');require('../chunk-YKQSST44.cjs');require('../chunk-G3QVU7BW.cjs');require('../chunk-VUF6POXZ.cjs');require('../chunk-BNWABQDO.cjs');var _chunkFQ2HVUI7cjs = require('../chunk-FQ2HVUI7.cjs');var _chunkKZUVW6PPcjs = require('../chunk-KZUVW6PP.cjs');exports.LocalStorage = _chunkCW7OVU6Dcjs.a; exports.LoggerBrowserHandler = _chunkWZXFXFPZcjs.a; exports.LoggerBrowserSetupDebugFactory = _chunkW4EPLFUEcjs.a; exports.browserSupportsColors = _chunk5W7DNVOJcjs.a; exports.gravatarURLByEmail = _chunkKZUVW6PPcjs.a; exports.urlBase64ToUint8Array = _chunkFQ2HVUI7cjs.a;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/browser/index.cjs"],"names":[],"mappings":"AAAA,0GAA6B,iCAA8B,yDAA0C,iCAA8B,yDAA0C,yDAA0C,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,yDAAqC,yDAA0C,yDAA0C,iCAA8B,yTAAsK","file":"/home/runner/work/zeed/zeed/dist/browser/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/browser/index.cjs"],"names":[],"mappings":"AAAA,0GAA6B,iCAA8B,yDAA0C,iCAA8B,yDAA0C,yDAA0C,yDAA0C,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,iCAA8B,yDAAqC,yDAA0C,yTAAsK","file":"/home/runner/work/zeed/zeed/dist/browser/index.cjs"}
@@ -1,2 +1,2 @@
1
- import"../chunk-WAROIE2O.js";import"../chunk-OR7Z43J5.js";import{a as f}from"../chunk-QZRTFU3S.js";import"../chunk-MJRMY35Y.js";import{a as e}from"../chunk-7HCVIDPQ.js";import{a as d}from"../chunk-OGNA32Q7.js";import"../chunk-O7SD3C3B.js";import"../chunk-WYDZGMP2.js";import"../chunk-J7NLA2WP.js";import"../chunk-KIWLOWOY.js";import"../chunk-RZR3ECDT.js";import"../chunk-7AQ7JFDC.js";import"../chunk-JQXSUJUH.js";import"../chunk-S43L6UXW.js";import{a}from"../chunk-PXMDKRU2.js";import{a as b}from"../chunk-FN5CFPXQ.js";import{a as c}from"../chunk-RZABA46L.js";import"../chunk-HKZMJ5RY.js";export{c as LocalStorage,e as LoggerBrowserHandler,f as LoggerBrowserSetupDebugFactory,d as browserSupportsColors,b as gravatarURLByEmail,a as urlBase64ToUint8Array};
1
+ import"../chunk-WAROIE2O.js";import"../chunk-OR7Z43J5.js";import{a as f}from"../chunk-QZRTFU3S.js";import"../chunk-MJRMY35Y.js";import{a as e}from"../chunk-W7QLONZN.js";import{a as d}from"../chunk-OGNA32Q7.js";import{a as c}from"../chunk-RZABA46L.js";import"../chunk-O7SD3C3B.js";import"../chunk-J7NLA2WP.js";import"../chunk-KIWLOWOY.js";import"../chunk-RZR3ECDT.js";import"../chunk-7AQ7JFDC.js";import"../chunk-JQXSUJUH.js";import"../chunk-S43L6UXW.js";import"../chunk-EMLG23EY.js";import"../chunk-HKZMJ5RY.js";import{a}from"../chunk-PXMDKRU2.js";import{a as b}from"../chunk-FN5CFPXQ.js";export{c as LocalStorage,e as LoggerBrowserHandler,f as LoggerBrowserSetupDebugFactory,d as browserSupportsColors,b as gravatarURLByEmail,a as urlBase64ToUint8Array};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-ULLUQLTA.cjs');var _chunkW4EPLFUEcjs = require('../../chunk-W4EPLFUE.cjs');require('../../chunk-MZOAQKNJ.cjs');var _chunkD5MT7SAAcjs = require('../../chunk-D5MT7SAA.cjs');var _chunk5W7DNVOJcjs = require('../../chunk-5W7DNVOJ.cjs');require('../../chunk-DVSS4UAR.cjs');require('../../chunk-2FUSCDBB.cjs');require('../../chunk-D3MBR5LJ.cjs');require('../../chunk-SAYZWFMV.cjs');require('../../chunk-SEQAFKIV.cjs');require('../../chunk-PWWR4H26.cjs');require('../../chunk-YKQSST44.cjs');require('../../chunk-G3QVU7BW.cjs');require('../../chunk-BNWABQDO.cjs');exports.LoggerBrowserHandler = _chunkD5MT7SAAcjs.a; exports.LoggerBrowserSetupDebugFactory = _chunkW4EPLFUEcjs.a; exports.browserSupportsColors = _chunk5W7DNVOJcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-ULLUQLTA.cjs');var _chunkW4EPLFUEcjs = require('../../chunk-W4EPLFUE.cjs');require('../../chunk-MZOAQKNJ.cjs');var _chunkWZXFXFPZcjs = require('../../chunk-WZXFXFPZ.cjs');var _chunk5W7DNVOJcjs = require('../../chunk-5W7DNVOJ.cjs');require('../../chunk-DVSS4UAR.cjs');require('../../chunk-D3MBR5LJ.cjs');require('../../chunk-SAYZWFMV.cjs');require('../../chunk-SEQAFKIV.cjs');require('../../chunk-PWWR4H26.cjs');require('../../chunk-YKQSST44.cjs');require('../../chunk-G3QVU7BW.cjs');require('../../chunk-VUF6POXZ.cjs');require('../../chunk-BNWABQDO.cjs');exports.LoggerBrowserHandler = _chunkWZXFXFPZcjs.a; exports.LoggerBrowserSetupDebugFactory = _chunkW4EPLFUEcjs.a; exports.browserSupportsColors = _chunk5W7DNVOJcjs.a;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import"../../chunk-OR7Z43J5.js";import{a as c}from"../../chunk-QZRTFU3S.js";import"../../chunk-MJRMY35Y.js";import{a as b}from"../../chunk-7HCVIDPQ.js";import{a}from"../../chunk-OGNA32Q7.js";import"../../chunk-O7SD3C3B.js";import"../../chunk-WYDZGMP2.js";import"../../chunk-J7NLA2WP.js";import"../../chunk-KIWLOWOY.js";import"../../chunk-RZR3ECDT.js";import"../../chunk-7AQ7JFDC.js";import"../../chunk-JQXSUJUH.js";import"../../chunk-S43L6UXW.js";import"../../chunk-HKZMJ5RY.js";export{b as LoggerBrowserHandler,c as LoggerBrowserSetupDebugFactory,a as browserSupportsColors};
1
+ import"../../chunk-OR7Z43J5.js";import{a as c}from"../../chunk-QZRTFU3S.js";import"../../chunk-MJRMY35Y.js";import{a as b}from"../../chunk-W7QLONZN.js";import{a}from"../../chunk-OGNA32Q7.js";import"../../chunk-O7SD3C3B.js";import"../../chunk-J7NLA2WP.js";import"../../chunk-KIWLOWOY.js";import"../../chunk-RZR3ECDT.js";import"../../chunk-7AQ7JFDC.js";import"../../chunk-JQXSUJUH.js";import"../../chunk-S43L6UXW.js";import"../../chunk-EMLG23EY.js";import"../../chunk-HKZMJ5RY.js";export{b as LoggerBrowserHandler,c as LoggerBrowserSetupDebugFactory,a as browserSupportsColors};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkD5MT7SAAcjs = require('../../chunk-D5MT7SAA.cjs');require('../../chunk-5W7DNVOJ.cjs');require('../../chunk-DVSS4UAR.cjs');require('../../chunk-2FUSCDBB.cjs');require('../../chunk-D3MBR5LJ.cjs');require('../../chunk-SAYZWFMV.cjs');require('../../chunk-SEQAFKIV.cjs');require('../../chunk-PWWR4H26.cjs');require('../../chunk-YKQSST44.cjs');require('../../chunk-G3QVU7BW.cjs');require('../../chunk-BNWABQDO.cjs');exports.LoggerBrowserHandler = _chunkD5MT7SAAcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWZXFXFPZcjs = require('../../chunk-WZXFXFPZ.cjs');require('../../chunk-5W7DNVOJ.cjs');require('../../chunk-DVSS4UAR.cjs');require('../../chunk-D3MBR5LJ.cjs');require('../../chunk-SAYZWFMV.cjs');require('../../chunk-SEQAFKIV.cjs');require('../../chunk-PWWR4H26.cjs');require('../../chunk-YKQSST44.cjs');require('../../chunk-G3QVU7BW.cjs');require('../../chunk-VUF6POXZ.cjs');require('../../chunk-BNWABQDO.cjs');exports.LoggerBrowserHandler = _chunkWZXFXFPZcjs.a;
2
2
  //# sourceMappingURL=log-browser.cjs.map
@@ -1,2 +1,2 @@
1
- import{a}from"../../chunk-7HCVIDPQ.js";import"../../chunk-OGNA32Q7.js";import"../../chunk-O7SD3C3B.js";import"../../chunk-WYDZGMP2.js";import"../../chunk-J7NLA2WP.js";import"../../chunk-KIWLOWOY.js";import"../../chunk-RZR3ECDT.js";import"../../chunk-7AQ7JFDC.js";import"../../chunk-JQXSUJUH.js";import"../../chunk-S43L6UXW.js";import"../../chunk-HKZMJ5RY.js";export{a as LoggerBrowserHandler};
1
+ import{a}from"../../chunk-W7QLONZN.js";import"../../chunk-OGNA32Q7.js";import"../../chunk-O7SD3C3B.js";import"../../chunk-J7NLA2WP.js";import"../../chunk-KIWLOWOY.js";import"../../chunk-RZR3ECDT.js";import"../../chunk-7AQ7JFDC.js";import"../../chunk-JQXSUJUH.js";import"../../chunk-S43L6UXW.js";import"../../chunk-EMLG23EY.js";import"../../chunk-HKZMJ5RY.js";export{a as LoggerBrowserHandler};
2
2
  //# sourceMappingURL=log-browser.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCDRKVTXHcjs = require('../../chunk-CDRKVTXH.cjs');require('../../chunk-OSJGUOU2.cjs');require('../../chunk-XT67IKLC.cjs');require('../../chunk-WIUZ5ACA.cjs');require('../../chunk-PQCBHUC4.cjs');require('../../chunk-TXKYNYVG.cjs');require('../../chunk-W4EPLFUE.cjs');require('../../chunk-MZOAQKNJ.cjs');require('../../chunk-D5MT7SAA.cjs');require('../../chunk-5W7DNVOJ.cjs');require('../../chunk-DVSS4UAR.cjs');require('../../chunk-2FUSCDBB.cjs');require('../../chunk-D3MBR5LJ.cjs');require('../../chunk-SAYZWFMV.cjs');require('../../chunk-SEQAFKIV.cjs');require('../../chunk-PWWR4H26.cjs');require('../../chunk-YKQSST44.cjs');require('../../chunk-G3QVU7BW.cjs');require('../../chunk-BNWABQDO.cjs');exports.Logger = _chunkCDRKVTXHcjs.a; exports.LoggerFromConfig = _chunkCDRKVTXHcjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5RS7ZPJWcjs = require('../../chunk-5RS7ZPJW.cjs');require('../../chunk-OSJGUOU2.cjs');require('../../chunk-XT67IKLC.cjs');require('../../chunk-WIUZ5ACA.cjs');require('../../chunk-PQCBHUC4.cjs');require('../../chunk-TXKYNYVG.cjs');require('../../chunk-W4EPLFUE.cjs');require('../../chunk-MZOAQKNJ.cjs');require('../../chunk-WZXFXFPZ.cjs');require('../../chunk-5W7DNVOJ.cjs');require('../../chunk-DVSS4UAR.cjs');require('../../chunk-D3MBR5LJ.cjs');require('../../chunk-SAYZWFMV.cjs');require('../../chunk-SEQAFKIV.cjs');require('../../chunk-PWWR4H26.cjs');require('../../chunk-YKQSST44.cjs');require('../../chunk-G3QVU7BW.cjs');require('../../chunk-VUF6POXZ.cjs');require('../../chunk-BNWABQDO.cjs');exports.Logger = _chunk5RS7ZPJWcjs.a; exports.LoggerFromConfig = _chunk5RS7ZPJWcjs.b;
2
2
  //# sourceMappingURL=log-context-browser.cjs.map
@@ -1,2 +1,2 @@
1
- import{a,b}from"../../chunk-PL7IE4EC.js";import"../../chunk-G7HVDV5R.js";import"../../chunk-N7FU5CN3.js";import"../../chunk-OTNXCBEK.js";import"../../chunk-UNQPZI4V.js";import"../../chunk-6EQQCQER.js";import"../../chunk-QZRTFU3S.js";import"../../chunk-MJRMY35Y.js";import"../../chunk-7HCVIDPQ.js";import"../../chunk-OGNA32Q7.js";import"../../chunk-O7SD3C3B.js";import"../../chunk-WYDZGMP2.js";import"../../chunk-J7NLA2WP.js";import"../../chunk-KIWLOWOY.js";import"../../chunk-RZR3ECDT.js";import"../../chunk-7AQ7JFDC.js";import"../../chunk-JQXSUJUH.js";import"../../chunk-S43L6UXW.js";import"../../chunk-HKZMJ5RY.js";export{a as Logger,b as LoggerFromConfig};
1
+ import{a,b}from"../../chunk-KGVQQKNR.js";import"../../chunk-G7HVDV5R.js";import"../../chunk-N7FU5CN3.js";import"../../chunk-OTNXCBEK.js";import"../../chunk-UNQPZI4V.js";import"../../chunk-6EQQCQER.js";import"../../chunk-QZRTFU3S.js";import"../../chunk-MJRMY35Y.js";import"../../chunk-W7QLONZN.js";import"../../chunk-OGNA32Q7.js";import"../../chunk-O7SD3C3B.js";import"../../chunk-J7NLA2WP.js";import"../../chunk-KIWLOWOY.js";import"../../chunk-RZR3ECDT.js";import"../../chunk-7AQ7JFDC.js";import"../../chunk-JQXSUJUH.js";import"../../chunk-S43L6UXW.js";import"../../chunk-EMLG23EY.js";import"../../chunk-HKZMJ5RY.js";export{a as Logger,b as LoggerFromConfig};
2
2
  //# sourceMappingURL=log-context-browser.js.map
@@ -1,2 +1,2 @@
1
- import{h as g}from"./chunk-PM3JFDEY.js";import{a as p}from"./chunk-WYDZGMP2.js";import{b as l,d as i}from"./chunk-KIWLOWOY.js";function v(o){let[t,r,m,...s]=o;return{timestamp:t,level:r,name:m,messages:s}}function I(o){let{level:t=void 0,filter:r=void 0,compact:m=!1,messages:s=[],errorTrace:c=!1,maxDepth:u=20,keepAsIs:f}=o,L=l(r),M=i(t),n=o.limit??Number.POSITIVE_INFINITY;return e=>{if(!M(e.level)||!L(e.name))return;e.timestamp??(e.timestamp=p());let a=g(e,{maxDepth:u,errorTrace:c,keepAsIs:f});m===!0?s.push([a.timestamp,a.level,a.name,...a.messages]):s.push(a),n<=0?s.shift():--n}}export{v as a,I as b};
2
- //# sourceMappingURL=chunk-XVJBLOJN.js.map
1
+ import{h as g}from"./chunk-PM3JFDEY.js";import{b as l,d as i}from"./chunk-KIWLOWOY.js";import{a as p}from"./chunk-EMLG23EY.js";function v(o){let[t,r,m,...s]=o;return{timestamp:t,level:r,name:m,messages:s}}function I(o){let{level:t=void 0,filter:r=void 0,compact:m=!1,messages:s=[],errorTrace:c=!1,maxDepth:u=20,keepAsIs:f}=o,L=l(r),M=i(t),n=o.limit??Number.POSITIVE_INFINITY;return e=>{if(!M(e.level)||!L(e.name))return;e.timestamp??(e.timestamp=p());let a=g(e,{maxDepth:u,errorTrace:c,keepAsIs:f});m===!0?s.push([a.timestamp,a.level,a.name,...a.messages]):s.push(a),n<=0?s.shift():--n}}export{v as a,I as b};
2
+ //# sourceMappingURL=chunk-23LAWLUA.js.map
@@ -0,0 +1,2 @@
1
+ import{a as t}from"./chunk-5BU2RTLI.js";import{b as e}from"./chunk-KXDP4F6H.js";import{q as s}from"./chunk-OOTCYORD.js";var o=class extends t{constructor(){super(...arguments);this.id=s();this.context={};this.dispose=e()}close(){this.dispose()}};export{o as a};
2
+ //# sourceMappingURL=chunk-3NN7GCMG.js.map
@@ -1,2 +1,2 @@
1
- var g=/\\\s|\s+|#[^\n]*\n?/g,u=/\(\?P?<(\w{2,})>|\((?!\?([:!=]|<=|<!))/g,o=/^((?:\(\?[\w$]+\))?)\(\?<([=!])([\s\S]*?)\)/gm;function d(r){return typeof r=="string"?r:r.source||""}function p(r){return r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}var c=class{constructor(t,e){this.namedGroups={};this.names=[];let n=e??"",s;if(t instanceof RegExp?(e==null&&(n=t.flags),s=t.source):s=t,n&&n.includes("x")&&(n=n.replace("x",""),s=s.replace(g,x=>x[0]==="\\"?x:"")),!(t instanceof RegExp)){let x=0;s=s.replace(u,(h,l)=>(x+=1,l?(l!=="index"&&l!=="length"&&!this.namedGroups[l]&&(this.namedGroups[l]=x),"("):h)),this.names=Object.keys(this.namedGroups)}s=d(s),o.lastIndex=0;let i=o.exec(s);i&&(this.lookBehind={rx:new RegExp(`${i[3]}$(?!\\s)`),expect:i?i[2]==="=":!i},s=s.substr(i[0].length)),this.rx=new RegExp(s,n)}get lastIndex(){return this.rx.lastIndex}set lastIndex(t){this.rx.lastIndex=t}_handleMatch(t){if(this.lookBehind){let e=t.input.slice(0,t.index);if(this.lookBehind.expect!==this.lookBehind.rx.test(e))return null}for(let e of this.names)t[e]=t[this.namedGroups[e]];return t}exec(t){let e;for(;e=this.rx.exec(t);)if(this.rx.lastIndex===e.index&&this.rx.lastIndex++,e=this._handleMatch(e),e!=null)return e}execAll(t){let e=[],n;for(this.rx.lastIndex=0;n=this.exec(t);)e.push(n);return this.rx.lastIndex=0,e}replace(t,e){let n=typeof e=="function"?e:()=>e;return t.replace(this.rx,s=>n(s))}};export{d as a,p as b,c};
2
- //# sourceMappingURL=chunk-3JYK34SS.js.map
1
+ var g=/\\\s|\s+|#[^\n]*\n?/g,u=/\(\?P?<(\w{2,})>|\((?!\?([:!=]|<=|<!))/g,o=/^((?:\(\?[\w$]+\))?)\(\?<([=!])([\s\S]*?)\)/gm;function d(r){return typeof r=="string"?r:r.source||""}function p(r){return r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}var c=class{constructor(t,e){this.namedGroups={};this.names=[];let s=e??"",n;if(t instanceof RegExp?(e==null&&(s=t.flags),n=t.source):n=t,s&&s.includes("x")&&(s=s.replace("x",""),n=n.replace(g,x=>x[0]==="\\"?x:"")),!(t instanceof RegExp)){let x=0;n=n.replace(u,(h,l)=>(x+=1,l?(l!=="index"&&l!=="length"&&!this.namedGroups[l]&&(this.namedGroups[l]=x),"("):h)),this.names=Object.keys(this.namedGroups)}n=d(n),o.lastIndex=0;let i=o.exec(n);i&&(this.lookBehind={rx:new RegExp(`${i[3]}$(?!\\s)`),expect:i?i[2]==="=":!i},n=n.substr(i[0].length)),this.rx=new RegExp(n,s)}get lastIndex(){return this.rx.lastIndex}set lastIndex(t){this.rx.lastIndex=t}_handleMatch(t){if(this.lookBehind){let e=t.input.slice(0,t.index);if(this.lookBehind.expect!==this.lookBehind.rx.test(e))return null}for(let e of this.names)t[e]=t[this.namedGroups[e]];return t}exec(t){let e;for(;e=this.rx.exec(t);)if(this.rx.lastIndex===e.index&&this.rx.lastIndex++,e=this._handleMatch(e),e!=null)return e}execAll(t){let e=[],s;for(this.rx.lastIndex=0;s=this.exec(t);)e.push(s);return this.rx.lastIndex=0,e}replace(t,e){let s=typeof e=="function"?e:()=>e;return t.replace(this.rx,n=>s(n))}};export{d as a,p as b,c};
2
+ //# sourceMappingURL=chunk-3REOR55V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/data/xrx.ts"],"sourcesContent":["/* eslint-disable no-cond-assign */\n\nconst RX_WHITESPACE = /\\\\\\s|\\s+|#[^\\n]*\\n?/g\nconst RX_REAL_GROUPS = /\\(\\?P?<(\\w{2,})>|\\((?!\\?([:!=]|<=|<!))/g\n// eslint-disable-next-line regexp/no-unused-capturing-group\nconst RX_LOOK_BEHIND = /^((?:\\(\\?[\\w$]+\\))?)\\(\\?<([=!])([\\s\\S]*?)\\)/gm\n\nexport function regExpString(rx: string | RegExp): string {\n return typeof rx === 'string' ? rx : (rx.source || '')\n}\n\nexport function regExpEscape(str: string): string {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\nexport class XRX {\n lookBehind:any\n namedGroups: Record<string, number> = {}\n names: string[] = []\n rx: RegExp\n\n constructor(pattern: string | RegExp, flags?: string) {\n let _flags: string = flags ?? ''\n let _rx: string\n\n if (pattern instanceof RegExp) {\n if (flags == null)\n _flags = pattern.flags\n\n _rx = pattern.source\n }\n else {\n _rx = pattern\n }\n\n // eXtended / Ignore Whitespace\n const extended = _flags && _flags.includes('x')\n if (extended) {\n _flags = _flags.replace('x', '')\n _rx = _rx.replace(RX_WHITESPACE, (r) => {\n // log('rp', r)\n return r[0] === '\\\\' ? r : ''\n })\n }\n\n // Named Groups\n if (!(pattern instanceof RegExp)) {\n let index = 0\n _rx = _rx.replace(RX_REAL_GROUPS, (str, name) => {\n // log('>>>', name)\n index += 1\n if (name) {\n if (\n name !== 'index'\n && name !== 'length'\n && !this.namedGroups[name]\n ) {\n this.namedGroups[name] = index\n }\n // else\n // log.error(`Unallowed or duplicate group name: ${name}`)\n\n return '('\n }\n return str\n })\n this.names = Object.keys(this.namedGroups)\n }\n\n // http://www.rexegg.com/regex-best-trick.html\n\n _rx = regExpString(_rx)\n RX_LOOK_BEHIND.lastIndex = 0\n const parts = RX_LOOK_BEHIND.exec(_rx)\n if (parts) {\n this.lookBehind = {\n rx: new RegExp(`${parts[3]}$(?!\\\\s)`),\n expect: parts ? parts[2] === '=' : !parts,\n }\n _rx = _rx.substr(parts[0].length)\n }\n\n this.rx = new RegExp(_rx, _flags)\n }\n\n // flagsString() {\n // let hash = this.rx.toString() + '/'\n // if (this.rx.global) {\n // hash += 'g'\n // }\n // if (this.rx.multiline) {\n // hash += 'm'\n // }\n // if (this.rx.ignoreCase) {\n // hash += 'i'\n // }\n // if (this.rx.unicode) {\n // hash += 'u'\n // }\n // if (this.rx.sticky) {\n // hash += 'y'\n // }\n // }\n\n get lastIndex(): number {\n return this.rx.lastIndex\n }\n\n set lastIndex(index: number) {\n this.rx.lastIndex = index\n }\n\n _handleMatch(m: any) {\n if (this.lookBehind) {\n const leftContext = m.input.slice(0, m.index)\n if (this.lookBehind.expect !== this.lookBehind.rx.test(leftContext))\n return null\n }\n for (const name of this.names)\n m[name] = m[this.namedGroups[name]]\n\n return m\n }\n\n exec(str: string) {\n let m\n while ((m = this.rx.exec(str))) {\n if (this.rx.lastIndex === m.index)\n this.rx.lastIndex++\n m = this._handleMatch(m)\n if (m != null)\n return m\n }\n }\n\n execAll(str: string) {\n const matches = []\n let m\n this.rx.lastIndex = 0\n while ((m = this.exec(str)))\n matches.push(m)\n\n this.rx.lastIndex = 0\n // log('execAll:', matches)\n return matches\n }\n\n replace(str: string, replacement: string | ((m: string) => string)) {\n const fn = typeof replacement === 'function' ? replacement : () => replacement\n return str.replace(this.rx, (m) => {\n // m = this._handleMatch(m)\n return fn(m)\n })\n }\n}\n"],"mappings":"AAEA,IAAMA,EAAgB,uBAChBC,EAAiB,0CAEjBC,EAAiB,gDAEhB,SAASC,EAAaC,EAA6B,CACxD,OAAO,OAAOA,GAAO,SAAWA,EAAMA,EAAG,QAAU,EACrD,CAEO,SAASC,EAAaC,EAAqB,CAChD,OAAOA,EAAI,QAAQ,2BAA4B,MAAM,CACvD,CAEO,IAAMC,EAAN,KAAU,CAMf,YAAYC,EAA0BC,EAAgB,CAJtD,iBAAsC,CAAC,EACvC,WAAkB,CAAC,EAIjB,IAAIC,EAAiBD,GAAS,GAC1BE,EAuBJ,GArBIH,aAAmB,QACjBC,GAAS,OACXC,EAASF,EAAQ,OAEnBG,EAAMH,EAAQ,QAGdG,EAAMH,EAISE,GAAUA,EAAO,SAAS,GAAG,IAE5CA,EAASA,EAAO,QAAQ,IAAK,EAAE,EAC/BC,EAAMA,EAAI,QAAQX,EAAgBY,GAEzBA,EAAE,CAAC,IAAM,KAAOA,EAAI,EAC5B,GAIC,EAAEJ,aAAmB,QAAS,CAChC,IAAIK,EAAQ,EACZF,EAAMA,EAAI,QAAQV,EAAgB,CAACK,EAAKQ,KAEtCD,GAAS,EACLC,GAEAA,IAAS,SACNA,IAAS,UACT,CAAC,KAAK,YAAYA,CAAI,IAEzB,KAAK,YAAYA,CAAI,EAAID,GAKpB,KAEFP,EACR,EACD,KAAK,MAAQ,OAAO,KAAK,KAAK,WAAW,CAC3C,CAIAK,EAAMR,EAAaQ,CAAG,EACtBT,EAAe,UAAY,EAC3B,IAAMa,EAAQb,EAAe,KAAKS,CAAG,EACjCI,IACF,KAAK,WAAa,CAChB,GAAI,IAAI,OAAO,GAAGA,EAAM,CAAC,CAAC,UAAU,EACpC,OAAQA,EAAQA,EAAM,CAAC,IAAM,IAAM,CAACA,CACtC,EACAJ,EAAMA,EAAI,OAAOI,EAAM,CAAC,EAAE,MAAM,GAGlC,KAAK,GAAK,IAAI,OAAOJ,EAAKD,CAAM,CAClC,CAqBA,IAAI,WAAoB,CACtB,OAAO,KAAK,GAAG,SACjB,CAEA,IAAI,UAAUG,EAAe,CAC3B,KAAK,GAAG,UAAYA,CACtB,CAEA,aAAaG,EAAQ,CACnB,GAAI,KAAK,WAAY,CACnB,IAAMC,EAAcD,EAAE,MAAM,MAAM,EAAGA,EAAE,KAAK,EAC5C,GAAI,KAAK,WAAW,SAAW,KAAK,WAAW,GAAG,KAAKC,CAAW,EAChE,OAAO,IACX,CACA,QAAWH,KAAQ,KAAK,MACtBE,EAAEF,CAAI,EAAIE,EAAE,KAAK,YAAYF,CAAI,CAAC,EAEpC,OAAOE,CACT,CAEA,KAAKV,EAAa,CAChB,IAAIU,EACJ,KAAQA,EAAI,KAAK,GAAG,KAAKV,CAAG,GAI1B,GAHI,KAAK,GAAG,YAAcU,EAAE,OAC1B,KAAK,GAAG,YACVA,EAAI,KAAK,aAAaA,CAAC,EACnBA,GAAK,KACP,OAAOA,CAEb,CAEA,QAAQV,EAAa,CACnB,IAAMY,EAAU,CAAC,EACbF,EAEJ,IADA,KAAK,GAAG,UAAY,EACZA,EAAI,KAAK,KAAKV,CAAG,GACvBY,EAAQ,KAAKF,CAAC,EAEhB,YAAK,GAAG,UAAY,EAEbE,CACT,CAEA,QAAQZ,EAAaa,EAA+C,CAClE,IAAMC,EAAK,OAAOD,GAAgB,WAAaA,EAAc,IAAMA,EACnE,OAAOb,EAAI,QAAQ,KAAK,GAAKU,GAEpBI,EAAGJ,CAAC,CACZ,CACH,CACF","names":["RX_WHITESPACE","RX_REAL_GROUPS","RX_LOOK_BEHIND","regExpString","rx","regExpEscape","str","XRX","pattern","flags","_flags","_rx","r","index","name","parts","m","leftContext","matches","replacement","fn"]}
@@ -0,0 +1,2 @@
1
+ import{d,f as p,g as y,h as c}from"./chunk-GBX4HAEG.js";import{b as o}from"./chunk-TY2IJCPS.js";import{b as s}from"./chunk-7AQ7JFDC.js";function _(e){if(e._default!==void 0)return s(e._default)?e._default():e._default;if(!e._optional&&e._object){let t={};for(let r in e._object)t[r]=_(e._object[r]);return t}}function g(e,t,r){let u=r?.messages||[];function i(n,a=!1){return u.push({path:`.${r?.path??""}`,message:n,valid:a,type:e.type}),a}if(t==null&&e._optional)return i("Optional",!0);if(e._object){if(r?.allowExtra!==!0){let n=Object.keys(e._object),a=Object.keys(t||{}),f=o(a,n);if(f.length>0)return i(`Extra properties: ${f.join(", ")}`,!1)}for(let n in e._object){let a=e._object[n];if(!g(a,t[n],{...r,path:r?.path?`${r.path}.${n}`:n,messages:u}))return i(`Invalid property '${n}'`,!1)}return i("Object valid",!0)}if(s(e._check)){let n=e._check(t);return i("Check",n)}return i("Primitive valid",!1)}function T(e,t,r){let u=r?.messages||[];function i(n,a=!1){return u.push({path:`.${r?.path??""}`,message:n,valid:a,type:e.type}),a}if(t==null){if(e._optional){i("Optional",!0);return}if(e._default!==void 0)return i("Default",!0),s(e._default)?e._default():e._default}if(e._object){let n={};for(let a in e._object){let f=e._object[a],l=T(f,t[a],{...r,path:r?.path?`${r.path}.${a}`:a,messages:u});l!==void 0&&(n[a]=l)}return n}if(t!=null){if(e.type==="string")t=c(t);else if(e.type==="boolean")t=d(t);else if(e.type==="number"){if(t=y(t),Number.isNaN(t)){i(`Invalid number: ${t}`,!1);return}}else if(e.type==="int"&&(t=p(t),Number.isNaN(t))){i(`Invalid number: ${t}`,!1);return}}if(s(e._check)){let n=e._check(t);return i("Check",n),n?t:void 0}return t}export{_ as a,g as b,T as c};
2
+ //# sourceMappingURL=chunk-3UE4OYUL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/schema/parse-object.ts"],"sourcesContent":["import type { Type } from './schema'\nimport { arrayMinus, isFunction, valueToBoolean, valueToFloat, valueToInteger, valueToString } from '../data'\n\nexport function schemaCreateObject<T>(schema: Type<T>): Partial<T> | undefined {\n if (schema._default !== undefined) {\n return isFunction(schema._default) ? schema._default() : schema._default\n }\n\n if (schema._optional) {\n return undefined as any\n }\n\n if (schema._object) {\n const obj: any = {}\n for (const key in schema._object) {\n obj[key] = schemaCreateObject(schema._object[key] as Type<any>)\n }\n return obj\n }\n\n return undefined\n}\n\ninterface SchemaValidateMessage {\n path: string\n message: string\n type: string\n valid: boolean\n}\n\nexport function schemaValidateObject<T>(schema: Type<T>, obj?: any, opt?: {\n path?: string\n messages?: SchemaValidateMessage[]\n allowExtra?: boolean\n}): boolean {\n const messages = opt?.messages || []\n\n function addMessage(message: string, valid: boolean = false) {\n messages.push({ path: `.${opt?.path ?? ''}`, message, valid, type: schema.type })\n return valid\n }\n\n if (obj == null && schema._optional) {\n return addMessage('Optional', true)\n }\n\n if (schema._object) {\n if (opt?.allowExtra !== true) {\n const schemaKeys = Object.keys(schema._object)\n const objKeys = Object.keys(obj || {})\n const missingKeys = arrayMinus(objKeys, schemaKeys)\n if (missingKeys.length > 0) {\n return addMessage(`Extra properties: ${missingKeys.join(', ')}`, false)\n }\n }\n\n for (const key in schema._object) {\n const propSchema = schema._object[key] as any\n if (!schemaValidateObject(\n propSchema,\n obj[key] as any,\n {\n ...opt,\n path: opt?.path ? `${opt.path}.${key}` : key,\n messages,\n },\n )) {\n return addMessage(`Invalid property '${key}'`, false)\n }\n }\n return addMessage('Object valid', true)\n }\n\n if (isFunction(schema._check)) {\n const checkResult = schema._check(obj)\n return addMessage('Check', checkResult)\n }\n\n return addMessage('Primitive valid', false)\n}\n\nexport function schemaParseObject<T>(schema: Type<T>, obj?: any, opt?: {\n path?: string\n messages?: SchemaValidateMessage[]\n // allowExtra?: boolean\n}): T | undefined {\n const messages = opt?.messages || []\n\n function addMessage(message: string, valid: boolean = false) {\n messages.push({ path: `.${opt?.path ?? ''}`, message, valid, type: schema.type })\n // console.debug({ path: `.${opt?.path ?? ''}`, message, valid, type: schema.type }, obj)\n return valid\n }\n\n if (obj == null) {\n if (schema._optional) {\n addMessage('Optional', true)\n return undefined\n }\n if (schema._default !== undefined) {\n addMessage('Default', true)\n return isFunction(schema._default) ? schema._default() : schema._default\n }\n }\n\n if (schema._object) {\n const newObj: any = {}\n for (const key in schema._object) {\n const propSchema = schema._object[key] as any\n const result = schemaParseObject(propSchema, obj[key] as any, {\n ...opt,\n path: opt?.path ? `${opt.path}.${key}` : key,\n messages,\n })\n if (result !== undefined) {\n newObj[key] = result\n }\n }\n return newObj\n }\n\n if (obj != null) {\n if (schema.type === 'string') {\n obj = valueToString(obj)\n }\n else if (schema.type === 'boolean') {\n obj = valueToBoolean(obj)\n }\n else if (schema.type === 'number') {\n obj = valueToFloat(obj)\n if (Number.isNaN(obj)) {\n addMessage(`Invalid number: ${obj}`, false)\n return undefined\n }\n }\n else if (schema.type === 'int') {\n obj = valueToInteger(obj)\n if (Number.isNaN(obj)) {\n addMessage(`Invalid number: ${obj}`, false)\n return undefined\n }\n }\n }\n\n if (isFunction(schema._check)) {\n const checkResult = schema._check(obj)\n addMessage('Check', checkResult)\n return checkResult ? obj : undefined\n }\n\n return obj\n}\n"],"mappings":"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","names":["schemaCreateObject","schema","isFunction","obj","key","schemaValidateObject","opt","messages","addMessage","message","valid","schemaKeys","objKeys","missingKeys","arrayMinus","propSchema","checkResult","schemaParseObject","newObj","result","valueToString","valueToBoolean","valueToFloat","valueToInteger"]}
@@ -0,0 +1,2 @@
1
+ import{g}from"./chunk-TV3I6EFK.js";function c(o){return Math.abs(o)%1===.5}function x(o){return o%2===0}var H=o=>Math.ceil(o),T=o=>Math.floor(o),y=o=>Math.round(o),D=o=>{let n=Math.round(o);return c(o)&&x(n)?n-1:n},O=o=>c(o)?Math.sign(o)*Math.ceil(Math.abs(o)):Math.round(o),A=o=>c(o)?Math.floor(o):Math.round(o),E=o=>{let n=Math.round(o);return c(o)?x(n)?n:n-1:n},F=o=>c(o)?Math.sign(o)*Math.floor(Math.abs(o)):Math.round(o);function R(o,n=100,M=0){let e=[...o],u=o.length,t=[];t.fill(0,u);let m=g(e);if(m!==0){let i=10**M,h=n*i,s=0;for(let r=u-1;r>=0;r--)e[r]=n*e[r]/m,s+=t[r]=Math.round(e[r]*i);if(s!==h){let r=s-h,p=1,b=Math.abs(r),l=e.map((a,f)=>Math.abs(t[f]-e[f]*i));for(;b>0;){let a=0,f=l[0];for(let d=1;d<u;d++)if(f<l[d]){if(s>h&&t[d]-p<0)continue;a=d,f=l[d]}s>h?t[a]-=p:t[a]+=p,l[a]-=p,b--}}if(i>1)return t.map(r=>+(r/i).toFixed(M))}return t}function S(o,n,M=100,e=0){return R(o.map(u=>u[n]),M,e).map((u,t)=>({...o[t],[n]:u}))}export{c as a,x as b,H as c,T as d,y as e,D as f,O as g,A as h,E as i,F as j,R as k,S as l};
2
+ //# sourceMappingURL=chunk-4BUMEKE4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/data/rounding.ts"],"sourcesContent":["// From https://v2.dinerojs.com/docs/api/formatting/to-unit MIT\n\nimport { sum } from './math'\n\nexport type RoundingMode = (value: number) => number\n\nexport function isHalf(value: number): boolean {\n return Math.abs(value) % 1 === 0.5\n}\nexport function isEven(value: number): boolean {\n return value % 2 === 0\n}\n\nexport const roundUp: RoundingMode = value => Math.ceil(value)\nexport const roundDown: RoundingMode = value => Math.floor(value)\nexport const roundHalfUp: RoundingMode = value => Math.round(value)\n\n/**\n * Round a number with half values to nearest odd integer.\n */\nexport const roundHalfOdd: RoundingMode = (value) => {\n const rounded = Math.round(value)\n if (!isHalf(value))\n return rounded\n\n return isEven(rounded) ? rounded - 1 : rounded\n}\n\n/**\n * Round a number with half values to nearest integer farthest from zero.\n */\nexport const roundHalfAwayFromZero: RoundingMode = (value) => {\n return isHalf(value)\n ? Math.sign(value) * Math.ceil(Math.abs(value))\n : Math.round(value)\n}\n\n/**\n * Round a number with half values down.\n */\nexport const roundHalfDown: RoundingMode = value =>\n isHalf(value) ? Math.floor(value) : Math.round(value)\n\n/**\n * Round a number with half values to nearest even integer.\n * https://wiki.c2.com/?BankersRounding\n */\nexport const roundHalfEven: RoundingMode = (value) => {\n const rounded = Math.round(value)\n if (!isHalf(value))\n return rounded\n\n return isEven(rounded) ? rounded : rounded - 1\n}\n\n/**\n * Round a number with half values to nearest integer closest to zero.\n */\nexport const roundHalfTowardsZero: RoundingMode = value =>\n isHalf(value)\n ? Math.sign(value) * Math.floor(Math.abs(value))\n : Math.round(value)\n\n/**\n * This is useful for percentages that should sum up to 100.\n * But can also be fine tuned.\n *\n * Original from https://github.com/super-ienien/percent-round\n */\nexport function roundArrayOfNumbersToMatchSum(ipt: number[], max = 100, decimalPlaces = 0) {\n const iptPercents: number[] = [...ipt]\n const length = ipt.length\n const out: number[] = []\n out.fill(0, length)\n\n const total = sum(iptPercents)\n\n if (total !== 0) {\n const powDecimalPlaces = 10 ** decimalPlaces\n const pow100 = max * powDecimalPlaces\n let check100 = 0\n for (let i = length - 1; i >= 0; i--) {\n iptPercents[i] = max * iptPercents[i] / total\n check100 += out[i] = Math.round(iptPercents[i] * powDecimalPlaces)\n }\n\n if (check100 !== pow100) {\n const totalDiff = (check100 - pow100)\n const roundGrain = 1\n let grainCount = Math.abs(totalDiff)\n const diffs = iptPercents.map((_, i) => Math.abs(out[i] - iptPercents[i] * powDecimalPlaces))\n\n while (grainCount > 0) {\n let idx = 0\n let maxDiff = diffs[0]\n for (let i = 1; i < length; i++) {\n if (maxDiff < diffs[i]) {\n // avoid negative result\n if (check100 > pow100 && out[i] - roundGrain < 0)\n continue\n idx = i\n maxDiff = diffs[i]\n }\n }\n if (check100 > pow100)\n out[idx] -= roundGrain\n else\n out[idx] += roundGrain\n\n diffs[idx] -= roundGrain\n grainCount--\n }\n }\n\n if (powDecimalPlaces > 1)\n return out.map(n => +((n / powDecimalPlaces).toFixed(decimalPlaces)))\n }\n\n return out\n}\n\nexport function roundArrayOfObjectsToMatchSum<T extends Record<string, any>>(arr: T[], name: string, max = 100, decimalPlaces = 0): T[] {\n return roundArrayOfNumbersToMatchSum(arr.map(o => o[name]), max, decimalPlaces)\n .map((o, i) => ({\n ...arr[i],\n [name]: o,\n }))\n}\n"],"mappings":"mCAMO,SAASA,EAAOC,EAAwB,CAC7C,OAAO,KAAK,IAAIA,CAAK,EAAI,IAAM,EACjC,CACO,SAASC,EAAOD,EAAwB,CAC7C,OAAOA,EAAQ,IAAM,CACvB,CAEO,IAAME,EAAwBF,GAAS,KAAK,KAAKA,CAAK,EAChDG,EAA0BH,GAAS,KAAK,MAAMA,CAAK,EACnDI,EAA4BJ,GAAS,KAAK,MAAMA,CAAK,EAKrDK,EAA8BL,GAAU,CACnD,IAAMM,EAAU,KAAK,MAAMN,CAAK,EAChC,OAAKD,EAAOC,CAAK,GAGVC,EAAOK,CAAO,EAAIA,EAAU,EAF1BA,CAGX,EAKaC,EAAuCP,GAC3CD,EAAOC,CAAK,EACf,KAAK,KAAKA,CAAK,EAAI,KAAK,KAAK,KAAK,IAAIA,CAAK,CAAC,EAC5C,KAAK,MAAMA,CAAK,EAMTQ,EAA8BR,GACzCD,EAAOC,CAAK,EAAI,KAAK,MAAMA,CAAK,EAAI,KAAK,MAAMA,CAAK,EAMzCS,EAA+BT,GAAU,CACpD,IAAMM,EAAU,KAAK,MAAMN,CAAK,EAChC,OAAKD,EAAOC,CAAK,EAGVC,EAAOK,CAAO,EAAIA,EAAUA,EAAU,EAFpCA,CAGX,EAKaI,EAAqCV,GAChDD,EAAOC,CAAK,EACR,KAAK,KAAKA,CAAK,EAAI,KAAK,MAAM,KAAK,IAAIA,CAAK,CAAC,EAC7C,KAAK,MAAMA,CAAK,EAQf,SAASW,EAA8BC,EAAeC,EAAM,IAAKC,EAAgB,EAAG,CACzF,IAAMC,EAAwB,CAAC,GAAGH,CAAG,EAC/BI,EAASJ,EAAI,OACbK,EAAgB,CAAC,EACvBA,EAAI,KAAK,EAAGD,CAAM,EAElB,IAAME,EAAQC,EAAIJ,CAAW,EAE7B,GAAIG,IAAU,EAAG,CACf,IAAME,EAAmB,IAAMN,EACzBO,EAASR,EAAMO,EACjBE,EAAW,EACf,QAASC,EAAIP,EAAS,EAAGO,GAAK,EAAGA,IAC/BR,EAAYQ,CAAC,EAAIV,EAAME,EAAYQ,CAAC,EAAIL,EACxCI,GAAYL,EAAIM,CAAC,EAAI,KAAK,MAAMR,EAAYQ,CAAC,EAAIH,CAAgB,EAGnE,GAAIE,IAAaD,EAAQ,CACvB,IAAMG,EAAaF,EAAWD,EACxBI,EAAa,EACfC,EAAa,KAAK,IAAIF,CAAS,EAC7BG,EAAQZ,EAAY,IAAI,CAACa,EAAGL,IAAM,KAAK,IAAIN,EAAIM,CAAC,EAAIR,EAAYQ,CAAC,EAAIH,CAAgB,CAAC,EAE5F,KAAOM,EAAa,GAAG,CACrB,IAAIG,EAAM,EACNC,EAAUH,EAAM,CAAC,EACrB,QAASJ,EAAI,EAAGA,EAAIP,EAAQO,IAC1B,GAAIO,EAAUH,EAAMJ,CAAC,EAAG,CAEtB,GAAID,EAAWD,GAAUJ,EAAIM,CAAC,EAAIE,EAAa,EAC7C,SACFI,EAAMN,EACNO,EAAUH,EAAMJ,CAAC,CACnB,CAEED,EAAWD,EACbJ,EAAIY,CAAG,GAAKJ,EAEZR,EAAIY,CAAG,GAAKJ,EAEdE,EAAME,CAAG,GAAKJ,EACdC,GACF,CACF,CAEA,GAAIN,EAAmB,EACrB,OAAOH,EAAI,IAAIc,GAAK,EAAGA,EAAIX,GAAkB,QAAQN,CAAa,CAAE,CACxE,CAEA,OAAOG,CACT,CAEO,SAASe,EAA6DC,EAAUC,EAAcrB,EAAM,IAAKC,EAAgB,EAAQ,CACtI,OAAOH,EAA8BsB,EAAI,IAAIE,GAAKA,EAAED,CAAI,CAAC,EAAGrB,EAAKC,CAAa,EAC3E,IAAI,CAACqB,EAAGZ,KAAO,CACd,GAAGU,EAAIV,CAAC,EACR,CAACW,CAAI,EAAGC,CACV,EAAE,CACN","names":["isHalf","value","isEven","roundUp","roundDown","roundHalfUp","roundHalfOdd","rounded","roundHalfAwayFromZero","roundHalfDown","roundHalfEven","roundHalfTowardsZero","roundArrayOfNumbersToMatchSum","ipt","max","decimalPlaces","iptPercents","length","out","total","sum","powDecimalPlaces","pow100","check100","i","totalDiff","roundGrain","grainCount","diffs","_","idx","maxDiff","n","roundArrayOfObjectsToMatchSum","arr","name","o"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunk4SKL5XXGcjs = require('./chunk-4SKL5XXG.cjs');var _chunk6ZLJSWLMcjs = require('./chunk-6ZLJSWLM.cjs');var _chunkPWWR4H26cjs = require('./chunk-PWWR4H26.cjs');var _chunkYKQSST44cjs = require('./chunk-YKQSST44.cjs');function a(s,f){if(_chunkPWWR4H26cjs.f.call(void 0, s)&&_chunkPWWR4H26cjs.f.call(void 0, f)){let i=Object.keys(f);for(let e of _chunk6ZLJSWLMcjs.b.call(void 0, Object.keys(s),i))delete s[e];for(let e of i){let n=f[e],o=s[e];_chunkPWWR4H26cjs.f.call(void 0, n)?_chunkPWWR4H26cjs.f.call(void 0, o)?a(o,n):s[e]=_chunkYKQSST44cjs.g.call(void 0, n):n!==o&&(s[e]=n)}}return s}function t(s,f){let i={};for(let e of _chunk6ZLJSWLMcjs.b.call(void 0, Object.keys(s),Object.keys(f)))i[e]=null;for(let[e,n]of Object.entries(f)){let o=s[e];if(_chunkPWWR4H26cjs.f.call(void 0, n)){let u=t(_nullishCoalesce(o, () => ({})),n);u!=null&&(i[e]=u)}else n==null&&o==null||_chunk4SKL5XXGcjs.a.call(void 0, n,o)||(i[e]=_nullishCoalesce(n, () => (null)))}return Object.keys(i).length>0?i:void 0}function k(s,f){if(_chunkPWWR4H26cjs.f.call(void 0, s)&&_chunkPWWR4H26cjs.f.call(void 0, f)){let i=Object.keys(f);for(let e of i){let n=f[e],o=s[e];n===null?o!=null&&delete s[e]:_chunkPWWR4H26cjs.f.call(void 0, n)?_chunkPWWR4H26cjs.f.call(void 0, o)?k(o,n):s[e]=_chunkYKQSST44cjs.g.call(void 0, n):n!==o&&(s[e]=n)}}return s}exports.a = a; exports.b = t; exports.c = k;
2
- //# sourceMappingURL=chunk-PBHNRC5D.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkTNZGMZGRcjs = require('./chunk-TNZGMZGR.cjs');var _chunkQHU5L465cjs = require('./chunk-QHU5L465.cjs');var _chunkPWWR4H26cjs = require('./chunk-PWWR4H26.cjs');var _chunkYKQSST44cjs = require('./chunk-YKQSST44.cjs');function a(s,f){if(_chunkPWWR4H26cjs.f.call(void 0, s)&&_chunkPWWR4H26cjs.f.call(void 0, f)){let i=Object.keys(f);for(let e of _chunkQHU5L465cjs.b.call(void 0, Object.keys(s),i))delete s[e];for(let e of i){let n=f[e],o=s[e];_chunkPWWR4H26cjs.f.call(void 0, n)?_chunkPWWR4H26cjs.f.call(void 0, o)?a(o,n):s[e]=_chunkYKQSST44cjs.g.call(void 0, n):n!==o&&(s[e]=n)}}return s}function t(s,f){let i={};for(let e of _chunkQHU5L465cjs.b.call(void 0, Object.keys(s),Object.keys(f)))i[e]=null;for(let[e,n]of Object.entries(f)){let o=s[e];if(_chunkPWWR4H26cjs.f.call(void 0, n)){let u=t(_nullishCoalesce(o, () => ({})),n);u!=null&&(i[e]=u)}else n==null&&o==null||_chunkTNZGMZGRcjs.a.call(void 0, n,o)||(i[e]=_nullishCoalesce(n, () => (null)))}return Object.keys(i).length>0?i:void 0}function k(s,f){if(_chunkPWWR4H26cjs.f.call(void 0, s)&&_chunkPWWR4H26cjs.f.call(void 0, f)){let i=Object.keys(f);for(let e of i){let n=f[e],o=s[e];n===null?o!=null&&delete s[e]:_chunkPWWR4H26cjs.f.call(void 0, n)?_chunkPWWR4H26cjs.f.call(void 0, o)?k(o,n):s[e]=_chunkYKQSST44cjs.g.call(void 0, n):n!==o&&(s[e]=n)}}return s}exports.a = a; exports.b = t; exports.c = k;
2
+ //# sourceMappingURL=chunk-4F2DX6E6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-PBHNRC5D.cjs","../src/common/data/object-changes.ts"],"names":["objectAssignDeepInPlace","toObject","fromObject","isRecord","fromKeys","key","arrayMinus","from","to","cloneObject","objectDescribeChange","change","value","subChange","deepEqual","objectAssignDescriptionInPlace"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-PBHNRC5D.cjs","sourcesContent":[null,"import { arrayMinus } from './array'\nimport { deepEqual } from './deep'\nimport { isRecord } from './is'\nimport { cloneObject } from './utils'\n\n/**\n * Selective in place update, as minimal as possible.\n * Ideal for reactive objects lie Vue's `reactive`.\n */\nexport function objectAssignDeepInPlace(toObject: any, fromObject: any) {\n if (isRecord(toObject) && isRecord(fromObject)) {\n // Remove not existing ones\n const fromKeys = Object.keys(fromObject)\n for (const key of arrayMinus(Object.keys(toObject), fromKeys))\n delete toObject[key]\n\n // Changes\n for (const key of fromKeys) {\n const from = fromObject[key]\n const to = toObject[key]\n if (isRecord(from)) {\n if (isRecord(to))\n objectAssignDeepInPlace(to, from)\n else\n toObject[key] = cloneObject(from)\n }\n else if (from !== to) {\n toObject[key] = from\n }\n }\n }\n return toObject\n}\n\n/**\n * Create a minimal change set. Results in a new object, with only the\n * new or changed entries. Deleted entries are marked by value `null`.\n */\nexport function objectDescribeChange(fromObject: any, toObject: any): any {\n const change: any = {}\n\n // Deleted attributes\n for (const key of arrayMinus(Object.keys(fromObject), Object.keys(toObject)))\n change[key] = null\n\n // Changes\n for (const [key, value] of Object.entries(toObject)) {\n const from = fromObject[key]\n if (isRecord(value)) {\n const subChange = objectDescribeChange(from ?? {}, value)\n if (subChange != null)\n change[key] = subChange\n }\n else if (!(value == null && from == null)) {\n if (!deepEqual(value, from))\n change[key] = value == null ? null : value // avoid undefined\n }\n }\n\n return Object.keys(change).length > 0 ? change : undefined\n}\n\n/**\n * Apply the description of changes created by `objectDescribeChange` to the object.\n */\nexport function objectAssignDescriptionInPlace(toObject: any, fromObject: any) {\n if (isRecord(toObject) && isRecord(fromObject)) {\n const fromKeys = Object.keys(fromObject) \n for (const key of fromKeys) {\n const from = fromObject[key]\n const to = toObject[key]\n if (from === null) {\n if (to != null) {\n delete toObject[key]\n }\n }\n else if (isRecord(from)) {\n if (isRecord(to))\n objectAssignDescriptionInPlace(to, from)\n else\n toObject[key] = cloneObject(from)\n }\n else if (from !== to) {\n toObject[key] = from\n }\n }\n }\n return toObject\n}\n\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-4F2DX6E6.cjs","../src/common/data/object-changes.ts"],"names":["objectAssignDeepInPlace","toObject","fromObject","isRecord","fromKeys","key","arrayMinus","from","to","cloneObject","objectDescribeChange","change","value","subChange","deepEqual","objectAssignDescriptionInPlace"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-4F2DX6E6.cjs","sourcesContent":[null,"import { arrayMinus } from './array'\nimport { deepEqual } from './deep'\nimport { isRecord } from './is'\nimport { cloneObject } from './utils'\n\n/**\n * Selective in place update, as minimal as possible.\n * Ideal for reactive objects lie Vue's `reactive`.\n */\nexport function objectAssignDeepInPlace(toObject: any, fromObject: any) {\n if (isRecord(toObject) && isRecord(fromObject)) {\n // Remove not existing ones\n const fromKeys = Object.keys(fromObject)\n for (const key of arrayMinus(Object.keys(toObject), fromKeys))\n delete toObject[key]\n\n // Changes\n for (const key of fromKeys) {\n const from = fromObject[key]\n const to = toObject[key]\n if (isRecord(from)) {\n if (isRecord(to))\n objectAssignDeepInPlace(to, from)\n else\n toObject[key] = cloneObject(from)\n }\n else if (from !== to) {\n toObject[key] = from\n }\n }\n }\n return toObject\n}\n\n/**\n * Create a minimal change set. Results in a new object, with only the\n * new or changed entries. Deleted entries are marked by value `null`.\n */\nexport function objectDescribeChange(fromObject: any, toObject: any): any {\n const change: any = {}\n\n // Deleted attributes\n for (const key of arrayMinus(Object.keys(fromObject), Object.keys(toObject)))\n change[key] = null\n\n // Changes\n for (const [key, value] of Object.entries(toObject)) {\n const from = fromObject[key]\n if (isRecord(value)) {\n const subChange = objectDescribeChange(from ?? {}, value)\n if (subChange != null)\n change[key] = subChange\n }\n else if (!(value == null && from == null)) {\n if (!deepEqual(value, from))\n change[key] = value == null ? null : value // avoid undefined\n }\n }\n\n return Object.keys(change).length > 0 ? change : undefined\n}\n\n/**\n * Apply the description of changes created by `objectDescribeChange` to the object.\n */\nexport function objectAssignDescriptionInPlace(toObject: any, fromObject: any) {\n if (isRecord(toObject) && isRecord(fromObject)) {\n const fromKeys = Object.keys(fromObject) \n for (const key of fromKeys) {\n const from = fromObject[key]\n const to = toObject[key]\n if (from === null) {\n if (to != null) {\n delete toObject[key]\n }\n }\n else if (isRecord(from)) {\n if (isRecord(to))\n objectAssignDescriptionInPlace(to, from)\n else\n toObject[key] = cloneObject(from)\n }\n else if (from !== to) {\n toObject[key] = from\n }\n }\n }\n return toObject\n}\n\n"]}
@@ -1,2 +1,2 @@
1
- import{a as y}from"./chunk-JKYONBGO.js";import{c as b}from"./chunk-OTNXCBEK.js";import{a as c}from"./chunk-S43L6UXW.js";var m=class{constructor(){this.subscribers={};this.subscribersOnAny=[];this._logEmitter=b("zeed:emitter","warn");this.call=new Proxy({},{get:(e,r)=>async(...t)=>await this.emit(r,...t)});this.addEventListener=this.on.bind(this);this.removeEventListener=this.off.bind(this)}async getAll(e,...r){try{let t=this.subscribers[e]||[];if(this._logEmitter.debug("emit",this?.constructor?.name,e,...r,t),this.subscribersOnAny.forEach(s=>s(e,...r)),t.length>0){let s=t.map(({fn:i})=>{try{return Promise.resolve(i(...r))}catch(n){this._logEmitter.warn("emit warning:",n)}return null}).filter(i=>i!=null);return await Promise.all(s)}}catch(t){this._logEmitter.error("emit exception",t)}}async get(e,...r){let t=await this.getAll(e,...r);if(t&&t.length>0)return t[0]}async emit(e,...r){return await this.getAll(e,...r)!=null}onAny(e){this.subscribersOnAny.push(e)}on(e,r,t={}){let{priority:s=0}=t,i=this.subscribers[e]||[],n=i.length,a={fn:r,priority:s};if(n<=0)this.subscribers[e]=[a];else{let u=n;for(let l=i.length-1;l>=0;l--){let L=i[l];if(s<=L.priority)break;u-=1}i.splice(u,0,a)}return()=>{this.off(e,r)}}onCall(e){for(let[r,t]of Object.entries(e))this.on(r,t)}once(e,r){let t=async(...s)=>(this.off(e,t),await Promise.resolve(r(...s)));return this.on(e,t),()=>{this.off(e,r)}}off(e,r){return this.subscribers[e]=(this.subscribers[e]||[]).filter(t=>r&&t.fn!==r),this}removeAllListeners(){return this.subscribers={},this}waitOn(e,r=1e3){return new Promise((t,s)=>{let i,n=this.once(e,a=>{i?.(),t(a)});i=y(()=>{n(),s(new Error("Did not respond in time"))},r)})}};function h(){let o=c().emitter;return o||(o=new m,c().emitter=o),o}export{m as a,h as b};
2
- //# sourceMappingURL=chunk-L32SZCS2.js.map
1
+ import{c as b}from"./chunk-OTNXCBEK.js";import{a as y}from"./chunk-LZAJKLTJ.js";import{a as c}from"./chunk-S43L6UXW.js";var m=class{constructor(){this.subscribers={};this.subscribersOnAny=[];this._logEmitter=b("zeed:emitter","warn");this.call=new Proxy({},{get:(e,r)=>async(...t)=>await this.emit(r,...t)});this.addEventListener=this.on.bind(this);this.removeEventListener=this.off.bind(this)}async getAll(e,...r){try{let t=this.subscribers[e]||[];if(this._logEmitter.debug("emit",this?.constructor?.name,e,...r,t),this.subscribersOnAny.forEach(s=>s(e,...r)),t.length>0){let s=t.map(({fn:i})=>{try{return Promise.resolve(i(...r))}catch(n){this._logEmitter.warn("emit warning:",n)}return null}).filter(i=>i!=null);return await Promise.all(s)}}catch(t){this._logEmitter.error("emit exception",t)}}async get(e,...r){let t=await this.getAll(e,...r);if(t&&t.length>0)return t[0]}async emit(e,...r){return await this.getAll(e,...r)!=null}onAny(e){this.subscribersOnAny.push(e)}on(e,r,t={}){let{priority:s=0}=t,i=this.subscribers[e]||[],n=i.length,a={fn:r,priority:s};if(n<=0)this.subscribers[e]=[a];else{let u=n;for(let l=i.length-1;l>=0;l--){let L=i[l];if(s<=L.priority)break;u-=1}i.splice(u,0,a)}return()=>{this.off(e,r)}}onCall(e){for(let[r,t]of Object.entries(e))this.on(r,t)}once(e,r){let t=async(...s)=>(this.off(e,t),await Promise.resolve(r(...s)));return this.on(e,t),()=>{this.off(e,r)}}off(e,r){return this.subscribers[e]=(this.subscribers[e]||[]).filter(t=>r&&t.fn!==r),this}removeAllListeners(){return this.subscribers={},this}waitOn(e,r=1e3){return new Promise((t,s)=>{let i,n=this.once(e,a=>{i?.(),t(a)});i=y(()=>{n(),s(new Error("Did not respond in time"))},r)})}};function h(){let o=c().emitter;return o||(o=new m,c().emitter=o),o}export{m as a,h as b};
2
+ //# sourceMappingURL=chunk-5BU2RTLI.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkOSJGUOU2cjs = require('./chunk-OSJGUOU2.cjs');var _chunkXT67IKLCcjs = require('./chunk-XT67IKLC.cjs');var _chunkWIUZ5ACAcjs = require('./chunk-WIUZ5ACA.cjs');var _chunkW4EPLFUEcjs = require('./chunk-W4EPLFUE.cjs');var _chunkD5MT7SAAcjs = require('./chunk-D5MT7SAA.cjs');var _chunkPWWR4H26cjs = require('./chunk-PWWR4H26.cjs');function l(e,r){return _chunkWIUZ5ACAcjs.a.call(void 0, o=>{_chunkXT67IKLCcjs.f.call(void 0, )&&(typeof localStorage<"u"&&!_chunkPWWR4H26cjs.r.call(void 0, _optionalChain([localStorage, 'optionalAccess', _ => _.getItem, 'call', _2 => _2("zeed")])))&&(o.setHandlers([_chunkD5MT7SAAcjs.a.call(void 0, )]),o.setFactory(_chunkW4EPLFUEcjs.a.call(void 0, {})))})(e,r)}function u(e,r,o){return _chunkOSJGUOU2cjs.a.call(void 0, l,e,r,o)}exports.a = l; exports.b = u;
2
- //# sourceMappingURL=chunk-CDRKVTXH.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkOSJGUOU2cjs = require('./chunk-OSJGUOU2.cjs');var _chunkXT67IKLCcjs = require('./chunk-XT67IKLC.cjs');var _chunkWIUZ5ACAcjs = require('./chunk-WIUZ5ACA.cjs');var _chunkW4EPLFUEcjs = require('./chunk-W4EPLFUE.cjs');var _chunkWZXFXFPZcjs = require('./chunk-WZXFXFPZ.cjs');var _chunkPWWR4H26cjs = require('./chunk-PWWR4H26.cjs');function l(e,r){return _chunkWIUZ5ACAcjs.a.call(void 0, o=>{_chunkXT67IKLCcjs.f.call(void 0, )&&(typeof localStorage<"u"&&!_chunkPWWR4H26cjs.r.call(void 0, _optionalChain([localStorage, 'optionalAccess', _ => _.getItem, 'call', _2 => _2("zeed")])))&&(o.setHandlers([_chunkWZXFXFPZcjs.a.call(void 0, )]),o.setFactory(_chunkW4EPLFUEcjs.a.call(void 0, {})))})(e,r)}function u(e,r,o){return _chunkOSJGUOU2cjs.a.call(void 0, l,e,r,o)}exports.a = l; exports.b = u;
2
+ //# sourceMappingURL=chunk-5RS7ZPJW.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-CDRKVTXH.cjs","../src/browser/log/log-context-browser.ts"],"names":["Logger","name","level","getGlobalLogger","context","isBrowser","isEmpty","LoggerBrowserHandler","LoggerBrowserSetupDebugFactory","LoggerFromConfig","config","_LoggerFromConfig"],"mappings":"AAAA,qoBAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,SCSrOA,CAAAA,CAAOC,CAAAA,CAAeC,CAAAA,CAA4C,CAChF,OAAOC,iCAAAA,CAAiBC,EAAY,CAC9BC,iCAAAA,CAAU,EAAA,CAAM,OAAO,YAAA,CAAiB,GAAA,EAAc,CAACC,iCAAAA,gBAAQ,YAAA,2BAAc,OAAA,mBAAQ,MAAM,GAAC,CAAA,CAAA,EAAA,CAC9FF,CAAAA,CAAQ,WAAA,CAAY,CAACG,iCAAAA,CAAsB,CAAC,CAAA,CAC5CH,CAAAA,CAAQ,UAAA,CAAWI,iCAAAA,CAAgC,CAAC,CAAC,CAAA,CAEzD,CAAC,CAAA,CAAEP,CAAAA,CAAMC,CAAK,CAChB,CAGO,SAASO,CAAAA,CAAiBC,CAAAA,CAAmBT,CAAAA,CAAcC,CAAAA,CAA4C,CAC5G,OAAOS,iCAAAA,CAAkBX,CAAQU,CAAAA,CAAQT,CAAAA,CAAMC,CAAK,CACtD,CAAA,6BAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-CDRKVTXH.cjs","sourcesContent":[null,"import type { LoggerInterface, LogLevelAliasType } from '../../common/log/log-base'\nimport type { LogConfig } from '../../common/log/log-config'\nimport { isEmpty } from '../../common/data/is'\nimport { getGlobalLogger } from '../../common/log/log'\nimport { _LoggerFromConfig } from '../../common/log/log-config'\nimport { isBrowser } from '../../common/platform'\nimport { LoggerBrowserHandler } from './log-browser'\nimport { LoggerBrowserSetupDebugFactory } from './log-browser-factory'\n\nexport function Logger(name?: string, level?: LogLevelAliasType): LoggerInterface {\n return getGlobalLogger((context) => {\n if (isBrowser() && (typeof localStorage !== 'undefined' ? !isEmpty(localStorage?.getItem('zeed')) : false)) {\n context.setHandlers([LoggerBrowserHandler()]) // Fallback for previously registered Loggers\n context.setFactory(LoggerBrowserSetupDebugFactory({}))\n }\n })(name, level)\n}\n\n/** See LogConfig */\nexport function LoggerFromConfig(config: LogConfig, name: string, level?: LogLevelAliasType): LoggerInterface {\n return _LoggerFromConfig(Logger, config, name, level)\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-5RS7ZPJW.cjs","../src/browser/log/log-context-browser.ts"],"names":["Logger","name","level","getGlobalLogger","context","isBrowser","isEmpty","LoggerBrowserHandler","LoggerBrowserSetupDebugFactory","LoggerFromConfig","config","_LoggerFromConfig"],"mappings":"AAAA,qoBAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,SCSrOA,CAAAA,CAAOC,CAAAA,CAAeC,CAAAA,CAA4C,CAChF,OAAOC,iCAAAA,CAAiBC,EAAY,CAC9BC,iCAAAA,CAAU,EAAA,CAAM,OAAO,YAAA,CAAiB,GAAA,EAAc,CAACC,iCAAAA,gBAAQ,YAAA,2BAAc,OAAA,mBAAQ,MAAM,GAAC,CAAA,CAAA,EAAA,CAC9FF,CAAAA,CAAQ,WAAA,CAAY,CAACG,iCAAAA,CAAsB,CAAC,CAAA,CAC5CH,CAAAA,CAAQ,UAAA,CAAWI,iCAAAA,CAAgC,CAAC,CAAC,CAAA,CAEzD,CAAC,CAAA,CAAEP,CAAAA,CAAMC,CAAK,CAChB,CAGO,SAASO,CAAAA,CAAiBC,CAAAA,CAAmBT,CAAAA,CAAcC,CAAAA,CAA4C,CAC5G,OAAOS,iCAAAA,CAAkBX,CAAQU,CAAAA,CAAQT,CAAAA,CAAMC,CAAK,CACtD,CAAA,6BAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-5RS7ZPJW.cjs","sourcesContent":[null,"import type { LoggerInterface, LogLevelAliasType } from '../../common/log/log-base'\nimport type { LogConfig } from '../../common/log/log-config'\nimport { isEmpty } from '../../common/data/is'\nimport { getGlobalLogger } from '../../common/log/log'\nimport { _LoggerFromConfig } from '../../common/log/log-config'\nimport { isBrowser } from '../../common/platform'\nimport { LoggerBrowserHandler } from './log-browser'\nimport { LoggerBrowserSetupDebugFactory } from './log-browser-factory'\n\nexport function Logger(name?: string, level?: LogLevelAliasType): LoggerInterface {\n return getGlobalLogger((context) => {\n if (isBrowser() && (typeof localStorage !== 'undefined' ? !isEmpty(localStorage?.getItem('zeed')) : false)) {\n context.setHandlers([LoggerBrowserHandler()]) // Fallback for previously registered Loggers\n context.setFactory(LoggerBrowserSetupDebugFactory({}))\n }\n })(name, level)\n}\n\n/** See LogConfig */\nexport function LoggerFromConfig(config: LogConfig, name: string, level?: LogLevelAliasType): LoggerInterface {\n return _LoggerFromConfig(Logger, config, name, level)\n}\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkX375623Dcjs = require('./chunk-X375623D.cjs');var _chunkCR2WSRFBcjs = require('./chunk-CR2WSRFB.cjs');var r=class extends _chunkX375623Dcjs.a{constructor(){super(...arguments);this.buffer=[];this.dispose=_chunkCR2WSRFBcjs.g.call(void 0, )}postMessageRaw(e){try{if(_optionalChain([this, 'access', _ => _.channel, 'optionalAccess', _2 => _2.isConnected]))return this.channel.postMessage(e),!0}catch (e2){}return!1}flushBuffer(){for(;this.buffer.length;){let e=this.buffer.shift();if(e&&!this.postMessageRaw(e)){this.buffer.unshift(e);break}}}emptyBuffer(){this.buffer=[]}setChannel(e){this.dispose(),this.channel=e,e&&(this.dispose.add(e.on("message",s=>this.emit("message",s))),e.isConnected?this.flushBuffer():this.dispose.add(e.on("connect",()=>this.flushBuffer())))}deleteChannel(){this.setChannel()}postMessage(e){this.flushBuffer(),this.postMessageRaw(e)||this.buffer.push(e)}get isConnected(){return _optionalChain([this, 'access', _3 => _3.channel, 'optionalAccess', _4 => _4.isConnected])===!0}};exports.a = r;
2
- //# sourceMappingURL=chunk-5BBJL6OC.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkMFK27PDQcjs = require('./chunk-MFK27PDQ.cjs');var _chunkYOWA3XPMcjs = require('./chunk-YOWA3XPM.cjs');var r=class extends _chunkMFK27PDQcjs.a{constructor(){super(...arguments);this.buffer=[];this.dispose=_chunkYOWA3XPMcjs.g.call(void 0, )}postMessageRaw(e){try{if(_optionalChain([this, 'access', _ => _.channel, 'optionalAccess', _2 => _2.isConnected]))return this.channel.postMessage(e),!0}catch (e2){}return!1}flushBuffer(){for(;this.buffer.length;){let e=this.buffer.shift();if(e&&!this.postMessageRaw(e)){this.buffer.unshift(e);break}}}emptyBuffer(){this.buffer=[]}setChannel(e){this.dispose(),this.channel=e,e&&(this.dispose.add(e.on("message",s=>this.emit("message",s))),e.isConnected?this.flushBuffer():this.dispose.add(e.on("connect",()=>this.flushBuffer())))}deleteChannel(){this.setChannel()}postMessage(e){this.flushBuffer(),this.postMessageRaw(e)||this.buffer.push(e)}get isConnected(){return _optionalChain([this, 'access', _3 => _3.channel, 'optionalAccess', _4 => _4.isConnected])===!0}};exports.a = r;
2
+ //# sourceMappingURL=chunk-6ZTAQPF3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-5BBJL6OC.cjs","../src/common/msg/channel-resilient.ts"],"names":["ResillientChannel","Channel","useDisposeWithUtils","data","channel","msg"],"mappings":"AAAA,qoBAAwC,wDAAyC,ICOpEA,CAAAA,CAAN,MAAA,QAAgCC,mBAAQ,CAAxC,WAAA,CAAA,CAAA,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,CAEL,IAAA,CAAQ,MAAA,CAAkC,CAAC,CAAA,CAE3C,IAAA,CAAA,OAAA,CAAUC,iCAAAA,CAAoB,CAEtB,cAAA,CAAeC,CAAAA,CAAoC,CACzD,GAAI,CACF,EAAA,iBAAI,IAAA,mBAAK,OAAA,6BAAS,aAAA,CAChB,OAAA,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAYA,CAAI,CAAA,CACtB,CAAA,CAEX,CAAA,UACY,CAEZ,CACA,MAAO,CAAA,CACT,CAGA,WAAA,CAAA,CAAc,CACZ,GAAA,CAAA,CAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAA,CAAQ,CACzB,IAAMA,CAAAA,CAAO,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA,CAC/B,EAAA,CAAIA,CAAAA,EAAQ,CAAC,IAAA,CAAK,cAAA,CAAeA,CAAI,CAAA,CAAG,CACtC,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQA,CAAI,CAAA,CACxB,KACF,CACF,CACF,CAGA,WAAA,CAAA,CAAc,CACZ,IAAA,CAAK,MAAA,CAAS,CAAC,CACjB,CAKA,UAAA,CAAWC,CAAAA,CAAmB,CACvB,IAAA,CAAK,OAAA,CAAQ,CAAA,CAClB,IAAA,CAAK,OAAA,CAAUA,CAAAA,CACXA,CAAAA,EAAAA,CACF,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAIA,CAAAA,CAAQ,EAAA,CAAG,SAAA,CAAWC,CAAAA,EAAO,IAAA,CAAK,IAAA,CAAK,SAAA,CAAWA,CAAG,CAAC,CAAC,CAAA,CACpED,CAAAA,CAAQ,WAAA,CACV,IAAA,CAAK,WAAA,CAAY,CAAA,CAEjB,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAIA,CAAAA,CAAQ,EAAA,CAAG,SAAA,CAAW,CAAA,CAAA,EAAM,IAAA,CAAK,WAAA,CAAY,CAAC,CAAC,CAAA,CAGtE,CAGA,aAAA,CAAA,CAAgB,CACd,IAAA,CAAK,UAAA,CAAW,CAClB,CAEA,WAAA,CAAYD,CAAAA,CAAiC,CAC3C,IAAA,CAAK,WAAA,CAAY,CAAA,CACZ,IAAA,CAAK,cAAA,CAAeA,CAAI,CAAA,EAC3B,IAAA,CAAK,MAAA,CAAO,IAAA,CAAKA,CAAI,CACzB,CAEA,IAAI,WAAA,CAAA,CAAc,CAChB,uBAAO,IAAA,qBAAK,OAAA,6BAAS,aAAA,GAAgB,CAAA,CACvC,CACF,CAAA,CAAA,cAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-5BBJL6OC.cjs","sourcesContent":[null,"import { useDisposeWithUtils } from '../dispose-utils'\nimport { Channel } from './channel'\n\n/**\n * Channel that buffers if not connected.\n * The actual channel can be removed and replaced.\n */\nexport class ResillientChannel extends Channel {\n private channel?: Channel\n private buffer: (Uint8Array | string)[] = []\n\n dispose = useDisposeWithUtils()\n\n private postMessageRaw(data: Uint8Array | string): boolean {\n try {\n if (this.channel?.isConnected) {\n this.channel.postMessage(data)\n return true\n }\n }\n catch (err) {\n // log.warn('send failed', err)\n }\n return false\n }\n\n /** Post all buffered messages */\n flushBuffer() {\n while (this.buffer.length) {\n const data = this.buffer.shift()\n if (data && !this.postMessageRaw(data)) {\n this.buffer.unshift(data)\n break\n }\n }\n }\n\n /** Reset buffer without force sending */\n emptyBuffer() {\n this.buffer = []\n }\n\n /**\n * Set a new channel and flush buffer\n */\n setChannel(channel?: Channel) {\n void this.dispose()\n this.channel = channel\n if (channel) {\n this.dispose.add(channel.on('message', msg => this.emit('message', msg)))\n if (channel.isConnected)\n this.flushBuffer()\n else\n this.dispose.add(channel.on('connect', () => this.flushBuffer()))\n // channel.on('close', () => this.channels.delete(channel))\n }\n }\n\n /** @deprecated use `setChannel(undefined)` */\n deleteChannel() {\n this.setChannel()\n }\n\n postMessage(data: Uint8Array | string): void {\n this.flushBuffer()\n if (!this.postMessageRaw(data))\n this.buffer.push(data)\n }\n\n get isConnected() {\n return this.channel?.isConnected === true\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-6ZTAQPF3.cjs","../src/common/msg/channel-resilient.ts"],"names":["ResillientChannel","Channel","useDisposeWithUtils","data","channel","msg"],"mappings":"AAAA,qoBAAwC,wDAAyC,ICOpEA,CAAAA,CAAN,MAAA,QAAgCC,mBAAQ,CAAxC,WAAA,CAAA,CAAA,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,CAEL,IAAA,CAAQ,MAAA,CAAkC,CAAC,CAAA,CAE3C,IAAA,CAAA,OAAA,CAAUC,iCAAAA,CAAoB,CAEtB,cAAA,CAAeC,CAAAA,CAAoC,CACzD,GAAI,CACF,EAAA,iBAAI,IAAA,mBAAK,OAAA,6BAAS,aAAA,CAChB,OAAA,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAYA,CAAI,CAAA,CACtB,CAAA,CAEX,CAAA,UACY,CAEZ,CACA,MAAO,CAAA,CACT,CAGA,WAAA,CAAA,CAAc,CACZ,GAAA,CAAA,CAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAA,CAAQ,CACzB,IAAMA,CAAAA,CAAO,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA,CAC/B,EAAA,CAAIA,CAAAA,EAAQ,CAAC,IAAA,CAAK,cAAA,CAAeA,CAAI,CAAA,CAAG,CACtC,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQA,CAAI,CAAA,CACxB,KACF,CACF,CACF,CAGA,WAAA,CAAA,CAAc,CACZ,IAAA,CAAK,MAAA,CAAS,CAAC,CACjB,CAKA,UAAA,CAAWC,CAAAA,CAAmB,CACvB,IAAA,CAAK,OAAA,CAAQ,CAAA,CAClB,IAAA,CAAK,OAAA,CAAUA,CAAAA,CACXA,CAAAA,EAAAA,CACF,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAIA,CAAAA,CAAQ,EAAA,CAAG,SAAA,CAAWC,CAAAA,EAAO,IAAA,CAAK,IAAA,CAAK,SAAA,CAAWA,CAAG,CAAC,CAAC,CAAA,CACpED,CAAAA,CAAQ,WAAA,CACV,IAAA,CAAK,WAAA,CAAY,CAAA,CAEjB,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAIA,CAAAA,CAAQ,EAAA,CAAG,SAAA,CAAW,CAAA,CAAA,EAAM,IAAA,CAAK,WAAA,CAAY,CAAC,CAAC,CAAA,CAGtE,CAGA,aAAA,CAAA,CAAgB,CACd,IAAA,CAAK,UAAA,CAAW,CAClB,CAEA,WAAA,CAAYD,CAAAA,CAAiC,CAC3C,IAAA,CAAK,WAAA,CAAY,CAAA,CACZ,IAAA,CAAK,cAAA,CAAeA,CAAI,CAAA,EAC3B,IAAA,CAAK,MAAA,CAAO,IAAA,CAAKA,CAAI,CACzB,CAEA,IAAI,WAAA,CAAA,CAAc,CAChB,uBAAO,IAAA,qBAAK,OAAA,6BAAS,aAAA,GAAgB,CAAA,CACvC,CACF,CAAA,CAAA,cAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-6ZTAQPF3.cjs","sourcesContent":[null,"import { useDisposeWithUtils } from '../dispose-utils'\nimport { Channel } from './channel'\n\n/**\n * Channel that buffers if not connected.\n * The actual channel can be removed and replaced.\n */\nexport class ResillientChannel extends Channel {\n private channel?: Channel\n private buffer: (Uint8Array | string)[] = []\n\n dispose = useDisposeWithUtils()\n\n private postMessageRaw(data: Uint8Array | string): boolean {\n try {\n if (this.channel?.isConnected) {\n this.channel.postMessage(data)\n return true\n }\n }\n catch (err) {\n // log.warn('send failed', err)\n }\n return false\n }\n\n /** Post all buffered messages */\n flushBuffer() {\n while (this.buffer.length) {\n const data = this.buffer.shift()\n if (data && !this.postMessageRaw(data)) {\n this.buffer.unshift(data)\n break\n }\n }\n }\n\n /** Reset buffer without force sending */\n emptyBuffer() {\n this.buffer = []\n }\n\n /**\n * Set a new channel and flush buffer\n */\n setChannel(channel?: Channel) {\n void this.dispose()\n this.channel = channel\n if (channel) {\n this.dispose.add(channel.on('message', msg => this.emit('message', msg)))\n if (channel.isConnected)\n this.flushBuffer()\n else\n this.dispose.add(channel.on('connect', () => this.flushBuffer()))\n // channel.on('close', () => this.channels.delete(channel))\n }\n }\n\n /** @deprecated use `setChannel(undefined)` */\n deleteChannel() {\n this.setChannel()\n }\n\n postMessage(data: Uint8Array | string): void {\n this.flushBuffer()\n if (!this.postMessageRaw(data))\n this.buffer.push(data)\n }\n\n get isConnected() {\n return this.channel?.isConnected === true\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk6XH2AGIHcjs = require('./chunk-6XH2AGIH.cjs');var _chunkT6G6S6LAcjs = require('./chunk-T6G6S6LA.cjs');var _promises = require('fs/promises');var _path = require('path');var _process = require('process'); var _process2 = _interopRequireDefault(_process);async function f(i){try{return await _promises.stat.call(void 0, i)}catch (e2){}}async function k(i){let t=await f(i);if(t==null)return;let{mtimeMs:s,size:n}=t;return`${i}|${s}|${n}`}async function u(i,t="",s=!0){let n=[],a=await _promises.readdir.call(void 0, _path.resolve.call(void 0, i,t));if(a!=null&&a.length>0)for(let e of a){if(e=_path.join.call(void 0, t,e),s&&_chunk6XH2AGIHcjs.c.call(void 0, e))continue;let r=_path.join.call(void 0, i,e),o=await f(r);o&&o.isDirectory()?n=n.concat(await u(i,e)||[]):n.push(e)}return n}async function P(i={}){let{pattern:t,filter:s,basePath:n=_process2.default.cwd(),ignoreHidden:a=!1}=i,e=await u(n,"",a);if(e=e.filter(r=>!(a&&(r.startsWith(".")||r.includes("/.")))),t&&(typeof t=="string"&&(t=_chunkT6G6S6LAcjs.a.call(void 0, t)),t instanceof RegExp)){let r=t;r.lastIndex=0,e=e.filter(o=>r.test(o))}return s&&(e=e.filter(s)),e}exports.a = f; exports.b = k; exports.c = u; exports.d = P;
2
- //# sourceMappingURL=chunk-SDCEAQZX.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkT6G6S6LAcjs = require('./chunk-T6G6S6LA.cjs');var _chunk6XH2AGIHcjs = require('./chunk-6XH2AGIH.cjs');var _promises = require('fs/promises');var _path = require('path');var _process = require('process'); var _process2 = _interopRequireDefault(_process);async function f(i){try{return await _promises.stat.call(void 0, i)}catch (e2){}}async function k(i){let t=await f(i);if(t==null)return;let{mtimeMs:s,size:n}=t;return`${i}|${s}|${n}`}async function u(i,t="",s=!0){let n=[],a=await _promises.readdir.call(void 0, _path.resolve.call(void 0, i,t));if(a!=null&&a.length>0)for(let e of a){if(e=_path.join.call(void 0, t,e),s&&_chunk6XH2AGIHcjs.c.call(void 0, e))continue;let r=_path.join.call(void 0, i,e),o=await f(r);o&&o.isDirectory()?n=n.concat(await u(i,e)||[]):n.push(e)}return n}async function P(i={}){let{pattern:t,filter:s,basePath:n=_process2.default.cwd(),ignoreHidden:a=!1}=i,e=await u(n,"",a);if(e=e.filter(r=>!(a&&(r.startsWith(".")||r.includes("/.")))),t&&(typeof t=="string"&&(t=_chunkT6G6S6LAcjs.a.call(void 0, t)),t instanceof RegExp)){let r=t;r.lastIndex=0,e=e.filter(o=>r.test(o))}return s&&(e=e.filter(s)),e}exports.a = f; exports.b = k; exports.c = u; exports.d = P;
2
+ //# sourceMappingURL=chunk-7THBTD5T.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-SDCEAQZX.cjs","../src/node/files-async.ts"],"names":["getStatAsync","path","stat","getFingerprintAsync","mtimeMs","size"],"mappings":"AAAA,iOAAwC,wDAAyC,uCCAnD,4BACA,oFACV,MAqCpB,SAAsBA,CAAAA,CAAaC,CAAAA,CAA8C,CAC/E,GAAI,CACF,OAAO,MAAMC,4BAAAA,CAAS,CACxB,CAAA,UACY,CAAE,CAChB,CASA,MAAA,SAAsBC,CAAAA,CAAoBF,CAAAA,CAA2C,CACnF,IAAMC,CAAAA,CAAO,MAAMF,CAAAA,CAAaC,CAAI,CAAA,CACpC,EAAA,CAAIC,CAAAA,EAAQ,IAAA,CACV,MAAA,CACF,GAAM,CAAE,OAAA,CAAAE,CAAAA,CAAS,IAAA,CAAAC,CAAK,CAAA,CAAIH,CAAAA,CAC1B,MAAO,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-SDCEAQZX.cjs","sourcesContent":[null,"import { readdir, stat } from 'node:fs/promises'\nimport { join, resolve } from 'node:path'\nimport process from 'node:process'\nimport { isHiddenPath } from './fs'\nimport { globToRegExp } from './glob'\n\ninterface StatsBase {\n isFile: () => boolean\n isDirectory: () => boolean\n isBlockDevice: () => boolean\n isCharacterDevice: () => boolean\n isSymbolicLink: () => boolean\n isFIFO: () => boolean\n isSocket: () => boolean\n dev: number\n ino: number\n mode: number\n nlink: number\n uid: number\n gid: number\n rdev: number\n size: number\n blksize: number\n blocks: number\n atimeMs: number\n mtimeMs: number\n ctimeMs: number\n birthtimeMs: number\n atime: Date\n mtime: Date\n ctime: Date\n birthtime: Date\n}\n\n/**\n * Retrieves the file system stats for the specified path asynchronously.\n * @param path - The path to the file or directory.\n * @returns A Promise that resolves to the file system stats (Stats) or undefined if an error occurs.\n */\nexport async function getStatAsync(path: string): Promise<StatsBase | undefined> {\n try {\n return await stat(path)\n }\n catch (err) { }\n}\n\n/**\n * Retrieves the fingerprint of a file asynchronously.\n * The fingerprint is a string representation of the file's path, modification time, and size.\n *\n * @param path - The path of the file.\n * @returns A promise that resolves to the fingerprint string, or undefined if the file does not exist.\n */\nexport async function getFingerprintAsync(path: string): Promise<string | undefined> {\n const stat = await getStatAsync(path)\n if (stat == null)\n return\n const { mtimeMs, size } = stat\n return `${path}|${mtimeMs}|${size}`\n}\n\nexport async function walkSyncAsync(rootFolder: string, subFolder = '', ignoreHidden = true) {\n let resultPaths: string[] = []\n const paths = await readdir(resolve(rootFolder, subFolder))\n if (paths != null && paths.length > 0) {\n for (let file of paths) {\n file = join(subFolder, file)\n if (ignoreHidden && isHiddenPath(file))\n continue\n const realFile = join(rootFolder, file)\n const stat = await getStatAsync(realFile)\n if (stat && stat.isDirectory())\n resultPaths = resultPaths.concat(await walkSyncAsync(rootFolder, file) || [])\n else\n resultPaths.push(file)\n }\n }\n return resultPaths\n}\n\nexport async function filesAsync(opt: {\n basePath?: string\n pattern?: string | RegExp\n filter?: (name: string) => boolean\n ignoreHidden?: boolean\n} = {}) {\n let {\n pattern,\n filter,\n basePath = process.cwd(),\n ignoreHidden = false,\n } = opt\n\n let paths = await walkSyncAsync(basePath, '', ignoreHidden)\n\n paths = paths.filter(\n path =>\n !(ignoreHidden && (path.startsWith('.') || path.includes('/.'))),\n )\n\n if (pattern) {\n if (typeof pattern === 'string')\n pattern = globToRegExp(pattern)\n if (pattern instanceof RegExp) {\n const rx = pattern\n rx.lastIndex = 0\n paths = paths.filter(path => rx.test(path))\n }\n }\n\n if (filter)\n paths = paths.filter(filter)\n\n return paths\n}\n\n// export function glob(patterns: string[], opt: {\n// cwd?: string,\n// dot?: boolean\n// })\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-7THBTD5T.cjs","../src/node/files-async.ts"],"names":["getStatAsync","path","stat","getFingerprintAsync","mtimeMs","size"],"mappings":"AAAA,iOAAwC,wDAAyC,uCCAnD,4BACA,oFACV,MAqCpB,SAAsBA,CAAAA,CAAaC,CAAAA,CAA8C,CAC/E,GAAI,CACF,OAAO,MAAMC,4BAAAA,CAAS,CACxB,CAAA,UACY,CAAE,CAChB,CASA,MAAA,SAAsBC,CAAAA,CAAoBF,CAAAA,CAA2C,CACnF,IAAMC,CAAAA,CAAO,MAAMF,CAAAA,CAAaC,CAAI,CAAA,CACpC,EAAA,CAAIC,CAAAA,EAAQ,IAAA,CACV,MAAA,CACF,GAAM,CAAE,OAAA,CAAAE,CAAAA,CAAS,IAAA,CAAAC,CAAK,CAAA,CAAIH,CAAAA,CAC1B,MAAO,CAAA,EAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-7THBTD5T.cjs","sourcesContent":[null,"import { readdir, stat } from 'node:fs/promises'\nimport { join, resolve } from 'node:path'\nimport process from 'node:process'\nimport { isHiddenPath } from './fs'\nimport { globToRegExp } from './glob'\n\ninterface StatsBase {\n isFile: () => boolean\n isDirectory: () => boolean\n isBlockDevice: () => boolean\n isCharacterDevice: () => boolean\n isSymbolicLink: () => boolean\n isFIFO: () => boolean\n isSocket: () => boolean\n dev: number\n ino: number\n mode: number\n nlink: number\n uid: number\n gid: number\n rdev: number\n size: number\n blksize: number\n blocks: number\n atimeMs: number\n mtimeMs: number\n ctimeMs: number\n birthtimeMs: number\n atime: Date\n mtime: Date\n ctime: Date\n birthtime: Date\n}\n\n/**\n * Retrieves the file system stats for the specified path asynchronously.\n * @param path - The path to the file or directory.\n * @returns A Promise that resolves to the file system stats (Stats) or undefined if an error occurs.\n */\nexport async function getStatAsync(path: string): Promise<StatsBase | undefined> {\n try {\n return await stat(path)\n }\n catch (err) { }\n}\n\n/**\n * Retrieves the fingerprint of a file asynchronously.\n * The fingerprint is a string representation of the file's path, modification time, and size.\n *\n * @param path - The path of the file.\n * @returns A promise that resolves to the fingerprint string, or undefined if the file does not exist.\n */\nexport async function getFingerprintAsync(path: string): Promise<string | undefined> {\n const stat = await getStatAsync(path)\n if (stat == null)\n return\n const { mtimeMs, size } = stat\n return `${path}|${mtimeMs}|${size}`\n}\n\nexport async function walkSyncAsync(rootFolder: string, subFolder = '', ignoreHidden = true) {\n let resultPaths: string[] = []\n const paths = await readdir(resolve(rootFolder, subFolder))\n if (paths != null && paths.length > 0) {\n for (let file of paths) {\n file = join(subFolder, file)\n if (ignoreHidden && isHiddenPath(file))\n continue\n const realFile = join(rootFolder, file)\n const stat = await getStatAsync(realFile)\n if (stat && stat.isDirectory())\n resultPaths = resultPaths.concat(await walkSyncAsync(rootFolder, file) || [])\n else\n resultPaths.push(file)\n }\n }\n return resultPaths\n}\n\nexport async function filesAsync(opt: {\n basePath?: string\n pattern?: string | RegExp\n filter?: (name: string) => boolean\n ignoreHidden?: boolean\n} = {}) {\n let {\n pattern,\n filter,\n basePath = process.cwd(),\n ignoreHidden = false,\n } = opt\n\n let paths = await walkSyncAsync(basePath, '', ignoreHidden)\n\n paths = paths.filter(\n path =>\n !(ignoreHidden && (path.startsWith('.') || path.includes('/.'))),\n )\n\n if (pattern) {\n if (typeof pattern === 'string')\n pattern = globToRegExp(pattern)\n if (pattern instanceof RegExp) {\n const rx = pattern\n rx.lastIndex = 0\n paths = paths.filter(path => rx.test(path))\n }\n }\n\n if (filter)\n paths = paths.filter(filter)\n\n return paths\n}\n\n// export function glob(patterns: string[], opt: {\n// cwd?: string,\n// dot?: boolean\n// })\n"]}
@@ -0,0 +1,2 @@
1
+ import{b as u,e as _,h as b,i as g,j as h,l as O}from"./chunk-7AQ7JFDC.js";var r=class{constructor(e,t){this.extend=e=>{let t={...this._object,...e};return R(t)};this.type=e,this._check=t??(()=>!0)}optional(){return this._optional=!0,this}default(e){return this._default=e,this}props(e){return this._props=e,this}describe(e){return this._props||(this._props={}),this._props.desc=e,this}},c=class extends r{};function o(n,e){let t=new c(n,e?._check);return e?._default!==void 0&&(t._default=e?._default),e?._optional!==void 0&&(t._optional=e?._optional),e?._props!==void 0&&(t._props=e?._props),e?._object!==void 0&&(t._object=e?._object),t}var a=class extends r{pattern(e){return this}};function j(){return new a("string",b)}function p(){return o("number",{_check:g})}var m=p,w=p,K=p;function A(){return o("int",{_check:h})}function P(){return o("boolean",{_check:O})}function I(){return o("none",{_check:n=>n==null,_optional:!0})}function v(){return o("any",{_check:n=>n!=null})}var T=class extends r{constructor(e){super("object",()=>!0),this._object=e}};function R(n){return new T(n)}function U(n){return new T(n)}var y=class extends r{constructor(e){super("union",t=>!0),this._union=e}};function V(n){return new y(n)}var d=class extends r{constructor(e){super("string",t=>e.includes(t)),this._enumValues=e}};function H(n){return o("literal",{_check:e=>e===n,_default:n})}function k(n){return new d(n)}function E(n){return o("tuple",{_check:e=>n.every((t,s)=>t._check(e[s]))})}var f=class extends r{constructor(e,t){super(e,_),this._type=t}};function F(n){return new f("array",n)}var x=class extends r{constructor(e,t,s){super(e,i=>u(i)),this._args=t,this._ret=s}};function L(n,e){return new x("function",n,e)}var l=class extends r{constructor(e,t,s){super(e,i=>u(i)),this._info=t,this._ret=s}};function z(n,e){return new l("rpc",n,e??I())}var N={string:j,number:p,int:A,boolean:P,none:I,any:v,enum:k,object:R,array:F,tuple:E,union:V,func:L,rpc:z,literal:H,stringLiterals:k,float:m,double:w,real:K,record:U};export{r as a,j as b,p as c,m as d,w as e,K as f,A as g,P as h,I as i,v as j,T as k,R as l,U as m,y as n,V as o,d as p,H as q,k as r,E as s,f as t,F as u,L as v,l as w,z as x,N as y};
2
+ //# sourceMappingURL=chunk-B3IJAAUT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/schema/schema.ts"],"sourcesContent":["// With many, many inspiration from https://github.com/badrap/valita MIT License as of 2024-09-10\n\nimport { isArray, isBoolean, isFunction, isInteger, isNumber, isString } from '../data/is'\n\nexport interface TypeProps {\n desc?: string\n}\n\n// export interface TypeAssert {\n// fn: (obj: any) => boolean | never\n// message?: string\n// }\n\nexport interface Type<T = unknown> {\n _default?: T\n _optional?: boolean\n _props?: TypeProps\n _object?: T\n readonly type: string\n readonly _check: (obj: any) => boolean\n optional: () => Type<T | undefined>\n default: (value: any) => Type<T>\n // parse: (obj: any) => T\n // map: (obj: any, fn: (this: Type<T>, obj: any, schema: Type<T>) => any) => any\n props: (props: TypeProps) => Type<T>\n describe: (msg: string) => Type<T>\n extend: <O>(obj: O) => Type<T & InferObject<O>>\n}\n\nexport abstract class TypeClass<T = unknown> implements Type<T> {\n readonly type\n readonly _check\n\n constructor(name: string, check?: (obj: any) => boolean) {\n this.type = name\n this._check = check ?? (() => true)\n }\n\n _object?: T\n\n _optional?: boolean\n\n optional(): TypeClass<T | undefined> { // todo keep the inherited class type\n this._optional = true\n return this\n }\n\n _default?: T\n\n default(value: any): TypeClass<T> { // todo keep the inherited class type\n this._default = value\n return this\n }\n\n // parse(obj: any): T {\n // if (obj == null) {\n // if (this._default != null) {\n // if (isFunction(this._default))\n // obj = this._default()\n // else\n // obj = this._default\n // }\n // }\n // if (obj == null && this._optional === true)\n // return undefined as any\n // if (obj == null)\n // throw new Error(`cannot be undefined, is ${obj}`)\n // if (!this._check || this._check(obj))\n // return obj\n // throw new Error('wrong value')\n // }\n\n // map(obj: any, fn: (this: Type<T>, obj: any, schema: Type<T>) => any): any {\n // return fn.call(this, obj, this) ?? obj\n // }\n\n _props?: TypeProps\n\n props(props: TypeProps) {\n this._props = props\n return this\n }\n\n describe(msg: string) {\n if (!this._props)\n this._props = {}\n this._props.desc = msg\n return this\n }\n\n extend: <O>(obj: O) => Type<T & InferObject<O>> = (obj: any) => {\n const newObj = { ...this._object, ...obj }\n return object(newObj) as any\n }\n}\n\nexport type Infer<T> = T extends Type<infer TT> ? TT : never\n\n// Helper\n\nclass TypeGeneric<T> extends TypeClass<T> {\n}\n\nfunction generic<T = unknown>(type: string, opt?: Partial<Type<T>>): Type<T> {\n const t = new TypeGeneric<T>(type, opt?._check)\n if (opt?._default !== undefined)\n t._default = opt?._default\n if (opt?._optional !== undefined)\n t._optional = opt?._optional\n if (opt?._props !== undefined)\n t._props = opt?._props\n if (opt?._object !== undefined)\n t._object = opt?._object\n return t\n}\n\n// Primitives\n\nclass TypeStringClass<T extends string> extends TypeClass<T> {\n pattern(rx: RegExp) {\n // this.ass\n return this\n }\n}\n\n/// Just a simple string type\nexport function string() {\n return new TypeStringClass<string>('string', isString)\n}\n\n/// Number as in Javascript, could be float or int\nexport function number() {\n return generic<number>('number', {\n _check: isNumber,\n })\n}\n\nexport const float = number\nexport const double = number\nexport const real = number\n\n/// Integer\nexport function int() {\n return generic<number>('int', {\n _check: isInteger,\n })\n}\n\n/// Boolean\nexport function boolean() {\n return generic<boolean>('boolean', {\n _check: isBoolean,\n })\n}\n\n// Like undefined | null in TS and nil in Swift\nexport function none() {\n return generic<undefined>('none', {\n _check: v => v == null,\n _optional: true,\n })\n}\n\n/// todo: appears to result in optional inside object\nexport function any<T = any>() {\n return generic<T>('any', {\n _check: v => v != null,\n // _optional: false,\n })\n}\n\n// Object\n\ntype ObjectFixOptional<T> = {\n [K in keyof T as undefined extends T[K] ? K : never]?: T[K] & {}\n} & {\n [K in keyof T as undefined extends T[K] ? never : K]: T[K] & {}\n}\n\ntype ObjectPretty<V> = Extract<{ [K in keyof V]: V[K] }, unknown>\n\nexport type InferObject<T> = ObjectPretty<ObjectFixOptional<{\n [K in keyof T]: Infer<T[K]>\n}>>\n\n// interface TypeObject<T = unknown> extends Type<T> {\n// _object: T\n// }\n\nexport class TypeObjectClass<T, O = InferObject<T>> extends TypeClass<O> {\n constructor(obj: T) {\n super('object', () => true)\n this._object = obj as any\n }\n\n // parse(obj: any) {\n // if (obj == null && this._optional === true)\n // return undefined\n // const newObj: any = {}\n // if (!isObject(obj))\n // return new Error('expected object input')\n // if (!isObject(this._object))\n // return new Error('expected object definition')\n // for (const [key, info] of Object.entries(this._object)) {\n // const value = info.parse((obj as any)[key])\n // if (value !== undefined)\n // newObj[key] = value\n // }\n // return newObj\n // }\n\n // map(obj: any, fn: (this: Type<O>, obj: any, schema: Type<O>) => any): any {\n // const result = fn.call(this as any, obj, this as any)\n // if (result !== undefined)\n // return result\n // const newObj: any = {}\n // if (obj) {\n // for (const [key, info] of Object.entries(this._object ?? {})) {\n // const value = (info as Type).map((obj as any)[key], fn as any)\n // if (value !== undefined)\n // newObj[key] = value\n // }\n // }\n // return newObj\n // }\n}\n\n/// Object that can have any properties\nexport function object<T>(tobj: T): Type<InferObject<T>> {\n return new TypeObjectClass(tobj)\n}\n\nexport function record<T extends Type>(tobj: T): Type<Record<string, Infer<T>>> {\n return new TypeObjectClass(tobj)\n}\n\n// const schemaRecord = record(int())\n// const schemaRecord = record(object({ a: int() }))\n// type SchemaRecord = Infer<typeof schemaRecord> // expected Record<string, number>\n\n// Union\n\ntype TransformToUnion<T extends (Type<any>)[]> = T extends Array<infer U> ? Infer<U> : never\n\nexport class TypeUnion<T> extends TypeClass<T> {\n _union: Type<any>[]\n constructor(unionTypes: Type<any>[]) {\n super('union', v => true) // todo\n this._union = unionTypes\n }\n}\n\n/// Union of types, like `string | number | boolean`\nexport function union<T extends (Type<any>)[]>(options: T): Type<TransformToUnion<T>> {\n return new TypeUnion<TransformToUnion<T>>(options)\n}\n\n// Literals\n\ntype Literal = string | number | bigint | boolean\n\nexport class TypeStringLiterals<T> extends TypeClass<T> {\n _enumValues: string[]\n constructor(values: string[]) {\n super('string', v => values.includes(v))\n this._enumValues = values\n }\n}\n\n/// todo: string?\nexport function literal<T extends Literal>(value: T): Type<T> {\n return generic<T>('literal', {\n _check: v => v === value,\n _default: value,\n })\n}\n\n/// Sting that can only be one of the values, like: `\"a\" | \"b\" | \"c\"``\nexport function stringLiterals<const T extends readonly string[], O = T[number]>(values: T): Type<O> {\n return new TypeStringLiterals<O>(values as any)\n}\n\n/// Sting that can only be one of the values, like: `\"a\" | \"b\" | \"c\"``\n// function zEnum<const T extends readonly (string | number | boolean | bigint)[], O = T[number]>(value: T): Type<O> {\n// return generic<O>('enum', {\n// _check: v => value.includes(v),\n// })\n// }\n\n// export { zEnum as enum } // Export as enum to avoid conflicts with real enum types\n\n// Functions\n\ntype TupleOutput<T extends Type[]> = {\n [K in keyof T]: T[K] extends Type<infer U> ? U : never\n}\n\ntype ArrayOutput<Head extends Type[], Rest extends Type | undefined> = [\n ...TupleOutput<Head>,\n ...(Rest extends Type ? Infer<Rest>[] : []),\n]\n\ntype ArrayType<\n Head extends Type[] = Type[],\n Rest extends Type | undefined = Type | undefined,\n> = Type<ArrayOutput<Head, Rest>>\n\n// Like an array but with fixed length and types\nexport function tuple<T extends [] | [Type, ...Type[]]>(items: T): ArrayType<T, undefined> {\n return generic('tuple', {\n _check: v => items.every((item, i) => item._check(v[i])),\n })\n}\n\nexport class TypeArrayClass<T, TT> extends TypeClass<T> {\n constructor(\n name: string,\n type: TT,\n ) {\n super(name, isArray)\n this._type = type\n }\n\n _type?: TT\n}\n\nexport function array<T>(itemType: Type<T>): Type<T[]> {\n return new TypeArrayClass<T[], Type<T>>('array', itemType)\n}\n\n// const tt = tuple([number(), string(), boolean()])\n// type ttt = Infer<typeof tt> // expected [number, string, boolean]\n\n// type Test1 = Expect<IsEqual<ttt, [number, string, boolean]>> // Should pass\n\nclass TypeFuncClass<T, Args, Ret> extends TypeClass<T> {\n constructor(\n name: string,\n args: Args,\n ret?: Ret,\n ) {\n super(name, v => isFunction(v))\n this._args = args\n this._ret = ret\n }\n\n _args?: Args\n _ret?: Ret\n}\n\n/// Regular function\nexport function func<\n Args extends [Type<unknown>, ...Type<any>[]] | [],\n Ret = Type,\n T = (...args: TupleOutput<Args>) => Infer<Ret>,\n>(args: Args, ret: Ret): Type<T> {\n return new TypeFuncClass<T, Args, Ret>('function', args, ret)\n}\n\nexport class TypeRpcClass<T, Info, Ret> extends TypeClass<T> {\n constructor(\n name: string,\n info?: Info,\n ret?: Ret,\n ) {\n super(name, v => isFunction(v))\n this._info = info\n this._ret = ret\n }\n\n _info?: Info\n _ret?: Ret\n}\n\n/// RPC function that only takes one argument and returns a promise\nexport function rpc<\n Info extends Type<unknown> | undefined = undefined,\n Ret extends Type<unknown> = Type<void>, // ReturnType<typeof none>,\n T = Info extends undefined ? () => Infer<Ret> : (info: Infer<Info>) => Infer<Ret> | Promise<Infer<Ret>>,\n>(info?: Info, ret?: Ret) {\n return new TypeRpcClass<T, Info, Ret>('rpc', info, ret ?? none() as Ret)\n}\n\n/// Reduce conflicts with real type names, use like z.string()\nexport const z = {\n string,\n number,\n int,\n boolean,\n none,\n any,\n enum: stringLiterals,\n object,\n array,\n tuple,\n union,\n func,\n rpc,\n literal,\n stringLiterals,\n float,\n double,\n real,\n record,\n}\n"],"mappings":"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","names":["TypeClass","name","check","obj","newObj","object","value","props","msg","TypeGeneric","generic","type","opt","TypeStringClass","rx","string","isString","number","isNumber","float","double","real","int","isInteger","boolean","isBoolean","none","v","any","TypeObjectClass","tobj","record","TypeUnion","unionTypes","union","options","TypeStringLiterals","values","literal","stringLiterals","tuple","items","item","i","TypeArrayClass","isArray","array","itemType","TypeFuncClass","args","ret","isFunction","func","TypeRpcClass","info","rpc","z"]}
@@ -1,2 +1,2 @@
1
- import{a as c}from"./chunk-TSLCXYM6.js";import{b as y}from"./chunk-3VDPEJAS.js";import{f as l}from"./chunk-7AQ7JFDC.js";import{g as r}from"./chunk-JQXSUJUH.js";function a(s,f){if(l(s)&&l(f)){let i=Object.keys(f);for(let e of y(Object.keys(s),i))delete s[e];for(let e of i){let n=f[e],o=s[e];l(n)?l(o)?a(o,n):s[e]=r(n):n!==o&&(s[e]=n)}}return s}function t(s,f){let i={};for(let e of y(Object.keys(s),Object.keys(f)))i[e]=null;for(let[e,n]of Object.entries(f)){let o=s[e];if(l(n)){let u=t(o??{},n);u!=null&&(i[e]=u)}else n==null&&o==null||c(n,o)||(i[e]=n??null)}return Object.keys(i).length>0?i:void 0}function k(s,f){if(l(s)&&l(f)){let i=Object.keys(f);for(let e of i){let n=f[e],o=s[e];n===null?o!=null&&delete s[e]:l(n)?l(o)?k(o,n):s[e]=r(n):n!==o&&(s[e]=n)}}return s}export{a,t as b,k as c};
2
- //# sourceMappingURL=chunk-HK7ZBUGP.js.map
1
+ import{a as c}from"./chunk-ZN3QH3MM.js";import{b as y}from"./chunk-TY2IJCPS.js";import{f as l}from"./chunk-7AQ7JFDC.js";import{g as r}from"./chunk-JQXSUJUH.js";function a(s,f){if(l(s)&&l(f)){let i=Object.keys(f);for(let e of y(Object.keys(s),i))delete s[e];for(let e of i){let n=f[e],o=s[e];l(n)?l(o)?a(o,n):s[e]=r(n):n!==o&&(s[e]=n)}}return s}function t(s,f){let i={};for(let e of y(Object.keys(s),Object.keys(f)))i[e]=null;for(let[e,n]of Object.entries(f)){let o=s[e];if(l(n)){let u=t(o??{},n);u!=null&&(i[e]=u)}else n==null&&o==null||c(n,o)||(i[e]=n??null)}return Object.keys(i).length>0?i:void 0}function k(s,f){if(l(s)&&l(f)){let i=Object.keys(f);for(let e of i){let n=f[e],o=s[e];n===null?o!=null&&delete s[e]:l(n)?l(o)?k(o,n):s[e]=r(n):n!==o&&(s[e]=n)}}return s}export{a,t as b,k as c};
2
+ //# sourceMappingURL=chunk-BQTR3A4K.js.map
@@ -0,0 +1 @@
1
+ "use strict";//# sourceMappingURL=chunk-CIJIUVZT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-CIJIUVZT.cjs"],"names":[],"mappings":"AAAA","file":"/home/runner/work/zeed/zeed/dist/chunk-CIJIUVZT.cjs"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkDIIKUZU5cjs = require('./chunk-DIIKUZU5.cjs');var _chunkBNMSTFVYcjs = require('./chunk-BNMSTFVY.cjs');var _chunkDY6RMJJKcjs = require('./chunk-DY6RMJJK.cjs');var _chunkWGYEX7AJcjs = require('./chunk-WGYEX7AJ.cjs');var _chunkXHBPFXWQcjs = require('./chunk-XHBPFXWQ.cjs');function N(w={}){let{maxParallel:F=3,name:U=_chunkDY6RMJJKcjs.u.call(void 0, "pool"),idConflictResolution:j="memoize"}=w,d=new _chunkBNMSTFVYcjs.a,y=_chunkWGYEX7AJcjs.b.call(void 0, );y.add(v);let m=new (0, _chunkDIIKUZU5cjs.a)({name:U});m.on("progressCancelled",v);let u=0,c=0,f=0,k=0,i={};async function I(){if(u>0){let[t,e]=_chunkXHBPFXWQcjs.a.call(void 0, );return d.once("didFinish",e),t}}async function z(){for(let t of Object.keys(i))i[t].state==="finished"&&(await i[t].progress.dispose(),delete i[t])}function M(){d.emit("didFinish"),u=0,c=0,z(),m.reset()}function p(){let t=0,e=0;for(let{max:n,resolved:a,state:o}of Object.values(i))t+=n,e+=o==="finished"?n:Math.min(n,a);d.emit("didUpdate",u,c,t,e)}function P(){if(p(),u>0&&u===c&&M(),f>=F)return;let t=Object.values(i).filter(e=>e.state==="waiting");if(t.length>0){let e;for(let n of t)n.group!=null&&Object.values(i).some(a=>a.state==="running"&&a.id!==n.id&&a.group===n.group)||(e==null||n.priority<e.priority)&&(e=n);if(e!=null){let n=e.id,a=e.done;e.state="running",++f,d.emit("didStart",n);let o=r=>{e&&(e.result=r,e.state="finished",e.resolved=e.max,_optionalChain([e, 'access', _ => _.progress, 'optionalAccess', _2 => _2.setCompleted, 'call', _3 => _3()])),--f,++c,P()};e.task(e).then(r=>{a(r),d.emit("didResolve",n,r),o(r)}).catch(r=>{a(),d.emit("didReject",n,r),o()})}}}function l(t){let e=i[t];e&&e.state==="waiting"&&(i[t].state="finished",++c,d.emit("didCancel",t),i[t].progress.dispose(),p())}function v(){Object.keys(i).forEach(l)}function E(t){return i[t]!=null}function O(t,e={}){let n,a=new Promise(s=>n=s),o=_nullishCoalesce(e.id, () => (_chunkDY6RMJJKcjs.q.call(void 0, )));if(i[o]!=null){let s=_nullishCoalesce(e.idConflictResolution, () => (j));if(s==="replace")l(o);else if(s==="memoize"||s==="prioritize"){let T=i[o];return s==="prioritize"&&(T.priority=++k),{id:o,promise:(async()=>{if(T.state==="finished")return i[o].result})(),dispose:()=>l(o),cancel:()=>l(o)}}else throw new Error(`Pool task with id=${o} already exists!`)}let r=new (0, _chunkDIIKUZU5cjs.a)({name:o,totalUnits:_nullishCoalesce(e.max, () => (1)),completeUnits:_nullishCoalesce(e.resolved, () => (0))});return m.addChild(r),i[o]={id:o,task:t,priority:++k,group:e.group,state:"waiting",max:_nullishCoalesce(e.max, () => (1)),resolved:_nullishCoalesce(e.resolved, () => (0)),done:n,payload:e.payload,progress:r,setMax(s){r.setTotalUnits(s),i[o].max=s,p()},setResolved(s){r.setCompletetedUnits(s),i[o].resolved=s,p()},incResolved(s=1){r.incCompletedUnits(s),i[o].resolved+=s,p()}},++u,P(),{id:o,promise:a,dispose:()=>l(o),cancel:()=>l(o)}}return{events:d,cancel:l,cancelAll:v,hasById:E,progress:m,enqueue:O,dispose:y,waitFinishAll:I}}exports.a = N;
2
- //# sourceMappingURL=chunk-BPESVGQQ.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkEJHDKRDIcjs = require('./chunk-EJHDKRDI.cjs');var _chunkUKLSZJTQcjs = require('./chunk-UKLSZJTQ.cjs');var _chunkXQZFGGB5cjs = require('./chunk-XQZFGGB5.cjs');var _chunkXHBPFXWQcjs = require('./chunk-XHBPFXWQ.cjs');var _chunkKOZF2WEAcjs = require('./chunk-KOZF2WEA.cjs');function N(w={}){let{maxParallel:F=3,name:U=_chunkKOZF2WEAcjs.u.call(void 0, "pool"),idConflictResolution:j="memoize"}=w,d=new _chunkUKLSZJTQcjs.a,y=_chunkXQZFGGB5cjs.b.call(void 0, );y.add(v);let m=new (0, _chunkEJHDKRDIcjs.a)({name:U});m.on("progressCancelled",v);let u=0,c=0,f=0,k=0,i={};async function I(){if(u>0){let[t,e]=_chunkXHBPFXWQcjs.a.call(void 0, );return d.once("didFinish",e),t}}async function z(){for(let t of Object.keys(i))i[t].state==="finished"&&(await i[t].progress.dispose(),delete i[t])}function M(){d.emit("didFinish"),u=0,c=0,z(),m.reset()}function p(){let t=0,e=0;for(let{max:n,resolved:a,state:o}of Object.values(i))t+=n,e+=o==="finished"?n:Math.min(n,a);d.emit("didUpdate",u,c,t,e)}function P(){if(p(),u>0&&u===c&&M(),f>=F)return;let t=Object.values(i).filter(e=>e.state==="waiting");if(t.length>0){let e;for(let n of t)n.group!=null&&Object.values(i).some(a=>a.state==="running"&&a.id!==n.id&&a.group===n.group)||(e==null||n.priority<e.priority)&&(e=n);if(e!=null){let n=e.id,a=e.done;e.state="running",++f,d.emit("didStart",n);let o=r=>{e&&(e.result=r,e.state="finished",e.resolved=e.max,_optionalChain([e, 'access', _ => _.progress, 'optionalAccess', _2 => _2.setCompleted, 'call', _3 => _3()])),--f,++c,P()};e.task(e).then(r=>{a(r),d.emit("didResolve",n,r),o(r)}).catch(r=>{a(),d.emit("didReject",n,r),o()})}}}function l(t){let e=i[t];e&&e.state==="waiting"&&(i[t].state="finished",++c,d.emit("didCancel",t),i[t].progress.dispose(),p())}function v(){Object.keys(i).forEach(l)}function E(t){return i[t]!=null}function O(t,e={}){let n,a=new Promise(s=>n=s),o=_nullishCoalesce(e.id, () => (_chunkKOZF2WEAcjs.q.call(void 0, )));if(i[o]!=null){let s=_nullishCoalesce(e.idConflictResolution, () => (j));if(s==="replace")l(o);else if(s==="memoize"||s==="prioritize"){let T=i[o];return s==="prioritize"&&(T.priority=++k),{id:o,promise:(async()=>{if(T.state==="finished")return i[o].result})(),dispose:()=>l(o),cancel:()=>l(o)}}else throw new Error(`Pool task with id=${o} already exists!`)}let r=new (0, _chunkEJHDKRDIcjs.a)({name:o,totalUnits:_nullishCoalesce(e.max, () => (1)),completeUnits:_nullishCoalesce(e.resolved, () => (0))});return m.addChild(r),i[o]={id:o,task:t,priority:++k,group:e.group,state:"waiting",max:_nullishCoalesce(e.max, () => (1)),resolved:_nullishCoalesce(e.resolved, () => (0)),done:n,payload:e.payload,progress:r,setMax(s){r.setTotalUnits(s),i[o].max=s,p()},setResolved(s){r.setCompletetedUnits(s),i[o].resolved=s,p()},incResolved(s=1){r.incCompletedUnits(s),i[o].resolved+=s,p()}},++u,P(),{id:o,promise:a,dispose:()=>l(o),cancel:()=>l(o)}}return{events:d,cancel:l,cancelAll:v,hasById:E,progress:m,enqueue:O,dispose:y,waitFinishAll:I}}exports.a = N;
2
+ //# sourceMappingURL=chunk-DR2IXKD3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-BPESVGQQ.cjs","../src/common/exec/pool.ts"],"names":["usePool","config","maxParallel","name","uname","idConflictResolution","events","Emitter","dispose","useDispose","cancelAll","progress","Progress","countMax","countResolved","currentParallel","priority","tasks","waitFinishAll","promise","resolve","createPromise","cleanupFinished","id","didFinish","didUpdate","presentMax","presentResolved","max","resolved","state","performNext","waitingTasks","t","taskInfo","tt","done","taskFinished","result","err","cancel","hasById","enqueue","task","uuid","resolution","runningTask","taskProgress","units","inc"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-BPESVGQQ.cjs","sourcesContent":[null,"import { useDispose } from '../dispose-defer'\nimport { Emitter } from '../msg/emitter'\nimport { uname, uuid } from '../uuid'\nimport { Progress } from './progress'\nimport { createPromise } from './promise'\n\nexport type PoolTaskIdConflictResolution = 'replace' | 'memoize' | 'prioritize' | 'error'\n\n// export enum PoolTaskIdConflictResolution {\n// /**\n// * Tasks with same `id` are replaced. Newest wins.\n// */\n// replace = 0,\n\n// /**\n// * Task with same `id` will continue to run. Reference is returned with option to cancel.\n// * Named \"memoize\" because the result of the task should always be the same for the same `id`,\n// * like e.g. a download.\n// */\n// memoize = 1,\n\n// /** Like memoize, but try to put on top of the list */\n// prioritize = 2,\n\n// /**\n// * Tasks with same `id` throw error\n// */\n// error = 3,\n\n// }\n\nexport interface PoolConfig {\n name?: string\n maxParallel?: number\n idConflictResolution?: PoolTaskIdConflictResolution\n}\n\nexport type PoolTaskFn<T = any> = (taskInfo: PoolTask<T>) => Promise<T>\n\nexport type PoolTaskState = 'waiting' | 'running' | 'finished'\n\n/** Task */\nexport interface PoolTask<T> {\n readonly id: string\n readonly task: PoolTaskFn<T>\n readonly done: (result?: any) => void\n readonly setMax: (max: number) => void\n readonly setResolved: (resolved: number) => void\n readonly incResolved: (inc?: number) => void\n state: PoolTaskState\n priority: number\n /** Same groups are executed only one at a time */\n group?: string\n\n progress: Progress\n max: number\n resolved: number\n\n result?: T\n payload?: unknown\n}\n\nexport interface PoolTaskEvents {\n didUpdate: (\n max: number,\n resolved: number,\n presentMax: number,\n presentResolved: number\n ) => void\n didStart: (id: string) => void\n didCancel: (id: string) => void\n didFinish: () => void\n didResolve: (id: string, value: any) => void\n didReject: (id: string, error: any) => void\n}\n\n// todo: barrier\n// todo: dependents\n\nexport function usePool<T = any>(config: PoolConfig = {}) {\n const {\n maxParallel = 3,\n name = uname('pool'),\n idConflictResolution = 'memoize',\n } = config\n\n const events = new Emitter<PoolTaskEvents>()\n\n const dispose = useDispose()\n dispose.add(cancelAll)\n\n const progress = new Progress({ name })\n\n progress.on('progressCancelled', cancelAll)\n\n let countMax = 0\n let countResolved = 0\n let currentParallel = 0\n let priority = 0\n const tasks: Record<string, PoolTask<T>> = {}\n\n // const [allFinishedPromise, allFinishedResolve] = createPromise()\n\n async function waitFinishAll() {\n if (countMax > 0) {\n const [promise, resolve] = createPromise()\n events.once('didFinish', resolve)\n return promise\n }\n }\n\n async function cleanupFinished() {\n for (const id of Object.keys(tasks)) {\n const task = tasks[id]\n if (task.state === 'finished') {\n await tasks[id].progress.dispose()\n delete tasks[id]\n }\n }\n }\n\n function didFinish() {\n void events.emit('didFinish')\n // allFinishedResolve(countMax)\n countMax = 0\n countResolved = 0\n void cleanupFinished()\n progress.reset()\n }\n\n function didUpdate() {\n let presentMax = 0\n let presentResolved = 0\n for (const { max, resolved, state } of Object.values(tasks)) {\n presentMax += max\n presentResolved += state === 'finished' ? max : Math.min(max, resolved)\n }\n void events.emit(\n 'didUpdate',\n countMax,\n countResolved,\n presentMax,\n presentResolved,\n )\n }\n\n function performNext() {\n didUpdate()\n if (countMax > 0 && countMax === countResolved)\n didFinish()\n if (currentParallel >= maxParallel)\n return\n const waitingTasks = Object.values(tasks).filter(\n t => t.state === 'waiting',\n )\n if (waitingTasks.length > 0) {\n let taskInfo: PoolTask<T> | undefined\n for (const t of waitingTasks) {\n // Skip task if one of same group is running.\n // Forces serialized execution for subgroup of tasks.\n if (\n t.group != null\n && Object.values(tasks).some(\n tt =>\n tt.state === 'running'\n && tt.id !== t.id\n && tt.group === t.group,\n )\n ) {\n continue\n }\n\n // fifo\n if (taskInfo == null || t.priority < taskInfo.priority)\n taskInfo = t\n }\n if (taskInfo != null) {\n const id = taskInfo.id\n const done = taskInfo.done\n taskInfo.state = 'running'\n ++currentParallel\n void events.emit('didStart', id)\n\n const taskFinished = (result?: T) => {\n if (taskInfo) {\n taskInfo.result = result\n taskInfo.state = 'finished'\n taskInfo.resolved = taskInfo.max\n taskInfo.progress?.setCompleted()\n // void taskInfo.progress.dispose()\n }\n --currentParallel\n ++countResolved\n performNext()\n }\n\n taskInfo\n .task(taskInfo)\n .then((r) => {\n done(r)\n void events.emit('didResolve', id, r)\n taskFinished(r)\n })\n .catch((err) => {\n done()\n void events.emit('didReject', id, err)\n taskFinished()\n })\n }\n }\n }\n\n function cancel(id: string) {\n const taskInfo = tasks[id]\n if (taskInfo && taskInfo.state === 'waiting') {\n tasks[id].state = 'finished'\n ++countResolved\n void events.emit('didCancel', id)\n void tasks[id].progress.dispose()\n didUpdate()\n }\n }\n\n function cancelAll() {\n Object.keys(tasks).forEach(cancel)\n // progress.dispose()\n }\n\n function hasById(id: string) {\n return tasks[id] != null\n }\n\n function enqueue<P>(\n task: PoolTaskFn<T>,\n config: {\n id?: string\n max?: number\n resolved?: number\n group?: string\n idConflictResolution?: PoolTaskIdConflictResolution\n payload?: P\n } = {},\n ) {\n let done: any\n const promise: Promise<any> = new Promise(resolve => (done = resolve))\n const id = config.id ?? uuid()\n\n if (tasks[id] != null) {\n const resolution = config.idConflictResolution ?? idConflictResolution\n\n if (resolution === 'replace') {\n cancel(id)\n }\n else if (resolution === 'memoize' || resolution === 'prioritize') {\n const runningTask = tasks[id]\n\n if (resolution === 'prioritize')\n runningTask.priority = ++priority\n\n return {\n id,\n promise: (async () => {\n if (runningTask.state === 'finished')\n return tasks[id].result\n\n // todo: wait for task to finish\n })(),\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n else {\n throw new Error(`Pool task with id=${id} already exists!`)\n }\n }\n\n const taskProgress = new Progress({\n name: id,\n totalUnits: config.max ?? 1,\n completeUnits: config.resolved ?? 0,\n })\n\n progress.addChild(taskProgress)\n\n tasks[id] = {\n id,\n task,\n priority: ++priority,\n group: config.group,\n state: 'waiting',\n max: config.max ?? 1,\n resolved: config.resolved ?? 0,\n done,\n payload: config.payload,\n progress: taskProgress,\n\n /** @deprecated should use `.progress` */\n setMax(units) {\n taskProgress.setTotalUnits(units)\n tasks[id].max = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n setResolved(units) {\n taskProgress.setCompletetedUnits(units)\n tasks[id].resolved = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n incResolved(inc = 1) {\n taskProgress.incCompletedUnits(inc)\n tasks[id].resolved += inc\n didUpdate()\n },\n }\n ++countMax\n performNext()\n\n return {\n id,\n promise,\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n\n return {\n events,\n cancel,\n cancelAll,\n hasById,\n progress,\n enqueue,\n dispose,\n waitFinishAll,\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-DR2IXKD3.cjs","../src/common/exec/pool.ts"],"names":["usePool","config","maxParallel","name","uname","idConflictResolution","events","Emitter","dispose","useDispose","cancelAll","progress","Progress","countMax","countResolved","currentParallel","priority","tasks","waitFinishAll","promise","resolve","createPromise","cleanupFinished","id","didFinish","didUpdate","presentMax","presentResolved","max","resolved","state","performNext","waitingTasks","t","taskInfo","tt","done","taskFinished","result","err","cancel","hasById","enqueue","task","uuid","resolution","runningTask","taskProgress","units","inc"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-DR2IXKD3.cjs","sourcesContent":[null,"import { useDispose } from '../dispose-defer'\nimport { Emitter } from '../msg/emitter'\nimport { uname, uuid } from '../uuid'\nimport { Progress } from './progress'\nimport { createPromise } from './promise'\n\nexport type PoolTaskIdConflictResolution = 'replace' | 'memoize' | 'prioritize' | 'error'\n\n// export enum PoolTaskIdConflictResolution {\n// /**\n// * Tasks with same `id` are replaced. Newest wins.\n// */\n// replace = 0,\n\n// /**\n// * Task with same `id` will continue to run. Reference is returned with option to cancel.\n// * Named \"memoize\" because the result of the task should always be the same for the same `id`,\n// * like e.g. a download.\n// */\n// memoize = 1,\n\n// /** Like memoize, but try to put on top of the list */\n// prioritize = 2,\n\n// /**\n// * Tasks with same `id` throw error\n// */\n// error = 3,\n\n// }\n\nexport interface PoolConfig {\n name?: string\n maxParallel?: number\n idConflictResolution?: PoolTaskIdConflictResolution\n}\n\nexport type PoolTaskFn<T = any> = (taskInfo: PoolTask<T>) => Promise<T>\n\nexport type PoolTaskState = 'waiting' | 'running' | 'finished'\n\n/** Task */\nexport interface PoolTask<T> {\n readonly id: string\n readonly task: PoolTaskFn<T>\n readonly done: (result?: any) => void\n readonly setMax: (max: number) => void\n readonly setResolved: (resolved: number) => void\n readonly incResolved: (inc?: number) => void\n state: PoolTaskState\n priority: number\n /** Same groups are executed only one at a time */\n group?: string\n\n progress: Progress\n max: number\n resolved: number\n\n result?: T\n payload?: unknown\n}\n\nexport interface PoolTaskEvents {\n didUpdate: (\n max: number,\n resolved: number,\n presentMax: number,\n presentResolved: number\n ) => void\n didStart: (id: string) => void\n didCancel: (id: string) => void\n didFinish: () => void\n didResolve: (id: string, value: any) => void\n didReject: (id: string, error: any) => void\n}\n\n// todo: barrier\n// todo: dependents\n\nexport function usePool<T = any>(config: PoolConfig = {}) {\n const {\n maxParallel = 3,\n name = uname('pool'),\n idConflictResolution = 'memoize',\n } = config\n\n const events = new Emitter<PoolTaskEvents>()\n\n const dispose = useDispose()\n dispose.add(cancelAll)\n\n const progress = new Progress({ name })\n\n progress.on('progressCancelled', cancelAll)\n\n let countMax = 0\n let countResolved = 0\n let currentParallel = 0\n let priority = 0\n const tasks: Record<string, PoolTask<T>> = {}\n\n // const [allFinishedPromise, allFinishedResolve] = createPromise()\n\n async function waitFinishAll() {\n if (countMax > 0) {\n const [promise, resolve] = createPromise()\n events.once('didFinish', resolve)\n return promise\n }\n }\n\n async function cleanupFinished() {\n for (const id of Object.keys(tasks)) {\n const task = tasks[id]\n if (task.state === 'finished') {\n await tasks[id].progress.dispose()\n delete tasks[id]\n }\n }\n }\n\n function didFinish() {\n void events.emit('didFinish')\n // allFinishedResolve(countMax)\n countMax = 0\n countResolved = 0\n void cleanupFinished()\n progress.reset()\n }\n\n function didUpdate() {\n let presentMax = 0\n let presentResolved = 0\n for (const { max, resolved, state } of Object.values(tasks)) {\n presentMax += max\n presentResolved += state === 'finished' ? max : Math.min(max, resolved)\n }\n void events.emit(\n 'didUpdate',\n countMax,\n countResolved,\n presentMax,\n presentResolved,\n )\n }\n\n function performNext() {\n didUpdate()\n if (countMax > 0 && countMax === countResolved)\n didFinish()\n if (currentParallel >= maxParallel)\n return\n const waitingTasks = Object.values(tasks).filter(\n t => t.state === 'waiting',\n )\n if (waitingTasks.length > 0) {\n let taskInfo: PoolTask<T> | undefined\n for (const t of waitingTasks) {\n // Skip task if one of same group is running.\n // Forces serialized execution for subgroup of tasks.\n if (\n t.group != null\n && Object.values(tasks).some(\n tt =>\n tt.state === 'running'\n && tt.id !== t.id\n && tt.group === t.group,\n )\n ) {\n continue\n }\n\n // fifo\n if (taskInfo == null || t.priority < taskInfo.priority)\n taskInfo = t\n }\n if (taskInfo != null) {\n const id = taskInfo.id\n const done = taskInfo.done\n taskInfo.state = 'running'\n ++currentParallel\n void events.emit('didStart', id)\n\n const taskFinished = (result?: T) => {\n if (taskInfo) {\n taskInfo.result = result\n taskInfo.state = 'finished'\n taskInfo.resolved = taskInfo.max\n taskInfo.progress?.setCompleted()\n // void taskInfo.progress.dispose()\n }\n --currentParallel\n ++countResolved\n performNext()\n }\n\n taskInfo\n .task(taskInfo)\n .then((r) => {\n done(r)\n void events.emit('didResolve', id, r)\n taskFinished(r)\n })\n .catch((err) => {\n done()\n void events.emit('didReject', id, err)\n taskFinished()\n })\n }\n }\n }\n\n function cancel(id: string) {\n const taskInfo = tasks[id]\n if (taskInfo && taskInfo.state === 'waiting') {\n tasks[id].state = 'finished'\n ++countResolved\n void events.emit('didCancel', id)\n void tasks[id].progress.dispose()\n didUpdate()\n }\n }\n\n function cancelAll() {\n Object.keys(tasks).forEach(cancel)\n // progress.dispose()\n }\n\n function hasById(id: string) {\n return tasks[id] != null\n }\n\n function enqueue<P>(\n task: PoolTaskFn<T>,\n config: {\n id?: string\n max?: number\n resolved?: number\n group?: string\n idConflictResolution?: PoolTaskIdConflictResolution\n payload?: P\n } = {},\n ) {\n let done: any\n const promise: Promise<any> = new Promise(resolve => (done = resolve))\n const id = config.id ?? uuid()\n\n if (tasks[id] != null) {\n const resolution = config.idConflictResolution ?? idConflictResolution\n\n if (resolution === 'replace') {\n cancel(id)\n }\n else if (resolution === 'memoize' || resolution === 'prioritize') {\n const runningTask = tasks[id]\n\n if (resolution === 'prioritize')\n runningTask.priority = ++priority\n\n return {\n id,\n promise: (async () => {\n if (runningTask.state === 'finished')\n return tasks[id].result\n\n // todo: wait for task to finish\n })(),\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n else {\n throw new Error(`Pool task with id=${id} already exists!`)\n }\n }\n\n const taskProgress = new Progress({\n name: id,\n totalUnits: config.max ?? 1,\n completeUnits: config.resolved ?? 0,\n })\n\n progress.addChild(taskProgress)\n\n tasks[id] = {\n id,\n task,\n priority: ++priority,\n group: config.group,\n state: 'waiting',\n max: config.max ?? 1,\n resolved: config.resolved ?? 0,\n done,\n payload: config.payload,\n progress: taskProgress,\n\n /** @deprecated should use `.progress` */\n setMax(units) {\n taskProgress.setTotalUnits(units)\n tasks[id].max = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n setResolved(units) {\n taskProgress.setCompletetedUnits(units)\n tasks[id].resolved = units\n didUpdate()\n },\n\n /** @deprecated should use `.progress` */\n incResolved(inc = 1) {\n taskProgress.incCompletedUnits(inc)\n tasks[id].resolved += inc\n didUpdate()\n },\n }\n ++countMax\n performNext()\n\n return {\n id,\n promise,\n dispose: () => cancel(id),\n cancel: () => cancel(id),\n }\n }\n\n return {\n events,\n cancel,\n cancelAll,\n hasById,\n progress,\n enqueue,\n dispose,\n waitFinishAll,\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkY4CZHSBVcjs = require('./chunk-Y4CZHSBV.cjs');var _chunkHCE5UWRAcjs = require('./chunk-HCE5UWRA.cjs');var _chunkQSTP2ZQTcjs = require('./chunk-QSTP2ZQT.cjs');var _chunkS43EDRFKcjs = require('./chunk-S43EDRFK.cjs');var _chunkHBZHLYXWcjs = require('./chunk-HBZHLYXW.cjs');var _chunk3O7Y3U7Ycjs = require('./chunk-3O7Y3U7Y.cjs');function P(n,s){_chunk3O7Y3U7Ycjs.b.call(void 0, _optionalChain([n, 'optionalAccess', _2 => _2._object]),"schema should be of type object"),_chunk3O7Y3U7Ycjs.b.call(void 0, _chunkY4CZHSBVcjs.e.call(void 0, n),"schema should be a flat object");let{env:i=_nullishCoalesce(_optionalChain([process, 'optionalAccess', _3 => _3.env]), () => ({})),prefix:a="",prefixOptional:r=!1}=_nullishCoalesce(s, () => ({})),c=a.length,o=_nullishCoalesce(_optionalChain([s, 'optionalAccess', _4 => _4.existing]), () => ({}));return _chunkQSTP2ZQTcjs.a.call(void 0, n._object,(p,t)=>{let m=_nullishCoalesce(o[p], () => (t._default));if(_optionalChain([t, 'access', _5 => _5._props, 'optionalAccess', _6 => _6.envSkip]))return m;let g=_chunkHBZHLYXWcjs.d.call(void 0, p,"_").toUpperCase(),T=a+_chunkHBZHLYXWcjs.d.call(void 0, p,"_").toUpperCase(),e=i[g];return c>0&&(r===!0?e=_nullishCoalesce(i[T], () => (e)):e=i[T]),e===void 0?m:(t.type==="number"?e=_chunkS43EDRFKcjs.f.call(void 0, e,t._default):t.type==="boolean"&&(t._default===!0?e=_chunkS43EDRFKcjs.e.call(void 0, e):e=_chunkS43EDRFKcjs.d.call(void 0, e,!1)),_chunkHCE5UWRAcjs.c.call(void 0, t,e))})}function C(n,s="",i=!1,a=!1){_chunk3O7Y3U7Ycjs.b.call(void 0, _chunkY4CZHSBVcjs.e.call(void 0, n),"schema should be a flat object");let r=[];return _chunkQSTP2ZQTcjs.a.call(void 0, n._object,(c,o)=>{if((_optionalChain([o, 'access', _7 => _7._props, 'optionalAccess', _8 => _8.envPrivate])||_optionalChain([o, 'access', _9 => _9._props, 'optionalAccess', _10 => _10.envSkip]))&&!a)return;let p=_nullishCoalesce(_optionalChain([o, 'access', _11 => _11._props, 'optionalAccess', _12 => _12.envDesc]), () => (_optionalChain([o, 'access', _13 => _13._props, 'optionalAccess', _14 => _14.desc])));p&&p.trim().split(`
2
+ `).forEach(t=>{r.push(`# ${t.trim()}`)}),r.push(`${i?"# ":""}${s+_chunkHBZHLYXWcjs.d.call(void 0, c,"_").toUpperCase()}=${_nullishCoalesce(o._default, () => (""))}`),r.push("")}),r.join(`
3
+ `)}exports.a = P; exports.b = C;
4
+ //# sourceMappingURL=chunk-E24W4VM7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/zeed/zeed/dist/chunk-E24W4VM7.cjs","../src/common/schema/parse-env.ts"],"names":["parseSchemaEnv","schema","opt","assert","isSchemaObjectFlat","env","prefix","prefixOptional","pl","existing","objectMap","key","defaultValue","envKey","fromCamelCase","envKeyWithPrefix","value","valueToInteger","valueToBooleanNotFalse","valueToBoolean","schemaParseObject","stringFromSchemaEnv","commentOut","showPrivate","lines","desc","line"],"mappings":"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","file":"/home/runner/work/zeed/zeed/dist/chunk-E24W4VM7.cjs","sourcesContent":[null,"import type { Type } from './schema'\nimport { assert } from '../assert'\nimport { fromCamelCase } from '../data/camelcase'\nimport { valueToBoolean, valueToBooleanNotFalse, valueToInteger } from '../data/convert'\nimport { objectMap } from '../data/object'\nimport { schemaParseObject } from './parse-object'\nimport { isSchemaObjectFlat } from './utils'\n\ndeclare module './schema' {\n interface TypeProps {\n envDesc?: string\n envPrivate?: boolean // will not be documented\n envSkip?: boolean // will not be included in env parsing\n }\n}\n\nexport type SchemaEnvType = Record<string, any>\n\nexport interface SchemaEnvOptions<T> {\n existing?: Partial<T> // if true, will only parse existing env variables\n env?: SchemaEnvType\n prefix?: string\n prefixOptional?: boolean // if true, prefix is optional\n}\n\nexport function parseSchemaEnv<T>(schema: Type<T>, opt?: SchemaEnvOptions<T>): T {\n assert(schema?._object, 'schema should be of type object')\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n\n const {\n // eslint-disable-next-line node/prefer-global/process\n env = (process?.env ?? {}) as SchemaEnvType,\n prefix = '',\n prefixOptional = false,\n } = opt ?? {}\n const pl = prefix.length\n const existing: any = opt?.existing ?? {}\n\n return objectMap(schema._object, (key, schema) => {\n const defaultValue = existing[key] ?? schema._default\n if (schema._props?.envSkip)\n return defaultValue\n\n const envKey = fromCamelCase(key, '_').toUpperCase()\n const envKeyWithPrefix = prefix + fromCamelCase(key, '_').toUpperCase()\n\n let value: any = env[envKey]\n\n if (pl > 0) {\n if (prefixOptional === true) {\n value = env[envKeyWithPrefix] ?? value\n }\n else {\n value = env[envKeyWithPrefix]\n }\n }\n\n if (value === undefined) {\n return defaultValue\n }\n\n if (schema.type === 'number') {\n value = valueToInteger(value, schema._default)\n }\n else if (schema.type === 'boolean') {\n if (schema._default === true)\n value = valueToBooleanNotFalse(value)\n else\n value = valueToBoolean(value, false)\n }\n return schemaParseObject(schema, value)\n }) as T\n}\n\nexport function stringFromSchemaEnv<T>(schema: Type<T>, prefix = '', commentOut = false, showPrivate = false): string {\n assert(isSchemaObjectFlat(schema), 'schema should be a flat object')\n const lines: string[] = []\n objectMap(schema._object!, (key, schema) => {\n if ((schema._props?.envPrivate || schema._props?.envSkip) && !showPrivate)\n return\n const desc = schema._props?.envDesc ?? schema._props?.desc\n if (desc) {\n desc.trim().split('\\n').forEach((line: string) => {\n lines.push(`# ${line.trim()}`)\n })\n }\n lines.push(`${commentOut ? '# ' : ''}${prefix + fromCamelCase(key, '_').toUpperCase()}=${schema._default ?? ''}`)\n lines.push('')\n }) as T\n return lines.join('\\n')\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{b as h}from"./chunk-4LIUGZHX.js";import{a}from"./chunk-L32SZCS2.js";import{u as c}from"./chunk-KBV6B6VE.js";import{c as o}from"./chunk-OTNXCBEK.js";var s=class extends a{constructor(e){super();this.publish=this.emit.bind(this);this.subscribe=this.on.bind(this);let{name:n,encoder:t=new h,channel:l,debug:u=!1}=e;this.channel=l,this.encoder=t,this.debug=u,this.name=n??this.channel.id??c("pubsub"),this.log=o(`${this.shortId}`),this.debug&&(this.channel.on("connect",()=>{this.log("channel connected")}),this.channel.on("disconnect",()=>{this.log("channel disconnected")})),this.channel.on("message",async({data:d})=>{let i=await this.encoder.decode(d);if(this.debug?this.log(`channel message, event=${i?.event}, info=`,i):this.log(`channel message, event=${i?.event}`),i){let{event:m,args:g}=i;await this.emitSuper(m,...g)}})}get shortId(){return this.name.substr(0,6)}async emitSuper(e,...n){return await super.emit(e,...n)}async emit(e,...n){try{if(this.debug?this.log(`emit(${String(e)})`,e):this.log(`emit(${String(e)})`,n.length),!this.channel.isConnected)return this.log.warn("channel not connected"),!1;let t=await this.encoder.encode({event:e,args:n});return this.channel.postMessage(t),!0}catch(t){this.log.warn(`emit(${String(e)})`,t)}return!1}};function y(r){return new s(r)}export{s as a,y as b};
2
- //# sourceMappingURL=chunk-GLXW4DRV.js.map
1
+ import{b as h}from"./chunk-4LIUGZHX.js";import{a}from"./chunk-5BU2RTLI.js";import{c as o}from"./chunk-OTNXCBEK.js";import{u as c}from"./chunk-OOTCYORD.js";var s=class extends a{constructor(e){super();this.publish=this.emit.bind(this);this.subscribe=this.on.bind(this);let{name:n,encoder:t=new h,channel:l,debug:u=!1}=e;this.channel=l,this.encoder=t,this.debug=u,this.name=n??this.channel.id??c("pubsub"),this.log=o(`${this.shortId}`),this.debug&&(this.channel.on("connect",()=>{this.log("channel connected")}),this.channel.on("disconnect",()=>{this.log("channel disconnected")})),this.channel.on("message",async({data:d})=>{let i=await this.encoder.decode(d);if(this.debug?this.log(`channel message, event=${i?.event}, info=`,i):this.log(`channel message, event=${i?.event}`),i){let{event:m,args:g}=i;await this.emitSuper(m,...g)}})}get shortId(){return this.name.substr(0,6)}async emitSuper(e,...n){return await super.emit(e,...n)}async emit(e,...n){try{if(this.debug?this.log(`emit(${String(e)})`,e):this.log(`emit(${String(e)})`,n.length),!this.channel.isConnected)return this.log.warn("channel not connected"),!1;let t=await this.encoder.encode({event:e,args:n});return this.channel.postMessage(t),!0}catch(t){this.log.warn(`emit(${String(e)})`,t)}return!1}};function y(r){return new s(r)}export{s as a,y as b};
2
+ //# sourceMappingURL=chunk-E2HNYDJ3.js.map