zeed 1.3.0 → 1.4.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 (575) hide show
  1. package/AGENTS.md +50 -211
  2. package/README.md +16 -0
  3. package/dist/_experiments/bitcask.cjs +243 -1
  4. package/dist/_experiments/bitcask.cjs.map +1 -1
  5. package/dist/_experiments/bitcask.mjs +230 -1
  6. package/dist/_experiments/bitcask.mjs.map +1 -1
  7. package/dist/bin-BAoS4qtm.mjs +593 -0
  8. package/dist/{bin-SPdenYkw.mjs.map → bin-BAoS4qtm.mjs.map} +1 -1
  9. package/dist/bin-Ddaz2lxM.cjs +862 -0
  10. package/dist/{bin-Ce3i6ABn.cjs.map → bin-Ddaz2lxM.cjs.map} +1 -1
  11. package/dist/browser/base64.cjs +14 -1
  12. package/dist/browser/base64.cjs.map +1 -1
  13. package/dist/browser/base64.mjs +12 -1
  14. package/dist/browser/base64.mjs.map +1 -1
  15. package/dist/browser/gravatar.cjs +186 -1
  16. package/dist/browser/gravatar.cjs.map +1 -1
  17. package/dist/browser/gravatar.mjs +184 -1
  18. package/dist/browser/gravatar.mjs.map +1 -1
  19. package/dist/browser/index.cjs +14 -1
  20. package/dist/browser/index.mjs +8 -1
  21. package/dist/browser/localstorage.cjs +46 -1
  22. package/dist/browser/localstorage.cjs.map +1 -1
  23. package/dist/browser/localstorage.mjs +45 -1
  24. package/dist/browser/localstorage.mjs.map +1 -1
  25. package/dist/browser/log/index.cjs +8 -1
  26. package/dist/browser/log/index.mjs +5 -1
  27. package/dist/browser/log/log-browser-factory.cjs +65 -1
  28. package/dist/browser/log/log-browser-factory.cjs.map +1 -1
  29. package/dist/browser/log/log-browser-factory.mjs +64 -1
  30. package/dist/browser/log/log-browser-factory.mjs.map +1 -1
  31. package/dist/browser/log/log-browser.cjs +72 -1
  32. package/dist/browser/log/log-browser.cjs.map +1 -1
  33. package/dist/browser/log/log-browser.mjs +71 -1
  34. package/dist/browser/log/log-browser.mjs.map +1 -1
  35. package/dist/browser/log/log-colors.cjs +11 -1
  36. package/dist/browser/log/log-colors.cjs.map +1 -1
  37. package/dist/browser/log/log-colors.mjs +9 -1
  38. package/dist/browser/log/log-colors.mjs.map +1 -1
  39. package/dist/browser/log/log-context-browser.cjs +25 -1
  40. package/dist/browser/log/log-context-browser.cjs.map +1 -1
  41. package/dist/browser/log/log-context-browser.mjs +23 -1
  42. package/dist/browser/log/log-context-browser.mjs.map +1 -1
  43. package/dist/chunk-DQk6qfdC.mjs +18 -0
  44. package/dist/chunk-uaV2rQ02.cjs +53 -0
  45. package/dist/common/assert.cjs +22 -1
  46. package/dist/common/assert.cjs.map +1 -1
  47. package/dist/common/assert.mjs +19 -1
  48. package/dist/common/assert.mjs.map +1 -1
  49. package/dist/common/bin/index.cjs +106 -1
  50. package/dist/common/bin/index.cjs.map +1 -1
  51. package/dist/common/bin/index.mjs +98 -1
  52. package/dist/common/bin/index.mjs.map +1 -1
  53. package/dist/common/bin/lib0/binary.cjs +146 -1
  54. package/dist/common/bin/lib0/binary.cjs.map +1 -1
  55. package/dist/common/bin/lib0/binary.mjs +80 -1
  56. package/dist/common/bin/lib0/binary.mjs.map +1 -1
  57. package/dist/common/bin/lib0/buffer.cjs +42 -1
  58. package/dist/common/bin/lib0/buffer.cjs.map +1 -1
  59. package/dist/common/bin/lib0/buffer.mjs +38 -1
  60. package/dist/common/bin/lib0/buffer.mjs.map +1 -1
  61. package/dist/common/bin/lib0/create.cjs +24 -1
  62. package/dist/common/bin/lib0/create.cjs.map +1 -1
  63. package/dist/common/bin/lib0/create.mjs +21 -1
  64. package/dist/common/bin/lib0/create.mjs.map +1 -1
  65. package/dist/common/bin/lib0/decoding.cjs +325 -1
  66. package/dist/common/bin/lib0/decoding.cjs.map +1 -1
  67. package/dist/common/bin/lib0/decoding.mjs +298 -1
  68. package/dist/common/bin/lib0/decoding.mjs.map +1 -1
  69. package/dist/common/bin/lib0/encoding.cjs +404 -1
  70. package/dist/common/bin/lib0/encoding.cjs.map +1 -1
  71. package/dist/common/bin/lib0/encoding.mjs +377 -1
  72. package/dist/common/bin/lib0/encoding.mjs.map +1 -1
  73. package/dist/common/bin/lib0/string.cjs +81 -1
  74. package/dist/common/bin/lib0/string.cjs.map +1 -1
  75. package/dist/common/bin/lib0/string.mjs +71 -1
  76. package/dist/common/bin/lib0/string.mjs.map +1 -1
  77. package/dist/common/crypto/aes-sealed.cjs +34 -1
  78. package/dist/common/crypto/aes-sealed.cjs.map +1 -1
  79. package/dist/common/crypto/aes-sealed.mjs +32 -1
  80. package/dist/common/crypto/aes-sealed.mjs.map +1 -1
  81. package/dist/common/crypto/crypto.cjs +91 -1
  82. package/dist/common/crypto/crypto.cjs.map +1 -1
  83. package/dist/common/crypto/crypto.mjs +80 -1
  84. package/dist/common/crypto/crypto.mjs.map +1 -1
  85. package/dist/common/crypto/index.cjs +23 -1
  86. package/dist/common/crypto/index.mjs +5 -1
  87. package/dist/common/crypto/xaes.cjs +128 -1
  88. package/dist/common/crypto/xaes.cjs.map +1 -1
  89. package/dist/common/crypto/xaes.mjs +123 -1
  90. package/dist/common/crypto/xaes.mjs.map +1 -1
  91. package/dist/common/csv.cjs +49 -4
  92. package/dist/common/csv.cjs.map +1 -1
  93. package/dist/common/csv.mjs +46 -4
  94. package/dist/common/csv.mjs.map +1 -1
  95. package/dist/common/data/array.cjs +299 -1
  96. package/dist/common/data/array.cjs.map +1 -1
  97. package/dist/common/data/array.mjs +274 -1
  98. package/dist/common/data/array.mjs.map +1 -1
  99. package/dist/common/data/basex-secure.cjs +30 -1
  100. package/dist/common/data/basex-secure.mjs +3 -1
  101. package/dist/common/data/basex.cjs +163 -1
  102. package/dist/common/data/basex.cjs.map +1 -1
  103. package/dist/common/data/basex.mjs +152 -1
  104. package/dist/common/data/basex.mjs.map +1 -1
  105. package/dist/common/data/bin-types.mjs +1 -1
  106. package/dist/common/data/bin.cjs +21 -1
  107. package/dist/common/data/bin.mjs +3 -1
  108. package/dist/common/data/camelcase.cjs +27 -1
  109. package/dist/common/data/camelcase.cjs.map +1 -1
  110. package/dist/common/data/camelcase.mjs +22 -1
  111. package/dist/common/data/camelcase.mjs.map +1 -1
  112. package/dist/common/data/convert.cjs +104 -1
  113. package/dist/common/data/convert.cjs.map +1 -1
  114. package/dist/common/data/convert.mjs +88 -1
  115. package/dist/common/data/convert.mjs.map +1 -1
  116. package/dist/common/data/datauri.cjs +32 -1
  117. package/dist/common/data/datauri.cjs.map +1 -1
  118. package/dist/common/data/datauri.mjs +27 -1
  119. package/dist/common/data/datauri.mjs.map +1 -1
  120. package/dist/common/data/day-legacy.cjs +148 -1
  121. package/dist/common/data/day-legacy.cjs.map +1 -1
  122. package/dist/common/data/day-legacy.mjs +143 -1
  123. package/dist/common/data/day-legacy.mjs.map +1 -1
  124. package/dist/common/data/day.cjs +335 -1
  125. package/dist/common/data/day.cjs.map +1 -1
  126. package/dist/common/data/day.mjs +305 -1
  127. package/dist/common/data/day.mjs.map +1 -1
  128. package/dist/common/data/decimal.cjs +28 -1
  129. package/dist/common/data/decimal.cjs.map +1 -1
  130. package/dist/common/data/decimal.mjs +23 -1
  131. package/dist/common/data/decimal.mjs.map +1 -1
  132. package/dist/common/data/deep.cjs +57 -1
  133. package/dist/common/data/deep.cjs.map +1 -1
  134. package/dist/common/data/deep.mjs +54 -1
  135. package/dist/common/data/deep.mjs.map +1 -1
  136. package/dist/common/data/diff.cjs +62 -1
  137. package/dist/common/data/diff.cjs.map +1 -1
  138. package/dist/common/data/diff.mjs +60 -1
  139. package/dist/common/data/diff.mjs.map +1 -1
  140. package/dist/common/data/distributed.cjs +24 -1
  141. package/dist/common/data/distributed.cjs.map +1 -1
  142. package/dist/common/data/distributed.mjs +22 -1
  143. package/dist/common/data/distributed.mjs.map +1 -1
  144. package/dist/common/data/format.cjs +63 -1
  145. package/dist/common/data/format.cjs.map +1 -1
  146. package/dist/common/data/format.mjs +59 -1
  147. package/dist/common/data/format.mjs.map +1 -1
  148. package/dist/common/data/html.cjs +13 -1
  149. package/dist/common/data/html.cjs.map +1 -1
  150. package/dist/common/data/html.mjs +10 -1
  151. package/dist/common/data/html.mjs.map +1 -1
  152. package/dist/common/data/index.cjs +296 -1
  153. package/dist/common/data/index.mjs +37 -1
  154. package/dist/common/data/is.cjs +106 -1
  155. package/dist/common/data/is.cjs.map +1 -1
  156. package/dist/common/data/is.mjs +85 -1
  157. package/dist/common/data/is.mjs.map +1 -1
  158. package/dist/common/data/json.cjs +70 -1
  159. package/dist/common/data/json.cjs.map +1 -1
  160. package/dist/common/data/json.mjs +65 -1
  161. package/dist/common/data/json.mjs.map +1 -1
  162. package/dist/common/data/list.cjs +32 -1
  163. package/dist/common/data/list.cjs.map +1 -1
  164. package/dist/common/data/list.mjs +27 -1
  165. package/dist/common/data/list.mjs.map +1 -1
  166. package/dist/common/data/lru.mjs +1 -1
  167. package/dist/common/data/math.cjs +79 -1
  168. package/dist/common/data/math.cjs.map +1 -1
  169. package/dist/common/data/math.mjs +65 -1
  170. package/dist/common/data/math.mjs.map +1 -1
  171. package/dist/common/data/message.cjs +30 -1
  172. package/dist/common/data/message.cjs.map +1 -1
  173. package/dist/common/data/message.mjs +28 -1
  174. package/dist/common/data/message.mjs.map +1 -1
  175. package/dist/common/data/object-changes.cjs +66 -1
  176. package/dist/common/data/object-changes.cjs.map +1 -1
  177. package/dist/common/data/object-changes.mjs +63 -1
  178. package/dist/common/data/object-changes.mjs.map +1 -1
  179. package/dist/common/data/object.cjs +112 -1
  180. package/dist/common/data/object.cjs.map +1 -1
  181. package/dist/common/data/object.mjs +104 -1
  182. package/dist/common/data/object.mjs.map +1 -1
  183. package/dist/common/data/orderby.cjs +42 -1
  184. package/dist/common/data/orderby.cjs.map +1 -1
  185. package/dist/common/data/orderby.mjs +37 -1
  186. package/dist/common/data/orderby.mjs.map +1 -1
  187. package/dist/common/data/path.cjs +26 -1
  188. package/dist/common/data/path.cjs.map +1 -1
  189. package/dist/common/data/path.mjs +25 -1
  190. package/dist/common/data/path.mjs.map +1 -1
  191. package/dist/common/data/regexp.cjs +12 -1
  192. package/dist/common/data/regexp.cjs.map +1 -1
  193. package/dist/common/data/regexp.mjs +10 -1
  194. package/dist/common/data/regexp.mjs.map +1 -1
  195. package/dist/common/data/rounding.cjs +107 -1
  196. package/dist/common/data/rounding.cjs.map +1 -1
  197. package/dist/common/data/rounding.mjs +95 -1
  198. package/dist/common/data/rounding.mjs.map +1 -1
  199. package/dist/common/data/signal.cjs +39 -1
  200. package/dist/common/data/signal.cjs.map +1 -1
  201. package/dist/common/data/signal.mjs +38 -1
  202. package/dist/common/data/signal.mjs.map +1 -1
  203. package/dist/common/data/sortable.cjs +35 -1
  204. package/dist/common/data/sortable.cjs.map +1 -1
  205. package/dist/common/data/sortable.mjs +31 -1
  206. package/dist/common/data/sortable.mjs.map +1 -1
  207. package/dist/common/data/sorted.cjs +54 -1
  208. package/dist/common/data/sorted.cjs.map +1 -1
  209. package/dist/common/data/sorted.mjs +53 -1
  210. package/dist/common/data/sorted.mjs.map +1 -1
  211. package/dist/common/data/string-deburr.cjs +240 -1
  212. package/dist/common/data/string-deburr.cjs.map +1 -1
  213. package/dist/common/data/string-deburr.mjs +238 -1
  214. package/dist/common/data/string-deburr.mjs.map +1 -1
  215. package/dist/common/data/string-hash-fnv.cjs +69 -1
  216. package/dist/common/data/string-hash-fnv.cjs.map +1 -1
  217. package/dist/common/data/string-hash-fnv.mjs +67 -1
  218. package/dist/common/data/string-hash-fnv.mjs.map +1 -1
  219. package/dist/common/data/string-hash-pool.cjs +28 -1
  220. package/dist/common/data/string-hash-pool.cjs.map +1 -1
  221. package/dist/common/data/string-hash-pool.mjs +27 -1
  222. package/dist/common/data/string-hash-pool.mjs.map +1 -1
  223. package/dist/common/data/url.cjs +98 -2
  224. package/dist/common/data/url.cjs.map +1 -1
  225. package/dist/common/data/url.mjs +91 -2
  226. package/dist/common/data/url.mjs.map +1 -1
  227. package/dist/common/data/utils.cjs +118 -1
  228. package/dist/common/data/utils.cjs.map +1 -1
  229. package/dist/common/data/utils.mjs +107 -1
  230. package/dist/common/data/utils.mjs.map +1 -1
  231. package/dist/common/data/wordlist.cjs +531 -1
  232. package/dist/common/data/wordlist.cjs.map +1 -1
  233. package/dist/common/data/wordlist.mjs +529 -1
  234. package/dist/common/data/wordlist.mjs.map +1 -1
  235. package/dist/common/data/xrx.cjs +96 -1
  236. package/dist/common/data/xrx.cjs.map +1 -1
  237. package/dist/common/data/xrx.mjs +92 -1
  238. package/dist/common/data/xrx.mjs.map +1 -1
  239. package/dist/common/dispose-defer.cjs +133 -1
  240. package/dist/common/dispose-defer.cjs.map +1 -1
  241. package/dist/common/dispose-defer.mjs +130 -1
  242. package/dist/common/dispose-defer.mjs.map +1 -1
  243. package/dist/common/dispose-types.mjs +1 -1
  244. package/dist/common/dispose-utils.cjs +113 -1
  245. package/dist/common/dispose-utils.cjs.map +1 -1
  246. package/dist/common/dispose-utils.mjs +106 -1
  247. package/dist/common/dispose-utils.mjs.map +1 -1
  248. package/dist/common/exec/index.cjs +24 -1
  249. package/dist/common/exec/index.d.cts +1 -1
  250. package/dist/common/exec/index.d.mts +1 -1
  251. package/dist/common/exec/index.mjs +8 -1
  252. package/dist/common/exec/mutex.cjs +44 -1
  253. package/dist/common/exec/mutex.cjs.map +1 -1
  254. package/dist/common/exec/mutex.mjs +42 -1
  255. package/dist/common/exec/mutex.mjs.map +1 -1
  256. package/dist/common/exec/pool.cjs +181 -1
  257. package/dist/common/exec/pool.cjs.map +1 -1
  258. package/dist/common/exec/pool.d.cts +1 -1
  259. package/dist/common/exec/pool.d.mts +1 -1
  260. package/dist/common/exec/pool.mjs +180 -1
  261. package/dist/common/exec/pool.mjs.map +1 -1
  262. package/dist/common/exec/progress.cjs +149 -1
  263. package/dist/common/exec/progress.cjs.map +1 -1
  264. package/dist/common/exec/progress.d.cts +1 -1
  265. package/dist/common/exec/progress.d.mts +1 -1
  266. package/dist/common/exec/progress.mjs +148 -1
  267. package/dist/common/exec/progress.mjs.map +1 -1
  268. package/dist/common/exec/promise.cjs +113 -1
  269. package/dist/common/exec/promise.cjs.map +1 -1
  270. package/dist/common/exec/promise.mjs +103 -1
  271. package/dist/common/exec/promise.mjs.map +1 -1
  272. package/dist/common/exec/queue.cjs +125 -1
  273. package/dist/common/exec/queue.cjs.map +1 -1
  274. package/dist/common/exec/queue.d.cts +1 -1
  275. package/dist/common/exec/queue.d.mts +1 -1
  276. package/dist/common/exec/queue.mjs +124 -1
  277. package/dist/common/exec/queue.mjs.map +1 -1
  278. package/dist/common/exec/throttle-debounce.cjs +114 -1
  279. package/dist/common/exec/throttle-debounce.cjs.map +1 -1
  280. package/dist/common/exec/throttle-debounce.mjs +112 -1
  281. package/dist/common/exec/throttle-debounce.mjs.map +1 -1
  282. package/dist/common/global.cjs +22 -1
  283. package/dist/common/global.cjs.map +1 -1
  284. package/dist/common/global.mjs +19 -1
  285. package/dist/common/global.mjs.map +1 -1
  286. package/dist/common/index.cjs +559 -1
  287. package/dist/common/index.d.cts +1 -1
  288. package/dist/common/index.d.mts +1 -1
  289. package/dist/common/index.mjs +89 -1
  290. package/dist/common/localhost.cjs +16 -1
  291. package/dist/common/localhost.cjs.map +1 -1
  292. package/dist/common/localhost.mjs +14 -1
  293. package/dist/common/localhost.mjs.map +1 -1
  294. package/dist/common/log/index.cjs +34 -1
  295. package/dist/common/log/index.mjs +11 -1
  296. package/dist/common/log/log-base.cjs +40 -1
  297. package/dist/common/log/log-base.cjs.map +1 -1
  298. package/dist/common/log/log-base.mjs +31 -1
  299. package/dist/common/log/log-base.mjs.map +1 -1
  300. package/dist/common/log/log-colors.cjs +92 -1
  301. package/dist/common/log/log-colors.cjs.map +1 -1
  302. package/dist/common/log/log-colors.mjs +90 -1
  303. package/dist/common/log/log-colors.mjs.map +1 -1
  304. package/dist/common/log/log-config.cjs +15 -1
  305. package/dist/common/log/log-config.cjs.map +1 -1
  306. package/dist/common/log/log-config.mjs +14 -1
  307. package/dist/common/log/log-config.mjs.map +1 -1
  308. package/dist/common/log/log-console-capture.cjs +33 -1
  309. package/dist/common/log/log-console-capture.cjs.map +1 -1
  310. package/dist/common/log/log-console-capture.mjs +32 -1
  311. package/dist/common/log/log-console-capture.mjs.map +1 -1
  312. package/dist/common/log/log-console-original.cjs +27 -1
  313. package/dist/common/log/log-console-original.cjs.map +1 -1
  314. package/dist/common/log/log-console-original.mjs +26 -1
  315. package/dist/common/log/log-console-original.mjs.map +1 -1
  316. package/dist/common/log/log-console.cjs +39 -1
  317. package/dist/common/log/log-console.cjs.map +1 -1
  318. package/dist/common/log/log-console.mjs +38 -1
  319. package/dist/common/log/log-console.mjs.map +1 -1
  320. package/dist/common/log/log-context.cjs +109 -1
  321. package/dist/common/log/log-context.cjs.map +1 -1
  322. package/dist/common/log/log-context.mjs +108 -1
  323. package/dist/common/log/log-context.mjs.map +1 -1
  324. package/dist/common/log/log-filter.cjs +80 -1
  325. package/dist/common/log/log-filter.cjs.map +1 -1
  326. package/dist/common/log/log-filter.mjs +75 -1
  327. package/dist/common/log/log-filter.mjs.map +1 -1
  328. package/dist/common/log/log-memory.cjs +45 -1
  329. package/dist/common/log/log-memory.cjs.map +1 -1
  330. package/dist/common/log/log-memory.mjs +43 -1
  331. package/dist/common/log/log-memory.mjs.map +1 -1
  332. package/dist/common/log/log-noop.cjs +17 -1
  333. package/dist/common/log/log-noop.cjs.map +1 -1
  334. package/dist/common/log/log-noop.mjs +15 -1
  335. package/dist/common/log/log-noop.mjs.map +1 -1
  336. package/dist/common/log/log.cjs +46 -1
  337. package/dist/common/log/log.cjs.map +1 -1
  338. package/dist/common/log/log.mjs +43 -1
  339. package/dist/common/log/log.mjs.map +1 -1
  340. package/dist/common/msg/channel-debug.cjs +17 -1
  341. package/dist/common/msg/channel-debug.cjs.map +1 -1
  342. package/dist/common/msg/channel-debug.d.cts +1 -1
  343. package/dist/common/msg/channel-debug.d.mts +1 -1
  344. package/dist/common/msg/channel-debug.mjs +16 -1
  345. package/dist/common/msg/channel-debug.mjs.map +1 -1
  346. package/dist/common/msg/channel-local.cjs +28 -1
  347. package/dist/common/msg/channel-local.cjs.map +1 -1
  348. package/dist/common/msg/channel-local.d.cts +1 -1
  349. package/dist/common/msg/channel-local.d.mts +1 -1
  350. package/dist/common/msg/channel-local.mjs +26 -1
  351. package/dist/common/msg/channel-local.mjs.map +1 -1
  352. package/dist/common/msg/channel-resilient.cjs +63 -1
  353. package/dist/common/msg/channel-resilient.cjs.map +1 -1
  354. package/dist/common/msg/channel-resilient.d.cts +1 -1
  355. package/dist/common/msg/channel-resilient.d.mts +1 -1
  356. package/dist/common/msg/channel-resilient.mjs +62 -1
  357. package/dist/common/msg/channel-resilient.mjs.map +1 -1
  358. package/dist/common/msg/channel-wkwebview.cjs +35 -1
  359. package/dist/common/msg/channel-wkwebview.cjs.map +1 -1
  360. package/dist/common/msg/channel-wkwebview.d.cts +2 -1
  361. package/dist/common/msg/channel-wkwebview.d.mts +2 -1
  362. package/dist/common/msg/channel-wkwebview.mjs +34 -1
  363. package/dist/common/msg/channel-wkwebview.mjs.map +1 -1
  364. package/dist/common/msg/channel.cjs +23 -1
  365. package/dist/common/msg/channel.cjs.map +1 -1
  366. package/dist/common/msg/channel.d.cts +1 -1
  367. package/dist/common/msg/channel.d.mts +1 -1
  368. package/dist/common/msg/channel.mjs +22 -1
  369. package/dist/common/msg/channel.mjs.map +1 -1
  370. package/dist/common/msg/emitter.cjs +141 -1
  371. package/dist/common/msg/emitter.cjs.map +1 -1
  372. package/dist/common/msg/emitter.d.cts +1 -1
  373. package/dist/common/msg/emitter.d.mts +1 -1
  374. package/dist/common/msg/emitter.mjs +139 -1
  375. package/dist/common/msg/emitter.mjs.map +1 -1
  376. package/dist/common/msg/encoder.cjs +38 -1
  377. package/dist/common/msg/encoder.cjs.map +1 -1
  378. package/dist/common/msg/encoder.mjs +35 -1
  379. package/dist/common/msg/encoder.mjs.map +1 -1
  380. package/dist/common/msg/index.cjs +28 -1
  381. package/dist/common/msg/index.d.cts +1 -1
  382. package/dist/common/msg/index.d.mts +1 -1
  383. package/dist/common/msg/index.mjs +11 -1
  384. package/dist/common/msg/messages.cjs +135 -1
  385. package/dist/common/msg/messages.cjs.map +1 -1
  386. package/dist/common/msg/messages.d.cts +1 -1
  387. package/dist/common/msg/messages.d.mts +1 -1
  388. package/dist/common/msg/messages.mjs +133 -1
  389. package/dist/common/msg/messages.mjs.map +1 -1
  390. package/dist/common/msg/pipe.mjs +1 -1
  391. package/dist/common/msg/pubsub.cjs +78 -1
  392. package/dist/common/msg/pubsub.cjs.map +1 -1
  393. package/dist/common/msg/pubsub.d.cts +1 -1
  394. package/dist/common/msg/pubsub.d.mts +1 -1
  395. package/dist/common/msg/pubsub.mjs +76 -1
  396. package/dist/common/msg/pubsub.mjs.map +1 -1
  397. package/dist/common/msg/rpc.cjs +142 -1
  398. package/dist/common/msg/rpc.cjs.map +1 -1
  399. package/dist/common/msg/rpc.mjs +139 -1
  400. package/dist/common/msg/rpc.mjs.map +1 -1
  401. package/dist/common/network.cjs +129 -1
  402. package/dist/common/network.cjs.map +1 -1
  403. package/dist/common/network.mjs +122 -1
  404. package/dist/common/network.mjs.map +1 -1
  405. package/dist/common/platform.cjs +92 -1
  406. package/dist/common/platform.cjs.map +1 -1
  407. package/dist/common/platform.mjs +84 -1
  408. package/dist/common/platform.mjs.map +1 -1
  409. package/dist/common/schema/_sandbox/sandbox-inherit.mjs +1 -1
  410. package/dist/common/schema/_sandbox/sandbox.mjs +1 -1
  411. package/dist/common/schema/_sandbox/sandbox.xspec.mjs +1 -1
  412. package/dist/common/schema/export-json-schema.cjs +54 -1
  413. package/dist/common/schema/export-json-schema.cjs.map +1 -1
  414. package/dist/common/schema/export-json-schema.mjs +52 -1
  415. package/dist/common/schema/export-json-schema.mjs.map +1 -1
  416. package/dist/common/schema/export-swift.cjs +30 -2
  417. package/dist/common/schema/export-swift.cjs.map +1 -1
  418. package/dist/common/schema/export-swift.mjs +29 -2
  419. package/dist/common/schema/export-swift.mjs.map +1 -1
  420. package/dist/common/schema/export-typescript.cjs +20 -2
  421. package/dist/common/schema/export-typescript.cjs.map +1 -1
  422. package/dist/common/schema/export-typescript.mjs +19 -2
  423. package/dist/common/schema/export-typescript.mjs.map +1 -1
  424. package/dist/common/schema/index.cjs +55 -1
  425. package/dist/common/schema/index.mjs +12 -1
  426. package/dist/common/schema/parse-args.cjs +62 -2
  427. package/dist/common/schema/parse-args.cjs.map +1 -1
  428. package/dist/common/schema/parse-args.mjs +60 -2
  429. package/dist/common/schema/parse-args.mjs.map +1 -1
  430. package/dist/common/schema/parse-env.cjs +48 -3
  431. package/dist/common/schema/parse-env.cjs.map +1 -1
  432. package/dist/common/schema/parse-env.mjs +46 -3
  433. package/dist/common/schema/parse-env.mjs.map +1 -1
  434. package/dist/common/schema/parse-object.cjs +122 -1
  435. package/dist/common/schema/parse-object.cjs.map +1 -1
  436. package/dist/common/schema/parse-object.mjs +119 -1
  437. package/dist/common/schema/parse-object.mjs.map +1 -1
  438. package/dist/common/schema/schema-standard.mjs +1 -1
  439. package/dist/common/schema/schema.cjs +423 -1
  440. package/dist/common/schema/schema.cjs.map +1 -1
  441. package/dist/common/schema/schema.mjs +404 -1
  442. package/dist/common/schema/schema.mjs.map +1 -1
  443. package/dist/common/schema/serialize.cjs +109 -1
  444. package/dist/common/schema/serialize.cjs.map +1 -1
  445. package/dist/common/schema/serialize.mjs +107 -1
  446. package/dist/common/schema/serialize.mjs.map +1 -1
  447. package/dist/common/schema/type-test.mjs +1 -1
  448. package/dist/common/schema/utils.cjs +25 -1
  449. package/dist/common/schema/utils.cjs.map +1 -1
  450. package/dist/common/schema/utils.mjs +19 -1
  451. package/dist/common/schema/utils.mjs.map +1 -1
  452. package/dist/common/schema/z-collection.cjs +51 -1
  453. package/dist/common/schema/z-collection.mjs +27 -1
  454. package/dist/common/schema/z.cjs +9 -1
  455. package/dist/common/schema/z.mjs +3 -1
  456. package/dist/common/storage/index.cjs +4 -1
  457. package/dist/common/storage/index.mjs +3 -1
  458. package/dist/common/storage/memstorage.cjs +26 -1
  459. package/dist/common/storage/memstorage.cjs.map +1 -1
  460. package/dist/common/storage/memstorage.mjs +25 -1
  461. package/dist/common/storage/memstorage.mjs.map +1 -1
  462. package/dist/common/test.cjs +14 -1
  463. package/dist/common/test.cjs.map +1 -1
  464. package/dist/common/test.mjs +13 -1
  465. package/dist/common/test.mjs.map +1 -1
  466. package/dist/common/time.cjs +220 -1
  467. package/dist/common/time.cjs.map +1 -1
  468. package/dist/common/time.mjs +194 -1
  469. package/dist/common/time.mjs.map +1 -1
  470. package/dist/common/timeout.cjs +27 -1
  471. package/dist/common/timeout.cjs.map +1 -1
  472. package/dist/common/timeout.mjs +25 -1
  473. package/dist/common/timeout.mjs.map +1 -1
  474. package/dist/common/types.mjs +1 -1
  475. package/dist/common/utils.cjs +7 -1
  476. package/dist/common/utils.cjs.map +1 -1
  477. package/dist/common/utils.mjs +5 -1
  478. package/dist/common/utils.mjs.map +1 -1
  479. package/dist/common/uuid.cjs +307 -1
  480. package/dist/common/uuid.cjs.map +1 -1
  481. package/dist/common/uuid.mjs +284 -1
  482. package/dist/common/uuid.mjs.map +1 -1
  483. package/dist/{index-DHXVOH8h.d.cts → index-CFkMqHvX.d.cts} +1 -2
  484. package/dist/{index-DMaPyx9O.d.mts → index-C_3Y_s6f.d.mts} +1 -2
  485. package/dist/index.all.cjs +641 -1
  486. package/dist/index.all.d.cts +1 -1
  487. package/dist/index.all.d.mts +1 -1
  488. package/dist/index.all.mjs +113 -1
  489. package/dist/index.browser.cjs +576 -1
  490. package/dist/index.browser.d.cts +1 -1
  491. package/dist/index.browser.d.mts +1 -1
  492. package/dist/index.browser.mjs +98 -1
  493. package/dist/index.jsr.cjs +57 -1
  494. package/dist/index.jsr.mjs +6 -1
  495. package/dist/index.node.cjs +628 -1
  496. package/dist/index.node.d.cts +1 -1
  497. package/dist/index.node.d.mts +1 -1
  498. package/dist/index.node.mjs +106 -1
  499. package/dist/node/args.cjs +56 -1
  500. package/dist/node/args.cjs.map +1 -1
  501. package/dist/node/args.mjs +53 -1
  502. package/dist/node/args.mjs.map +1 -1
  503. package/dist/node/clipboard.cjs +18 -1
  504. package/dist/node/clipboard.cjs.map +1 -1
  505. package/dist/node/clipboard.mjs +16 -1
  506. package/dist/node/clipboard.mjs.map +1 -1
  507. package/dist/node/crypto.cjs +28 -1
  508. package/dist/node/crypto.cjs.map +1 -1
  509. package/dist/node/crypto.mjs +24 -1
  510. package/dist/node/crypto.mjs.map +1 -1
  511. package/dist/node/env.cjs +100 -4
  512. package/dist/node/env.cjs.map +1 -1
  513. package/dist/node/env.mjs +90 -4
  514. package/dist/node/env.mjs.map +1 -1
  515. package/dist/node/files-async.cjs +66 -1
  516. package/dist/node/files-async.cjs.map +1 -1
  517. package/dist/node/files-async.mjs +60 -1
  518. package/dist/node/files-async.mjs.map +1 -1
  519. package/dist/node/files.cjs +52 -1
  520. package/dist/node/files.cjs.map +1 -1
  521. package/dist/node/files.mjs +46 -1
  522. package/dist/node/files.mjs.map +1 -1
  523. package/dist/node/filestorage.cjs +100 -1
  524. package/dist/node/filestorage.cjs.map +1 -1
  525. package/dist/node/filestorage.mjs +97 -1
  526. package/dist/node/filestorage.mjs.map +1 -1
  527. package/dist/node/fs.cjs +119 -1
  528. package/dist/node/fs.cjs.map +1 -1
  529. package/dist/node/fs.mjs +101 -1
  530. package/dist/node/fs.mjs.map +1 -1
  531. package/dist/node/glob.cjs +75 -1
  532. package/dist/node/glob.cjs.map +1 -1
  533. package/dist/node/glob.mjs +73 -1
  534. package/dist/node/glob.mjs.map +1 -1
  535. package/dist/node/index.cjs +66 -1
  536. package/dist/node/index.mjs +16 -1
  537. package/dist/node/log/index.cjs +20 -1
  538. package/dist/node/log/index.mjs +7 -1
  539. package/dist/node/log/log-context-node.cjs +39 -1
  540. package/dist/node/log/log-context-node.cjs.map +1 -1
  541. package/dist/node/log/log-context-node.mjs +35 -1
  542. package/dist/node/log/log-context-node.mjs.map +1 -1
  543. package/dist/node/log/log-file-rotation.cjs +71 -1
  544. package/dist/node/log/log-file-rotation.cjs.map +1 -1
  545. package/dist/node/log/log-file-rotation.mjs +68 -1
  546. package/dist/node/log/log-file-rotation.mjs.map +1 -1
  547. package/dist/node/log/log-file.cjs +57 -1
  548. package/dist/node/log/log-file.cjs.map +1 -1
  549. package/dist/node/log/log-file.mjs +54 -1
  550. package/dist/node/log/log-file.mjs.map +1 -1
  551. package/dist/node/log/log-node.cjs +162 -1
  552. package/dist/node/log/log-node.cjs.map +1 -1
  553. package/dist/node/log/log-node.mjs +155 -1
  554. package/dist/node/log/log-node.mjs.map +1 -1
  555. package/dist/node/log/log-rotation.cjs +543 -3
  556. package/dist/node/log/log-rotation.cjs.map +1 -1
  557. package/dist/node/log/log-rotation.mjs +538 -3
  558. package/dist/node/log/log-rotation.mjs.map +1 -1
  559. package/dist/node/log/log-util.cjs +69 -3
  560. package/dist/node/log/log-util.cjs.map +1 -1
  561. package/dist/node/log/log-util.mjs +63 -3
  562. package/dist/node/log/log-util.mjs.map +1 -1
  563. package/dist/node/open-browser.cjs +20 -1
  564. package/dist/node/open-browser.cjs.map +1 -1
  565. package/dist/node/open-browser.mjs +18 -1
  566. package/dist/node/open-browser.mjs.map +1 -1
  567. package/package.json +15 -15
  568. package/src/common/schema/README.md +247 -66
  569. package/src/eslint-defaults.js +4 -0
  570. package/src/index.spec.ts +6 -6
  571. package/dist/bin-Ce3i6ABn.cjs +0 -3
  572. package/dist/bin-SPdenYkw.mjs +0 -3
  573. package/dist/chunk-0Lt9GpW0.mjs +0 -1
  574. package/dist/chunk-D-qHiVGv.cjs +0 -1
  575. package/src/common/schema/README-SCHEMA.md +0 -0
@@ -1,2 +1,156 @@
1
- import"../../common/log/log-base.mjs";import{useLevelFilter as e,useNamespaceFilter as t}from"../../common/log/log-filter.mjs";import{formatMilliseconds as n,getTimestamp as r}from"../../common/time.mjs";import{valueToBoolean as i}from"../../common/data/convert.mjs";import{renderMessages as a}from"../../common/data/message.mjs";import{getSourceLocation as o,getSourceLocationByPrecedingPattern as s,getStack as c}from"./log-util.mjs";import l from"node:process";import u from"node:tty";function d(){try{return i(l.env.ZEED_COLOR,u.isatty(l.stdout.fd))}catch{}return!1}let f;const p=[6,2,3,4,5,1];function m(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return p[Math.abs(t)%p.length]}const h={};let g;function _(...e){l.stdout.write(`${a(e)}\n`)}const v={BOLD:`\x1B[1m`,UNBOLD:`\x1B[2m`,RED:`\x1B[31m`,GREEN:`\x1B[32m`,BLUE:`\x1B[34m`,PURPLE:`\x1B[35m`,GRAY:`\x1B[37m`,ORANGE:`\x1B[38;5;208m`,UNCOLOR:`\x1B[0m`};var y=function(e){return e[e.RED=1]=`RED`,e[e.GREEN=2]=`GREEN`,e[e.BLUE=4]=`BLUE`,e[e.PURPLE=5]=`PURPLE`,e[e.GRAY=7]=`GRAY`,e[e.ORANGE=8]=`ORANGE`,e}(y||{});const b=`\x1B[0m`;function x(e,t){return`${t===y.ORANGE?v.ORANGE:`\u001B[3${t<8?t:`8;5;${t}`}m`}${e}${b}`}function S(e,t,n=!0){return e.map(e=>{if(typeof e!=`string`)return e;let r=t,i=b;return n&&(r=`${v.BOLD}${r}`,i=`${i}${v.BOLD}`),`${r}${e}${i}`})}function C(){try{return i(l.env.ZEED_STACK,!1)}catch{}return!1}let w;const T=`loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485`;function E(i={}){f??=d(),w??=C(),g??=r();let{level:a=void 0,filter:l=void 0,colors:u=f,levelHelper:p=!0,nameBrackets:b=!0,padding:T=0,fill:E=0,stack:D=w,time:O=!0}=i,k=t(l),A=e(a);return e=>{if(!A(e.level)||!k(e.name))return;let t=r(),i=e.name||``,a=h[i||``];a??(a={color:m(i)},h[i]=a);let l=n(t-g),d,f=b?`[${i}]`:i;if(T>0&&(f=f.padStart(T,` `)),E>0&&(f=f.padEnd(E,` `)),u){let t=a.color;d=[`${x(f,t)} | `],e.level===2?d.push(...S(e.messages,v.ORANGE)):e.level===3?d.push(...S(e.messages,v.RED)):d.push(...e.messages),O&&d.push(x(`+${l}`,t))}else d=[f,...e.messages],O&&d.push(`+${l}`);if(e.messages?.[0]===`loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485`)try{console.log(c())}catch{}if(D){let e=``;typeof D==`boolean`?(e=s([`at Function.`,`at null.log (`,`at log (`],!0),e||=o(0,!0)):e=o(typeof D==`number`?D:3,!0),e&&d.push(x(`(${e})`,y.GRAY))}switch(e.level){case 1:p&&(d[0]=`I|. ${d[0]}`),_(...d);break;case 2:p&&(d[0]=(u?x(`W|.. `,y.ORANGE):`W|.. `)+d[0]),_(...d);break;case 3:p&&(d[0]=(u?x(`E|... `,y.RED):`E|... `)+d[0]),_(...d);break;default:p&&(d[0]=`D| ${d[0]}`),_(...d);break}}}export{E as LoggerNodeHandler,x as colorString,S as colorStringList,T as loggerStackTraceDebug};
1
+ import { LogLevelError, LogLevelInfo, LogLevelWarn } from "../../common/log/log-base.mjs";
2
+ import { useLevelFilter, useNamespaceFilter } from "../../common/log/log-filter.mjs";
3
+ import { formatMilliseconds, getTimestamp } from "../../common/time.mjs";
4
+ import { valueToBoolean } from "../../common/data/convert.mjs";
5
+ import { renderMessages } from "../../common/data/message.mjs";
6
+ import { getSourceLocation, getSourceLocationByPrecedingPattern, getStack } from "./log-util.mjs";
7
+ import process from "node:process";
8
+ import tty from "node:tty";
9
+
10
+ //#region src/node/log/log-node.ts
11
+ function shouldUseColor() {
12
+ try {
13
+ return valueToBoolean(process.env.ZEED_COLOR, tty.isatty(process.stdout.fd));
14
+ } catch (err) {}
15
+ return false;
16
+ }
17
+ let defaultUseColor;
18
+ const colors = [
19
+ 6,
20
+ 2,
21
+ 3,
22
+ 4,
23
+ 5,
24
+ 1
25
+ ];
26
+ function nodeSelectColorByName(namespace) {
27
+ let hash = 0;
28
+ for (let i = 0; i < namespace.length; i++) {
29
+ hash = (hash << 5) - hash + namespace.charCodeAt(i);
30
+ hash |= 0;
31
+ }
32
+ return colors[Math.abs(hash) % colors.length];
33
+ }
34
+ const namespaces = {};
35
+ let startTime;
36
+ function log(...args) {
37
+ process.stdout.write(`${renderMessages(args)}\n`);
38
+ }
39
+ const TTY_STYLE = {
40
+ BOLD: "\x1B[1m",
41
+ UNBOLD: "\x1B[2m",
42
+ RED: "\x1B[31m",
43
+ GREEN: "\x1B[32m",
44
+ BLUE: "\x1B[34m",
45
+ PURPLE: "\x1B[35m",
46
+ GRAY: "\x1B[37m",
47
+ ORANGE: "\x1B[38;5;208m",
48
+ UNCOLOR: "\x1B[0m"
49
+ };
50
+ var COLOR = /* @__PURE__ */ function(COLOR) {
51
+ COLOR[COLOR["RED"] = 1] = "RED";
52
+ COLOR[COLOR["GREEN"] = 2] = "GREEN";
53
+ COLOR[COLOR["BLUE"] = 4] = "BLUE";
54
+ COLOR[COLOR["PURPLE"] = 5] = "PURPLE";
55
+ COLOR[COLOR["GRAY"] = 7] = "GRAY";
56
+ COLOR[COLOR["ORANGE"] = 8] = "ORANGE";
57
+ return COLOR;
58
+ }(COLOR || {});
59
+ const colorEnd = "\x1B[0m";
60
+ function colorString(text, colorCode) {
61
+ return `${colorCode === COLOR.ORANGE ? TTY_STYLE.ORANGE : `\u001B[3${colorCode < 8 ? colorCode : `8;5;${colorCode}`}m`}${text}${colorEnd}`;
62
+ }
63
+ function colorStringList(list, style, bold = true) {
64
+ return list.map((value) => {
65
+ if (typeof value !== "string") return value;
66
+ let start = style;
67
+ let end = colorEnd;
68
+ if (bold) {
69
+ start = `${TTY_STYLE.BOLD}${start}`;
70
+ end = `${end}${TTY_STYLE.BOLD}`;
71
+ }
72
+ return `${start}${value}${end}`;
73
+ });
74
+ }
75
+ function shouldUseStack() {
76
+ try {
77
+ return valueToBoolean(process.env.ZEED_STACK, false);
78
+ } catch (err) {}
79
+ return false;
80
+ }
81
+ let defaultUseStack;
82
+ const loggerStackTraceDebug = "loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485";
83
+ function LoggerNodeHandler(opt = {}) {
84
+ defaultUseColor ??= shouldUseColor();
85
+ defaultUseStack ??= shouldUseStack();
86
+ startTime ??= getTimestamp();
87
+ const { level = void 0, filter = void 0, colors = defaultUseColor, levelHelper = true, nameBrackets = true, padding = 0, fill = 0, stack = defaultUseStack, time = true } = opt;
88
+ const matchesNamespace = useNamespaceFilter(filter);
89
+ const matchesLevel = useLevelFilter(level);
90
+ return (msg) => {
91
+ if (!matchesLevel(msg.level)) return;
92
+ if (!matchesNamespace(msg.name)) return;
93
+ const timeNow = getTimestamp();
94
+ const name = msg.name || "";
95
+ let ninfo = namespaces[name || ""];
96
+ if (ninfo == null) {
97
+ ninfo = { color: nodeSelectColorByName(name) };
98
+ namespaces[name] = ninfo;
99
+ }
100
+ const timeDiffString = formatMilliseconds(timeNow - startTime);
101
+ let args;
102
+ let displayName = nameBrackets ? `[${name}]` : name;
103
+ if (padding > 0) displayName = displayName.padStart(padding, " ");
104
+ if (fill > 0) displayName = displayName.padEnd(fill, " ");
105
+ if (colors) {
106
+ const c = ninfo.color;
107
+ args = [`${colorString(displayName, c)} | `];
108
+ if (msg.level === 2) args.push(...colorStringList(msg.messages, TTY_STYLE.ORANGE));
109
+ else if (msg.level === 3) args.push(...colorStringList(msg.messages, TTY_STYLE.RED));
110
+ else args.push(...msg.messages);
111
+ if (time) args.push(colorString(`+${timeDiffString}`, c));
112
+ } else {
113
+ args = [displayName, ...msg.messages];
114
+ if (time) args.push(`+${timeDiffString}`);
115
+ }
116
+ if (msg.messages?.[0] === "loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485") try {
117
+ console.log(getStack());
118
+ } catch (err) {}
119
+ if (stack) {
120
+ let line = "";
121
+ if (typeof stack === "boolean") {
122
+ line = getSourceLocationByPrecedingPattern([
123
+ "at Function.",
124
+ "at null.log (",
125
+ "at log ("
126
+ ], true);
127
+ if (!line) line = getSourceLocation(0, true);
128
+ } else line = getSourceLocation(typeof stack === "number" ? stack : 3, true);
129
+ if (line) args.push(colorString(`(${line})`, COLOR.GRAY));
130
+ }
131
+ const sep = "|";
132
+ const charLevel = ".";
133
+ switch (msg.level) {
134
+ case 1:
135
+ if (levelHelper) args[0] = `I${sep}${charLevel} ${args[0]}`;
136
+ log(...args);
137
+ break;
138
+ case 2:
139
+ if (levelHelper) args[0] = (colors ? colorString(`W${sep}${charLevel}${charLevel} `, COLOR.ORANGE) : `W${sep}${charLevel}${charLevel} `) + args[0];
140
+ log(...args);
141
+ break;
142
+ case 3:
143
+ if (levelHelper) args[0] = (colors ? colorString(`E${sep}${charLevel}${charLevel}${charLevel} `, COLOR.RED) : `E${sep}${charLevel}${charLevel}${charLevel} `) + args[0];
144
+ log(...args);
145
+ break;
146
+ default:
147
+ if (levelHelper) args[0] = `D${sep} ${args[0]}`;
148
+ log(...args);
149
+ break;
150
+ }
151
+ };
152
+ }
153
+
154
+ //#endregion
155
+ export { LoggerNodeHandler, colorString, colorStringList, loggerStackTraceDebug };
2
156
  //# sourceMappingURL=log-node.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-node.mjs","names":[],"sources":["../../../src/node/log/log-node.ts"],"sourcesContent":["import type { LogHandler, LogHandlerOptions, LogMessage } from '../../common/log/log-base'\nimport process from 'node:process'\nimport tty from 'node:tty'\nimport { valueToBoolean } from '../../common/data/convert'\nimport { renderMessages } from '../../common/data/message'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from '../../common/log/log-base'\nimport { useLevelFilter, useNamespaceFilter } from '../../common/log/log-filter'\nimport { formatMilliseconds, getTimestamp } from '../../common/time'\nimport { getSourceLocation, getSourceLocationByPrecedingPattern, getStack } from './log-util'\n\nfunction shouldUseColor(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_COLOR, tty.isatty(process.stdout.fd))\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseColor: boolean | undefined\n\nconst colors = [6, 2, 3, 4, 5, 1]\n\nfunction nodeSelectColorByName(namespace: string) {\n let hash = 0\n for (let i = 0; i < namespace.length; i++) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i)\n hash |= 0 // Convert to 32bit integer\n }\n return colors[Math.abs(hash) % colors.length]\n}\n\nconst namespaces: Record<string, any> = {}\n\nlet startTime: number | undefined\n\nfunction log(...args: any[]) {\n process.stdout.write(`${renderMessages(args)}\\n`)\n}\n\n// const _browserStyleMap = {\n// [BOLD]: { \"font-weight\": \"bold\" },\n// [UNBOLD]: { \"font-weight\": \"normal\" },\n// [BLUE]: { color: \"blue\" },\n// [GREEN]: { color: \"green\" },\n// [GREY]: { color: \"grey\" },\n// [RED]: { color: \"red\" },\n// [PURPLE]: { color: \"purple\" },\n// [ORANGE]: { color: \"orange\" },\n// [UNCOLOR]: { color: \"black\" },\n// }\n\nconst TTY_STYLE = {\n BOLD: '\\u001B[1m',\n UNBOLD: '\\u001B[2m',\n RED: '\\u001B[31m',\n GREEN: '\\u001B[32m',\n BLUE: '\\u001B[34m',\n PURPLE: '\\u001B[35m',\n GRAY: '\\u001B[37m',\n ORANGE: '\\u001B[38;5;208m',\n UNCOLOR: '\\u001B[0m',\n}\n\nenum COLOR {\n RED = 1,\n GREEN = 2,\n BLUE = 4,\n PURPLE = 5,\n GRAY = 7,\n ORANGE = 8,\n}\n\nconst colorEnd = '\\u001B[0m'\n\nexport function colorString(text: string, colorCode: number) {\n const colorStart = colorCode === COLOR.ORANGE\n ? TTY_STYLE.ORANGE\n : `\\u001B[3${colorCode < 8 ? colorCode : `8;5;${colorCode}`}m`\n return `${colorStart}${text}${colorEnd}`\n}\n\nexport function colorStringList(\n list: Array<any>,\n style: string,\n bold = true,\n) {\n return list.map((value) => {\n if (typeof value !== 'string')\n return value\n let start = style\n let end = colorEnd\n if (bold) {\n start = `${TTY_STYLE.BOLD}${start}`\n end = `${end}${TTY_STYLE.BOLD}`\n }\n return `${start}${value}${end}`\n })\n}\n\nfunction shouldUseStack(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_STACK, false)\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseStack: boolean | undefined\n\nexport const loggerStackTraceDebug = 'loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485'\n\nexport function LoggerNodeHandler(opt: LogHandlerOptions = {}): LogHandler {\n defaultUseColor ??= shouldUseColor()\n\n defaultUseStack ??= shouldUseStack()\n\n startTime ??= getTimestamp()\n\n const {\n level = undefined,\n filter = undefined,\n colors = defaultUseColor,\n levelHelper = true,\n nameBrackets = true,\n padding = 0,\n fill = 0,\n stack = defaultUseStack,\n time = true,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n const timeNow = getTimestamp()\n const name = msg.name || ''\n let ninfo = namespaces[name || '']\n if (ninfo == null) {\n ninfo = {\n color: nodeSelectColorByName(name),\n // time: timeNow\n }\n namespaces[name] = ninfo\n }\n const timeDiffString = formatMilliseconds(timeNow - startTime!)\n\n let args: string[]\n\n let displayName = nameBrackets ? `[${name}]` : name\n\n if (padding > 0)\n displayName = displayName.padStart(padding, ' ')\n\n if (fill > 0)\n displayName = displayName.padEnd(fill, ' ')\n\n if (colors) {\n const c = ninfo.color\n args = [`${colorString(displayName, c)} | `] // nameBrackets ? [`%c[${name}]`] : [`%c${name}`]\n if (msg.level === LogLevelWarn)\n args.push(...colorStringList(msg.messages, TTY_STYLE.ORANGE))\n else if (msg.level === LogLevelError)\n args.push(...colorStringList(msg.messages, TTY_STYLE.RED))\n else\n args.push(...msg.messages)\n if (time)\n args.push(colorString(`+${timeDiffString}`, c))\n }\n else {\n args = [displayName, ...msg.messages]\n if (time)\n args.push(`+${timeDiffString}`)\n }\n\n if (msg.messages?.[0] === loggerStackTraceDebug) {\n try {\n // eslint-disable-next-line no-console\n console.log(getStack())\n }\n catch (err) { }\n }\n\n // Probably time consuming\n if (stack) {\n let line = ''\n if (typeof stack === 'boolean') {\n line = getSourceLocationByPrecedingPattern(\n ['at Function.', 'at null.log (', 'at log ('],\n true,\n )\n if (!line)\n line = getSourceLocation(0, true)\n }\n else {\n const depth = typeof stack === 'number' ? stack : 3\n line = getSourceLocation(depth, true)\n }\n if (line)\n args.push(colorString(`(${line})`, COLOR.GRAY))\n }\n\n const sep = '|'\n const charLevel = '.'\n\n switch (msg.level) {\n case LogLevelInfo:\n if (levelHelper)\n args[0] = `I${sep}${charLevel} ${args[0]}`\n log(...args)\n break\n case LogLevelWarn:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`W${sep}${charLevel}${charLevel} `, COLOR.ORANGE)\n : `W${sep}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n case LogLevelError:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`E${sep}${charLevel}${charLevel}${charLevel} `, COLOR.RED)\n : `E${sep}${charLevel}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n default:\n if (levelHelper)\n args[0] = `D${sep} ${args[0]}`\n log(...args)\n break\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"log-node.mjs","names":[],"sources":["../../../src/node/log/log-node.ts"],"sourcesContent":["import type { LogHandler, LogHandlerOptions, LogMessage } from '../../common/log/log-base'\nimport process from 'node:process'\nimport tty from 'node:tty'\nimport { valueToBoolean } from '../../common/data/convert'\nimport { renderMessages } from '../../common/data/message'\nimport { LogLevelError, LogLevelInfo, LogLevelWarn } from '../../common/log/log-base'\nimport { useLevelFilter, useNamespaceFilter } from '../../common/log/log-filter'\nimport { formatMilliseconds, getTimestamp } from '../../common/time'\nimport { getSourceLocation, getSourceLocationByPrecedingPattern, getStack } from './log-util'\n\nfunction shouldUseColor(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_COLOR, tty.isatty(process.stdout.fd))\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseColor: boolean | undefined\n\nconst colors = [6, 2, 3, 4, 5, 1]\n\nfunction nodeSelectColorByName(namespace: string) {\n let hash = 0\n for (let i = 0; i < namespace.length; i++) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i)\n hash |= 0 // Convert to 32bit integer\n }\n return colors[Math.abs(hash) % colors.length]\n}\n\nconst namespaces: Record<string, any> = {}\n\nlet startTime: number | undefined\n\nfunction log(...args: any[]) {\n process.stdout.write(`${renderMessages(args)}\\n`)\n}\n\n// const _browserStyleMap = {\n// [BOLD]: { \"font-weight\": \"bold\" },\n// [UNBOLD]: { \"font-weight\": \"normal\" },\n// [BLUE]: { color: \"blue\" },\n// [GREEN]: { color: \"green\" },\n// [GREY]: { color: \"grey\" },\n// [RED]: { color: \"red\" },\n// [PURPLE]: { color: \"purple\" },\n// [ORANGE]: { color: \"orange\" },\n// [UNCOLOR]: { color: \"black\" },\n// }\n\nconst TTY_STYLE = {\n BOLD: '\\u001B[1m',\n UNBOLD: '\\u001B[2m',\n RED: '\\u001B[31m',\n GREEN: '\\u001B[32m',\n BLUE: '\\u001B[34m',\n PURPLE: '\\u001B[35m',\n GRAY: '\\u001B[37m',\n ORANGE: '\\u001B[38;5;208m',\n UNCOLOR: '\\u001B[0m',\n}\n\nenum COLOR {\n RED = 1,\n GREEN = 2,\n BLUE = 4,\n PURPLE = 5,\n GRAY = 7,\n ORANGE = 8,\n}\n\nconst colorEnd = '\\u001B[0m'\n\nexport function colorString(text: string, colorCode: number) {\n const colorStart = colorCode === COLOR.ORANGE\n ? TTY_STYLE.ORANGE\n : `\\u001B[3${colorCode < 8 ? colorCode : `8;5;${colorCode}`}m`\n return `${colorStart}${text}${colorEnd}`\n}\n\nexport function colorStringList(\n list: Array<any>,\n style: string,\n bold = true,\n) {\n return list.map((value) => {\n if (typeof value !== 'string')\n return value\n let start = style\n let end = colorEnd\n if (bold) {\n start = `${TTY_STYLE.BOLD}${start}`\n end = `${end}${TTY_STYLE.BOLD}`\n }\n return `${start}${value}${end}`\n })\n}\n\nfunction shouldUseStack(): boolean {\n try {\n return valueToBoolean(process.env.ZEED_STACK, false)\n }\n catch (err) {}\n return false\n}\n\nlet defaultUseStack: boolean | undefined\n\nexport const loggerStackTraceDebug = 'loggerStackTraceDebug-7d38e5a9214b58d29734374cdb9521fd964d7485'\n\nexport function LoggerNodeHandler(opt: LogHandlerOptions = {}): LogHandler {\n defaultUseColor ??= shouldUseColor()\n\n defaultUseStack ??= shouldUseStack()\n\n startTime ??= getTimestamp()\n\n const {\n level = undefined,\n filter = undefined,\n colors = defaultUseColor,\n levelHelper = true,\n nameBrackets = true,\n padding = 0,\n fill = 0,\n stack = defaultUseStack,\n time = true,\n } = opt\n const matchesNamespace = useNamespaceFilter(filter)\n const matchesLevel = useLevelFilter(level)\n return (msg: LogMessage) => {\n if (!matchesLevel(msg.level))\n return\n if (!matchesNamespace(msg.name))\n return\n const timeNow = getTimestamp()\n const name = msg.name || ''\n let ninfo = namespaces[name || '']\n if (ninfo == null) {\n ninfo = {\n color: nodeSelectColorByName(name),\n // time: timeNow\n }\n namespaces[name] = ninfo\n }\n const timeDiffString = formatMilliseconds(timeNow - startTime!)\n\n let args: string[]\n\n let displayName = nameBrackets ? `[${name}]` : name\n\n if (padding > 0)\n displayName = displayName.padStart(padding, ' ')\n\n if (fill > 0)\n displayName = displayName.padEnd(fill, ' ')\n\n if (colors) {\n const c = ninfo.color\n args = [`${colorString(displayName, c)} | `] // nameBrackets ? [`%c[${name}]`] : [`%c${name}`]\n if (msg.level === LogLevelWarn)\n args.push(...colorStringList(msg.messages, TTY_STYLE.ORANGE))\n else if (msg.level === LogLevelError)\n args.push(...colorStringList(msg.messages, TTY_STYLE.RED))\n else\n args.push(...msg.messages)\n if (time)\n args.push(colorString(`+${timeDiffString}`, c))\n }\n else {\n args = [displayName, ...msg.messages]\n if (time)\n args.push(`+${timeDiffString}`)\n }\n\n if (msg.messages?.[0] === loggerStackTraceDebug) {\n try {\n // eslint-disable-next-line no-console\n console.log(getStack())\n }\n catch (err) { }\n }\n\n // Probably time consuming\n if (stack) {\n let line = ''\n if (typeof stack === 'boolean') {\n line = getSourceLocationByPrecedingPattern(\n ['at Function.', 'at null.log (', 'at log ('],\n true,\n )\n if (!line)\n line = getSourceLocation(0, true)\n }\n else {\n const depth = typeof stack === 'number' ? stack : 3\n line = getSourceLocation(depth, true)\n }\n if (line)\n args.push(colorString(`(${line})`, COLOR.GRAY))\n }\n\n const sep = '|'\n const charLevel = '.'\n\n switch (msg.level) {\n case LogLevelInfo:\n if (levelHelper)\n args[0] = `I${sep}${charLevel} ${args[0]}`\n log(...args)\n break\n case LogLevelWarn:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`W${sep}${charLevel}${charLevel} `, COLOR.ORANGE)\n : `W${sep}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n case LogLevelError:\n if (levelHelper) {\n args[0] = (colors\n ? colorString(`E${sep}${charLevel}${charLevel}${charLevel} `, COLOR.RED)\n : `E${sep}${charLevel}${charLevel}${charLevel} `) + args[0]\n }\n log(...args)\n break\n default:\n if (levelHelper)\n args[0] = `D${sep} ${args[0]}`\n log(...args)\n break\n }\n }\n}\n"],"mappings":"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"}