micro-models-agent 0.3.0 → 0.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 (321) hide show
  1. package/README.md +436 -436
  2. package/dist/agent/loop.d.ts +5 -5
  3. package/dist/agent/loop.d.ts.map +1 -1
  4. package/dist/agent/loop.js +421 -246
  5. package/dist/agent/loop.js.map +1 -1
  6. package/dist/agent/system-prompt.d.ts +3 -3
  7. package/dist/agent/system-prompt.d.ts.map +1 -1
  8. package/dist/agent/system-prompt.js +383 -278
  9. package/dist/agent/system-prompt.js.map +1 -1
  10. package/dist/cli/config.d.ts +1 -1
  11. package/dist/cli/config.d.ts.map +1 -1
  12. package/dist/cli/config.js +53 -28
  13. package/dist/cli/config.js.map +1 -1
  14. package/dist/config/config.d.ts +2 -1
  15. package/dist/config/config.d.ts.map +1 -1
  16. package/dist/config/config.js +75 -54
  17. package/dist/config/config.js.map +1 -1
  18. package/dist/config/types.d.ts +3 -1
  19. package/dist/config/types.d.ts.map +1 -1
  20. package/dist/plugins/builtin/lint-on-write/index.ts +96 -96
  21. package/dist/plugins/builtin/notify/index.js +6 -6
  22. package/dist/plugins/builtin/notify/index.ts +104 -104
  23. package/dist/setup-wizard.d.ts +1 -1
  24. package/dist/setup-wizard.d.ts.map +1 -1
  25. package/dist/setup-wizard.js +137 -105
  26. package/dist/setup-wizard.js.map +1 -1
  27. package/dist/skills/builtin/agent-test/SKILL.md +68 -68
  28. package/dist/skills/builtin/grill-me/SKILL.md +46 -46
  29. package/dist/skills/builtin/web-scraping/SKILL.md +422 -422
  30. package/dist/tools/native/project-map.d.ts +2 -2
  31. package/dist/tools/native/project-map.d.ts.map +1 -1
  32. package/dist/tools/native/project-map.js +85 -57
  33. package/dist/tools/native/project-map.js.map +1 -1
  34. package/dist/tools/native/scaffold.js +113 -113
  35. package/dist/tools/web-browse.js +7 -7
  36. package/dist/ui/ink/components/App.d.ts +0 -1
  37. package/dist/ui/ink/components/App.d.ts.map +1 -1
  38. package/dist/ui/ink/components/App.js +2 -8
  39. package/dist/ui/ink/components/App.js.map +1 -1
  40. package/dist/ui/ink/components/Conversation.d.ts +1 -2
  41. package/dist/ui/ink/components/Conversation.d.ts.map +1 -1
  42. package/dist/ui/ink/components/Conversation.js +8 -2
  43. package/dist/ui/ink/components/Conversation.js.map +1 -1
  44. package/dist/ui/ink/components/MessageBlock.d.ts +13 -1
  45. package/dist/ui/ink/components/MessageBlock.d.ts.map +1 -1
  46. package/dist/ui/ink/components/MessageBlock.js +15 -27
  47. package/dist/ui/ink/components/MessageBlock.js.map +1 -1
  48. package/dist/ui/ink/components/PromptInput.d.ts +11 -0
  49. package/dist/ui/ink/components/PromptInput.d.ts.map +1 -1
  50. package/dist/ui/ink/components/PromptInput.js +18 -141
  51. package/dist/ui/ink/components/PromptInput.js.map +1 -1
  52. package/dist/ui/ink/components/SelectInput.d.ts.map +1 -1
  53. package/dist/ui/ink/components/SelectInput.js +3 -2
  54. package/dist/ui/ink/components/SelectInput.js.map +1 -1
  55. package/dist/ui/ink/components/StatusBar.d.ts.map +1 -1
  56. package/dist/ui/ink/components/StatusBar.js +14 -6
  57. package/dist/ui/ink/components/StatusBar.js.map +1 -1
  58. package/dist/ui/ink/components/StreamBlock.d.ts.map +1 -1
  59. package/dist/ui/ink/components/StreamBlock.js +3 -3
  60. package/dist/ui/ink/components/StreamBlock.js.map +1 -1
  61. package/dist/ui/ink/components/Tags.d.ts +8 -11
  62. package/dist/ui/ink/components/Tags.d.ts.map +1 -1
  63. package/dist/ui/ink/components/Tags.js +4 -16
  64. package/dist/ui/ink/components/Tags.js.map +1 -1
  65. package/dist/ui/ink/components/ToolCallBlock.d.ts +12 -0
  66. package/dist/ui/ink/components/ToolCallBlock.d.ts.map +1 -1
  67. package/dist/ui/ink/components/ToolCallBlock.js +8 -24
  68. package/dist/ui/ink/components/ToolCallBlock.js.map +1 -1
  69. package/dist/ui/ink/renderer.d.ts +0 -1
  70. package/dist/ui/ink/renderer.d.ts.map +1 -1
  71. package/dist/ui/ink/renderer.js +1 -4
  72. package/dist/ui/ink/renderer.js.map +1 -1
  73. package/package.json +47 -47
  74. package/dist/async-map.d.ts +0 -6
  75. package/dist/async-map.d.ts.map +0 -1
  76. package/dist/async-map.js +0 -16
  77. package/dist/async-map.js.map +0 -1
  78. package/dist/blog-api/types/index.d.ts +0 -2
  79. package/dist/blog-api/types/index.d.ts.map +0 -1
  80. package/dist/blog-api/types/index.js +0 -2
  81. package/dist/blog-api/types/index.js.map +0 -1
  82. package/dist/examples.d.ts +0 -22
  83. package/dist/examples.d.ts.map +0 -1
  84. package/dist/examples.js +0 -45
  85. package/dist/examples.js.map +0 -1
  86. package/dist/fibonacci.d.ts +0 -19
  87. package/dist/fibonacci.d.ts.map +0 -1
  88. package/dist/fibonacci.js +0 -61
  89. package/dist/fibonacci.js.map +0 -1
  90. package/dist/parfymerie-landing/src/App.d.ts +0 -4
  91. package/dist/parfymerie-landing/src/App.d.ts.map +0 -1
  92. package/dist/parfymerie-landing/src/App.js +0 -12
  93. package/dist/parfymerie-landing/src/App.js.map +0 -1
  94. package/dist/parfymerie-landing/src/main.d.ts +0 -2
  95. package/dist/parfymerie-landing/src/main.d.ts.map +0 -1
  96. package/dist/parfymerie-landing/src/main.js +0 -7
  97. package/dist/parfymerie-landing/src/main.js.map +0 -1
  98. package/dist/parfymerie-landing/vite.config.d.ts +0 -3
  99. package/dist/parfymerie-landing/vite.config.d.ts.map +0 -1
  100. package/dist/parfymerie-landing/vite.config.js +0 -7
  101. package/dist/parfymerie-landing/vite.config.js.map +0 -1
  102. package/dist/repl.d.ts +0 -5
  103. package/dist/repl.d.ts.map +0 -1
  104. package/dist/repl.js +0 -472
  105. package/dist/repl.js.map +0 -1
  106. package/dist/sort.d.ts +0 -8
  107. package/dist/sort.d.ts.map +0 -1
  108. package/dist/sort.js +0 -36
  109. package/dist/sort.js.map +0 -1
  110. package/dist/stack.d.ts +0 -9
  111. package/dist/stack.d.ts.map +0 -1
  112. package/dist/stack.js +0 -22
  113. package/dist/stack.js.map +0 -1
  114. package/dist/test-run.d.ts +0 -2
  115. package/dist/test-run.d.ts.map +0 -1
  116. package/dist/test-run.js +0 -13
  117. package/dist/test-run.js.map +0 -1
  118. package/dist/ui/components/diff-view.d.ts +0 -8
  119. package/dist/ui/components/diff-view.d.ts.map +0 -1
  120. package/dist/ui/components/diff-view.js +0 -25
  121. package/dist/ui/components/diff-view.js.map +0 -1
  122. package/dist/ui/double-press.d.ts +0 -9
  123. package/dist/ui/double-press.d.ts.map +0 -1
  124. package/dist/ui/double-press.js +0 -18
  125. package/dist/ui/double-press.js.map +0 -1
  126. package/dist/ui/ink/components/ActivityLog.d.ts +0 -12
  127. package/dist/ui/ink/components/ActivityLog.d.ts.map +0 -1
  128. package/dist/ui/ink/components/ActivityLog.js +0 -11
  129. package/dist/ui/ink/components/ActivityLog.js.map +0 -1
  130. package/dist/ui/ink/components/AgentStatus.d.ts +0 -13
  131. package/dist/ui/ink/components/AgentStatus.d.ts.map +0 -1
  132. package/dist/ui/ink/components/AgentStatus.js +0 -20
  133. package/dist/ui/ink/components/AgentStatus.js.map +0 -1
  134. package/dist/ui/ink/components/BottomBar.d.ts +0 -12
  135. package/dist/ui/ink/components/BottomBar.d.ts.map +0 -1
  136. package/dist/ui/ink/components/BottomBar.js +0 -22
  137. package/dist/ui/ink/components/BottomBar.js.map +0 -1
  138. package/dist/ui/ink/components/CheckboxInput.d.ts +0 -21
  139. package/dist/ui/ink/components/CheckboxInput.d.ts.map +0 -1
  140. package/dist/ui/ink/components/CheckboxInput.js +0 -36
  141. package/dist/ui/ink/components/CheckboxInput.js.map +0 -1
  142. package/dist/ui/ink/components/InputBox.d.ts +0 -25
  143. package/dist/ui/ink/components/InputBox.d.ts.map +0 -1
  144. package/dist/ui/ink/components/InputBox.js +0 -91
  145. package/dist/ui/ink/components/InputBox.js.map +0 -1
  146. package/dist/ui/ink/components/ModeSelector.d.ts +0 -8
  147. package/dist/ui/ink/components/ModeSelector.d.ts.map +0 -1
  148. package/dist/ui/ink/components/ModeSelector.js +0 -13
  149. package/dist/ui/ink/components/ModeSelector.js.map +0 -1
  150. package/dist/ui/ink/components/QuestionBox.d.ts +0 -14
  151. package/dist/ui/ink/components/QuestionBox.d.ts.map +0 -1
  152. package/dist/ui/ink/components/QuestionBox.js +0 -35
  153. package/dist/ui/ink/components/QuestionBox.js.map +0 -1
  154. package/dist/ui/ink/components/RadioInput.d.ts +0 -17
  155. package/dist/ui/ink/components/RadioInput.d.ts.map +0 -1
  156. package/dist/ui/ink/components/RadioInput.js +0 -30
  157. package/dist/ui/ink/components/RadioInput.js.map +0 -1
  158. package/dist/ui/ink/components/SliderInput.d.ts +0 -20
  159. package/dist/ui/ink/components/SliderInput.d.ts.map +0 -1
  160. package/dist/ui/ink/components/SliderInput.js +0 -40
  161. package/dist/ui/ink/components/SliderInput.js.map +0 -1
  162. package/dist/ui/ink/components/StartupScreen.d.ts +0 -19
  163. package/dist/ui/ink/components/StartupScreen.d.ts.map +0 -1
  164. package/dist/ui/ink/components/StartupScreen.js +0 -9
  165. package/dist/ui/ink/components/StartupScreen.js.map +0 -1
  166. package/dist/ui/ink/components/WelcomeScreen.d.ts +0 -10
  167. package/dist/ui/ink/components/WelcomeScreen.d.ts.map +0 -1
  168. package/dist/ui/ink/components/WelcomeScreen.js +0 -8
  169. package/dist/ui/ink/components/WelcomeScreen.js.map +0 -1
  170. package/dist/ui/ink/components/Window.d.ts +0 -30
  171. package/dist/ui/ink/components/Window.d.ts.map +0 -1
  172. package/dist/ui/ink/components/Window.js +0 -9
  173. package/dist/ui/ink/components/Window.js.map +0 -1
  174. package/dist/ui/ink/components/ui/_core.d.ts +0 -113
  175. package/dist/ui/ink/components/ui/_core.d.ts.map +0 -1
  176. package/dist/ui/ink/components/ui/_core.js +0 -83
  177. package/dist/ui/ink/components/ui/_core.js.map +0 -1
  178. package/dist/ui/ink/components/ui/autocomplete/Autocomplete.d.ts +0 -23
  179. package/dist/ui/ink/components/ui/autocomplete/Autocomplete.d.ts.map +0 -1
  180. package/dist/ui/ink/components/ui/autocomplete/Autocomplete.js +0 -56
  181. package/dist/ui/ink/components/ui/autocomplete/Autocomplete.js.map +0 -1
  182. package/dist/ui/ink/components/ui/autocomplete/index.d.ts +0 -3
  183. package/dist/ui/ink/components/ui/autocomplete/index.d.ts.map +0 -1
  184. package/dist/ui/ink/components/ui/autocomplete/index.js +0 -2
  185. package/dist/ui/ink/components/ui/autocomplete/index.js.map +0 -1
  186. package/dist/ui/ink/components/ui/badge/Badge.d.ts +0 -13
  187. package/dist/ui/ink/components/ui/badge/Badge.d.ts.map +0 -1
  188. package/dist/ui/ink/components/ui/badge/Badge.js +0 -17
  189. package/dist/ui/ink/components/ui/badge/Badge.js.map +0 -1
  190. package/dist/ui/ink/components/ui/badge/index.d.ts +0 -3
  191. package/dist/ui/ink/components/ui/badge/index.d.ts.map +0 -1
  192. package/dist/ui/ink/components/ui/badge/index.js +0 -2
  193. package/dist/ui/ink/components/ui/badge/index.js.map +0 -1
  194. package/dist/ui/ink/components/ui/divider/Divider.d.ts +0 -12
  195. package/dist/ui/ink/components/ui/divider/Divider.d.ts.map +0 -1
  196. package/dist/ui/ink/components/ui/divider/Divider.js +0 -27
  197. package/dist/ui/ink/components/ui/divider/Divider.js.map +0 -1
  198. package/dist/ui/ink/components/ui/divider/index.d.ts +0 -3
  199. package/dist/ui/ink/components/ui/divider/index.d.ts.map +0 -1
  200. package/dist/ui/ink/components/ui/divider/index.js +0 -2
  201. package/dist/ui/ink/components/ui/divider/index.js.map +0 -1
  202. package/dist/ui/ink/components/ui/header/Header.d.ts +0 -13
  203. package/dist/ui/ink/components/ui/header/Header.d.ts.map +0 -1
  204. package/dist/ui/ink/components/ui/header/Header.js +0 -33
  205. package/dist/ui/ink/components/ui/header/Header.js.map +0 -1
  206. package/dist/ui/ink/components/ui/header/index.d.ts +0 -3
  207. package/dist/ui/ink/components/ui/header/index.d.ts.map +0 -1
  208. package/dist/ui/ink/components/ui/header/index.js +0 -2
  209. package/dist/ui/ink/components/ui/header/index.js.map +0 -1
  210. package/dist/ui/ink/components/ui/json-viewer/JSONViewer.d.ts +0 -14
  211. package/dist/ui/ink/components/ui/json-viewer/JSONViewer.d.ts.map +0 -1
  212. package/dist/ui/ink/components/ui/json-viewer/JSONViewer.js +0 -144
  213. package/dist/ui/ink/components/ui/json-viewer/JSONViewer.js.map +0 -1
  214. package/dist/ui/ink/components/ui/json-viewer/index.d.ts +0 -3
  215. package/dist/ui/ink/components/ui/json-viewer/index.d.ts.map +0 -1
  216. package/dist/ui/ink/components/ui/json-viewer/index.js +0 -2
  217. package/dist/ui/ink/components/ui/json-viewer/index.js.map +0 -1
  218. package/dist/ui/ink/components/ui/key-hint/KeyHint.d.ts +0 -14
  219. package/dist/ui/ink/components/ui/key-hint/KeyHint.d.ts.map +0 -1
  220. package/dist/ui/ink/components/ui/key-hint/KeyHint.js +0 -5
  221. package/dist/ui/ink/components/ui/key-hint/KeyHint.js.map +0 -1
  222. package/dist/ui/ink/components/ui/key-hint/index.d.ts +0 -3
  223. package/dist/ui/ink/components/ui/key-hint/index.d.ts.map +0 -1
  224. package/dist/ui/ink/components/ui/key-hint/index.js +0 -2
  225. package/dist/ui/ink/components/ui/key-hint/index.js.map +0 -1
  226. package/dist/ui/ink/components/ui/markdown/Markdown.d.ts +0 -11
  227. package/dist/ui/ink/components/ui/markdown/Markdown.d.ts.map +0 -1
  228. package/dist/ui/ink/components/ui/markdown/Markdown.js +0 -129
  229. package/dist/ui/ink/components/ui/markdown/Markdown.js.map +0 -1
  230. package/dist/ui/ink/components/ui/markdown/index.d.ts +0 -3
  231. package/dist/ui/ink/components/ui/markdown/index.d.ts.map +0 -1
  232. package/dist/ui/ink/components/ui/markdown/index.js +0 -2
  233. package/dist/ui/ink/components/ui/markdown/index.js.map +0 -1
  234. package/dist/ui/ink/components/ui/scroll-area/ScrollArea.d.ts +0 -21
  235. package/dist/ui/ink/components/ui/scroll-area/ScrollArea.d.ts.map +0 -1
  236. package/dist/ui/ink/components/ui/scroll-area/ScrollArea.js +0 -42
  237. package/dist/ui/ink/components/ui/scroll-area/ScrollArea.js.map +0 -1
  238. package/dist/ui/ink/components/ui/scroll-area/index.d.ts +0 -3
  239. package/dist/ui/ink/components/ui/scroll-area/index.d.ts.map +0 -1
  240. package/dist/ui/ink/components/ui/scroll-area/index.js +0 -2
  241. package/dist/ui/ink/components/ui/scroll-area/index.js.map +0 -1
  242. package/dist/ui/ink/components/ui/select/Select.d.ts +0 -19
  243. package/dist/ui/ink/components/ui/select/Select.d.ts.map +0 -1
  244. package/dist/ui/ink/components/ui/select/Select.js +0 -73
  245. package/dist/ui/ink/components/ui/select/Select.js.map +0 -1
  246. package/dist/ui/ink/components/ui/select/index.d.ts +0 -3
  247. package/dist/ui/ink/components/ui/select/index.d.ts.map +0 -1
  248. package/dist/ui/ink/components/ui/select/index.js +0 -2
  249. package/dist/ui/ink/components/ui/select/index.js.map +0 -1
  250. package/dist/ui/ink/components/ui/spinner/Spinner.d.ts +0 -14
  251. package/dist/ui/ink/components/ui/spinner/Spinner.d.ts.map +0 -1
  252. package/dist/ui/ink/components/ui/spinner/Spinner.js +0 -16
  253. package/dist/ui/ink/components/ui/spinner/Spinner.js.map +0 -1
  254. package/dist/ui/ink/components/ui/spinner/index.d.ts +0 -3
  255. package/dist/ui/ink/components/ui/spinner/index.d.ts.map +0 -1
  256. package/dist/ui/ink/components/ui/spinner/index.js +0 -2
  257. package/dist/ui/ink/components/ui/spinner/index.js.map +0 -1
  258. package/dist/ui/ink/components/ui/status-indicator/StatusIndicator.d.ts +0 -12
  259. package/dist/ui/ink/components/ui/status-indicator/StatusIndicator.d.ts.map +0 -1
  260. package/dist/ui/ink/components/ui/status-indicator/StatusIndicator.js +0 -39
  261. package/dist/ui/ink/components/ui/status-indicator/StatusIndicator.js.map +0 -1
  262. package/dist/ui/ink/components/ui/status-indicator/index.d.ts +0 -3
  263. package/dist/ui/ink/components/ui/status-indicator/index.d.ts.map +0 -1
  264. package/dist/ui/ink/components/ui/status-indicator/index.js +0 -2
  265. package/dist/ui/ink/components/ui/status-indicator/index.js.map +0 -1
  266. package/dist/ui/ink/components/ui/streaming-text/StreamingText.d.ts +0 -13
  267. package/dist/ui/ink/components/ui/streaming-text/StreamingText.d.ts.map +0 -1
  268. package/dist/ui/ink/components/ui/streaming-text/StreamingText.js +0 -22
  269. package/dist/ui/ink/components/ui/streaming-text/StreamingText.js.map +0 -1
  270. package/dist/ui/ink/components/ui/streaming-text/index.d.ts +0 -3
  271. package/dist/ui/ink/components/ui/streaming-text/index.d.ts.map +0 -1
  272. package/dist/ui/ink/components/ui/streaming-text/index.js +0 -2
  273. package/dist/ui/ink/components/ui/streaming-text/index.js.map +0 -1
  274. package/dist/ui/ink/components/ui/tabs/Tabs.d.ts +0 -20
  275. package/dist/ui/ink/components/ui/tabs/Tabs.d.ts.map +0 -1
  276. package/dist/ui/ink/components/ui/tabs/Tabs.js +0 -53
  277. package/dist/ui/ink/components/ui/tabs/Tabs.js.map +0 -1
  278. package/dist/ui/ink/components/ui/tabs/index.d.ts +0 -3
  279. package/dist/ui/ink/components/ui/tabs/index.d.ts.map +0 -1
  280. package/dist/ui/ink/components/ui/tabs/index.js +0 -2
  281. package/dist/ui/ink/components/ui/tabs/index.js.map +0 -1
  282. package/dist/ui/ink/components/ui/text-input/TextInput.d.ts +0 -22
  283. package/dist/ui/ink/components/ui/text-input/TextInput.d.ts.map +0 -1
  284. package/dist/ui/ink/components/ui/text-input/TextInput.js +0 -57
  285. package/dist/ui/ink/components/ui/text-input/TextInput.js.map +0 -1
  286. package/dist/ui/ink/components/ui/text-input/index.d.ts +0 -3
  287. package/dist/ui/ink/components/ui/text-input/index.d.ts.map +0 -1
  288. package/dist/ui/ink/components/ui/text-input/index.js +0 -2
  289. package/dist/ui/ink/components/ui/text-input/index.js.map +0 -1
  290. package/dist/ui/ink/components/ui/token-counter/TokenCounter.d.ts +0 -17
  291. package/dist/ui/ink/components/ui/token-counter/TokenCounter.d.ts.map +0 -1
  292. package/dist/ui/ink/components/ui/token-counter/TokenCounter.js +0 -38
  293. package/dist/ui/ink/components/ui/token-counter/TokenCounter.js.map +0 -1
  294. package/dist/ui/ink/components/ui/token-counter/index.d.ts +0 -3
  295. package/dist/ui/ink/components/ui/token-counter/index.d.ts.map +0 -1
  296. package/dist/ui/ink/components/ui/token-counter/index.js +0 -2
  297. package/dist/ui/ink/components/ui/token-counter/index.js.map +0 -1
  298. package/dist/ui/ink/components/ui/typewriter/Typewriter.d.ts +0 -14
  299. package/dist/ui/ink/components/ui/typewriter/Typewriter.d.ts.map +0 -1
  300. package/dist/ui/ink/components/ui/typewriter/Typewriter.js +0 -57
  301. package/dist/ui/ink/components/ui/typewriter/Typewriter.js.map +0 -1
  302. package/dist/ui/ink/components/ui/typewriter/index.d.ts +0 -3
  303. package/dist/ui/ink/components/ui/typewriter/index.d.ts.map +0 -1
  304. package/dist/ui/ink/components/ui/typewriter/index.js +0 -2
  305. package/dist/ui/ink/components/ui/typewriter/index.js.map +0 -1
  306. package/dist/ui/opentui-renderer.d.ts +0 -53
  307. package/dist/ui/opentui-renderer.d.ts.map +0 -1
  308. package/dist/ui/opentui-renderer.js +0 -463
  309. package/dist/ui/opentui-renderer.js.map +0 -1
  310. package/dist/utils/memoize.d.ts +0 -14
  311. package/dist/utils/memoize.d.ts.map +0 -1
  312. package/dist/utils/memoize.js +0 -51
  313. package/dist/utils/memoize.js.map +0 -1
  314. package/dist/utils/types.d.ts +0 -6
  315. package/dist/utils/types.d.ts.map +0 -1
  316. package/dist/utils/types.js +0 -2
  317. package/dist/utils/types.js.map +0 -1
  318. package/dist/utils.d.ts +0 -22
  319. package/dist/utils.d.ts.map +0 -1
  320. package/dist/utils.js +0 -81
  321. package/dist/utils.js.map +0 -1
package/dist/utils.js DELETED
@@ -1,81 +0,0 @@
1
- /**
2
- * Дебаунсер для функции
3
- * @param fn Функция, которую нужно дебаунсить
4
- * @param options Настройки (выдержка и немедленный вызов)
5
- * @returns Обёрнутая функция с дебаунсингом
6
- */
7
- export function debounce(fn, wait, options = {}) {
8
- const { wait: defaultWait = 100, immediate: shouldImmediate = false } = options;
9
- let timer = null;
10
- /**
11
- * Обёрнутая функция
12
- */
13
- return ((...args) => {
14
- // Очищаем предыдущий таймер
15
- if (timer) {
16
- clearTimeout(timer);
17
- }
18
- const timeout = defaultWait;
19
- // Если нужно выполнить функцию немедленно при первом вызове
20
- if (shouldImmediate) {
21
- timer = setTimeout(() => {
22
- timer = null;
23
- }, timeout);
24
- // Выполняем функцию сразу
25
- try {
26
- return fn(...args);
27
- }
28
- catch (error) {
29
- console.error('Error in debounced function:', error);
30
- throw error;
31
- }
32
- }
33
- // Иначе выполняем функцию после выдержки
34
- timer = setTimeout(() => {
35
- timer = null;
36
- try {
37
- return fn(...args);
38
- }
39
- catch (error) {
40
- console.error('Error in debounced function:', error);
41
- throw error;
42
- }
43
- }, timeout);
44
- });
45
- }
46
- /**
47
- * Дебаунсер с поддержкой отмены
48
- * @param fn Функция, которую нужно дебаунсить
49
- * @param options Настройки
50
- * @returns Объект с функцией и методом cancel
51
- */
52
- export function debounceWithCancel(fn, wait, options = {}) {
53
- const { wait: defaultWait = 100, immediate: shouldImmediate = false } = options;
54
- let timer = null;
55
- let lastResult;
56
- /**
57
- * Обёрнутая функция
58
- */
59
- const debounced = ((...args) => {
60
- // Очищаем предыдущий таймер
61
- if (timer) {
62
- clearTimeout(timer);
63
- }
64
- timer = setTimeout(() => {
65
- lastResult = fn(...args);
66
- timer = null;
67
- }, defaultWait);
68
- return lastResult;
69
- });
70
- /**
71
- * Отмена следующего вызова
72
- */
73
- const cancel = () => {
74
- if (timer) {
75
- clearTimeout(timer);
76
- timer = null;
77
- }
78
- };
79
- return { debounced, cancel };
80
- }
81
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,EAAK,EACL,IAAa,EACb,UAA2B,EAAE;IAE7B,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhF,IAAI,KAAK,GAAyC,IAAI,CAAC;IAEvD;;OAEG;IACH,OAAO,CAAC,CACN,GAAG,IAAmB,EACP,EAAE;QACjB,4BAA4B;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC;QAE5B,4DAA4D;QAC5D,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,0BAA0B;YAC1B,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC,CAAM,CAAC;AACV,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAK,EACL,IAAa,EACb,UAA2B,EAAE;IAE7B,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhF,IAAI,KAAK,GAAyC,IAAI,CAAC;IACvD,IAAI,UAAqC,CAAC;IAE1C;;OAEG;IACH,MAAM,SAAS,GAAG,CAAC,CACjB,GAAG,IAAmB,EACP,EAAE;QACjB,4BAA4B;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,UAAU,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC,EAAE,WAAW,CAAC,CAAC;QAEhB,OAAO,UAAU,CAAC;IACpB,CAAC,CAAM,CAAC;IAER;;OAEG;IACH,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC"}