ranuts 0.4.1-alpha.1 → 0.5.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 (331) hide show
  1. package/CLAUDE.md +178 -26
  2. package/README.de.md +62 -0
  3. package/README.es.md +62 -0
  4. package/README.fa.md +62 -0
  5. package/README.ja.md +62 -0
  6. package/README.ko.md +62 -0
  7. package/README.md +35 -90
  8. package/README.pt.md +62 -0
  9. package/README.zh-CN.md +35 -89
  10. package/dist/iife/index.iife.js +4 -0
  11. package/dist/iife/utils.iife.js +4 -0
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +306 -1
  14. package/dist/src/_virtual/_rolldown/runtime/index.js +12 -0
  15. package/dist/src/conversation/engine.d.ts +109 -0
  16. package/dist/src/conversation/engine.js +101 -0
  17. package/dist/src/conversation/index.d.ts +12 -0
  18. package/dist/src/conversation/index.js +4 -0
  19. package/dist/src/conversation/types.d.ts +99 -0
  20. package/dist/src/stream/accumulator.d.ts +51 -0
  21. package/dist/src/stream/accumulator.js +79 -0
  22. package/dist/src/stream/budget.d.ts +89 -0
  23. package/dist/src/stream/budget.js +45 -0
  24. package/dist/src/stream/index.d.ts +25 -0
  25. package/dist/src/stream/index.js +11 -0
  26. package/dist/src/stream/sse.d.ts +51 -0
  27. package/dist/src/stream/sse.js +61 -0
  28. package/dist/src/stream/types.d.ts +106 -0
  29. package/dist/src/sw/index.js +52 -1
  30. package/dist/src/utils/async.js +49 -0
  31. package/dist/src/utils/audioRecorder.js +1121 -0
  32. package/dist/src/utils/behavior.js +9 -0
  33. package/dist/src/utils/binary.js +89 -0
  34. package/dist/src/utils/bom.d.ts +31 -9
  35. package/dist/src/utils/bom.js +165 -0
  36. package/dist/src/utils/bridge.js +310 -0
  37. package/dist/src/utils/canvas.d.ts +1 -0
  38. package/dist/src/utils/canvas.js +103 -0
  39. package/dist/src/utils/chain.js +76 -0
  40. package/dist/src/utils/color.d.ts +0 -1
  41. package/dist/src/utils/color.js +312 -0
  42. package/dist/src/utils/compose.js +22 -0
  43. package/dist/src/utils/console.js +22 -0
  44. package/dist/src/utils/debounce.js +18 -0
  45. package/dist/src/utils/device.d.ts +0 -9
  46. package/dist/src/utils/device.js +31 -0
  47. package/dist/src/utils/diff.d.ts +51 -0
  48. package/dist/src/utils/diff.js +110 -0
  49. package/dist/src/utils/dom.d.ts +1 -1
  50. package/dist/src/utils/dom.js +89 -0
  51. package/dist/src/utils/error.js +11 -0
  52. package/dist/src/utils/event.d.ts +3 -3
  53. package/dist/src/utils/event.js +39 -0
  54. package/dist/src/utils/file.js +14 -0
  55. package/dist/src/utils/func.js +4 -0
  56. package/dist/src/utils/i18n/index.js +79 -1
  57. package/dist/src/utils/idb.js +177 -0
  58. package/dist/src/utils/img.d.ts +1 -1
  59. package/dist/src/utils/img.js +68 -0
  60. package/dist/src/utils/index.d.ts +81 -77
  61. package/dist/src/utils/index.js +306 -1
  62. package/dist/src/utils/lang.d.ts +23 -6
  63. package/dist/src/utils/lang.js +42 -0
  64. package/dist/src/utils/localePath.js +48 -0
  65. package/dist/src/utils/memoize.d.ts +1 -7
  66. package/dist/src/utils/memoize.js +16 -0
  67. package/dist/src/utils/mimeType.js +841 -0
  68. package/dist/src/utils/monitor.js +84 -0
  69. package/dist/src/utils/network.js +117 -0
  70. package/dist/src/utils/noop.js +5 -0
  71. package/dist/src/utils/number.d.ts +20 -0
  72. package/dist/src/utils/number.js +185 -0
  73. package/dist/src/utils/obj.d.ts +2 -2
  74. package/dist/src/utils/obj.js +140 -0
  75. package/dist/src/utils/paginate.js +93 -0
  76. package/dist/src/utils/performance.js +26 -0
  77. package/dist/src/utils/placement.d.ts +42 -5
  78. package/dist/src/utils/placement.js +37 -0
  79. package/dist/src/utils/prefetch.js +69 -0
  80. package/dist/src/utils/queue.js +46 -0
  81. package/dist/src/utils/report.js +44 -0
  82. package/dist/src/utils/request.js +35 -0
  83. package/dist/src/utils/script.d.ts +1 -1
  84. package/dist/src/utils/script.js +46 -0
  85. package/dist/src/utils/scroll.d.ts +93 -0
  86. package/dist/src/utils/scroll.js +62 -0
  87. package/dist/src/utils/secure.js +36 -0
  88. package/dist/src/utils/segment.js +43 -0
  89. package/dist/src/utils/signal.d.ts +1 -1
  90. package/dist/src/utils/signal.js +13 -0
  91. package/dist/src/utils/speech.js +59 -0
  92. package/dist/src/utils/storage.js +53 -0
  93. package/dist/src/utils/str.d.ts +0 -6
  94. package/dist/src/utils/str.js +395 -0
  95. package/dist/src/utils/style.js +29 -0
  96. package/dist/src/utils/subscribe.js +58 -0
  97. package/dist/src/utils/throttle.js +17 -0
  98. package/dist/src/utils/time.d.ts +0 -21
  99. package/dist/src/utils/time.js +97 -0
  100. package/dist/src/utils/totp/sha/common.d.ts +1 -1
  101. package/dist/src/utils/totp/sha/common.js +201 -0
  102. package/dist/src/utils/totp/sha/converters.d.ts +1 -1
  103. package/dist/src/utils/totp/sha/converters.js +188 -0
  104. package/dist/src/utils/totp/sha/primitives_32.js +55 -0
  105. package/dist/src/utils/totp/sha/primitives_64.js +85 -0
  106. package/dist/src/utils/totp/sha/sha.d.ts +1 -1
  107. package/dist/src/utils/totp/sha/sha.js +30 -0
  108. package/dist/src/utils/totp/sha/sha1.d.ts +2 -2
  109. package/dist/src/utils/totp/sha/sha1.js +51 -0
  110. package/dist/src/utils/totp/sha/sha256.d.ts +2 -2
  111. package/dist/src/utils/totp/sha/sha256.js +56 -0
  112. package/dist/src/utils/totp/sha/sha3.d.ts +3 -3
  113. package/dist/src/utils/totp/sha/sha3.js +253 -0
  114. package/dist/src/utils/totp/sha/sha512.d.ts +3 -3
  115. package/dist/src/utils/totp/sha/sha512.js +177 -0
  116. package/dist/src/utils/totp/totp.js +49 -0
  117. package/dist/src/utils/tween.js +59 -0
  118. package/dist/src/utils/visual/application.d.ts +4 -4
  119. package/dist/src/utils/visual/application.js +42 -0
  120. package/dist/src/utils/visual/enums.js +19 -0
  121. package/dist/src/utils/visual/event/boundary.d.ts +2 -2
  122. package/dist/src/utils/visual/event/boundary.js +93 -0
  123. package/dist/src/utils/visual/event/event.d.ts +1 -1
  124. package/dist/src/utils/visual/event/event.js +34 -0
  125. package/dist/src/utils/visual/event/index.d.ts +4 -4
  126. package/dist/src/utils/visual/event/types.d.ts +2 -2
  127. package/dist/src/utils/visual/event/types.js +23 -0
  128. package/dist/src/utils/visual/graphics/graphics.d.ts +8 -8
  129. package/dist/src/utils/visual/graphics/graphics.js +168 -0
  130. package/dist/src/utils/visual/graphics/graphicsData.d.ts +3 -3
  131. package/dist/src/utils/visual/graphics/graphicsData.js +12 -0
  132. package/dist/src/utils/visual/graphics/graphicsGeometry.d.ts +7 -7
  133. package/dist/src/utils/visual/graphics/graphicsGeometry.js +39 -0
  134. package/dist/src/utils/visual/graphics/index.d.ts +3 -3
  135. package/dist/src/utils/visual/index.d.ts +8 -8
  136. package/dist/src/utils/visual/index.js +20 -1
  137. package/dist/src/utils/visual/math/bezier.js +15 -0
  138. package/dist/src/utils/visual/math/enums.js +6 -0
  139. package/dist/src/utils/visual/math/index.d.ts +4 -4
  140. package/dist/src/utils/visual/math/matrix.d.ts +1 -1
  141. package/dist/src/utils/visual/math/matrix.js +59 -0
  142. package/dist/src/utils/visual/math/transform.d.ts +2 -2
  143. package/dist/src/utils/visual/math/transform.js +50 -0
  144. package/dist/src/utils/visual/render/batchRenderer.d.ts +4 -4
  145. package/dist/src/utils/visual/render/batchRenderer.js +59 -0
  146. package/dist/src/utils/visual/render/canvasRenderer.d.ts +3 -3
  147. package/dist/src/utils/visual/render/canvasRenderer.js +17 -0
  148. package/dist/src/utils/visual/render/filter.d.ts +1 -1
  149. package/dist/src/utils/visual/render/filter.js +92 -0
  150. package/dist/src/utils/visual/render/index.d.ts +2 -2
  151. package/dist/src/utils/visual/render/index.js +20 -0
  152. package/dist/src/utils/visual/render/render.d.ts +4 -4
  153. package/dist/src/utils/visual/render/render.js +19 -0
  154. package/dist/src/utils/visual/render/renderTarget.js +28 -0
  155. package/dist/src/utils/visual/render/utils/batch/index.d.ts +4 -4
  156. package/dist/src/utils/visual/render/utils/batch/index.js +88 -0
  157. package/dist/src/utils/visual/render/utils/earcut.js +328 -0
  158. package/dist/src/utils/visual/render/utils/float.js +65 -0
  159. package/dist/src/utils/visual/render/utils/index.js +50 -0
  160. package/dist/src/utils/visual/render/utils/verticy.d.ts +2 -2
  161. package/dist/src/utils/visual/render/utils/verticy.js +162 -0
  162. package/dist/src/utils/visual/render/utils/webgl/initShader.d.ts +1 -1
  163. package/dist/src/utils/visual/render/utils/webgl/initShader.js +31 -0
  164. package/dist/src/utils/visual/render/utils/webgl/shaders.js +22 -0
  165. package/dist/src/utils/visual/render/utils/webgpu/shaders.js +32 -0
  166. package/dist/src/utils/visual/render/webGPURenderer.d.ts +2 -2
  167. package/dist/src/utils/visual/render/webGPURenderer.js +185 -0
  168. package/dist/src/utils/visual/render/webGlRenderer.d.ts +2 -2
  169. package/dist/src/utils/visual/render/webGlRenderer.js +88 -0
  170. package/dist/src/utils/visual/shape/circle.d.ts +3 -3
  171. package/dist/src/utils/visual/shape/circle.js +17 -0
  172. package/dist/src/utils/visual/shape/ellipse.d.ts +3 -3
  173. package/dist/src/utils/visual/shape/ellipse.js +18 -0
  174. package/dist/src/utils/visual/shape/index.d.ts +6 -6
  175. package/dist/src/utils/visual/shape/polygon.d.ts +3 -3
  176. package/dist/src/utils/visual/shape/polygon.js +29 -0
  177. package/dist/src/utils/visual/shape/rectangle.d.ts +3 -3
  178. package/dist/src/utils/visual/shape/rectangle.js +18 -0
  179. package/dist/src/utils/visual/shape/roundedRectangle.d.ts +3 -3
  180. package/dist/src/utils/visual/shape/roundedRectangle.js +32 -0
  181. package/dist/src/utils/visual/shape/shape.d.ts +2 -2
  182. package/dist/src/utils/visual/shape/shape.js +5 -0
  183. package/dist/src/utils/visual/style/fill.js +18 -0
  184. package/dist/src/utils/visual/style/index.d.ts +2 -2
  185. package/dist/src/utils/visual/style/line.d.ts +2 -2
  186. package/dist/src/utils/visual/style/line.js +18 -0
  187. package/dist/src/utils/visual/types.d.ts +1 -1
  188. package/dist/src/utils/visual/vertex/container.d.ts +5 -5
  189. package/dist/src/utils/visual/vertex/container.js +54 -0
  190. package/dist/src/utils/visual/vertex/point.js +37 -0
  191. package/dist/src/utils/visual/vertex/vertex.d.ts +7 -7
  192. package/dist/src/utils/visual/vertex/vertex.js +76 -0
  193. package/dist/src/utils/worker.js +89 -0
  194. package/dist/src/utils/zip.js +161 -0
  195. package/dist/src/vnode/h.d.ts +1 -1
  196. package/dist/src/vnode/h.js +22 -0
  197. package/dist/src/vnode/hooks.d.ts +1 -1
  198. package/dist/src/vnode/htmlDomApi.js +94 -0
  199. package/dist/src/vnode/index.d.ts +16 -16
  200. package/dist/src/vnode/index.js +28 -1
  201. package/dist/src/vnode/init.d.ts +1 -1
  202. package/dist/src/vnode/init.js +104 -0
  203. package/dist/src/vnode/is.d.ts +1 -1
  204. package/dist/src/vnode/is.js +20 -0
  205. package/dist/src/vnode/modules/attributes.d.ts +1 -1
  206. package/dist/src/vnode/modules/attributes.js +21 -0
  207. package/dist/src/vnode/modules/class.d.ts +1 -1
  208. package/dist/src/vnode/modules/class.js +18 -0
  209. package/dist/src/vnode/modules/index.js +15 -0
  210. package/dist/src/vnode/modules/listeners.d.ts +1 -1
  211. package/dist/src/vnode/modules/listeners.js +36 -0
  212. package/dist/src/vnode/modules/props.d.ts +1 -1
  213. package/dist/src/vnode/modules/props.js +17 -0
  214. package/dist/src/vnode/modules/style.d.ts +1 -1
  215. package/dist/src/vnode/modules/style.js +52 -0
  216. package/dist/src/vnode/vnode.d.ts +6 -6
  217. package/dist/src/vnode/vnode.js +13 -0
  218. package/dist/third-party/jschardet/LICENSE.txt +504 -0
  219. package/dist/third-party/jschardet/NOTICE.txt +33 -0
  220. package/docs/API.md +86 -65
  221. package/package.json +20 -15
  222. package/dist/bin/generate-api-docs.d.ts +0 -1
  223. package/dist/build/build.es.d.ts +0 -2
  224. package/dist/build/build.umd.d.ts +0 -2
  225. package/dist/build/build.umd.node.d.ts +0 -2
  226. package/dist/build/build.umd.utils.d.ts +0 -2
  227. package/dist/chain-CTywmh_H.js +0 -1
  228. package/dist/color-B_KMM8UX.js +0 -1
  229. package/dist/enums-BAgbyGdH.js +0 -1
  230. package/dist/examples/clone-deep-example.d.ts +0 -1
  231. package/dist/examples/is-equal-example.d.ts +0 -1
  232. package/dist/i18n-BJIS1fR1.js +0 -1
  233. package/dist/plugins/vite-plugins-banner.d.ts +0 -2
  234. package/dist/rolldown-runtime-I3TIJKkN.js +0 -1
  235. package/dist/src/node/appendFile.d.ts +0 -7
  236. package/dist/src/node/body.d.ts +0 -9
  237. package/dist/src/node/color.d.ts +0 -7
  238. package/dist/src/node/command.d.ts +0 -8
  239. package/dist/src/node/ctx2req.d.ts +0 -5
  240. package/dist/src/node/fileInfo.d.ts +0 -7
  241. package/dist/src/node/fs.d.ts +0 -7
  242. package/dist/src/node/get.d.ts +0 -10
  243. package/dist/src/node/getIPAdress.d.ts +0 -1
  244. package/dist/src/node/index.d.ts +0 -25
  245. package/dist/src/node/index.js +0 -1
  246. package/dist/src/node/isColorSupported.d.ts +0 -2
  247. package/dist/src/node/paresUrl.d.ts +0 -19
  248. package/dist/src/node/readDir.d.ts +0 -6
  249. package/dist/src/node/readFile.d.ts +0 -9
  250. package/dist/src/node/router.d.ts +0 -42
  251. package/dist/src/node/send.d.ts +0 -7
  252. package/dist/src/node/server.d.ts +0 -18
  253. package/dist/src/node/startTask.d.ts +0 -2
  254. package/dist/src/node/stream.d.ts +0 -15
  255. package/dist/src/node/taskEnd.d.ts +0 -2
  256. package/dist/src/node/traverse.d.ts +0 -17
  257. package/dist/src/node/watchFile.d.ts +0 -8
  258. package/dist/src/node/writeFile.d.ts +0 -8
  259. package/dist/src/node/ws.d.ts +0 -8
  260. package/dist/src/utils/visual/render/utils/batch/index.test.d.ts +0 -1
  261. package/dist/src/utils/visual/render/utils/index.test.d.ts +0 -1
  262. package/dist/test/binary.test.d.ts +0 -1
  263. package/dist/test/bridge.test.d.ts +0 -1
  264. package/dist/test/canvas.test.d.ts +0 -1
  265. package/dist/test/clearBr.test.d.ts +0 -1
  266. package/dist/test/cloneDeep.test.d.ts +0 -1
  267. package/dist/test/color.test.d.ts +0 -1
  268. package/dist/test/command.test.d.ts +0 -1
  269. package/dist/test/encodeUrl.test.d.ts +0 -1
  270. package/dist/test/escapeHtml.test.d.ts +0 -1
  271. package/dist/test/is-equal.test.d.ts +0 -1
  272. package/dist/test/mimeType.test.d.ts +0 -1
  273. package/dist/test/package-exports.test.d.ts +0 -1
  274. package/dist/test/server.test.d.ts +0 -1
  275. package/dist/test/status.test.d.ts +0 -1
  276. package/dist/test/sw.test.d.ts +0 -1
  277. package/dist/test/totp.test.d.ts +0 -1
  278. package/dist/test/tween.test.d.ts +0 -1
  279. package/dist/test/utils/async.test.d.ts +0 -1
  280. package/dist/test/utils/autosize.test.d.ts +0 -1
  281. package/dist/test/utils/color-grade.test.d.ts +0 -1
  282. package/dist/test/utils/compose.test.d.ts +0 -1
  283. package/dist/test/utils/event.test.d.ts +0 -1
  284. package/dist/test/utils/file-read.test.d.ts +0 -1
  285. package/dist/test/utils/format.test.d.ts +0 -1
  286. package/dist/test/utils/i18n.test.d.ts +0 -1
  287. package/dist/test/utils/idb-collection.test.d.ts +0 -1
  288. package/dist/test/utils/idb.test.d.ts +0 -1
  289. package/dist/test/utils/instrumentation.test.d.ts +0 -1
  290. package/dist/test/utils/interp.test.d.ts +0 -1
  291. package/dist/test/utils/lang.test.d.ts +0 -1
  292. package/dist/test/utils/locale-path.test.d.ts +0 -1
  293. package/dist/test/utils/media-query.test.d.ts +0 -1
  294. package/dist/test/utils/mergeObj.test.d.ts +0 -1
  295. package/dist/test/utils/number-parse.test.d.ts +0 -1
  296. package/dist/test/utils/paginate.test.d.ts +0 -1
  297. package/dist/test/utils/placement.test.d.ts +0 -1
  298. package/dist/test/utils/prefetch.test.d.ts +0 -1
  299. package/dist/test/utils/query-storage.test.d.ts +0 -1
  300. package/dist/test/utils/queue.test.d.ts +0 -1
  301. package/dist/test/utils/report-config.test.d.ts +0 -1
  302. package/dist/test/utils/report-image.test.d.ts +0 -1
  303. package/dist/test/utils/secure.test.d.ts +0 -1
  304. package/dist/test/utils/segment.test.d.ts +0 -1
  305. package/dist/test/utils/signal-once.test.d.ts +0 -1
  306. package/dist/test/utils/single-flight.test.d.ts +0 -1
  307. package/dist/test/utils/speech.test.d.ts +0 -1
  308. package/dist/test/utils/text-boundary.test.d.ts +0 -1
  309. package/dist/test/utils/time.test.d.ts +0 -1
  310. package/dist/test/utils/timing.test.d.ts +0 -1
  311. package/dist/test/utils/truncate.test.d.ts +0 -1
  312. package/dist/test/utils/visual/filter.test.d.ts +0 -1
  313. package/dist/test/utils/worker-client.test.d.ts +0 -1
  314. package/dist/test/utils/worker-serve.test.d.ts +0 -1
  315. package/dist/test/utils/zip.test.d.ts +0 -1
  316. package/dist/test/visual/math.test.d.ts +0 -1
  317. package/dist/test/visual-application.test.d.ts +0 -1
  318. package/dist/test/visual-batch.test.d.ts +0 -1
  319. package/dist/test/visual-math.test.d.ts +0 -1
  320. package/dist/test/vnode/index.d.ts +0 -1
  321. package/dist/test/vnode/server.d.ts +0 -2
  322. package/dist/test/vnode/vnode.d.ts +0 -1
  323. package/dist/test/vnode.test.d.ts +0 -1
  324. package/dist/test/websocket.test.d.ts +0 -1
  325. package/dist/test/writeFile.test.d.ts +0 -1
  326. package/dist/umd/index.umd.cjs +0 -1
  327. package/dist/umd/node/node.umd.cjs +0 -1
  328. package/dist/umd/utils/utils.umd.cjs +0 -1
  329. package/dist/utils-BNwhohXq.js +0 -1
  330. package/dist/vite.config.d.ts +0 -8
  331. package/dist/vitest.config.d.ts +0 -2
package/README.md CHANGED
@@ -1,117 +1,62 @@
1
1
  # ranuts
2
2
 
3
- Experimental utility library with commonly used functions and tools
3
+ TypeScript utilities for browser APIs, data processing, streams and 2D rendering.
4
4
 
5
- ---
5
+ [![npm](https://img.shields.io/npm/v/ranuts.svg)](https://www.npmjs.com/package/ranuts) · [MIT](./LICENSE)
6
6
 
7
- <a href="https://github.com/chaxus/ran"><img src="https://img.shields.io/github/actions/workflow/status/chaxus/ran/ci.yml" alt="Build Status"></a>
8
- <a href="https://github.com/chaxus/ran"><img src="https://img.shields.io/npm/v/ranuts.svg" alt="npm-v"></a>
9
- <a href="https://github.com/chaxus/ran"><img src="https://img.shields.io/npm/dt/ranuts.svg" alt="npm-d"></a>
10
- <a href="https://github.com/chaxus/ran"><img src="https://img.badgesize.io/https:/unpkg.com/ranuts/dist/index.js?label=brotli&compression=brotli" alt="brotli"></a>
11
- <a href="https://github.com/chaxus/ran"><img src="https://img.shields.io/badge/module%20formats-umd%2C%20esm-green.svg" alt="module formats: umd, esm"></a>
7
+ ESM · IIFE · TypeScript
12
8
 
13
- **English** | [中文](./README.zh-CN.md)
9
+ **English** | [中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Español](./README.es.md) | [Português](./README.pt.md) | [한국어](./README.ko.md) | [Deutsch](./README.de.md) | [فارسی](./README.fa.md)
14
10
 
15
- ---
11
+ ## Quick start
16
12
 
17
- ## ⚠️ Important Notice
18
-
19
- This is an **experimental utility library** in early development. While functional, it's primarily designed for learning and experimentation.
20
-
21
- **Key points:**
22
-
23
- - 🚧 **Early Development**: Features are still being developed and refined
24
- - 🧪 **Experimental**: APIs may change frequently
25
- - 📚 **Learning Focus**: Primarily for learning JavaScript/TypeScript utilities
26
-
27
- ## Install
28
-
29
- Using npm:
30
-
31
- ```console
32
- npm install ranuts@latest --save
13
+ ```sh
14
+ npm install ranuts
33
15
  ```
34
16
 
35
- ## Document
17
+ ```ts
18
+ import { rgbToHex } from 'ranuts/utils';
36
19
 
37
- [Some commonly used functions and tools](https://ran.chaxus.com/src/ranuts/)
38
-
39
- **For AI agents / LLMs:** start from [CLAUDE.md](./CLAUDE.md) (orientation: entry points,
40
- runtime constraints, conventions) and [docs/API.md](./docs/API.md) (generated reference of
41
- every exported symbol with signatures + descriptions, run `npm run doc:api` to refresh).
42
-
43
- Or install the ready-made **Claude Code skill** from the `ran` plugin marketplace — it
44
- gives assistants the import map, `ranuts/utils` inventory, usage examples, and conventions,
45
- and points to the API reference shipped in the package:
46
-
47
- ```bash
48
- /plugin marketplace add chaxus/ran
49
- /plugin install ranuts@ran
20
+ console.log(rgbToHex(1, 2, 3)); // #010203
50
21
  ```
51
22
 
52
- Claude then uses it automatically (or invoke it as `/ranuts:ranuts`).
23
+ ## ESM
53
24
 
54
- ## Usage
25
+ Choose an entry by runtime and task. Individual utilities may require browser globals; importing a package does not make every helper server-compatible.
55
26
 
56
- Import as required. You can select:
57
-
58
- - `ranuts/utils` — DOM/BOM, string, object, number, colour, time, storage, binary/zip,
59
- worker/IndexedDB, i18n helpers
60
- - `ranuts/node` — HTTP server, router, ws, fs, streams, middleware (**Node only**)
61
- - `ranuts/visual` — 2D rendering engine (Canvas / WebGL / WebGPU, **browser only**)
62
- - `ranuts/sw` — cache strategies + the precache protocol's service-worker half (**service worker only**)
63
- - `ranuts/vnode` — Snabbdom-style virtual DOM
64
- - `ranuts/i18n` — the i18n engine on its own, without the rest of `utils`
65
-
66
- ```js
67
- import { debounce } from 'ranuts/utils';
68
- import { readFile } from 'ranuts/node';
69
- import { createI18n } from 'ranuts/i18n';
70
- ```
27
+ | Package | Use for |
28
+ | --------------------- | ------------------------------------------------- |
29
+ | `ranuts/utils` | DOM/BOM, color, binary, storage and other helpers |
30
+ | `ranuts/i18n` | Internationalization without the utility barrel |
31
+ | `ranuts/stream` | SSE parsing and streamed-response state |
32
+ | `ranuts/conversation` | Conversation event-log projection |
33
+ | `ranuts/visual` | 2D rendering; browser |
34
+ | `ranuts/vnode` | Virtual DOM; browser |
35
+ | `ranuts/sw` | Service-worker cache strategies; service worker |
71
36
 
72
- Full import,(Full import will introduce many unnecessary modules. You are advised to import them on demand)
37
+ ## IIFE / CDN
73
38
 
74
- - ESM
75
-
76
- ```js
77
- import { debounce } from 'ranuts';
78
-
79
- const onResize = debounce(() => {
80
- console.log('window resized');
81
- }, 200);
82
-
83
- window.addEventListener('resize', onResize);
84
- ```
85
-
86
- - UMD, IIFE, CJS
39
+ For a classic browser script tag, use a standalone IIFE. Replace VERSION with a published version; no bundler or module loader is needed.
87
40
 
88
41
  ```html
89
- <script src="./ranuts/dist/umd/index.umd.cjs"></script>
90
-
91
- <script>
92
- const { debounce } = require('ranuts')
93
- const onResize = debounce(() => {
94
- console.log('window resized');
95
- }, 200);
96
-
97
- window.addEventListener('resize', onResize);
42
+ <script src="https://cdn.jsdelivr.net/npm/ranuts@VERSION/dist/iife/utils.iife.js"></script>
98
43
  <script>
44
+ console.log(ranuts_utils.rgbToHex(1, 2, 3));
45
+ </script>
99
46
  ```
100
47
 
101
- ## Contributing
48
+ The utility IIFE exposes `ranuts_utils`; the full `dist/iife/index.iife.js` exposes `ranuts`. Replace VERSION with a published version.
102
49
 
103
- We welcome contributions from learners and developers! This is an experimental project, so please be patient with the development process.
50
+ ## Documentation
104
51
 
105
- ## Contributors
52
+ - [ranuts](https://ran.chaxus.com/src/ranuts/)
53
+ - [API](./docs/API.md)
54
+ - [Maintainer and agent reference](./CLAUDE.md)
106
55
 
107
- <a href="https://github.com/chaxus/ran/graphs/contributors">
108
- <img src="https://contrib.rocks/image?repo=chaxus/ran" />
109
- </a>
110
-
111
- ## Visitors
56
+ ## Contributing
112
57
 
113
- ![](http://profile-counter.glitch.me/chaxus-ranuts/count.svg)
58
+ [Maintainer and agent reference](./CLAUDE.md) · [AGENTS.md](https://github.com/chaxus/ran/blob/main/AGENTS.md)
114
59
 
115
- ## Meta
60
+ ## License
116
61
 
117
- [LICENSE (MIT)](/LICENSE)
62
+ [MIT](./LICENSE)
package/README.pt.md ADDED
@@ -0,0 +1,62 @@
1
+ # ranuts
2
+
3
+ Utilitários TypeScript para APIs do navegador, dados, streams e renderização 2D.
4
+
5
+ [![npm](https://img.shields.io/npm/v/ranuts.svg)](https://www.npmjs.com/package/ranuts) · [MIT](./LICENSE)
6
+
7
+ ESM · IIFE · TypeScript
8
+
9
+ [English](./README.md) | [中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Español](./README.es.md) | **Português** | [한국어](./README.ko.md) | [Deutsch](./README.de.md) | [فارسی](./README.fa.md)
10
+
11
+ ## Início rápido
12
+
13
+ ```sh
14
+ npm install ranuts
15
+ ```
16
+
17
+ ```ts
18
+ import { rgbToHex } from 'ranuts/utils';
19
+
20
+ console.log(rgbToHex(1, 2, 3)); // #010203
21
+ ```
22
+
23
+ ## ESM
24
+
25
+ Escolha a entrada conforme o ambiente e a tarefa. Alguns utilitários exigem objetos globais do navegador; importar o pacote não torna todas as funções compatíveis com o servidor.
26
+
27
+ | Pacote | Uso |
28
+ | --------------------- | ------------------------------------------------------------ |
29
+ | `ranuts/utils` | DOM/BOM, cores, binários, armazenamento e outros utilitários |
30
+ | `ranuts/i18n` | Internacionalização independente |
31
+ | `ranuts/stream` | Análise SSE e estado de respostas em streaming |
32
+ | `ranuts/conversation` | Projeção do log de eventos de conversa |
33
+ | `ranuts/visual` | Renderização 2D; navegador |
34
+ | `ranuts/vnode` | DOM virtual; navegador |
35
+ | `ranuts/sw` | Estratégias de cache do Service Worker |
36
+
37
+ ## IIFE / CDN
38
+
39
+ Para uma tag script clássica, use um IIFE independente. Substitua VERSION por uma versão publicada; não é necessário bundler ou carregador de módulos.
40
+
41
+ ```html
42
+ <script src="https://cdn.jsdelivr.net/npm/ranuts@VERSION/dist/iife/utils.iife.js"></script>
43
+ <script>
44
+ console.log(ranuts_utils.rgbToHex(1, 2, 3));
45
+ </script>
46
+ ```
47
+
48
+ O IIFE de utilitários expõe `ranuts_utils`; o completo `dist/iife/index.iife.js` expõe `ranuts`. Substitua VERSION por uma versão publicada.
49
+
50
+ ## Documentação
51
+
52
+ - [ranuts](https://ran.chaxus.com/pt/src/ranuts/)
53
+ - [API](./docs/API.md)
54
+ - [Referência para mantenedores e agentes](./CLAUDE.md)
55
+
56
+ ## Contribuir
57
+
58
+ [Referência para mantenedores e agentes](./CLAUDE.md) · [AGENTS.md](https://github.com/chaxus/ran/blob/main/AGENTS.md)
59
+
60
+ ## Licença
61
+
62
+ [MIT](./LICENSE)
package/README.zh-CN.md CHANGED
@@ -1,116 +1,62 @@
1
1
  # ranuts
2
2
 
3
- 实验性工具函数库,包含常用的函数和工具
3
+ 覆盖浏览器 API、数据处理、流和二维渲染的 TypeScript 工具。
4
4
 
5
- ---
5
+ [![npm](https://img.shields.io/npm/v/ranuts.svg)](https://www.npmjs.com/package/ranuts) · [MIT](./LICENSE)
6
6
 
7
- <a href="https://github.com/chaxus/ran"><img src="https://img.shields.io/github/actions/workflow/status/chaxus/ran/ci.yml" alt="Build Status"></a>
8
- <a href="https://github.com/chaxus/ran"><img src="https://img.shields.io/npm/v/ranuts.svg" alt="npm-v"></a>
9
- <a href="https://github.com/chaxus/ran"><img src="https://img.shields.io/npm/dt/ranuts.svg" alt="npm-d"></a>
10
- <a href="https://github.com/chaxus/ran"><img src="https://img.badgesize.io/https:/unpkg.com/ranuts/dist/index.js?label=brotli&compression=brotli" alt="brotli"></a>
11
- <a href="https://github.com/chaxus/ran"><img src="https://img.shields.io/badge/module%20formats-umd%2C%20esm-green.svg" alt="module formats: umd, esm"></a>
7
+ ESM · IIFE · TypeScript
12
8
 
13
- **中文** | [English](./README.md)
9
+ [English](./README.md) | **中文** | [日本語](./README.ja.md) | [Español](./README.es.md) | [Português](./README.pt.md) | [한국어](./README.ko.md) | [Deutsch](./README.de.md) | [فارسی](./README.fa.md)
14
10
 
15
- ---
11
+ ## 快速开始
16
12
 
17
- ## ⚠️ 重要说明
18
-
19
- 这是一个**实验性工具函数库**,处于早期开发阶段。虽然功能可用,但主要用于学习和实验。
20
-
21
- **关键要点:**
22
-
23
- - 🚧 **早期开发**: 功能仍在开发和完善中
24
- - 🧪 **实验性**: API 可能会频繁变化
25
- - 📚 **学习导向**: 主要用于学习 JavaScript/TypeScript 工具函数
26
-
27
- ## 安装
28
-
29
- 使用 npm:
30
-
31
- ```console
32
- npm install ranuts@latest --save
13
+ ```sh
14
+ npm install ranuts
33
15
  ```
34
16
 
35
- ## 文档
36
-
37
- [一些常用的函数和工具](https://ran.chaxus.com/cn/src/ranuts/)
38
-
39
- **面向 AI / 大模型:** 从 [CLAUDE.md](./CLAUDE.md)(入口点、运行时约束、代码约定)和
40
- [docs/API.md](./docs/API.md)(自动生成的 API 参考,含每个导出符号的签名与说明,用
41
- `npm run doc:api` 重新生成)开始。
17
+ ```ts
18
+ import { rgbToHex } from 'ranuts/utils';
42
19
 
43
- 也可以从 `ran` 插件市场安装现成的 **Claude Code skill**,它会把导入映射、`ranuts/utils`
44
- 清单、用法示例和代码约定交给助手,并指向包内附带的 API 参考:
45
-
46
- ```bash
47
- /plugin marketplace add chaxus/ran
48
- /plugin install ranuts@ran
20
+ console.log(rgbToHex(1, 2, 3)); // #010203
49
21
  ```
50
22
 
51
- 装好后 Claude 会自动使用(也可以手动调用 `/ranuts:ranuts`)。
52
-
53
- ## 使用方式
23
+ ## ESM
54
24
 
55
- 按需导入。您可以选择:
25
+ 按运行环境和用途选择入口。部分工具依赖浏览器全局对象;可以导入包不代表所有工具都能在服务端运行。
56
26
 
57
- - `ranuts/utils` —— DOM/BOM、字符串、对象、数字、颜色、时间、存储、二进制/zip、
58
- Worker/IndexedDB、i18n 等工具
59
- - `ranuts/node` —— HTTP 服务、路由、ws、fs、流、中间件(**仅 Node**)
60
- - `ranuts/visual` —— 2D 渲染引擎(Canvas / WebGL / WebGPU,**仅浏览器**)
61
- - `ranuts/sw` —— 缓存策略 + 预缓存协议的 Service Worker 一侧(**仅 Service Worker**)
62
- - `ranuts/vnode` —— Snabbdom 风格的虚拟 DOM
63
- - `ranuts/i18n` —— 单独的 i18n 引擎,不牵入 `utils` 的其余部分
27
+ | 包 | 用途 |
28
+ | --------------------- | --------------------------------------- |
29
+ | `ranuts/utils` | DOM/BOM、颜色、二进制、存储等工具 |
30
+ | `ranuts/i18n` | 独立国际化引擎 |
31
+ | `ranuts/stream` | SSE 解析与流式响应状态 |
32
+ | `ranuts/conversation` | 会话事件日志投影 |
33
+ | `ranuts/visual` | 二维渲染;浏览器 |
34
+ | `ranuts/vnode` | 虚拟 DOM;浏览器 |
35
+ | `ranuts/sw` | Service Worker 缓存策略;Service Worker |
64
36
 
65
- ```js
66
- import { debounce } from 'ranuts/utils';
67
- import { readFile } from 'ranuts/node';
68
- import { createI18n } from 'ranuts/i18n';
69
- ```
37
+ ## IIFE / CDN
70
38
 
71
- 全量导入(全量导入会引入许多不必要的模块,建议按需导入)
72
-
73
- - ESM
74
-
75
- ```js
76
- import { debounce } from 'ranuts';
77
-
78
- const onResize = debounce(() => {
79
- console.log('窗口尺寸发生变化');
80
- }, 200);
81
-
82
- window.addEventListener('resize', onResize);
83
- ```
84
-
85
- - UMD, IIFE, CJS
39
+ 普通浏览器 script 标签可加载独立 IIFE。将 VERSION 替换为已发布版本,无需构建工具或模块加载器。
86
40
 
87
41
  ```html
88
- <script src="./ranuts/dist/umd/index.umd.cjs"></script>
89
-
90
- <script>
91
- const { debounce } = require('ranuts')
92
- const onResize = debounce(() => {
93
- console.log('窗口尺寸发生变化');
94
- }, 200);
95
-
96
- window.addEventListener('resize', onResize);
42
+ <script src="https://cdn.jsdelivr.net/npm/ranuts@VERSION/dist/iife/utils.iife.js"></script>
97
43
  <script>
44
+ console.log(ranuts_utils.rgbToHex(1, 2, 3));
45
+ </script>
98
46
  ```
99
47
 
100
- ## 贡献
48
+ 工具 IIFE 暴露 `ranuts_utils`;完整 `dist/iife/index.iife.js` 暴露 `ranuts`。请将 VERSION 替换为已发布版本。
101
49
 
102
- 我们欢迎学习者和开发者的贡献!这是一个实验性项目,请对开发过程保持耐心。
103
-
104
- ## 贡献者
50
+ ## 文档
105
51
 
106
- <a href="https://github.com/chaxus/ran/graphs/contributors">
107
- <img src="https://contrib.rocks/image?repo=chaxus/ran" />
108
- </a>
52
+ - [ranuts](https://ran.chaxus.com/cn/src/ranuts/)
53
+ - [API](./docs/API.md)
54
+ - [维护者与 Agent 参考](./CLAUDE.md)
109
55
 
110
- ## 访问统计
56
+ ## 参与贡献
111
57
 
112
- ![](http://profile-counter.glitch.me/chaxus-ranuts/count.svg)
58
+ [维护者与 Agent 参考](./CLAUDE.md) · [AGENTS.md](https://github.com/chaxus/ran/blob/main/AGENTS.md)
113
59
 
114
- ## Meta
60
+ ## 许可证
115
61
 
116
- [LICENSE (MIT)](/LICENSE)
62
+ [MIT](./LICENSE)