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 +1 @@
1
- {"version":3,"file":"is.mjs","names":[],"sources":["../../../src/common/data/is.ts"],"sourcesContent":["// https://github.com/sindresorhus/is/ MIT\n// https://github.com/sindresorhus/ts-extras\n// https://github.com/sindresorhus/type-fest\n// https://github.com/antfu/utils\n\nimport { size } from './utils'\n\n// https://developer.mozilla.org/en-US/docs/Glossary/Primitive\nexport type Primitive =\n | null\n | undefined\n | string\n | number\n | boolean\n | symbol\n | bigint\n\nexport function isObject(obj: unknown): obj is object {\n return obj != null && typeof obj === 'object'\n}\n\n// eslint-disable-next-line ts/no-unsafe-function-type\nexport function isFunction(obj: unknown): obj is Function {\n return obj != null && typeof obj === 'function'\n}\n\nexport function isBinaryArray<T>(obj: unknown): obj is T {\n return (typeof Uint8Array !== 'undefined' && obj instanceof Uint8Array)\n || (typeof Uint8ClampedArray !== 'undefined' && obj instanceof Uint8ClampedArray)\n || (typeof Uint16Array !== 'undefined' && obj instanceof Uint16Array)\n || (typeof Uint32Array !== 'undefined' && obj instanceof Uint32Array)\n || (typeof Int8Array !== 'undefined' && obj instanceof Int8Array)\n || (typeof Int16Array !== 'undefined' && obj instanceof Int16Array)\n || (typeof Int32Array !== 'undefined' && obj instanceof Int32Array)\n || (typeof Float32Array !== 'undefined' && obj instanceof Float32Array)\n || (typeof Float64Array !== 'undefined' && obj instanceof Float64Array)\n || (typeof BigInt64Array !== 'undefined' && obj instanceof BigInt64Array)\n || (typeof BigUint64Array !== 'undefined' && obj instanceof BigUint64Array)\n}\n\n/** Something like number, string, boolean */\nexport function isPrimitive(obj: unknown): obj is Primitive {\n return Object(obj) !== obj\n}\n\nexport function isArray(obj: unknown): obj is Array<any> {\n return Array.isArray(obj)\n}\n\n/** Object that is not an array. But could also be an object defined by a class. */\nexport function isRecord(obj: unknown): obj is Record<string, any> {\n return isObject(obj) && !isArray(obj)\n}\n\n/** Just data, like constructed via `{...}`. */\nexport function isRecordPlain(obj: unknown): obj is Record<string, any> {\n return obj?.constructor === Object\n}\n\nexport function isString(obj: unknown): obj is string {\n return typeof obj === 'string'\n}\n\nexport function isNumber(obj: unknown): obj is number {\n return typeof obj === 'number' && !Number.isNaN(obj) // wtf! Nan === type number\n}\n\nexport function isInteger(obj: unknown): obj is number {\n return isNumber(obj) && Number.isInteger(obj)\n}\n\n/** Integer with full precision i.e. its value is in the signed 53 bit range. */\nexport function isSafeInteger(obj: unknown): obj is number {\n return isNumber(obj) && Number.isSafeInteger(obj)\n}\n\nexport function isBoolean(obj: unknown): obj is boolean {\n return typeof obj === 'boolean'\n}\n\nexport function isSymbol(obj: unknown): obj is symbol {\n return typeof obj === 'symbol'\n}\n\n/** @deprecated use `isNull` */\nexport function isNullOrUndefined(obj: unknown): obj is null | undefined {\n return obj == null\n}\n\nexport function isNull(obj: unknown): obj is null | undefined {\n return obj == null\n}\nexport function isUint8Array(obj: unknown): obj is Uint8Array {\n return isObject(obj) && obj.constructor.name === 'Uint8Array'\n}\n\n// https://stackoverflow.com/a/46700791/140927\n\n/** Not `null` or `undefined`, use like `.filter(isNotNull)` */\nexport function isNotNull<T>(value: T | null | undefined): value is T {\n return value != null\n}\n\n/** Empty means `null` or `undefined` or object, array or string without items, use like `.filter(isEmpty)` */\nexport function isEmpty<T>(value: T | null | undefined): value is T {\n return value == null || value === '' || (isObject(value) && size(value) <= 0)\n}\n\n/** Not `null` or `undefined` or object or array without items, use like `.filter(isNotEmpty)` */\nexport function isNotEmpty<T>(value: T | null | undefined): value is T {\n return !isEmpty(value)\n}\n\n/**\n * Not `null` or `undefined` or `false`, use like `.filter(isValue)`.\n * Usefull e.g. on conditional list: `[x && 'value', ...]`\n */\nexport function isValue<T>(value: T | null | undefined | boolean): value is T {\n return value != null && value !== false && value !== true // todo limit on false?\n}\n\n/**\n * Not `null` or `undefined` or `false` or empty string, use like `.filter(isValue)`.\n * Usefull e.g. on conditional list: `[x && 'value', ...]`\n */\nexport function isTruthy<T>(value: T | null | undefined | boolean): value is T {\n return value != null && value !== false && value !== 0 && value !== ''\n}\n"],"mappings":"mCAiBA,SAAgB,EAAS,EAA6B,CACpD,OAAsB,OAAO,GAAQ,YAA9B,EAIT,SAAgB,EAAW,EAA+B,CACxD,OAAO,GAAO,MAAQ,OAAO,GAAQ,WAGvC,SAAgB,EAAiB,EAAwB,CACvD,OAAQ,OAAO,WAAe,KAAgB,aAAe,YACvD,OAAO,kBAAsB,KAAgB,aAAe,mBAC5D,OAAO,YAAgB,KAAgB,aAAe,aACtD,OAAO,YAAgB,KAAgB,aAAe,aACtD,OAAO,UAAc,KAAgB,aAAe,WACpD,OAAO,WAAe,KAAgB,aAAe,YACrD,OAAO,WAAe,KAAgB,aAAe,YACrD,OAAO,aAAiB,KAAgB,aAAe,cACvD,OAAO,aAAiB,KAAgB,aAAe,cACvD,OAAO,cAAkB,KAAgB,aAAe,eACxD,OAAO,eAAmB,KAAgB,aAAe,eAIjE,SAAgB,EAAY,EAAgC,CAC1D,OAAO,OAAO,EAAI,GAAK,EAGzB,SAAgB,EAAQ,EAAiC,CACvD,OAAO,MAAM,QAAQ,EAAI,CAI3B,SAAgB,EAAS,EAA0C,CACjE,OAAO,EAAS,EAAI,EAAI,CAAC,EAAQ,EAAI,CAIvC,SAAgB,EAAc,EAA0C,CACtE,OAAO,GAAK,cAAgB,OAG9B,SAAgB,EAAS,EAA6B,CACpD,OAAO,OAAO,GAAQ,SAGxB,SAAgB,EAAS,EAA6B,CACpD,OAAO,OAAO,GAAQ,UAAY,CAAC,OAAO,MAAM,EAAI,CAGtD,SAAgB,EAAU,EAA6B,CACrD,OAAO,EAAS,EAAI,EAAI,OAAO,UAAU,EAAI,CAI/C,SAAgB,EAAc,EAA6B,CACzD,OAAO,EAAS,EAAI,EAAI,OAAO,cAAc,EAAI,CAGnD,SAAgB,EAAU,EAA8B,CACtD,OAAO,OAAO,GAAQ,UAGxB,SAAgB,EAAS,EAA6B,CACpD,OAAO,OAAO,GAAQ,SAIxB,SAAgB,EAAkB,EAAuC,CACvE,OAAO,GAAO,KAGhB,SAAgB,EAAO,EAAuC,CAC5D,OAAO,GAAO,KAEhB,SAAgB,EAAa,EAAiC,CAC5D,OAAO,EAAS,EAAI,EAAI,EAAI,YAAY,OAAS,aAMnD,SAAgB,EAAa,EAAyC,CACpE,OAAO,GAAS,KAIlB,SAAgB,EAAW,EAAyC,CAClE,OAAO,GAAS,MAAQ,IAAU,IAAO,EAAS,EAAM,EAAI,EAAK,EAAM,EAAI,EAI7E,SAAgB,EAAc,EAAyC,CACrE,MAAO,CAAC,EAAQ,EAAM,CAOxB,SAAgB,EAAW,EAAmD,CAC5E,OAAO,GAAS,MAAQ,IAAU,IAAS,IAAU,GAOvD,SAAgB,EAAY,EAAmD,CAC7E,OAAO,GAAS,MAAQ,IAAU,IAAS,IAAU,GAAK,IAAU"}
1
+ {"version":3,"file":"is.mjs","names":[],"sources":["../../../src/common/data/is.ts"],"sourcesContent":["// https://github.com/sindresorhus/is/ MIT\n// https://github.com/sindresorhus/ts-extras\n// https://github.com/sindresorhus/type-fest\n// https://github.com/antfu/utils\n\nimport { size } from './utils'\n\n// https://developer.mozilla.org/en-US/docs/Glossary/Primitive\nexport type Primitive =\n | null\n | undefined\n | string\n | number\n | boolean\n | symbol\n | bigint\n\nexport function isObject(obj: unknown): obj is object {\n return obj != null && typeof obj === 'object'\n}\n\n// eslint-disable-next-line ts/no-unsafe-function-type\nexport function isFunction(obj: unknown): obj is Function {\n return obj != null && typeof obj === 'function'\n}\n\nexport function isBinaryArray<T>(obj: unknown): obj is T {\n return (typeof Uint8Array !== 'undefined' && obj instanceof Uint8Array)\n || (typeof Uint8ClampedArray !== 'undefined' && obj instanceof Uint8ClampedArray)\n || (typeof Uint16Array !== 'undefined' && obj instanceof Uint16Array)\n || (typeof Uint32Array !== 'undefined' && obj instanceof Uint32Array)\n || (typeof Int8Array !== 'undefined' && obj instanceof Int8Array)\n || (typeof Int16Array !== 'undefined' && obj instanceof Int16Array)\n || (typeof Int32Array !== 'undefined' && obj instanceof Int32Array)\n || (typeof Float32Array !== 'undefined' && obj instanceof Float32Array)\n || (typeof Float64Array !== 'undefined' && obj instanceof Float64Array)\n || (typeof BigInt64Array !== 'undefined' && obj instanceof BigInt64Array)\n || (typeof BigUint64Array !== 'undefined' && obj instanceof BigUint64Array)\n}\n\n/** Something like number, string, boolean */\nexport function isPrimitive(obj: unknown): obj is Primitive {\n return Object(obj) !== obj\n}\n\nexport function isArray(obj: unknown): obj is Array<any> {\n return Array.isArray(obj)\n}\n\n/** Object that is not an array. But could also be an object defined by a class. */\nexport function isRecord(obj: unknown): obj is Record<string, any> {\n return isObject(obj) && !isArray(obj)\n}\n\n/** Just data, like constructed via `{...}`. */\nexport function isRecordPlain(obj: unknown): obj is Record<string, any> {\n return obj?.constructor === Object\n}\n\nexport function isString(obj: unknown): obj is string {\n return typeof obj === 'string'\n}\n\nexport function isNumber(obj: unknown): obj is number {\n return typeof obj === 'number' && !Number.isNaN(obj) // wtf! Nan === type number\n}\n\nexport function isInteger(obj: unknown): obj is number {\n return isNumber(obj) && Number.isInteger(obj)\n}\n\n/** Integer with full precision i.e. its value is in the signed 53 bit range. */\nexport function isSafeInteger(obj: unknown): obj is number {\n return isNumber(obj) && Number.isSafeInteger(obj)\n}\n\nexport function isBoolean(obj: unknown): obj is boolean {\n return typeof obj === 'boolean'\n}\n\nexport function isSymbol(obj: unknown): obj is symbol {\n return typeof obj === 'symbol'\n}\n\n/** @deprecated use `isNull` */\nexport function isNullOrUndefined(obj: unknown): obj is null | undefined {\n return obj == null\n}\n\nexport function isNull(obj: unknown): obj is null | undefined {\n return obj == null\n}\nexport function isUint8Array(obj: unknown): obj is Uint8Array {\n return isObject(obj) && obj.constructor.name === 'Uint8Array'\n}\n\n// https://stackoverflow.com/a/46700791/140927\n\n/** Not `null` or `undefined`, use like `.filter(isNotNull)` */\nexport function isNotNull<T>(value: T | null | undefined): value is T {\n return value != null\n}\n\n/** Empty means `null` or `undefined` or object, array or string without items, use like `.filter(isEmpty)` */\nexport function isEmpty<T>(value: T | null | undefined): value is T {\n return value == null || value === '' || (isObject(value) && size(value) <= 0)\n}\n\n/** Not `null` or `undefined` or object or array without items, use like `.filter(isNotEmpty)` */\nexport function isNotEmpty<T>(value: T | null | undefined): value is T {\n return !isEmpty(value)\n}\n\n/**\n * Not `null` or `undefined` or `false`, use like `.filter(isValue)`.\n * Usefull e.g. on conditional list: `[x && 'value', ...]`\n */\nexport function isValue<T>(value: T | null | undefined | boolean): value is T {\n return value != null && value !== false && value !== true // todo limit on false?\n}\n\n/**\n * Not `null` or `undefined` or `false` or empty string, use like `.filter(isValue)`.\n * Usefull e.g. on conditional list: `[x && 'value', ...]`\n */\nexport function isTruthy<T>(value: T | null | undefined | boolean): value is T {\n return value != null && value !== false && value !== 0 && value !== ''\n}\n"],"mappings":";;;AAiBA,SAAgB,SAAS,KAA6B;AACpD,QAAO,OAAO,QAAQ,OAAO,QAAQ;;AAIvC,SAAgB,WAAW,KAA+B;AACxD,QAAO,OAAO,QAAQ,OAAO,QAAQ;;AAGvC,SAAgB,cAAiB,KAAwB;AACvD,QAAQ,OAAO,eAAe,eAAgB,eAAe,cACvD,OAAO,sBAAsB,eAAgB,eAAe,qBAC5D,OAAO,gBAAgB,eAAgB,eAAe,eACtD,OAAO,gBAAgB,eAAgB,eAAe,eACtD,OAAO,cAAc,eAAgB,eAAe,aACpD,OAAO,eAAe,eAAgB,eAAe,cACrD,OAAO,eAAe,eAAgB,eAAe,cACrD,OAAO,iBAAiB,eAAgB,eAAe,gBACvD,OAAO,iBAAiB,eAAgB,eAAe,gBACvD,OAAO,kBAAkB,eAAgB,eAAe,iBACxD,OAAO,mBAAmB,eAAgB,eAAe;;;AAIjE,SAAgB,YAAY,KAAgC;AAC1D,QAAO,OAAO,IAAI,KAAK;;AAGzB,SAAgB,QAAQ,KAAiC;AACvD,QAAO,MAAM,QAAQ,IAAI;;;AAI3B,SAAgB,SAAS,KAA0C;AACjE,QAAO,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI;;;AAIvC,SAAgB,cAAc,KAA0C;AACtE,QAAO,KAAK,gBAAgB;;AAG9B,SAAgB,SAAS,KAA6B;AACpD,QAAO,OAAO,QAAQ;;AAGxB,SAAgB,SAAS,KAA6B;AACpD,QAAO,OAAO,QAAQ,YAAY,CAAC,OAAO,MAAM,IAAI;;AAGtD,SAAgB,UAAU,KAA6B;AACrD,QAAO,SAAS,IAAI,IAAI,OAAO,UAAU,IAAI;;;AAI/C,SAAgB,cAAc,KAA6B;AACzD,QAAO,SAAS,IAAI,IAAI,OAAO,cAAc,IAAI;;AAGnD,SAAgB,UAAU,KAA8B;AACtD,QAAO,OAAO,QAAQ;;AAGxB,SAAgB,SAAS,KAA6B;AACpD,QAAO,OAAO,QAAQ;;;AAIxB,SAAgB,kBAAkB,KAAuC;AACvE,QAAO,OAAO;;AAGhB,SAAgB,OAAO,KAAuC;AAC5D,QAAO,OAAO;;AAEhB,SAAgB,aAAa,KAAiC;AAC5D,QAAO,SAAS,IAAI,IAAI,IAAI,YAAY,SAAS;;;AAMnD,SAAgB,UAAa,OAAyC;AACpE,QAAO,SAAS;;;AAIlB,SAAgB,QAAW,OAAyC;AAClE,QAAO,SAAS,QAAQ,UAAU,MAAO,SAAS,MAAM,IAAI,KAAK,MAAM,IAAI;;;AAI7E,SAAgB,WAAc,OAAyC;AACrE,QAAO,CAAC,QAAQ,MAAM;;;;;;AAOxB,SAAgB,QAAW,OAAmD;AAC5E,QAAO,SAAS,QAAQ,UAAU,SAAS,UAAU;;;;;;AAOvD,SAAgB,SAAY,OAAmD;AAC7E,QAAO,SAAS,QAAQ,UAAU,SAAS,UAAU,KAAK,UAAU"}
@@ -1,2 +1,71 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=(e,t)=>t instanceof Object&&!Array.isArray(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t;function t(t,n=void 0){return JSON.stringify(t,e,n)}function n(e,t){let n=[],r=[];return t??=function(e,t){return n[0]===t?`[Circular ~]`:`[Circular ~.${r.slice(0,n.indexOf(t)).join(`.`)}]`},function(i,a){if(n.length>0){let e=n.indexOf(this);~e?n.splice(e+1):n.push(this),~e?r.splice(e,1/0,i):r.push(i),~n.indexOf(a)&&(a=t?.call(this,i,a))}else n.push(a);try{return e==null?a:e.call(this,i,a)}catch{}return String(a)}}function r(e,t,r,i){return JSON.stringify(e,n(t??void 0,i),r??void 0)}const i=r,a=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,o=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,s=/^["{[]|^-?\d[0-9.]{0,14}$/;function c(e,t){if(!(e===`__proto__`||e===`constructor`))return t}function l(e){if(typeof e!=`string`)return e;let t=e.toLowerCase();if(t===`true`)return!0;if(t===`false`)return!1;if(t===`null`)return null;if(t===`nan`)return NaN;if(t===`infinity`)return 1/0;if(t!==`undefined`){if(!s.test(e))return e;try{return a.test(e)||o.test(e)?JSON.parse(e,c):JSON.parse(e)}catch{return e}}}exports.jsonParse=l,exports.jsonStringify=i,exports.jsonStringifySafe=r,exports.jsonStringifySorted=t;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/common/data/json.ts
4
+ const _sortedReplacer = (key, value) => value instanceof Object && !Array.isArray(value) ? Object.keys(value).sort().reduce((sorted, key) => {
5
+ sorted[key] = value[key];
6
+ return sorted;
7
+ }, {}) : value;
8
+ function jsonStringifySorted(obj, indent = void 0) {
9
+ return JSON.stringify(obj, _sortedReplacer, indent);
10
+ }
11
+ function serializer(replacer, cycleReplacer) {
12
+ const stack = [];
13
+ const keys = [];
14
+ if (cycleReplacer == null) cycleReplacer = function(_key, value) {
15
+ if (stack[0] === value) return "[Circular ~]";
16
+ return `[Circular ~.${keys.slice(0, stack.indexOf(value)).join(".")}]`;
17
+ };
18
+ return function(key, value) {
19
+ if (stack.length > 0) {
20
+ const thisPos = stack.indexOf(this);
21
+ ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);
22
+ ~thisPos ? keys.splice(thisPos, Number.POSITIVE_INFINITY, key) : keys.push(key);
23
+ if (~stack.indexOf(value)) value = cycleReplacer?.call(this, key, value);
24
+ } else stack.push(value);
25
+ try {
26
+ return replacer == null ? value : replacer.call(this, key, value);
27
+ } catch (err) {}
28
+ return String(value);
29
+ };
30
+ }
31
+ /**
32
+ * Similar to JSON.stringify but can handle circular references.
33
+ * NOT SORTED!
34
+ * From https://github.com/moll/json-stringify-safe/blob/master/stringify.js
35
+ * License ISC
36
+ */
37
+ function jsonStringifySafe(obj, replacer, spaces, cycleReplacer) {
38
+ return JSON.stringify(obj, serializer(replacer ?? void 0, cycleReplacer), spaces ?? void 0);
39
+ }
40
+ const jsonStringify = jsonStringifySafe;
41
+ const suspectProtoRx = /"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/;
42
+ const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;
43
+ const JsonSigRx = /^["{[]|^-?\d[0-9.]{0,14}$/;
44
+ function jsonParseTransform(key, value) {
45
+ if (key === "__proto__" || key === "constructor") return;
46
+ return value;
47
+ }
48
+ function jsonParse(val) {
49
+ if (typeof val !== "string") return val;
50
+ const _lval = val.toLowerCase();
51
+ if (_lval === "true") return true;
52
+ if (_lval === "false") return false;
53
+ if (_lval === "null") return null;
54
+ if (_lval === "nan") return NaN;
55
+ if (_lval === "infinity") return Number.POSITIVE_INFINITY;
56
+ if (_lval === "undefined") return void 0;
57
+ if (!JsonSigRx.test(val)) return val;
58
+ try {
59
+ if (suspectProtoRx.test(val) || suspectConstructorRx.test(val)) return JSON.parse(val, jsonParseTransform);
60
+ return JSON.parse(val);
61
+ } catch (_e) {
62
+ return val;
63
+ }
64
+ }
65
+
66
+ //#endregion
67
+ exports.jsonParse = jsonParse;
68
+ exports.jsonStringify = jsonStringify;
69
+ exports.jsonStringifySafe = jsonStringifySafe;
70
+ exports.jsonStringifySorted = jsonStringifySorted;
2
71
  //# sourceMappingURL=json.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.cjs","names":[],"sources":["../../../src/common/data/json.ts"],"sourcesContent":["// From https://github.com/moll/json-stringify-safe License ISC\n\nconst _sortedReplacer: JsonEntryProcessor = (key: string, value: any) =>\n (value instanceof Object && !(Array.isArray(value)))\n ? Object.keys(value)\n .sort()\n // .filter((key) => value[key] != null) // Remove null and undefined\n .reduce((sorted: any, key: string) => {\n // Sorted copy\n sorted[key] = value[key]\n return sorted\n }, {})\n : value\n\n// https://gist.github.com/davidfurlong/463a83a33b70a3b6618e97ec9679e490\nexport function jsonStringifySorted(\n obj: any,\n indent: number | undefined = undefined,\n) {\n return JSON.stringify(obj, _sortedReplacer, indent)\n}\n\n//\n\nexport type JsonEntryProcessor = (key: string, value: any) => any\n\nfunction serializer(replacer?: JsonEntryProcessor, cycleReplacer?: JsonEntryProcessor) {\n const stack: any[] = []\n const keys: string[] = []\n\n if (cycleReplacer == null) {\n cycleReplacer = function (_key, value) {\n if (stack[0] === value)\n return '[Circular ~]'\n return (\n `[Circular ~.${keys.slice(0, stack.indexOf(value)).join('.')}]`\n )\n }\n }\n\n return function (this: JsonEntryProcessor, key: string, value: any): any {\n if (stack.length > 0) {\n const thisPos = stack.indexOf(this)\n // eslint-disable-next-line ts/no-unused-expressions\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\n // eslint-disable-next-line ts/no-unused-expressions\n ~thisPos ? keys.splice(thisPos, Number.POSITIVE_INFINITY, key) : keys.push(key)\n if (~stack.indexOf(value))\n value = cycleReplacer?.call(this, key, value)\n }\n else {\n stack.push(value)\n }\n\n try {\n return replacer == null ? value : replacer.call(this, key, value)\n }\n catch (err) { }\n return String(value)\n }\n}\n\n/**\n * Similar to JSON.stringify but can handle circular references.\n * NOT SORTED!\n * From https://github.com/moll/json-stringify-safe/blob/master/stringify.js\n * License ISC\n */\nexport function jsonStringifySafe(\n obj: any,\n replacer?: JsonEntryProcessor | null | undefined,\n spaces?: string | number | null,\n cycleReplacer?: JsonEntryProcessor,\n): string {\n return JSON.stringify(\n obj,\n serializer(replacer ?? undefined, cycleReplacer),\n spaces ?? undefined,\n )\n}\n\nexport const jsonStringify = jsonStringifySafe\n\n//\n\n// From https://github.com/unjs/destr MIT\n// https://github.com/fastify/secure-json-parse\n// https://github.com/hapijs/bourne\nconst suspectProtoRx = /\"(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])(?:p|\\\\u0070)(?:r|\\\\u0072)(?:o|\\\\u006[Ff])(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])\"\\s*:/\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/\n\nconst JsonSigRx = /^[\"{[]|^-?\\d[0-9.]{0,14}$/\n\nfunction jsonParseTransform(key: string, value: any): any {\n if (key === '__proto__' || key === 'constructor')\n return\n\n return value\n}\n \n/// Sage JSON parsing protecting against __proto__ and the like\nexport function jsonParse(val: string): any {\n if (typeof val !== 'string')\n return val\n\n const _lval = val.toLowerCase()\n if (_lval === 'true')\n return true\n\n if (_lval === 'false')\n return false\n\n if (_lval === 'null')\n return null\n\n if (_lval === 'nan')\n return Number.NaN\n\n if (_lval === 'infinity')\n return Number.POSITIVE_INFINITY\n\n if (_lval === 'undefined')\n return undefined\n\n if (!JsonSigRx.test(val))\n return val\n\n try {\n if (suspectProtoRx.test(val) || suspectConstructorRx.test(val))\n return JSON.parse(val, jsonParseTransform)\n\n return JSON.parse(val)\n }\n catch (_e) {\n return val\n }\n}\n"],"mappings":"mEAEA,MAAM,GAAuC,EAAa,IACvD,aAAiB,QAAU,CAAE,MAAM,QAAQ,EAAM,CAC9C,OAAO,KAAK,EAAM,CACjB,MAAM,CAEN,QAAQ,EAAa,KAEpB,EAAO,GAAO,EAAM,GACb,GACN,EAAE,CAAC,CACN,EAGN,SAAgB,EACd,EACA,EAA6B,IAAA,GAC7B,CACA,OAAO,KAAK,UAAU,EAAK,EAAiB,EAAO,CAOrD,SAAS,EAAW,EAA+B,EAAoC,CACrF,IAAM,EAAe,EAAE,CACjB,EAAiB,EAAE,CAYzB,MAVA,CACE,IAAgB,SAAU,EAAM,EAAO,CAGrC,OAFI,EAAM,KAAO,EACR,eAEP,eAAe,EAAK,MAAM,EAAG,EAAM,QAAQ,EAAM,CAAC,CAAC,KAAK,IAAI,CAAC,IAK5D,SAAoC,EAAa,EAAiB,CACvE,GAAI,EAAM,OAAS,EAAG,CACpB,IAAM,EAAU,EAAM,QAAQ,KAAK,CAEnC,CAAC,EAAU,EAAM,OAAO,EAAU,EAAE,CAAG,EAAM,KAAK,KAAK,CAEvD,CAAC,EAAU,EAAK,OAAO,EAAS,IAA0B,EAAI,CAAG,EAAK,KAAK,EAAI,CAC3E,CAAC,EAAM,QAAQ,EAAM,GACvB,EAAQ,GAAe,KAAK,KAAM,EAAK,EAAM,OAG/C,EAAM,KAAK,EAAM,CAGnB,GAAI,CACF,OAAO,GAAY,KAAO,EAAQ,EAAS,KAAK,KAAM,EAAK,EAAM,MAEvD,EACZ,OAAO,OAAO,EAAM,EAUxB,SAAgB,EACd,EACA,EACA,EACA,EACQ,CACR,OAAO,KAAK,UACV,EACA,EAAW,GAAY,IAAA,GAAW,EAAc,CAChD,GAAU,IAAA,GACX,CAGH,MAAa,EAAgB,EAOvB,EAAiB,gJACjB,EAAuB,iKAEvB,EAAY,4BAElB,SAAS,EAAmB,EAAa,EAAiB,CACpD,SAAQ,aAAe,IAAQ,eAGnC,OAAO,EAIT,SAAgB,EAAU,EAAkB,CAC1C,GAAI,OAAO,GAAQ,SACjB,OAAO,EAET,IAAM,EAAQ,EAAI,aAAa,CAC/B,GAAI,IAAU,OACZ,MAAO,GAET,GAAI,IAAU,QACZ,MAAO,GAET,GAAI,IAAU,OACZ,OAAO,KAET,GAAI,IAAU,MACZ,MAAO,KAET,GAAI,IAAU,WACZ,MAAO,KAEL,OAAU,YAGd,IAAI,CAAC,EAAU,KAAK,EAAI,CACtB,OAAO,EAET,GAAI,CAIF,OAHI,EAAe,KAAK,EAAI,EAAI,EAAqB,KAAK,EAAI,CACrD,KAAK,MAAM,EAAK,EAAmB,CAErC,KAAK,MAAM,EAAI,MAEb,CACT,OAAO"}
1
+ {"version":3,"file":"json.cjs","names":[],"sources":["../../../src/common/data/json.ts"],"sourcesContent":["// From https://github.com/moll/json-stringify-safe License ISC\n\nconst _sortedReplacer: JsonEntryProcessor = (key: string, value: any) =>\n (value instanceof Object && !(Array.isArray(value)))\n ? Object.keys(value)\n .sort()\n // .filter((key) => value[key] != null) // Remove null and undefined\n .reduce((sorted: any, key: string) => {\n // Sorted copy\n sorted[key] = value[key]\n return sorted\n }, {})\n : value\n\n// https://gist.github.com/davidfurlong/463a83a33b70a3b6618e97ec9679e490\nexport function jsonStringifySorted(\n obj: any,\n indent: number | undefined = undefined,\n) {\n return JSON.stringify(obj, _sortedReplacer, indent)\n}\n\n//\n\nexport type JsonEntryProcessor = (key: string, value: any) => any\n\nfunction serializer(replacer?: JsonEntryProcessor, cycleReplacer?: JsonEntryProcessor) {\n const stack: any[] = []\n const keys: string[] = []\n\n if (cycleReplacer == null) {\n cycleReplacer = function (_key, value) {\n if (stack[0] === value)\n return '[Circular ~]'\n return (\n `[Circular ~.${keys.slice(0, stack.indexOf(value)).join('.')}]`\n )\n }\n }\n\n return function (this: JsonEntryProcessor, key: string, value: any): any {\n if (stack.length > 0) {\n const thisPos = stack.indexOf(this)\n // eslint-disable-next-line ts/no-unused-expressions\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\n // eslint-disable-next-line ts/no-unused-expressions\n ~thisPos ? keys.splice(thisPos, Number.POSITIVE_INFINITY, key) : keys.push(key)\n if (~stack.indexOf(value))\n value = cycleReplacer?.call(this, key, value)\n }\n else {\n stack.push(value)\n }\n\n try {\n return replacer == null ? value : replacer.call(this, key, value)\n }\n catch (err) { }\n return String(value)\n }\n}\n\n/**\n * Similar to JSON.stringify but can handle circular references.\n * NOT SORTED!\n * From https://github.com/moll/json-stringify-safe/blob/master/stringify.js\n * License ISC\n */\nexport function jsonStringifySafe(\n obj: any,\n replacer?: JsonEntryProcessor | null | undefined,\n spaces?: string | number | null,\n cycleReplacer?: JsonEntryProcessor,\n): string {\n return JSON.stringify(\n obj,\n serializer(replacer ?? undefined, cycleReplacer),\n spaces ?? undefined,\n )\n}\n\nexport const jsonStringify = jsonStringifySafe\n\n//\n\n// From https://github.com/unjs/destr MIT\n// https://github.com/fastify/secure-json-parse\n// https://github.com/hapijs/bourne\nconst suspectProtoRx = /\"(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])(?:p|\\\\u0070)(?:r|\\\\u0072)(?:o|\\\\u006[Ff])(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])\"\\s*:/\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/\n\nconst JsonSigRx = /^[\"{[]|^-?\\d[0-9.]{0,14}$/\n\nfunction jsonParseTransform(key: string, value: any): any {\n if (key === '__proto__' || key === 'constructor')\n return\n\n return value\n}\n \n/// Sage JSON parsing protecting against __proto__ and the like\nexport function jsonParse(val: string): any {\n if (typeof val !== 'string')\n return val\n\n const _lval = val.toLowerCase()\n if (_lval === 'true')\n return true\n\n if (_lval === 'false')\n return false\n\n if (_lval === 'null')\n return null\n\n if (_lval === 'nan')\n return Number.NaN\n\n if (_lval === 'infinity')\n return Number.POSITIVE_INFINITY\n\n if (_lval === 'undefined')\n return undefined\n\n if (!JsonSigRx.test(val))\n return val\n\n try {\n if (suspectProtoRx.test(val) || suspectConstructorRx.test(val))\n return JSON.parse(val, jsonParseTransform)\n\n return JSON.parse(val)\n }\n catch (_e) {\n return val\n }\n}\n"],"mappings":";;;AAEA,MAAM,mBAAuC,KAAa,UACvD,iBAAiB,UAAU,CAAE,MAAM,QAAQ,MAAM,GAC9C,OAAO,KAAK,MAAM,CACjB,MAAM,CAEN,QAAQ,QAAa,QAAgB;AAEpC,QAAO,OAAO,MAAM;AACpB,QAAO;GACN,EAAE,CAAC,GACN;AAGN,SAAgB,oBACd,KACA,SAA6B,QAC7B;AACA,QAAO,KAAK,UAAU,KAAK,iBAAiB,OAAO;;AAOrD,SAAS,WAAW,UAA+B,eAAoC;CACrF,MAAM,QAAe,EAAE;CACvB,MAAM,OAAiB,EAAE;AAEzB,KAAI,iBAAiB,KACnB,iBAAgB,SAAU,MAAM,OAAO;AACrC,MAAI,MAAM,OAAO,MACf,QAAO;AACT,SACE,eAAe,KAAK,MAAM,GAAG,MAAM,QAAQ,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;;AAKnE,QAAO,SAAoC,KAAa,OAAiB;AACvE,MAAI,MAAM,SAAS,GAAG;GACpB,MAAM,UAAU,MAAM,QAAQ,KAAK;AAEnC,IAAC,UAAU,MAAM,OAAO,UAAU,EAAE,GAAG,MAAM,KAAK,KAAK;AAEvD,IAAC,UAAU,KAAK,OAAO,SAAS,OAAO,mBAAmB,IAAI,GAAG,KAAK,KAAK,IAAI;AAC/E,OAAI,CAAC,MAAM,QAAQ,MAAM,CACvB,SAAQ,eAAe,KAAK,MAAM,KAAK,MAAM;QAG/C,OAAM,KAAK,MAAM;AAGnB,MAAI;AACF,UAAO,YAAY,OAAO,QAAQ,SAAS,KAAK,MAAM,KAAK,MAAM;WAE5D,KAAK;AACZ,SAAO,OAAO,MAAM;;;;;;;;;AAUxB,SAAgB,kBACd,KACA,UACA,QACA,eACQ;AACR,QAAO,KAAK,UACV,KACA,WAAW,YAAY,QAAW,cAAc,EAChD,UAAU,OACX;;AAGH,MAAa,gBAAgB;AAO7B,MAAM,iBAAiB;AACvB,MAAM,uBAAuB;AAE7B,MAAM,YAAY;AAElB,SAAS,mBAAmB,KAAa,OAAiB;AACxD,KAAI,QAAQ,eAAe,QAAQ,cACjC;AAEF,QAAO;;AAIT,SAAgB,UAAU,KAAkB;AAC1C,KAAI,OAAO,QAAQ,SACjB,QAAO;CAET,MAAM,QAAQ,IAAI,aAAa;AAC/B,KAAI,UAAU,OACZ,QAAO;AAET,KAAI,UAAU,QACZ,QAAO;AAET,KAAI,UAAU,OACZ,QAAO;AAET,KAAI,UAAU,MACZ,QAAO;AAET,KAAI,UAAU,WACZ,QAAO,OAAO;AAEhB,KAAI,UAAU,YACZ,QAAO;AAET,KAAI,CAAC,UAAU,KAAK,IAAI,CACtB,QAAO;AAET,KAAI;AACF,MAAI,eAAe,KAAK,IAAI,IAAI,qBAAqB,KAAK,IAAI,CAC5D,QAAO,KAAK,MAAM,KAAK,mBAAmB;AAE5C,SAAO,KAAK,MAAM,IAAI;UAEjB,IAAI;AACT,SAAO"}
@@ -1,2 +1,66 @@
1
- const e=(e,t)=>t instanceof Object&&!Array.isArray(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t;function t(t,n=void 0){return JSON.stringify(t,e,n)}function n(e,t){let n=[],r=[];return t??=function(e,t){return n[0]===t?`[Circular ~]`:`[Circular ~.${r.slice(0,n.indexOf(t)).join(`.`)}]`},function(i,a){if(n.length>0){let e=n.indexOf(this);~e?n.splice(e+1):n.push(this),~e?r.splice(e,1/0,i):r.push(i),~n.indexOf(a)&&(a=t?.call(this,i,a))}else n.push(a);try{return e==null?a:e.call(this,i,a)}catch{}return String(a)}}function r(e,t,r,i){return JSON.stringify(e,n(t??void 0,i),r??void 0)}const i=r,a=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,o=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,s=/^["{[]|^-?\d[0-9.]{0,14}$/;function c(e,t){if(!(e===`__proto__`||e===`constructor`))return t}function l(e){if(typeof e!=`string`)return e;let t=e.toLowerCase();if(t===`true`)return!0;if(t===`false`)return!1;if(t===`null`)return null;if(t===`nan`)return NaN;if(t===`infinity`)return 1/0;if(t!==`undefined`){if(!s.test(e))return e;try{return a.test(e)||o.test(e)?JSON.parse(e,c):JSON.parse(e)}catch{return e}}}export{l as jsonParse,i as jsonStringify,r as jsonStringifySafe,t as jsonStringifySorted};
1
+ //#region src/common/data/json.ts
2
+ const _sortedReplacer = (key, value) => value instanceof Object && !Array.isArray(value) ? Object.keys(value).sort().reduce((sorted, key) => {
3
+ sorted[key] = value[key];
4
+ return sorted;
5
+ }, {}) : value;
6
+ function jsonStringifySorted(obj, indent = void 0) {
7
+ return JSON.stringify(obj, _sortedReplacer, indent);
8
+ }
9
+ function serializer(replacer, cycleReplacer) {
10
+ const stack = [];
11
+ const keys = [];
12
+ if (cycleReplacer == null) cycleReplacer = function(_key, value) {
13
+ if (stack[0] === value) return "[Circular ~]";
14
+ return `[Circular ~.${keys.slice(0, stack.indexOf(value)).join(".")}]`;
15
+ };
16
+ return function(key, value) {
17
+ if (stack.length > 0) {
18
+ const thisPos = stack.indexOf(this);
19
+ ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);
20
+ ~thisPos ? keys.splice(thisPos, Number.POSITIVE_INFINITY, key) : keys.push(key);
21
+ if (~stack.indexOf(value)) value = cycleReplacer?.call(this, key, value);
22
+ } else stack.push(value);
23
+ try {
24
+ return replacer == null ? value : replacer.call(this, key, value);
25
+ } catch (err) {}
26
+ return String(value);
27
+ };
28
+ }
29
+ /**
30
+ * Similar to JSON.stringify but can handle circular references.
31
+ * NOT SORTED!
32
+ * From https://github.com/moll/json-stringify-safe/blob/master/stringify.js
33
+ * License ISC
34
+ */
35
+ function jsonStringifySafe(obj, replacer, spaces, cycleReplacer) {
36
+ return JSON.stringify(obj, serializer(replacer ?? void 0, cycleReplacer), spaces ?? void 0);
37
+ }
38
+ const jsonStringify = jsonStringifySafe;
39
+ const suspectProtoRx = /"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/;
40
+ const suspectConstructorRx = /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;
41
+ const JsonSigRx = /^["{[]|^-?\d[0-9.]{0,14}$/;
42
+ function jsonParseTransform(key, value) {
43
+ if (key === "__proto__" || key === "constructor") return;
44
+ return value;
45
+ }
46
+ function jsonParse(val) {
47
+ if (typeof val !== "string") return val;
48
+ const _lval = val.toLowerCase();
49
+ if (_lval === "true") return true;
50
+ if (_lval === "false") return false;
51
+ if (_lval === "null") return null;
52
+ if (_lval === "nan") return NaN;
53
+ if (_lval === "infinity") return Number.POSITIVE_INFINITY;
54
+ if (_lval === "undefined") return void 0;
55
+ if (!JsonSigRx.test(val)) return val;
56
+ try {
57
+ if (suspectProtoRx.test(val) || suspectConstructorRx.test(val)) return JSON.parse(val, jsonParseTransform);
58
+ return JSON.parse(val);
59
+ } catch (_e) {
60
+ return val;
61
+ }
62
+ }
63
+
64
+ //#endregion
65
+ export { jsonParse, jsonStringify, jsonStringifySafe, jsonStringifySorted };
2
66
  //# sourceMappingURL=json.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.mjs","names":[],"sources":["../../../src/common/data/json.ts"],"sourcesContent":["// From https://github.com/moll/json-stringify-safe License ISC\n\nconst _sortedReplacer: JsonEntryProcessor = (key: string, value: any) =>\n (value instanceof Object && !(Array.isArray(value)))\n ? Object.keys(value)\n .sort()\n // .filter((key) => value[key] != null) // Remove null and undefined\n .reduce((sorted: any, key: string) => {\n // Sorted copy\n sorted[key] = value[key]\n return sorted\n }, {})\n : value\n\n// https://gist.github.com/davidfurlong/463a83a33b70a3b6618e97ec9679e490\nexport function jsonStringifySorted(\n obj: any,\n indent: number | undefined = undefined,\n) {\n return JSON.stringify(obj, _sortedReplacer, indent)\n}\n\n//\n\nexport type JsonEntryProcessor = (key: string, value: any) => any\n\nfunction serializer(replacer?: JsonEntryProcessor, cycleReplacer?: JsonEntryProcessor) {\n const stack: any[] = []\n const keys: string[] = []\n\n if (cycleReplacer == null) {\n cycleReplacer = function (_key, value) {\n if (stack[0] === value)\n return '[Circular ~]'\n return (\n `[Circular ~.${keys.slice(0, stack.indexOf(value)).join('.')}]`\n )\n }\n }\n\n return function (this: JsonEntryProcessor, key: string, value: any): any {\n if (stack.length > 0) {\n const thisPos = stack.indexOf(this)\n // eslint-disable-next-line ts/no-unused-expressions\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\n // eslint-disable-next-line ts/no-unused-expressions\n ~thisPos ? keys.splice(thisPos, Number.POSITIVE_INFINITY, key) : keys.push(key)\n if (~stack.indexOf(value))\n value = cycleReplacer?.call(this, key, value)\n }\n else {\n stack.push(value)\n }\n\n try {\n return replacer == null ? value : replacer.call(this, key, value)\n }\n catch (err) { }\n return String(value)\n }\n}\n\n/**\n * Similar to JSON.stringify but can handle circular references.\n * NOT SORTED!\n * From https://github.com/moll/json-stringify-safe/blob/master/stringify.js\n * License ISC\n */\nexport function jsonStringifySafe(\n obj: any,\n replacer?: JsonEntryProcessor | null | undefined,\n spaces?: string | number | null,\n cycleReplacer?: JsonEntryProcessor,\n): string {\n return JSON.stringify(\n obj,\n serializer(replacer ?? undefined, cycleReplacer),\n spaces ?? undefined,\n )\n}\n\nexport const jsonStringify = jsonStringifySafe\n\n//\n\n// From https://github.com/unjs/destr MIT\n// https://github.com/fastify/secure-json-parse\n// https://github.com/hapijs/bourne\nconst suspectProtoRx = /\"(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])(?:p|\\\\u0070)(?:r|\\\\u0072)(?:o|\\\\u006[Ff])(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])\"\\s*:/\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/\n\nconst JsonSigRx = /^[\"{[]|^-?\\d[0-9.]{0,14}$/\n\nfunction jsonParseTransform(key: string, value: any): any {\n if (key === '__proto__' || key === 'constructor')\n return\n\n return value\n}\n \n/// Sage JSON parsing protecting against __proto__ and the like\nexport function jsonParse(val: string): any {\n if (typeof val !== 'string')\n return val\n\n const _lval = val.toLowerCase()\n if (_lval === 'true')\n return true\n\n if (_lval === 'false')\n return false\n\n if (_lval === 'null')\n return null\n\n if (_lval === 'nan')\n return Number.NaN\n\n if (_lval === 'infinity')\n return Number.POSITIVE_INFINITY\n\n if (_lval === 'undefined')\n return undefined\n\n if (!JsonSigRx.test(val))\n return val\n\n try {\n if (suspectProtoRx.test(val) || suspectConstructorRx.test(val))\n return JSON.parse(val, jsonParseTransform)\n\n return JSON.parse(val)\n }\n catch (_e) {\n return val\n }\n}\n"],"mappings":"AAEA,MAAM,GAAuC,EAAa,IACvD,aAAiB,QAAU,CAAE,MAAM,QAAQ,EAAM,CAC9C,OAAO,KAAK,EAAM,CACjB,MAAM,CAEN,QAAQ,EAAa,KAEpB,EAAO,GAAO,EAAM,GACb,GACN,EAAE,CAAC,CACN,EAGN,SAAgB,EACd,EACA,EAA6B,IAAA,GAC7B,CACA,OAAO,KAAK,UAAU,EAAK,EAAiB,EAAO,CAOrD,SAAS,EAAW,EAA+B,EAAoC,CACrF,IAAM,EAAe,EAAE,CACjB,EAAiB,EAAE,CAYzB,MAVA,CACE,IAAgB,SAAU,EAAM,EAAO,CAGrC,OAFI,EAAM,KAAO,EACR,eAEP,eAAe,EAAK,MAAM,EAAG,EAAM,QAAQ,EAAM,CAAC,CAAC,KAAK,IAAI,CAAC,IAK5D,SAAoC,EAAa,EAAiB,CACvE,GAAI,EAAM,OAAS,EAAG,CACpB,IAAM,EAAU,EAAM,QAAQ,KAAK,CAEnC,CAAC,EAAU,EAAM,OAAO,EAAU,EAAE,CAAG,EAAM,KAAK,KAAK,CAEvD,CAAC,EAAU,EAAK,OAAO,EAAS,IAA0B,EAAI,CAAG,EAAK,KAAK,EAAI,CAC3E,CAAC,EAAM,QAAQ,EAAM,GACvB,EAAQ,GAAe,KAAK,KAAM,EAAK,EAAM,OAG/C,EAAM,KAAK,EAAM,CAGnB,GAAI,CACF,OAAO,GAAY,KAAO,EAAQ,EAAS,KAAK,KAAM,EAAK,EAAM,MAEvD,EACZ,OAAO,OAAO,EAAM,EAUxB,SAAgB,EACd,EACA,EACA,EACA,EACQ,CACR,OAAO,KAAK,UACV,EACA,EAAW,GAAY,IAAA,GAAW,EAAc,CAChD,GAAU,IAAA,GACX,CAGH,MAAa,EAAgB,EAOvB,EAAiB,gJACjB,EAAuB,iKAEvB,EAAY,4BAElB,SAAS,EAAmB,EAAa,EAAiB,CACpD,SAAQ,aAAe,IAAQ,eAGnC,OAAO,EAIT,SAAgB,EAAU,EAAkB,CAC1C,GAAI,OAAO,GAAQ,SACjB,OAAO,EAET,IAAM,EAAQ,EAAI,aAAa,CAC/B,GAAI,IAAU,OACZ,MAAO,GAET,GAAI,IAAU,QACZ,MAAO,GAET,GAAI,IAAU,OACZ,OAAO,KAET,GAAI,IAAU,MACZ,MAAO,KAET,GAAI,IAAU,WACZ,MAAO,KAEL,OAAU,YAGd,IAAI,CAAC,EAAU,KAAK,EAAI,CACtB,OAAO,EAET,GAAI,CAIF,OAHI,EAAe,KAAK,EAAI,EAAI,EAAqB,KAAK,EAAI,CACrD,KAAK,MAAM,EAAK,EAAmB,CAErC,KAAK,MAAM,EAAI,MAEb,CACT,OAAO"}
1
+ {"version":3,"file":"json.mjs","names":[],"sources":["../../../src/common/data/json.ts"],"sourcesContent":["// From https://github.com/moll/json-stringify-safe License ISC\n\nconst _sortedReplacer: JsonEntryProcessor = (key: string, value: any) =>\n (value instanceof Object && !(Array.isArray(value)))\n ? Object.keys(value)\n .sort()\n // .filter((key) => value[key] != null) // Remove null and undefined\n .reduce((sorted: any, key: string) => {\n // Sorted copy\n sorted[key] = value[key]\n return sorted\n }, {})\n : value\n\n// https://gist.github.com/davidfurlong/463a83a33b70a3b6618e97ec9679e490\nexport function jsonStringifySorted(\n obj: any,\n indent: number | undefined = undefined,\n) {\n return JSON.stringify(obj, _sortedReplacer, indent)\n}\n\n//\n\nexport type JsonEntryProcessor = (key: string, value: any) => any\n\nfunction serializer(replacer?: JsonEntryProcessor, cycleReplacer?: JsonEntryProcessor) {\n const stack: any[] = []\n const keys: string[] = []\n\n if (cycleReplacer == null) {\n cycleReplacer = function (_key, value) {\n if (stack[0] === value)\n return '[Circular ~]'\n return (\n `[Circular ~.${keys.slice(0, stack.indexOf(value)).join('.')}]`\n )\n }\n }\n\n return function (this: JsonEntryProcessor, key: string, value: any): any {\n if (stack.length > 0) {\n const thisPos = stack.indexOf(this)\n // eslint-disable-next-line ts/no-unused-expressions\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\n // eslint-disable-next-line ts/no-unused-expressions\n ~thisPos ? keys.splice(thisPos, Number.POSITIVE_INFINITY, key) : keys.push(key)\n if (~stack.indexOf(value))\n value = cycleReplacer?.call(this, key, value)\n }\n else {\n stack.push(value)\n }\n\n try {\n return replacer == null ? value : replacer.call(this, key, value)\n }\n catch (err) { }\n return String(value)\n }\n}\n\n/**\n * Similar to JSON.stringify but can handle circular references.\n * NOT SORTED!\n * From https://github.com/moll/json-stringify-safe/blob/master/stringify.js\n * License ISC\n */\nexport function jsonStringifySafe(\n obj: any,\n replacer?: JsonEntryProcessor | null | undefined,\n spaces?: string | number | null,\n cycleReplacer?: JsonEntryProcessor,\n): string {\n return JSON.stringify(\n obj,\n serializer(replacer ?? undefined, cycleReplacer),\n spaces ?? undefined,\n )\n}\n\nexport const jsonStringify = jsonStringifySafe\n\n//\n\n// From https://github.com/unjs/destr MIT\n// https://github.com/fastify/secure-json-parse\n// https://github.com/hapijs/bourne\nconst suspectProtoRx = /\"(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])(?:p|\\\\u0070)(?:r|\\\\u0072)(?:o|\\\\u006[Ff])(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])\"\\s*:/\nconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/\n\nconst JsonSigRx = /^[\"{[]|^-?\\d[0-9.]{0,14}$/\n\nfunction jsonParseTransform(key: string, value: any): any {\n if (key === '__proto__' || key === 'constructor')\n return\n\n return value\n}\n \n/// Sage JSON parsing protecting against __proto__ and the like\nexport function jsonParse(val: string): any {\n if (typeof val !== 'string')\n return val\n\n const _lval = val.toLowerCase()\n if (_lval === 'true')\n return true\n\n if (_lval === 'false')\n return false\n\n if (_lval === 'null')\n return null\n\n if (_lval === 'nan')\n return Number.NaN\n\n if (_lval === 'infinity')\n return Number.POSITIVE_INFINITY\n\n if (_lval === 'undefined')\n return undefined\n\n if (!JsonSigRx.test(val))\n return val\n\n try {\n if (suspectProtoRx.test(val) || suspectConstructorRx.test(val))\n return JSON.parse(val, jsonParseTransform)\n\n return JSON.parse(val)\n }\n catch (_e) {\n return val\n }\n}\n"],"mappings":";AAEA,MAAM,mBAAuC,KAAa,UACvD,iBAAiB,UAAU,CAAE,MAAM,QAAQ,MAAM,GAC9C,OAAO,KAAK,MAAM,CACjB,MAAM,CAEN,QAAQ,QAAa,QAAgB;AAEpC,QAAO,OAAO,MAAM;AACpB,QAAO;GACN,EAAE,CAAC,GACN;AAGN,SAAgB,oBACd,KACA,SAA6B,QAC7B;AACA,QAAO,KAAK,UAAU,KAAK,iBAAiB,OAAO;;AAOrD,SAAS,WAAW,UAA+B,eAAoC;CACrF,MAAM,QAAe,EAAE;CACvB,MAAM,OAAiB,EAAE;AAEzB,KAAI,iBAAiB,KACnB,iBAAgB,SAAU,MAAM,OAAO;AACrC,MAAI,MAAM,OAAO,MACf,QAAO;AACT,SACE,eAAe,KAAK,MAAM,GAAG,MAAM,QAAQ,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;;AAKnE,QAAO,SAAoC,KAAa,OAAiB;AACvE,MAAI,MAAM,SAAS,GAAG;GACpB,MAAM,UAAU,MAAM,QAAQ,KAAK;AAEnC,IAAC,UAAU,MAAM,OAAO,UAAU,EAAE,GAAG,MAAM,KAAK,KAAK;AAEvD,IAAC,UAAU,KAAK,OAAO,SAAS,OAAO,mBAAmB,IAAI,GAAG,KAAK,KAAK,IAAI;AAC/E,OAAI,CAAC,MAAM,QAAQ,MAAM,CACvB,SAAQ,eAAe,KAAK,MAAM,KAAK,MAAM;QAG/C,OAAM,KAAK,MAAM;AAGnB,MAAI;AACF,UAAO,YAAY,OAAO,QAAQ,SAAS,KAAK,MAAM,KAAK,MAAM;WAE5D,KAAK;AACZ,SAAO,OAAO,MAAM;;;;;;;;;AAUxB,SAAgB,kBACd,KACA,UACA,QACA,eACQ;AACR,QAAO,KAAK,UACV,KACA,WAAW,YAAY,QAAW,cAAc,EAChD,UAAU,OACX;;AAGH,MAAa,gBAAgB;AAO7B,MAAM,iBAAiB;AACvB,MAAM,uBAAuB;AAE7B,MAAM,YAAY;AAElB,SAAS,mBAAmB,KAAa,OAAiB;AACxD,KAAI,QAAQ,eAAe,QAAQ,cACjC;AAEF,QAAO;;AAIT,SAAgB,UAAU,KAAkB;AAC1C,KAAI,OAAO,QAAQ,SACjB,QAAO;CAET,MAAM,QAAQ,IAAI,aAAa;AAC/B,KAAI,UAAU,OACZ,QAAO;AAET,KAAI,UAAU,QACZ,QAAO;AAET,KAAI,UAAU,OACZ,QAAO;AAET,KAAI,UAAU,MACZ,QAAO;AAET,KAAI,UAAU,WACZ,QAAO,OAAO;AAEhB,KAAI,UAAU,YACZ,QAAO;AAET,KAAI,CAAC,UAAU,KAAK,IAAI,CACtB,QAAO;AAET,KAAI;AACF,MAAI,eAAe,KAAK,IAAI,IAAI,qBAAqB,KAAK,IAAI,CAC5D,QAAO,KAAK,MAAM,KAAK,mBAAmB;AAE5C,SAAO,KAAK,MAAM,IAAI;UAEjB,IAAI;AACT,SAAO"}
@@ -1,2 +1,33 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t,n=[]){return e.filter(e=>!t.some(t=>!t(e))).map(e=>{for(let t of n)e=t(e);return e}).filter(e=>e!=null)}function t(e,t){return e.reduce((e,n)=>{let r=String(n[t]);return(e[r]=e[r]||[]).push(n),e},{})}function n(e,t){return Array.from(e.reduce((e,n)=>e.add(n[t]),new Set))}function r(e,t){return e.map(e=>e[t])}exports.listDistinctUnion=n,exports.listGroupBy=t,exports.listOfKey=r,exports.listQuery=e;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/common/data/list.ts
4
+ /** Apply multiple filters, optionally transform through mappers, filter null/undefined items. */
5
+ function listQuery(list, filters, mappers = []) {
6
+ return list.filter((o) => !filters.some((a) => !a(o))).map((o) => {
7
+ for (const m of mappers) o = m(o);
8
+ return o;
9
+ }).filter((o) => o != null);
10
+ }
11
+ /** Split up a list by `key` resulting in a Record of `key` and sub-list. */
12
+ function listGroupBy(list, key) {
13
+ return list.reduce((result, currentValue) => {
14
+ const groupValue = String(currentValue[key]);
15
+ (result[groupValue] = result[groupValue] || []).push(currentValue);
16
+ return result;
17
+ }, {});
18
+ }
19
+ /** Returns a list of values of a certain `key`. No duplicates. */
20
+ function listDistinctUnion(list, key) {
21
+ return Array.from(list.reduce((result, currentValue) => result.add(currentValue[key]), /* @__PURE__ */ new Set()));
22
+ }
23
+ /** Returns a list of values of a certain `key`. */
24
+ function listOfKey(list, key) {
25
+ return list.map((item) => item[key]);
26
+ }
27
+
28
+ //#endregion
29
+ exports.listDistinctUnion = listDistinctUnion;
30
+ exports.listGroupBy = listGroupBy;
31
+ exports.listOfKey = listOfKey;
32
+ exports.listQuery = listQuery;
2
33
  //# sourceMappingURL=list.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.cjs","names":[],"sources":["../../../src/common/data/list.ts"],"sourcesContent":["export type FilterFunction<T> = (o: T) => boolean\nexport type MapperFunction<T> = (o: T) => any\n\n/** Apply multiple filters, optionally transform through mappers, filter null/undefined items. */\nexport function listQuery<T>(\n list: T[],\n filters: FilterFunction<T>[],\n mappers: MapperFunction<T>[] = [],\n): T | any[] {\n return list\n .filter((o: T) => !filters.some(a => !a(o)))\n .map((o) => {\n for (const m of mappers)\n o = m(o)\n return o\n })\n .filter(o => o != null)\n}\n\n/** Split up a list by `key` resulting in a Record of `key` and sub-list. */\nexport function listGroupBy<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): Record<string, T[]> {\n return list.reduce((result: any, currentValue: T) => {\n const groupValue = String(currentValue[key])\n ;(result[groupValue] = result[groupValue] || []).push(currentValue)\n return result\n }, {})\n}\n\n/** Returns a list of values of a certain `key`. No duplicates. */\nexport function listDistinctUnion<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): any[] {\n return Array.from(\n list.reduce(\n (result: Set<any>, currentValue: T) => result.add(currentValue[key]),\n new Set(),\n ),\n )\n}\n\n/** Returns a list of values of a certain `key`. */\nexport function listOfKey<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): any[] {\n return list.map(item => item[key])\n}\n"],"mappings":"mEAIA,SAAgB,EACd,EACA,EACA,EAA+B,EAAE,CACtB,CACX,OAAO,EACJ,OAAQ,GAAS,CAAC,EAAQ,KAAK,GAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAC3C,IAAK,GAAM,CACV,IAAK,IAAM,KAAK,EACd,EAAI,EAAE,EAAE,CACV,OAAO,GACP,CACD,OAAO,GAAK,GAAK,KAAK,CAI3B,SAAgB,EACd,EACA,EACqB,CACrB,OAAO,EAAK,QAAQ,EAAa,IAAoB,CACnD,IAAM,EAAa,OAAO,EAAa,GAAK,CAE5C,OADE,EAAO,GAAc,EAAO,IAAe,EAAE,EAAE,KAAK,EAAa,CAC5D,GACN,EAAE,CAAC,CAIR,SAAgB,EACd,EACA,EACO,CACP,OAAO,MAAM,KACX,EAAK,QACF,EAAkB,IAAoB,EAAO,IAAI,EAAa,GAAK,CACpE,IAAI,IACL,CACF,CAIH,SAAgB,EACd,EACA,EACO,CACP,OAAO,EAAK,IAAI,GAAQ,EAAK,GAAK"}
1
+ {"version":3,"file":"list.cjs","names":[],"sources":["../../../src/common/data/list.ts"],"sourcesContent":["export type FilterFunction<T> = (o: T) => boolean\nexport type MapperFunction<T> = (o: T) => any\n\n/** Apply multiple filters, optionally transform through mappers, filter null/undefined items. */\nexport function listQuery<T>(\n list: T[],\n filters: FilterFunction<T>[],\n mappers: MapperFunction<T>[] = [],\n): T | any[] {\n return list\n .filter((o: T) => !filters.some(a => !a(o)))\n .map((o) => {\n for (const m of mappers)\n o = m(o)\n return o\n })\n .filter(o => o != null)\n}\n\n/** Split up a list by `key` resulting in a Record of `key` and sub-list. */\nexport function listGroupBy<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): Record<string, T[]> {\n return list.reduce((result: any, currentValue: T) => {\n const groupValue = String(currentValue[key])\n ;(result[groupValue] = result[groupValue] || []).push(currentValue)\n return result\n }, {})\n}\n\n/** Returns a list of values of a certain `key`. No duplicates. */\nexport function listDistinctUnion<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): any[] {\n return Array.from(\n list.reduce(\n (result: Set<any>, currentValue: T) => result.add(currentValue[key]),\n new Set(),\n ),\n )\n}\n\n/** Returns a list of values of a certain `key`. */\nexport function listOfKey<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): any[] {\n return list.map(item => item[key])\n}\n"],"mappings":";;;;AAIA,SAAgB,UACd,MACA,SACA,UAA+B,EAAE,EACtB;AACX,QAAO,KACJ,QAAQ,MAAS,CAAC,QAAQ,MAAK,MAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAC3C,KAAK,MAAM;AACV,OAAK,MAAM,KAAK,QACd,KAAI,EAAE,EAAE;AACV,SAAO;GACP,CACD,QAAO,MAAK,KAAK,KAAK;;;AAI3B,SAAgB,YACd,MACA,KACqB;AACrB,QAAO,KAAK,QAAQ,QAAa,iBAAoB;EACnD,MAAM,aAAa,OAAO,aAAa,KAAK;AAC3C,GAAC,OAAO,cAAc,OAAO,eAAe,EAAE,EAAE,KAAK,aAAa;AACnE,SAAO;IACN,EAAE,CAAC;;;AAIR,SAAgB,kBACd,MACA,KACO;AACP,QAAO,MAAM,KACX,KAAK,QACF,QAAkB,iBAAoB,OAAO,IAAI,aAAa,KAAK,kBACpE,IAAI,KAAK,CACV,CACF;;;AAIH,SAAgB,UACd,MACA,KACO;AACP,QAAO,KAAK,KAAI,SAAQ,KAAK,KAAK"}
@@ -1,2 +1,28 @@
1
- function e(e,t,n=[]){return e.filter(e=>!t.some(t=>!t(e))).map(e=>{for(let t of n)e=t(e);return e}).filter(e=>e!=null)}function t(e,t){return e.reduce((e,n)=>{let r=String(n[t]);return(e[r]=e[r]||[]).push(n),e},{})}function n(e,t){return Array.from(e.reduce((e,n)=>e.add(n[t]),new Set))}function r(e,t){return e.map(e=>e[t])}export{n as listDistinctUnion,t as listGroupBy,r as listOfKey,e as listQuery};
1
+ //#region src/common/data/list.ts
2
+ /** Apply multiple filters, optionally transform through mappers, filter null/undefined items. */
3
+ function listQuery(list, filters, mappers = []) {
4
+ return list.filter((o) => !filters.some((a) => !a(o))).map((o) => {
5
+ for (const m of mappers) o = m(o);
6
+ return o;
7
+ }).filter((o) => o != null);
8
+ }
9
+ /** Split up a list by `key` resulting in a Record of `key` and sub-list. */
10
+ function listGroupBy(list, key) {
11
+ return list.reduce((result, currentValue) => {
12
+ const groupValue = String(currentValue[key]);
13
+ (result[groupValue] = result[groupValue] || []).push(currentValue);
14
+ return result;
15
+ }, {});
16
+ }
17
+ /** Returns a list of values of a certain `key`. No duplicates. */
18
+ function listDistinctUnion(list, key) {
19
+ return Array.from(list.reduce((result, currentValue) => result.add(currentValue[key]), /* @__PURE__ */ new Set()));
20
+ }
21
+ /** Returns a list of values of a certain `key`. */
22
+ function listOfKey(list, key) {
23
+ return list.map((item) => item[key]);
24
+ }
25
+
26
+ //#endregion
27
+ export { listDistinctUnion, listGroupBy, listOfKey, listQuery };
2
28
  //# sourceMappingURL=list.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.mjs","names":[],"sources":["../../../src/common/data/list.ts"],"sourcesContent":["export type FilterFunction<T> = (o: T) => boolean\nexport type MapperFunction<T> = (o: T) => any\n\n/** Apply multiple filters, optionally transform through mappers, filter null/undefined items. */\nexport function listQuery<T>(\n list: T[],\n filters: FilterFunction<T>[],\n mappers: MapperFunction<T>[] = [],\n): T | any[] {\n return list\n .filter((o: T) => !filters.some(a => !a(o)))\n .map((o) => {\n for (const m of mappers)\n o = m(o)\n return o\n })\n .filter(o => o != null)\n}\n\n/** Split up a list by `key` resulting in a Record of `key` and sub-list. */\nexport function listGroupBy<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): Record<string, T[]> {\n return list.reduce((result: any, currentValue: T) => {\n const groupValue = String(currentValue[key])\n ;(result[groupValue] = result[groupValue] || []).push(currentValue)\n return result\n }, {})\n}\n\n/** Returns a list of values of a certain `key`. No duplicates. */\nexport function listDistinctUnion<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): any[] {\n return Array.from(\n list.reduce(\n (result: Set<any>, currentValue: T) => result.add(currentValue[key]),\n new Set(),\n ),\n )\n}\n\n/** Returns a list of values of a certain `key`. */\nexport function listOfKey<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): any[] {\n return list.map(item => item[key])\n}\n"],"mappings":"AAIA,SAAgB,EACd,EACA,EACA,EAA+B,EAAE,CACtB,CACX,OAAO,EACJ,OAAQ,GAAS,CAAC,EAAQ,KAAK,GAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAC3C,IAAK,GAAM,CACV,IAAK,IAAM,KAAK,EACd,EAAI,EAAE,EAAE,CACV,OAAO,GACP,CACD,OAAO,GAAK,GAAK,KAAK,CAI3B,SAAgB,EACd,EACA,EACqB,CACrB,OAAO,EAAK,QAAQ,EAAa,IAAoB,CACnD,IAAM,EAAa,OAAO,EAAa,GAAK,CAE5C,OADE,EAAO,GAAc,EAAO,IAAe,EAAE,EAAE,KAAK,EAAa,CAC5D,GACN,EAAE,CAAC,CAIR,SAAgB,EACd,EACA,EACO,CACP,OAAO,MAAM,KACX,EAAK,QACF,EAAkB,IAAoB,EAAO,IAAI,EAAa,GAAK,CACpE,IAAI,IACL,CACF,CAIH,SAAgB,EACd,EACA,EACO,CACP,OAAO,EAAK,IAAI,GAAQ,EAAK,GAAK"}
1
+ {"version":3,"file":"list.mjs","names":[],"sources":["../../../src/common/data/list.ts"],"sourcesContent":["export type FilterFunction<T> = (o: T) => boolean\nexport type MapperFunction<T> = (o: T) => any\n\n/** Apply multiple filters, optionally transform through mappers, filter null/undefined items. */\nexport function listQuery<T>(\n list: T[],\n filters: FilterFunction<T>[],\n mappers: MapperFunction<T>[] = [],\n): T | any[] {\n return list\n .filter((o: T) => !filters.some(a => !a(o)))\n .map((o) => {\n for (const m of mappers)\n o = m(o)\n return o\n })\n .filter(o => o != null)\n}\n\n/** Split up a list by `key` resulting in a Record of `key` and sub-list. */\nexport function listGroupBy<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): Record<string, T[]> {\n return list.reduce((result: any, currentValue: T) => {\n const groupValue = String(currentValue[key])\n ;(result[groupValue] = result[groupValue] || []).push(currentValue)\n return result\n }, {})\n}\n\n/** Returns a list of values of a certain `key`. No duplicates. */\nexport function listDistinctUnion<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): any[] {\n return Array.from(\n list.reduce(\n (result: Set<any>, currentValue: T) => result.add(currentValue[key]),\n new Set(),\n ),\n )\n}\n\n/** Returns a list of values of a certain `key`. */\nexport function listOfKey<T extends Record<string, any>>(\n list: T[],\n key: keyof T,\n): any[] {\n return list.map(item => item[key])\n}\n"],"mappings":";;AAIA,SAAgB,UACd,MACA,SACA,UAA+B,EAAE,EACtB;AACX,QAAO,KACJ,QAAQ,MAAS,CAAC,QAAQ,MAAK,MAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAC3C,KAAK,MAAM;AACV,OAAK,MAAM,KAAK,QACd,KAAI,EAAE,EAAE;AACV,SAAO;GACP,CACD,QAAO,MAAK,KAAK,KAAK;;;AAI3B,SAAgB,YACd,MACA,KACqB;AACrB,QAAO,KAAK,QAAQ,QAAa,iBAAoB;EACnD,MAAM,aAAa,OAAO,aAAa,KAAK;AAC3C,GAAC,OAAO,cAAc,OAAO,eAAe,EAAE,EAAE,KAAK,aAAa;AACnE,SAAO;IACN,EAAE,CAAC;;;AAIR,SAAgB,kBACd,MACA,KACO;AACP,QAAO,MAAM,KACX,KAAK,QACF,QAAkB,iBAAoB,OAAO,IAAI,aAAa,KAAK,kBACpE,IAAI,KAAK,CACV,CACF;;;AAIH,SAAgB,UACd,MACA,KACO;AACP,QAAO,KAAK,KAAI,SAAQ,KAAK,KAAK"}
@@ -1 +1 @@
1
- export{};
1
+ export { };
@@ -1,2 +1,80 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(){return crypto.getRandomValues(new Uint32Array(1))[0]/4294967295}function t(){return typeof crypto<`u`?e():Math.random()}function n(e=.25){return t()<e}function r(e=100,n=0){return n+Math.floor(t()*(e-n))}function i(e=100,n=0){return n+t()*(e-n)}function a(e,t,n){return Math.max(e,Math.min(n,t))}function o(e){return e.reduce((e,t)=>e+t,0)}function s(e){return o(e)/e.length}function c(e){return!/^1?$|^(1{2,}?)\1+$/.test(`1`.repeat(e))}function l(e){for(let t=2;t<e;t++)if(e%t===0)return!1;return e>1}let u=6;function d(e=0,t=1,n){return u=((n??u)*9301+49297)%233280,t+u/233280*(e-t)}const f=`0123456789abcdefghjkmnpqrtuvwxyz`;function p(e,t=0){if(e===0)return`0`;let n=``;for(;e>0;)n=f[e%32]+n,e=Math.floor(e/32);for(;n.length<t;)n=`0`+n;return n}function m(e){let t=0;for(let n=0;n<e.length;n++){let r=f.indexOf(e[n].toLowerCase());if(r===-1)throw Error(`Invalid base32 character: ${e[n]}`);t=t*32+r}return t}exports.avg=s,exports.base32ToNumber=m,exports.between=a,exports.getSecureRandom=e,exports.getSecureRandomIfPossible=t,exports.isPrime=l,exports.isPrimeRX=c,exports.numberToBase32=p,exports.randomBoolean=n,exports.randomFloat=i,exports.randomInt=r,exports.seededRandom=d,exports.sum=o;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+
3
+ //#region src/common/data/math.ts
4
+ function getSecureRandom() {
5
+ return crypto.getRandomValues(new Uint32Array(1))[0] / 4294967295;
6
+ }
7
+ function getSecureRandomIfPossible() {
8
+ return typeof crypto !== "undefined" ? getSecureRandom() : Math.random();
9
+ }
10
+ function randomBoolean(bias = .25) {
11
+ return getSecureRandomIfPossible() < bias;
12
+ }
13
+ /** max is not included, min is included */
14
+ function randomInt(max = 100, min = 0) {
15
+ return min + Math.floor(getSecureRandomIfPossible() * (max - min));
16
+ }
17
+ function randomFloat(max = 100, min = 0) {
18
+ return min + getSecureRandomIfPossible() * (max - min);
19
+ }
20
+ function between(min, value, max) {
21
+ return Math.max(min, Math.min(max, value));
22
+ }
23
+ /** See also arraySum */
24
+ function sum(array) {
25
+ return array.reduce((acc, value) => acc + value, 0);
26
+ }
27
+ /** See also arrayAvg */
28
+ function avg(array) {
29
+ return sum(array) / array.length;
30
+ }
31
+ /** Fancy prime number check ;) */
32
+ function isPrimeRX(value) {
33
+ return !/^1?$|^(1{2,}?)\1+$/.test("1".repeat(value));
34
+ }
35
+ function isPrime(value) {
36
+ for (let i = 2; i < value; i++) if (value % i === 0) return false;
37
+ return value > 1;
38
+ }
39
+ let _seed = 6;
40
+ /** Deterministic random */
41
+ function seededRandom(max = 0, min = 1, seed) {
42
+ _seed = ((seed ?? _seed) * 9301 + 49297) % 233280;
43
+ return min + _seed / 233280 * (max - min);
44
+ }
45
+ const base32Chars = "0123456789abcdefghjkmnpqrtuvwxyz";
46
+ function numberToBase32(num, padding = 0) {
47
+ if (num === 0) return "0";
48
+ let str = "";
49
+ while (num > 0) {
50
+ str = base32Chars[num % 32] + str;
51
+ num = Math.floor(num / 32);
52
+ }
53
+ while (str.length < padding) str = "0" + str;
54
+ return str;
55
+ }
56
+ function base32ToNumber(str) {
57
+ let num = 0;
58
+ for (let i = 0; i < str.length; i++) {
59
+ const index = base32Chars.indexOf(str[i].toLowerCase());
60
+ if (index === -1) throw new Error(`Invalid base32 character: ${str[i]}`);
61
+ num = num * 32 + index;
62
+ }
63
+ return num;
64
+ }
65
+
66
+ //#endregion
67
+ exports.avg = avg;
68
+ exports.base32ToNumber = base32ToNumber;
69
+ exports.between = between;
70
+ exports.getSecureRandom = getSecureRandom;
71
+ exports.getSecureRandomIfPossible = getSecureRandomIfPossible;
72
+ exports.isPrime = isPrime;
73
+ exports.isPrimeRX = isPrimeRX;
74
+ exports.numberToBase32 = numberToBase32;
75
+ exports.randomBoolean = randomBoolean;
76
+ exports.randomFloat = randomFloat;
77
+ exports.randomInt = randomInt;
78
+ exports.seededRandom = seededRandom;
79
+ exports.sum = sum;
2
80
  //# sourceMappingURL=math.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.cjs","names":[],"sources":["../../../src/common/data/math.ts"],"sourcesContent":["export function getSecureRandom(): number {\n return crypto.getRandomValues(new Uint32Array(1))[0] / 0xFFFFFFFF\n}\n\nexport function getSecureRandomIfPossible(): number {\n return typeof crypto !== 'undefined' ? getSecureRandom() : Math.random()\n}\n\nexport function randomBoolean(bias = 0.25): boolean {\n return getSecureRandomIfPossible() < bias\n}\n\n/** max is not included, min is included */\nexport function randomInt(max = 100, min = 0): number {\n return min + Math.floor(getSecureRandomIfPossible() * (max - min))\n}\n\nexport function randomFloat(max = 100, min = 0): number {\n return min + getSecureRandomIfPossible() * (max - min)\n}\n\nexport function between(min: number, value: number, max: number): number {\n return Math.max(min, Math.min(max, value))\n}\n\n/** See also arraySum */\nexport function sum(array: number[]): number {\n return array.reduce((acc, value) => acc + value, 0)\n}\n\n/** See also arrayAvg */\nexport function avg(array: number[]): number {\n return sum(array) / array.length\n}\n\n// export const clamp = (n: number, min: number, max: number) => Math.min(max, Math.max(min, n))\n\n// https://www.noulakaz.net/2007/03/18/a-regular-expression-to-check-for-prime-numbers/\n/** Fancy prime number check ;) */\nexport function isPrimeRX(value: number): boolean {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n return !/^1?$|^(1{2,}?)\\1+$/.test('1'.repeat(value))\n}\n\nexport function isPrime(value: number): boolean {\n for (let i = 2; i < value; i++) {\n if (value % i === 0)\n return false\n }\n return value > 1\n}\n\n// http://indiegamr.com/generate-repeatable-random-numbers-in-js/\n// https://softwareengineering.stackexchange.com/questions/260969/original-source-of-seed-9301-49297-233280-random-algorithm\n\nlet _seed = 6\n\n/** Deterministic random */\nexport function seededRandom(max = 0, min = 1, seed?: number) {\n _seed = ((seed ?? _seed) * 9301 + 49297) % 233280\n const rnd = _seed / 233280\n return min + rnd * (max - min)\n}\n\nconst base32Chars = '0123456789abcdefghjkmnpqrtuvwxyz'\n\nexport function numberToBase32(num: number, padding = 0): string {\n if (num === 0)\n return '0'\n let str = ''\n while (num > 0) {\n const rem = num % 32\n str = base32Chars[rem] + str\n num = Math.floor(num / 32)\n }\n while (str.length < padding)\n str = '0' + str\n return str\n}\n\nexport function base32ToNumber(str: string): number {\n let num = 0\n for (let i = 0; i < str.length; i++) {\n const index = base32Chars.indexOf(str[i].toLowerCase())\n if (index === -1)\n throw new Error(`Invalid base32 character: ${str[i]}`)\n num = num * 32 + index\n }\n return num\n}"],"mappings":"mEAAA,SAAgB,GAA0B,CACxC,OAAO,OAAO,gBAAgB,IAAI,YAAY,EAAE,CAAC,CAAC,GAAK,WAGzD,SAAgB,GAAoC,CAClD,OAAO,OAAO,OAAW,IAAc,GAAiB,CAAG,KAAK,QAAQ,CAG1E,SAAgB,EAAc,EAAO,IAAe,CAClD,OAAO,GAA2B,CAAG,EAIvC,SAAgB,EAAU,EAAM,IAAK,EAAM,EAAW,CACpD,OAAO,EAAM,KAAK,MAAM,GAA2B,EAAI,EAAM,GAAK,CAGpE,SAAgB,EAAY,EAAM,IAAK,EAAM,EAAW,CACtD,OAAO,EAAM,GAA2B,EAAI,EAAM,GAGpD,SAAgB,EAAQ,EAAa,EAAe,EAAqB,CACvE,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,EAAM,CAAC,CAI5C,SAAgB,EAAI,EAAyB,CAC3C,OAAO,EAAM,QAAQ,EAAK,IAAU,EAAM,EAAO,EAAE,CAIrD,SAAgB,EAAI,EAAyB,CAC3C,OAAO,EAAI,EAAM,CAAG,EAAM,OAO5B,SAAgB,EAAU,EAAwB,CAEhD,MAAO,CAAC,qBAAqB,KAAK,IAAI,OAAO,EAAM,CAAC,CAGtD,SAAgB,EAAQ,EAAwB,CAC9C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,IACzB,GAAI,EAAQ,IAAM,EAChB,MAAO,GAEX,OAAO,EAAQ,EAMjB,IAAI,EAAQ,EAGZ,SAAgB,EAAa,EAAM,EAAG,EAAM,EAAG,EAAe,CAG5D,MAFA,KAAU,GAAQ,GAAS,KAAO,OAAS,OAEpC,EADK,EAAQ,QACA,EAAM,GAG5B,MAAM,EAAc,mCAEpB,SAAgB,EAAe,EAAa,EAAU,EAAW,CAC/D,GAAI,IAAQ,EACV,MAAO,IACT,IAAI,EAAM,GACV,KAAO,EAAM,GAEX,EAAM,EADM,EAAM,IACO,EACzB,EAAM,KAAK,MAAM,EAAM,GAAG,CAE5B,KAAO,EAAI,OAAS,GAClB,EAAM,IAAM,EACd,OAAO,EAGT,SAAgB,EAAe,EAAqB,CAClD,IAAI,EAAM,EACV,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CACnC,IAAM,EAAQ,EAAY,QAAQ,EAAI,GAAG,aAAa,CAAC,CACvD,GAAI,IAAU,GACZ,MAAU,MAAM,6BAA6B,EAAI,KAAK,CACxD,EAAM,EAAM,GAAK,EAEnB,OAAO"}
1
+ {"version":3,"file":"math.cjs","names":[],"sources":["../../../src/common/data/math.ts"],"sourcesContent":["export function getSecureRandom(): number {\n return crypto.getRandomValues(new Uint32Array(1))[0] / 0xFFFFFFFF\n}\n\nexport function getSecureRandomIfPossible(): number {\n return typeof crypto !== 'undefined' ? getSecureRandom() : Math.random()\n}\n\nexport function randomBoolean(bias = 0.25): boolean {\n return getSecureRandomIfPossible() < bias\n}\n\n/** max is not included, min is included */\nexport function randomInt(max = 100, min = 0): number {\n return min + Math.floor(getSecureRandomIfPossible() * (max - min))\n}\n\nexport function randomFloat(max = 100, min = 0): number {\n return min + getSecureRandomIfPossible() * (max - min)\n}\n\nexport function between(min: number, value: number, max: number): number {\n return Math.max(min, Math.min(max, value))\n}\n\n/** See also arraySum */\nexport function sum(array: number[]): number {\n return array.reduce((acc, value) => acc + value, 0)\n}\n\n/** See also arrayAvg */\nexport function avg(array: number[]): number {\n return sum(array) / array.length\n}\n\n// export const clamp = (n: number, min: number, max: number) => Math.min(max, Math.max(min, n))\n\n// https://www.noulakaz.net/2007/03/18/a-regular-expression-to-check-for-prime-numbers/\n/** Fancy prime number check ;) */\nexport function isPrimeRX(value: number): boolean {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n return !/^1?$|^(1{2,}?)\\1+$/.test('1'.repeat(value))\n}\n\nexport function isPrime(value: number): boolean {\n for (let i = 2; i < value; i++) {\n if (value % i === 0)\n return false\n }\n return value > 1\n}\n\n// http://indiegamr.com/generate-repeatable-random-numbers-in-js/\n// https://softwareengineering.stackexchange.com/questions/260969/original-source-of-seed-9301-49297-233280-random-algorithm\n\nlet _seed = 6\n\n/** Deterministic random */\nexport function seededRandom(max = 0, min = 1, seed?: number) {\n _seed = ((seed ?? _seed) * 9301 + 49297) % 233280\n const rnd = _seed / 233280\n return min + rnd * (max - min)\n}\n\nconst base32Chars = '0123456789abcdefghjkmnpqrtuvwxyz'\n\nexport function numberToBase32(num: number, padding = 0): string {\n if (num === 0)\n return '0'\n let str = ''\n while (num > 0) {\n const rem = num % 32\n str = base32Chars[rem] + str\n num = Math.floor(num / 32)\n }\n while (str.length < padding)\n str = '0' + str\n return str\n}\n\nexport function base32ToNumber(str: string): number {\n let num = 0\n for (let i = 0; i < str.length; i++) {\n const index = base32Chars.indexOf(str[i].toLowerCase())\n if (index === -1)\n throw new Error(`Invalid base32 character: ${str[i]}`)\n num = num * 32 + index\n }\n return num\n}"],"mappings":";;;AAAA,SAAgB,kBAA0B;AACxC,QAAO,OAAO,gBAAgB,IAAI,YAAY,EAAE,CAAC,CAAC,KAAK;;AAGzD,SAAgB,4BAAoC;AAClD,QAAO,OAAO,WAAW,cAAc,iBAAiB,GAAG,KAAK,QAAQ;;AAG1E,SAAgB,cAAc,OAAO,KAAe;AAClD,QAAO,2BAA2B,GAAG;;;AAIvC,SAAgB,UAAU,MAAM,KAAK,MAAM,GAAW;AACpD,QAAO,MAAM,KAAK,MAAM,2BAA2B,IAAI,MAAM,KAAK;;AAGpE,SAAgB,YAAY,MAAM,KAAK,MAAM,GAAW;AACtD,QAAO,MAAM,2BAA2B,IAAI,MAAM;;AAGpD,SAAgB,QAAQ,KAAa,OAAe,KAAqB;AACvE,QAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC;;;AAI5C,SAAgB,IAAI,OAAyB;AAC3C,QAAO,MAAM,QAAQ,KAAK,UAAU,MAAM,OAAO,EAAE;;;AAIrD,SAAgB,IAAI,OAAyB;AAC3C,QAAO,IAAI,MAAM,GAAG,MAAM;;;AAO5B,SAAgB,UAAU,OAAwB;AAEhD,QAAO,CAAC,qBAAqB,KAAK,IAAI,OAAO,MAAM,CAAC;;AAGtD,SAAgB,QAAQ,OAAwB;AAC9C,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,IACzB,KAAI,QAAQ,MAAM,EAChB,QAAO;AAEX,QAAO,QAAQ;;AAMjB,IAAI,QAAQ;;AAGZ,SAAgB,aAAa,MAAM,GAAG,MAAM,GAAG,MAAe;AAC5D,WAAU,QAAQ,SAAS,OAAO,SAAS;AAE3C,QAAO,MADK,QAAQ,UACA,MAAM;;AAG5B,MAAM,cAAc;AAEpB,SAAgB,eAAe,KAAa,UAAU,GAAW;AAC/D,KAAI,QAAQ,EACV,QAAO;CACT,IAAI,MAAM;AACV,QAAO,MAAM,GAAG;AAEd,QAAM,YADM,MAAM,MACO;AACzB,QAAM,KAAK,MAAM,MAAM,GAAG;;AAE5B,QAAO,IAAI,SAAS,QAClB,OAAM,MAAM;AACd,QAAO;;AAGT,SAAgB,eAAe,KAAqB;CAClD,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EACnC,MAAM,QAAQ,YAAY,QAAQ,IAAI,GAAG,aAAa,CAAC;AACvD,MAAI,UAAU,GACZ,OAAM,IAAI,MAAM,6BAA6B,IAAI,KAAK;AACxD,QAAM,MAAM,KAAK;;AAEnB,QAAO"}
@@ -1,2 +1,66 @@
1
- function e(){return crypto.getRandomValues(new Uint32Array(1))[0]/4294967295}function t(){return typeof crypto<`u`?e():Math.random()}function n(e=.25){return t()<e}function r(e=100,n=0){return n+Math.floor(t()*(e-n))}function i(e=100,n=0){return n+t()*(e-n)}function a(e,t,n){return Math.max(e,Math.min(n,t))}function o(e){return e.reduce((e,t)=>e+t,0)}function s(e){return o(e)/e.length}function c(e){return!/^1?$|^(1{2,}?)\1+$/.test(`1`.repeat(e))}function l(e){for(let t=2;t<e;t++)if(e%t===0)return!1;return e>1}let u=6;function d(e=0,t=1,n){return u=((n??u)*9301+49297)%233280,t+u/233280*(e-t)}const f=`0123456789abcdefghjkmnpqrtuvwxyz`;function p(e,t=0){if(e===0)return`0`;let n=``;for(;e>0;)n=f[e%32]+n,e=Math.floor(e/32);for(;n.length<t;)n=`0`+n;return n}function m(e){let t=0;for(let n=0;n<e.length;n++){let r=f.indexOf(e[n].toLowerCase());if(r===-1)throw Error(`Invalid base32 character: ${e[n]}`);t=t*32+r}return t}export{s as avg,m as base32ToNumber,a as between,e as getSecureRandom,t as getSecureRandomIfPossible,l as isPrime,c as isPrimeRX,p as numberToBase32,n as randomBoolean,i as randomFloat,r as randomInt,d as seededRandom,o as sum};
1
+ //#region src/common/data/math.ts
2
+ function getSecureRandom() {
3
+ return crypto.getRandomValues(new Uint32Array(1))[0] / 4294967295;
4
+ }
5
+ function getSecureRandomIfPossible() {
6
+ return typeof crypto !== "undefined" ? getSecureRandom() : Math.random();
7
+ }
8
+ function randomBoolean(bias = .25) {
9
+ return getSecureRandomIfPossible() < bias;
10
+ }
11
+ /** max is not included, min is included */
12
+ function randomInt(max = 100, min = 0) {
13
+ return min + Math.floor(getSecureRandomIfPossible() * (max - min));
14
+ }
15
+ function randomFloat(max = 100, min = 0) {
16
+ return min + getSecureRandomIfPossible() * (max - min);
17
+ }
18
+ function between(min, value, max) {
19
+ return Math.max(min, Math.min(max, value));
20
+ }
21
+ /** See also arraySum */
22
+ function sum(array) {
23
+ return array.reduce((acc, value) => acc + value, 0);
24
+ }
25
+ /** See also arrayAvg */
26
+ function avg(array) {
27
+ return sum(array) / array.length;
28
+ }
29
+ /** Fancy prime number check ;) */
30
+ function isPrimeRX(value) {
31
+ return !/^1?$|^(1{2,}?)\1+$/.test("1".repeat(value));
32
+ }
33
+ function isPrime(value) {
34
+ for (let i = 2; i < value; i++) if (value % i === 0) return false;
35
+ return value > 1;
36
+ }
37
+ let _seed = 6;
38
+ /** Deterministic random */
39
+ function seededRandom(max = 0, min = 1, seed) {
40
+ _seed = ((seed ?? _seed) * 9301 + 49297) % 233280;
41
+ return min + _seed / 233280 * (max - min);
42
+ }
43
+ const base32Chars = "0123456789abcdefghjkmnpqrtuvwxyz";
44
+ function numberToBase32(num, padding = 0) {
45
+ if (num === 0) return "0";
46
+ let str = "";
47
+ while (num > 0) {
48
+ str = base32Chars[num % 32] + str;
49
+ num = Math.floor(num / 32);
50
+ }
51
+ while (str.length < padding) str = "0" + str;
52
+ return str;
53
+ }
54
+ function base32ToNumber(str) {
55
+ let num = 0;
56
+ for (let i = 0; i < str.length; i++) {
57
+ const index = base32Chars.indexOf(str[i].toLowerCase());
58
+ if (index === -1) throw new Error(`Invalid base32 character: ${str[i]}`);
59
+ num = num * 32 + index;
60
+ }
61
+ return num;
62
+ }
63
+
64
+ //#endregion
65
+ export { avg, base32ToNumber, between, getSecureRandom, getSecureRandomIfPossible, isPrime, isPrimeRX, numberToBase32, randomBoolean, randomFloat, randomInt, seededRandom, sum };
2
66
  //# sourceMappingURL=math.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.mjs","names":[],"sources":["../../../src/common/data/math.ts"],"sourcesContent":["export function getSecureRandom(): number {\n return crypto.getRandomValues(new Uint32Array(1))[0] / 0xFFFFFFFF\n}\n\nexport function getSecureRandomIfPossible(): number {\n return typeof crypto !== 'undefined' ? getSecureRandom() : Math.random()\n}\n\nexport function randomBoolean(bias = 0.25): boolean {\n return getSecureRandomIfPossible() < bias\n}\n\n/** max is not included, min is included */\nexport function randomInt(max = 100, min = 0): number {\n return min + Math.floor(getSecureRandomIfPossible() * (max - min))\n}\n\nexport function randomFloat(max = 100, min = 0): number {\n return min + getSecureRandomIfPossible() * (max - min)\n}\n\nexport function between(min: number, value: number, max: number): number {\n return Math.max(min, Math.min(max, value))\n}\n\n/** See also arraySum */\nexport function sum(array: number[]): number {\n return array.reduce((acc, value) => acc + value, 0)\n}\n\n/** See also arrayAvg */\nexport function avg(array: number[]): number {\n return sum(array) / array.length\n}\n\n// export const clamp = (n: number, min: number, max: number) => Math.min(max, Math.max(min, n))\n\n// https://www.noulakaz.net/2007/03/18/a-regular-expression-to-check-for-prime-numbers/\n/** Fancy prime number check ;) */\nexport function isPrimeRX(value: number): boolean {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n return !/^1?$|^(1{2,}?)\\1+$/.test('1'.repeat(value))\n}\n\nexport function isPrime(value: number): boolean {\n for (let i = 2; i < value; i++) {\n if (value % i === 0)\n return false\n }\n return value > 1\n}\n\n// http://indiegamr.com/generate-repeatable-random-numbers-in-js/\n// https://softwareengineering.stackexchange.com/questions/260969/original-source-of-seed-9301-49297-233280-random-algorithm\n\nlet _seed = 6\n\n/** Deterministic random */\nexport function seededRandom(max = 0, min = 1, seed?: number) {\n _seed = ((seed ?? _seed) * 9301 + 49297) % 233280\n const rnd = _seed / 233280\n return min + rnd * (max - min)\n}\n\nconst base32Chars = '0123456789abcdefghjkmnpqrtuvwxyz'\n\nexport function numberToBase32(num: number, padding = 0): string {\n if (num === 0)\n return '0'\n let str = ''\n while (num > 0) {\n const rem = num % 32\n str = base32Chars[rem] + str\n num = Math.floor(num / 32)\n }\n while (str.length < padding)\n str = '0' + str\n return str\n}\n\nexport function base32ToNumber(str: string): number {\n let num = 0\n for (let i = 0; i < str.length; i++) {\n const index = base32Chars.indexOf(str[i].toLowerCase())\n if (index === -1)\n throw new Error(`Invalid base32 character: ${str[i]}`)\n num = num * 32 + index\n }\n return num\n}"],"mappings":"AAAA,SAAgB,GAA0B,CACxC,OAAO,OAAO,gBAAgB,IAAI,YAAY,EAAE,CAAC,CAAC,GAAK,WAGzD,SAAgB,GAAoC,CAClD,OAAO,OAAO,OAAW,IAAc,GAAiB,CAAG,KAAK,QAAQ,CAG1E,SAAgB,EAAc,EAAO,IAAe,CAClD,OAAO,GAA2B,CAAG,EAIvC,SAAgB,EAAU,EAAM,IAAK,EAAM,EAAW,CACpD,OAAO,EAAM,KAAK,MAAM,GAA2B,EAAI,EAAM,GAAK,CAGpE,SAAgB,EAAY,EAAM,IAAK,EAAM,EAAW,CACtD,OAAO,EAAM,GAA2B,EAAI,EAAM,GAGpD,SAAgB,EAAQ,EAAa,EAAe,EAAqB,CACvE,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,EAAM,CAAC,CAI5C,SAAgB,EAAI,EAAyB,CAC3C,OAAO,EAAM,QAAQ,EAAK,IAAU,EAAM,EAAO,EAAE,CAIrD,SAAgB,EAAI,EAAyB,CAC3C,OAAO,EAAI,EAAM,CAAG,EAAM,OAO5B,SAAgB,EAAU,EAAwB,CAEhD,MAAO,CAAC,qBAAqB,KAAK,IAAI,OAAO,EAAM,CAAC,CAGtD,SAAgB,EAAQ,EAAwB,CAC9C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,IACzB,GAAI,EAAQ,IAAM,EAChB,MAAO,GAEX,OAAO,EAAQ,EAMjB,IAAI,EAAQ,EAGZ,SAAgB,EAAa,EAAM,EAAG,EAAM,EAAG,EAAe,CAG5D,MAFA,KAAU,GAAQ,GAAS,KAAO,OAAS,OAEpC,EADK,EAAQ,QACA,EAAM,GAG5B,MAAM,EAAc,mCAEpB,SAAgB,EAAe,EAAa,EAAU,EAAW,CAC/D,GAAI,IAAQ,EACV,MAAO,IACT,IAAI,EAAM,GACV,KAAO,EAAM,GAEX,EAAM,EADM,EAAM,IACO,EACzB,EAAM,KAAK,MAAM,EAAM,GAAG,CAE5B,KAAO,EAAI,OAAS,GAClB,EAAM,IAAM,EACd,OAAO,EAGT,SAAgB,EAAe,EAAqB,CAClD,IAAI,EAAM,EACV,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,IAAK,CACnC,IAAM,EAAQ,EAAY,QAAQ,EAAI,GAAG,aAAa,CAAC,CACvD,GAAI,IAAU,GACZ,MAAU,MAAM,6BAA6B,EAAI,KAAK,CACxD,EAAM,EAAM,GAAK,EAEnB,OAAO"}
1
+ {"version":3,"file":"math.mjs","names":[],"sources":["../../../src/common/data/math.ts"],"sourcesContent":["export function getSecureRandom(): number {\n return crypto.getRandomValues(new Uint32Array(1))[0] / 0xFFFFFFFF\n}\n\nexport function getSecureRandomIfPossible(): number {\n return typeof crypto !== 'undefined' ? getSecureRandom() : Math.random()\n}\n\nexport function randomBoolean(bias = 0.25): boolean {\n return getSecureRandomIfPossible() < bias\n}\n\n/** max is not included, min is included */\nexport function randomInt(max = 100, min = 0): number {\n return min + Math.floor(getSecureRandomIfPossible() * (max - min))\n}\n\nexport function randomFloat(max = 100, min = 0): number {\n return min + getSecureRandomIfPossible() * (max - min)\n}\n\nexport function between(min: number, value: number, max: number): number {\n return Math.max(min, Math.min(max, value))\n}\n\n/** See also arraySum */\nexport function sum(array: number[]): number {\n return array.reduce((acc, value) => acc + value, 0)\n}\n\n/** See also arrayAvg */\nexport function avg(array: number[]): number {\n return sum(array) / array.length\n}\n\n// export const clamp = (n: number, min: number, max: number) => Math.min(max, Math.max(min, n))\n\n// https://www.noulakaz.net/2007/03/18/a-regular-expression-to-check-for-prime-numbers/\n/** Fancy prime number check ;) */\nexport function isPrimeRX(value: number): boolean {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n return !/^1?$|^(1{2,}?)\\1+$/.test('1'.repeat(value))\n}\n\nexport function isPrime(value: number): boolean {\n for (let i = 2; i < value; i++) {\n if (value % i === 0)\n return false\n }\n return value > 1\n}\n\n// http://indiegamr.com/generate-repeatable-random-numbers-in-js/\n// https://softwareengineering.stackexchange.com/questions/260969/original-source-of-seed-9301-49297-233280-random-algorithm\n\nlet _seed = 6\n\n/** Deterministic random */\nexport function seededRandom(max = 0, min = 1, seed?: number) {\n _seed = ((seed ?? _seed) * 9301 + 49297) % 233280\n const rnd = _seed / 233280\n return min + rnd * (max - min)\n}\n\nconst base32Chars = '0123456789abcdefghjkmnpqrtuvwxyz'\n\nexport function numberToBase32(num: number, padding = 0): string {\n if (num === 0)\n return '0'\n let str = ''\n while (num > 0) {\n const rem = num % 32\n str = base32Chars[rem] + str\n num = Math.floor(num / 32)\n }\n while (str.length < padding)\n str = '0' + str\n return str\n}\n\nexport function base32ToNumber(str: string): number {\n let num = 0\n for (let i = 0; i < str.length; i++) {\n const index = base32Chars.indexOf(str[i].toLowerCase())\n if (index === -1)\n throw new Error(`Invalid base32 character: ${str[i]}`)\n num = num * 32 + index\n }\n return num\n}"],"mappings":";AAAA,SAAgB,kBAA0B;AACxC,QAAO,OAAO,gBAAgB,IAAI,YAAY,EAAE,CAAC,CAAC,KAAK;;AAGzD,SAAgB,4BAAoC;AAClD,QAAO,OAAO,WAAW,cAAc,iBAAiB,GAAG,KAAK,QAAQ;;AAG1E,SAAgB,cAAc,OAAO,KAAe;AAClD,QAAO,2BAA2B,GAAG;;;AAIvC,SAAgB,UAAU,MAAM,KAAK,MAAM,GAAW;AACpD,QAAO,MAAM,KAAK,MAAM,2BAA2B,IAAI,MAAM,KAAK;;AAGpE,SAAgB,YAAY,MAAM,KAAK,MAAM,GAAW;AACtD,QAAO,MAAM,2BAA2B,IAAI,MAAM;;AAGpD,SAAgB,QAAQ,KAAa,OAAe,KAAqB;AACvE,QAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC;;;AAI5C,SAAgB,IAAI,OAAyB;AAC3C,QAAO,MAAM,QAAQ,KAAK,UAAU,MAAM,OAAO,EAAE;;;AAIrD,SAAgB,IAAI,OAAyB;AAC3C,QAAO,IAAI,MAAM,GAAG,MAAM;;;AAO5B,SAAgB,UAAU,OAAwB;AAEhD,QAAO,CAAC,qBAAqB,KAAK,IAAI,OAAO,MAAM,CAAC;;AAGtD,SAAgB,QAAQ,OAAwB;AAC9C,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,IACzB,KAAI,QAAQ,MAAM,EAChB,QAAO;AAEX,QAAO,QAAQ;;AAMjB,IAAI,QAAQ;;AAGZ,SAAgB,aAAa,MAAM,GAAG,MAAM,GAAG,MAAe;AAC5D,WAAU,QAAQ,SAAS,OAAO,SAAS;AAE3C,QAAO,MADK,QAAQ,UACA,MAAM;;AAG5B,MAAM,cAAc;AAEpB,SAAgB,eAAe,KAAa,UAAU,GAAW;AAC/D,KAAI,QAAQ,EACV,QAAO;CACT,IAAI,MAAM;AACV,QAAO,MAAM,GAAG;AAEd,QAAM,YADM,MAAM,MACO;AACzB,QAAM,KAAK,MAAM,MAAM,GAAG;;AAE5B,QAAO,IAAI,SAAS,QAClB,OAAM,MAAM;AACd,QAAO;;AAGT,SAAgB,eAAe,KAAqB;CAClD,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;EACnC,MAAM,QAAQ,YAAY,QAAQ,IAAI,GAAG,aAAa,CAAC;AACvD,MAAI,UAAU,GACZ,OAAM,IAAI,MAAM,6BAA6B,IAAI,KAAK;AACxD,QAAM,MAAM,KAAK;;AAEnB,QAAO"}
@@ -1,2 +1,31 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./is.cjs`),t=require(`../../bin-Ce3i6ABn.cjs`),n=require(`./object.cjs`);function r(e,r={}){let{trace:i=!0,pretty:a=!0}=r;return e.map(e=>{if(e&&typeof e==`object`){if(a&&(e instanceof Uint8Array||e instanceof ArrayBuffer))return`\n${t.t(t.o(e instanceof ArrayBuffer?new Uint8Array(e):e))}\n`;if(e instanceof Error)return`${e.name}: ${e.message}`+(i?`\n${e.stack}`:``);if(typeof ErrorEvent<`u`&&e instanceof ErrorEvent)return`${e.error.name||`ErrorEvent`}: ${e.error.message}`+(i?`\n${e.error.stack}`:``);if(typeof DOMException<`u`&&e instanceof DOMException)return`${e.name||`DOMException`}: ${e.message}`+(i?`\n${e.stack}`:``);if(e&&typeof e==`object`&&`reason`in e)return`PromiseRejection ${e.type}: ${e.reason}`+(i?`\n${e.stack}`:``);try{return e=n.objectPlain(e),a?JSON.stringify(e,null,2):JSON.stringify(e)}catch{}}return String(e)})}function i(t,n={}){return r(e.isArray(t)?t:[t],n).join(` `)}exports.formatMessages=r,exports.renderMessages=i;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_common_data_is = require('./is.cjs');
3
+ const require_bin = require('../../bin-Ddaz2lxM.cjs');
4
+ const require_common_data_object = require('./object.cjs');
5
+
6
+ //#region src/common/data/message.ts
7
+ function formatMessages(messages, opt = {}) {
8
+ const { trace = true, pretty = true } = opt;
9
+ return messages.map((obj) => {
10
+ if (obj && typeof obj === "object") {
11
+ if (pretty && (obj instanceof Uint8Array || obj instanceof ArrayBuffer)) return `\n${require_bin.Uint8ArrayToHexDump(require_bin.ensureUint8Array(obj instanceof ArrayBuffer ? new Uint8Array(obj) : obj))}\n`;
12
+ if (obj instanceof Error) return `${obj.name}: ${obj.message}` + (trace ? `\n${obj.stack}` : "");
13
+ if (typeof ErrorEvent !== "undefined" && obj instanceof ErrorEvent) return `${obj.error.name || "ErrorEvent"}: ${obj.error.message}` + (trace ? `\n${obj.error.stack}` : "");
14
+ if (typeof DOMException !== "undefined" && obj instanceof DOMException) return `${obj.name || "DOMException"}: ${obj.message}` + (trace ? `\n${obj.stack}` : "");
15
+ if (obj && typeof obj === "object" && "reason" in obj) return `PromiseRejection ${obj.type}: ${obj.reason}` + (trace ? `\n${obj.stack}` : "");
16
+ try {
17
+ obj = require_common_data_object.objectPlain(obj);
18
+ return pretty ? JSON.stringify(obj, null, 2) : JSON.stringify(obj);
19
+ } catch (err) {}
20
+ }
21
+ return String(obj);
22
+ });
23
+ }
24
+ function renderMessages(messages, opt = {}) {
25
+ return formatMessages(require_common_data_is.isArray(messages) ? messages : [messages], opt).join(" ");
26
+ }
27
+
28
+ //#endregion
29
+ exports.formatMessages = formatMessages;
30
+ exports.renderMessages = renderMessages;
2
31
  //# sourceMappingURL=message.cjs.map