aurix-ai 0.1.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 (659) hide show
  1. package/README.md +329 -0
  2. package/bin/aurix +172 -0
  3. package/bin/aurix.cmd +23 -0
  4. package/dist/agent/AgentLoop.d.ts +52 -0
  5. package/dist/agent/AgentLoop.d.ts.map +1 -0
  6. package/dist/agent/AgentLoop.js +543 -0
  7. package/dist/agent/AgentLoop.js.map +1 -0
  8. package/dist/agent/AgentsMD.d.ts +8 -0
  9. package/dist/agent/AgentsMD.d.ts.map +1 -0
  10. package/dist/agent/AgentsMD.js +53 -0
  11. package/dist/agent/AgentsMD.js.map +1 -0
  12. package/dist/agent/CodeReview.d.ts +13 -0
  13. package/dist/agent/CodeReview.d.ts.map +1 -0
  14. package/dist/agent/CodeReview.js +134 -0
  15. package/dist/agent/CodeReview.js.map +1 -0
  16. package/dist/agent/Config.d.ts +63 -0
  17. package/dist/agent/Config.d.ts.map +1 -0
  18. package/dist/agent/Config.js +55 -0
  19. package/dist/agent/Config.js.map +1 -0
  20. package/dist/agent/Context.d.ts +4 -0
  21. package/dist/agent/Context.d.ts.map +1 -0
  22. package/dist/agent/Context.js +390 -0
  23. package/dist/agent/Context.js.map +1 -0
  24. package/dist/agent/ContextManager.d.ts +23 -0
  25. package/dist/agent/ContextManager.d.ts.map +1 -0
  26. package/dist/agent/ContextManager.js +163 -0
  27. package/dist/agent/ContextManager.js.map +1 -0
  28. package/dist/agent/MemoryEngine.d.ts +24 -0
  29. package/dist/agent/MemoryEngine.d.ts.map +1 -0
  30. package/dist/agent/MemoryEngine.js +347 -0
  31. package/dist/agent/MemoryEngine.js.map +1 -0
  32. package/dist/agent/MultiAgent.d.ts +22 -0
  33. package/dist/agent/MultiAgent.d.ts.map +1 -0
  34. package/dist/agent/MultiAgent.js +466 -0
  35. package/dist/agent/MultiAgent.js.map +1 -0
  36. package/dist/agent/ResearchPipeline.d.ts +22 -0
  37. package/dist/agent/ResearchPipeline.d.ts.map +1 -0
  38. package/dist/agent/ResearchPipeline.js +195 -0
  39. package/dist/agent/ResearchPipeline.js.map +1 -0
  40. package/dist/agent/Setup.d.ts +3 -0
  41. package/dist/agent/Setup.d.ts.map +1 -0
  42. package/dist/agent/Setup.js +503 -0
  43. package/dist/agent/Setup.js.map +1 -0
  44. package/dist/agent/TokenCounter.d.ts +6 -0
  45. package/dist/agent/TokenCounter.d.ts.map +1 -0
  46. package/dist/agent/TokenCounter.js +73 -0
  47. package/dist/agent/TokenCounter.js.map +1 -0
  48. package/dist/agent/research/CitationGuardian.d.ts +10 -0
  49. package/dist/agent/research/CitationGuardian.d.ts.map +1 -0
  50. package/dist/agent/research/CitationGuardian.js +43 -0
  51. package/dist/agent/research/CitationGuardian.js.map +1 -0
  52. package/dist/agent/research/ClaimExtractor.d.ts +7 -0
  53. package/dist/agent/research/ClaimExtractor.d.ts.map +1 -0
  54. package/dist/agent/research/ClaimExtractor.js +49 -0
  55. package/dist/agent/research/ClaimExtractor.js.map +1 -0
  56. package/dist/agent/research/DebateSystem.d.ts +6 -0
  57. package/dist/agent/research/DebateSystem.d.ts.map +1 -0
  58. package/dist/agent/research/DebateSystem.js +33 -0
  59. package/dist/agent/research/DebateSystem.js.map +1 -0
  60. package/dist/agent/research/FinalReviewer.d.ts +10 -0
  61. package/dist/agent/research/FinalReviewer.d.ts.map +1 -0
  62. package/dist/agent/research/FinalReviewer.js +35 -0
  63. package/dist/agent/research/FinalReviewer.js.map +1 -0
  64. package/dist/agent/research/JudgeAgent.d.ts +7 -0
  65. package/dist/agent/research/JudgeAgent.d.ts.map +1 -0
  66. package/dist/agent/research/JudgeAgent.js +40 -0
  67. package/dist/agent/research/JudgeAgent.js.map +1 -0
  68. package/dist/agent/research/LogicCritic.d.ts +10 -0
  69. package/dist/agent/research/LogicCritic.d.ts.map +1 -0
  70. package/dist/agent/research/LogicCritic.js +39 -0
  71. package/dist/agent/research/LogicCritic.js.map +1 -0
  72. package/dist/agent/research/PlanningAgent.d.ts +10 -0
  73. package/dist/agent/research/PlanningAgent.d.ts.map +1 -0
  74. package/dist/agent/research/PlanningAgent.js +39 -0
  75. package/dist/agent/research/PlanningAgent.js.map +1 -0
  76. package/dist/agent/research/RequestAnalyzer.d.ts +14 -0
  77. package/dist/agent/research/RequestAnalyzer.d.ts.map +1 -0
  78. package/dist/agent/research/RequestAnalyzer.js +38 -0
  79. package/dist/agent/research/RequestAnalyzer.js.map +1 -0
  80. package/dist/agent/research/ResearchAgent.d.ts +12 -0
  81. package/dist/agent/research/ResearchAgent.d.ts.map +1 -0
  82. package/dist/agent/research/ResearchAgent.js +64 -0
  83. package/dist/agent/research/ResearchAgent.js.map +1 -0
  84. package/dist/agent/research/SkepticAgent.d.ts +9 -0
  85. package/dist/agent/research/SkepticAgent.d.ts.map +1 -0
  86. package/dist/agent/research/SkepticAgent.js +38 -0
  87. package/dist/agent/research/SkepticAgent.js.map +1 -0
  88. package/dist/agent/research/SupporterAgent.d.ts +9 -0
  89. package/dist/agent/research/SupporterAgent.d.ts.map +1 -0
  90. package/dist/agent/research/SupporterAgent.js +31 -0
  91. package/dist/agent/research/SupporterAgent.js.map +1 -0
  92. package/dist/agent/research/VideoAgent.d.ts +10 -0
  93. package/dist/agent/research/VideoAgent.d.ts.map +1 -0
  94. package/dist/agent/research/VideoAgent.js +49 -0
  95. package/dist/agent/research/VideoAgent.js.map +1 -0
  96. package/dist/agent/research/WriterAgent.d.ts +6 -0
  97. package/dist/agent/research/WriterAgent.d.ts.map +1 -0
  98. package/dist/agent/research/WriterAgent.js +30 -0
  99. package/dist/agent/research/WriterAgent.js.map +1 -0
  100. package/dist/agent/research/index.d.ts +15 -0
  101. package/dist/agent/research/index.d.ts.map +1 -0
  102. package/dist/agent/research/index.js +14 -0
  103. package/dist/agent/research/index.js.map +1 -0
  104. package/dist/agent/research/types.d.ts +49 -0
  105. package/dist/agent/research/types.d.ts.map +1 -0
  106. package/dist/agent/research/types.js +17 -0
  107. package/dist/agent/research/types.js.map +1 -0
  108. package/dist/cli/AltScreen.d.ts +3 -0
  109. package/dist/cli/AltScreen.d.ts.map +1 -0
  110. package/dist/cli/AltScreen.js +72 -0
  111. package/dist/cli/AltScreen.js.map +1 -0
  112. package/dist/cli/App.d.ts +11 -0
  113. package/dist/cli/App.d.ts.map +1 -0
  114. package/dist/cli/App.js +1319 -0
  115. package/dist/cli/App.js.map +1 -0
  116. package/dist/cli/Banner.d.ts +13 -0
  117. package/dist/cli/Banner.d.ts.map +1 -0
  118. package/dist/cli/Banner.js +12 -0
  119. package/dist/cli/Banner.js.map +1 -0
  120. package/dist/cli/BlackFill.d.ts +3 -0
  121. package/dist/cli/BlackFill.d.ts.map +1 -0
  122. package/dist/cli/BlackFill.js +9 -0
  123. package/dist/cli/BlackFill.js.map +1 -0
  124. package/dist/cli/ChatArea.d.ts +20 -0
  125. package/dist/cli/ChatArea.d.ts.map +1 -0
  126. package/dist/cli/ChatArea.js +300 -0
  127. package/dist/cli/ChatArea.js.map +1 -0
  128. package/dist/cli/ConnectModal.d.ts +9 -0
  129. package/dist/cli/ConnectModal.d.ts.map +1 -0
  130. package/dist/cli/ConnectModal.js +101 -0
  131. package/dist/cli/ConnectModal.js.map +1 -0
  132. package/dist/cli/FileDiff.d.ts +16 -0
  133. package/dist/cli/FileDiff.d.ts.map +1 -0
  134. package/dist/cli/FileDiff.js +45 -0
  135. package/dist/cli/FileDiff.js.map +1 -0
  136. package/dist/cli/InputBox.d.ts +18 -0
  137. package/dist/cli/InputBox.d.ts.map +1 -0
  138. package/dist/cli/InputBox.js +573 -0
  139. package/dist/cli/InputBox.js.map +1 -0
  140. package/dist/cli/LoginModal.d.ts +10 -0
  141. package/dist/cli/LoginModal.d.ts.map +1 -0
  142. package/dist/cli/LoginModal.js +129 -0
  143. package/dist/cli/LoginModal.js.map +1 -0
  144. package/dist/cli/Menu.d.ts +26 -0
  145. package/dist/cli/Menu.d.ts.map +1 -0
  146. package/dist/cli/Menu.js +115 -0
  147. package/dist/cli/Menu.js.map +1 -0
  148. package/dist/cli/MouseFilter.d.ts +2 -0
  149. package/dist/cli/MouseFilter.d.ts.map +1 -0
  150. package/dist/cli/MouseFilter.js +47 -0
  151. package/dist/cli/MouseFilter.js.map +1 -0
  152. package/dist/cli/Panel.d.ts.map +1 -0
  153. package/dist/cli/Panel.js.map +1 -0
  154. package/dist/cli/PermissionPrompt.d.ts +9 -0
  155. package/dist/cli/PermissionPrompt.d.ts.map +1 -0
  156. package/dist/cli/PermissionPrompt.js +56 -0
  157. package/dist/cli/PermissionPrompt.js.map +1 -0
  158. package/dist/cli/SessionPanel.d.ts +15 -0
  159. package/dist/cli/SessionPanel.d.ts.map +1 -0
  160. package/dist/cli/SessionPanel.js +28 -0
  161. package/dist/cli/SessionPanel.js.map +1 -0
  162. package/dist/cli/SetupUI.d.ts +34 -0
  163. package/dist/cli/SetupUI.d.ts.map +1 -0
  164. package/dist/cli/SetupUI.js +311 -0
  165. package/dist/cli/SetupUI.js.map +1 -0
  166. package/dist/cli/StatusBar.d.ts +12 -0
  167. package/dist/cli/StatusBar.d.ts.map +1 -0
  168. package/dist/cli/StatusBar.js +7 -0
  169. package/dist/cli/StatusBar.js.map +1 -0
  170. package/dist/cli/WhatsAppModal.d.ts +10 -0
  171. package/dist/cli/WhatsAppModal.d.ts.map +1 -0
  172. package/dist/cli/WhatsAppModal.js +78 -0
  173. package/dist/cli/WhatsAppModal.js.map +1 -0
  174. package/dist/cli/animation/useThinking.d.ts +2 -0
  175. package/dist/cli/animation/useThinking.d.ts.map +1 -0
  176. package/dist/cli/animation/useThinking.js +50 -0
  177. package/dist/cli/animation/useThinking.js.map +1 -0
  178. package/dist/cli/commands.d.ts +26 -0
  179. package/dist/cli/commands.d.ts.map +1 -0
  180. package/dist/cli/commands.js +816 -0
  181. package/dist/cli/commands.js.map +1 -0
  182. package/dist/cli/theme.d.ts +101 -0
  183. package/dist/cli/theme.d.ts.map +1 -0
  184. package/dist/cli/theme.js +222 -0
  185. package/dist/cli/theme.js.map +1 -0
  186. package/dist/commands/SlashCommands.d.ts +15 -0
  187. package/dist/commands/SlashCommands.d.ts.map +1 -0
  188. package/dist/commands/SlashCommands.js +238 -0
  189. package/dist/commands/SlashCommands.js.map +1 -0
  190. package/dist/gateway/Discord.d.ts +13 -0
  191. package/dist/gateway/Discord.d.ts.map +1 -0
  192. package/dist/gateway/Discord.js +144 -0
  193. package/dist/gateway/Discord.js.map +1 -0
  194. package/dist/gateway/Gateway.d.ts +71 -0
  195. package/dist/gateway/Gateway.d.ts.map +1 -0
  196. package/dist/gateway/Gateway.js +665 -0
  197. package/dist/gateway/Gateway.js.map +1 -0
  198. package/dist/gateway/Telegram.d.ts +18 -0
  199. package/dist/gateway/Telegram.d.ts.map +1 -0
  200. package/dist/gateway/Telegram.js +224 -0
  201. package/dist/gateway/Telegram.js.map +1 -0
  202. package/dist/gateway/WASessionStore.d.ts +13 -0
  203. package/dist/gateway/WASessionStore.d.ts.map +1 -0
  204. package/dist/gateway/WASessionStore.js +94 -0
  205. package/dist/gateway/WASessionStore.js.map +1 -0
  206. package/dist/gateway/WhatsApp.d.ts +19 -0
  207. package/dist/gateway/WhatsApp.d.ts.map +1 -0
  208. package/dist/gateway/WhatsApp.js +159 -0
  209. package/dist/gateway/WhatsApp.js.map +1 -0
  210. package/dist/gateway-entry.d.ts +3 -0
  211. package/dist/gateway-entry.d.ts.map +1 -0
  212. package/dist/gateway-entry.js +50 -0
  213. package/dist/gateway-entry.js.map +1 -0
  214. package/dist/index.d.ts +5 -0
  215. package/dist/index.d.ts.map +1 -0
  216. package/dist/index.js +213 -0
  217. package/dist/index.js.map +1 -0
  218. package/dist/providers/index.d.ts +70 -0
  219. package/dist/providers/index.d.ts.map +1 -0
  220. package/dist/providers/index.js +390 -0
  221. package/dist/providers/index.js.map +1 -0
  222. package/dist/skills/SkillRegistry.d.ts +33 -0
  223. package/dist/skills/SkillRegistry.d.ts.map +1 -0
  224. package/dist/skills/SkillRegistry.js +102 -0
  225. package/dist/skills/SkillRegistry.js.map +1 -0
  226. package/dist/token-counter.linux-x64-gnu.node +0 -0
  227. package/dist/tools/Backend.d.ts +3 -0
  228. package/dist/tools/Backend.d.ts.map +1 -0
  229. package/dist/tools/Backend.js +154 -0
  230. package/dist/tools/Backend.js.map +1 -0
  231. package/dist/tools/Blockchain.d.ts +3 -0
  232. package/dist/tools/Blockchain.d.ts.map +1 -0
  233. package/dist/tools/Blockchain.js +82 -0
  234. package/dist/tools/Blockchain.js.map +1 -0
  235. package/dist/tools/Browser.d.ts +5 -0
  236. package/dist/tools/Browser.d.ts.map +1 -0
  237. package/dist/tools/Browser.js +2253 -0
  238. package/dist/tools/Browser.js.map +1 -0
  239. package/dist/tools/Cloud.d.ts +3 -0
  240. package/dist/tools/Cloud.d.ts.map +1 -0
  241. package/dist/tools/Cloud.js +115 -0
  242. package/dist/tools/Cloud.js.map +1 -0
  243. package/dist/tools/CodeExec.d.ts +3 -0
  244. package/dist/tools/CodeExec.d.ts.map +1 -0
  245. package/dist/tools/CodeExec.js +76 -0
  246. package/dist/tools/CodeExec.js.map +1 -0
  247. package/dist/tools/Cybersec.d.ts +3 -0
  248. package/dist/tools/Cybersec.d.ts.map +1 -0
  249. package/dist/tools/Cybersec.js +186 -0
  250. package/dist/tools/Cybersec.js.map +1 -0
  251. package/dist/tools/Deploy.d.ts +3 -0
  252. package/dist/tools/Deploy.d.ts.map +1 -0
  253. package/dist/tools/Deploy.js +87 -0
  254. package/dist/tools/Deploy.js.map +1 -0
  255. package/dist/tools/Diagram.d.ts +3 -0
  256. package/dist/tools/Diagram.d.ts.map +1 -0
  257. package/dist/tools/Diagram.js +38 -0
  258. package/dist/tools/Diagram.js.map +1 -0
  259. package/dist/tools/Docker.d.ts +3 -0
  260. package/dist/tools/Docker.d.ts.map +1 -0
  261. package/dist/tools/Docker.js +45 -0
  262. package/dist/tools/Docker.js.map +1 -0
  263. package/dist/tools/Email.d.ts +3 -0
  264. package/dist/tools/Email.d.ts.map +1 -0
  265. package/dist/tools/Email.js +172 -0
  266. package/dist/tools/Email.js.map +1 -0
  267. package/dist/tools/Excel.d.ts +3 -0
  268. package/dist/tools/Excel.d.ts.map +1 -0
  269. package/dist/tools/Excel.js +41 -0
  270. package/dist/tools/Excel.js.map +1 -0
  271. package/dist/tools/FileEdit.d.ts +3 -0
  272. package/dist/tools/FileEdit.d.ts.map +1 -0
  273. package/dist/tools/FileEdit.js +69 -0
  274. package/dist/tools/FileEdit.js.map +1 -0
  275. package/dist/tools/FileOps.d.ts +5 -0
  276. package/dist/tools/FileOps.d.ts.map +1 -0
  277. package/dist/tools/FileOps.js +76 -0
  278. package/dist/tools/FileOps.js.map +1 -0
  279. package/dist/tools/Frontend.d.ts +3 -0
  280. package/dist/tools/Frontend.d.ts.map +1 -0
  281. package/dist/tools/Frontend.js +124 -0
  282. package/dist/tools/Frontend.js.map +1 -0
  283. package/dist/tools/GifSearch.d.ts +3 -0
  284. package/dist/tools/GifSearch.d.ts.map +1 -0
  285. package/dist/tools/GifSearch.js +36 -0
  286. package/dist/tools/GifSearch.js.map +1 -0
  287. package/dist/tools/Github.d.ts +3 -0
  288. package/dist/tools/Github.d.ts.map +1 -0
  289. package/dist/tools/Github.js +95 -0
  290. package/dist/tools/Github.js.map +1 -0
  291. package/dist/tools/GithubConnect.d.ts +3 -0
  292. package/dist/tools/GithubConnect.d.ts.map +1 -0
  293. package/dist/tools/GithubConnect.js +282 -0
  294. package/dist/tools/GithubConnect.js.map +1 -0
  295. package/dist/tools/Humanizer.d.ts +3 -0
  296. package/dist/tools/Humanizer.d.ts.map +1 -0
  297. package/dist/tools/Humanizer.js +45 -0
  298. package/dist/tools/Humanizer.js.map +1 -0
  299. package/dist/tools/Maps.d.ts +3 -0
  300. package/dist/tools/Maps.d.ts.map +1 -0
  301. package/dist/tools/Maps.js +51 -0
  302. package/dist/tools/Maps.js.map +1 -0
  303. package/dist/tools/McpManage.d.ts +26 -0
  304. package/dist/tools/McpManage.d.ts.map +1 -0
  305. package/dist/tools/McpManage.js +229 -0
  306. package/dist/tools/McpManage.js.map +1 -0
  307. package/dist/tools/Memory.d.ts +3 -0
  308. package/dist/tools/Memory.d.ts.map +1 -0
  309. package/dist/tools/Memory.js +68 -0
  310. package/dist/tools/Memory.js.map +1 -0
  311. package/dist/tools/Music.d.ts +3 -0
  312. package/dist/tools/Music.d.ts.map +1 -0
  313. package/dist/tools/Music.js +274 -0
  314. package/dist/tools/Music.js.map +1 -0
  315. package/dist/tools/Notifier.d.ts +3 -0
  316. package/dist/tools/Notifier.d.ts.map +1 -0
  317. package/dist/tools/Notifier.js +31 -0
  318. package/dist/tools/Notifier.js.map +1 -0
  319. package/dist/tools/Osint.d.ts +3 -0
  320. package/dist/tools/Osint.d.ts.map +1 -0
  321. package/dist/tools/Osint.js +57 -0
  322. package/dist/tools/Osint.js.map +1 -0
  323. package/dist/tools/Pdf.d.ts +3 -0
  324. package/dist/tools/Pdf.d.ts.map +1 -0
  325. package/dist/tools/Pdf.js +152 -0
  326. package/dist/tools/Pdf.js.map +1 -0
  327. package/dist/tools/Planning.d.ts +3 -0
  328. package/dist/tools/Planning.d.ts.map +1 -0
  329. package/dist/tools/Planning.js +212 -0
  330. package/dist/tools/Planning.js.map +1 -0
  331. package/dist/tools/Pptx.d.ts +3 -0
  332. package/dist/tools/Pptx.d.ts.map +1 -0
  333. package/dist/tools/Pptx.js +47 -0
  334. package/dist/tools/Pptx.js.map +1 -0
  335. package/dist/tools/Registry.d.ts +39 -0
  336. package/dist/tools/Registry.d.ts.map +1 -0
  337. package/dist/tools/Registry.js +151 -0
  338. package/dist/tools/Registry.js.map +1 -0
  339. package/dist/tools/Research.d.ts +3 -0
  340. package/dist/tools/Research.d.ts.map +1 -0
  341. package/dist/tools/Research.js +126 -0
  342. package/dist/tools/Research.js.map +1 -0
  343. package/dist/tools/ResearchForums.d.ts +3 -0
  344. package/dist/tools/ResearchForums.d.ts.map +1 -0
  345. package/dist/tools/ResearchForums.js +84 -0
  346. package/dist/tools/ResearchForums.js.map +1 -0
  347. package/dist/tools/Scraper.d.ts +3 -0
  348. package/dist/tools/Scraper.d.ts.map +1 -0
  349. package/dist/tools/Scraper.js +54 -0
  350. package/dist/tools/Scraper.js.map +1 -0
  351. package/dist/tools/SendFile.d.ts +4 -0
  352. package/dist/tools/SendFile.d.ts.map +1 -0
  353. package/dist/tools/SendFile.js +71 -0
  354. package/dist/tools/SendFile.js.map +1 -0
  355. package/dist/tools/SkillLoader.d.ts +3 -0
  356. package/dist/tools/SkillLoader.d.ts.map +1 -0
  357. package/dist/tools/SkillLoader.js +132 -0
  358. package/dist/tools/SkillLoader.js.map +1 -0
  359. package/dist/tools/SystemMonitor.d.ts +3 -0
  360. package/dist/tools/SystemMonitor.d.ts.map +1 -0
  361. package/dist/tools/SystemMonitor.js +59 -0
  362. package/dist/tools/SystemMonitor.js.map +1 -0
  363. package/dist/tools/Terminal.d.ts +3 -0
  364. package/dist/tools/Terminal.d.ts.map +1 -0
  365. package/dist/tools/Terminal.js +32 -0
  366. package/dist/tools/Terminal.js.map +1 -0
  367. package/dist/tools/Todo.d.ts +3 -0
  368. package/dist/tools/Todo.d.ts.map +1 -0
  369. package/dist/tools/Todo.js +87 -0
  370. package/dist/tools/Todo.js.map +1 -0
  371. package/dist/tools/Trading.d.ts +3 -0
  372. package/dist/tools/Trading.d.ts.map +1 -0
  373. package/dist/tools/Trading.js +277 -0
  374. package/dist/tools/Trading.js.map +1 -0
  375. package/dist/tools/Vision.d.ts +3 -0
  376. package/dist/tools/Vision.d.ts.map +1 -0
  377. package/dist/tools/Vision.js +99 -0
  378. package/dist/tools/Vision.js.map +1 -0
  379. package/dist/tools/Vps.d.ts +3 -0
  380. package/dist/tools/Vps.d.ts.map +1 -0
  381. package/dist/tools/Vps.js +178 -0
  382. package/dist/tools/Vps.js.map +1 -0
  383. package/dist/tools/WebSearch.d.ts +3 -0
  384. package/dist/tools/WebSearch.d.ts.map +1 -0
  385. package/dist/tools/WebSearch.js +115 -0
  386. package/dist/tools/WebSearch.js.map +1 -0
  387. package/dist/tools/YouTube.d.ts +3 -0
  388. package/dist/tools/YouTube.d.ts.map +1 -0
  389. package/dist/tools/YouTube.js +30 -0
  390. package/dist/tools/YouTube.js.map +1 -0
  391. package/dist/utils/ascii-logo.d.ts +9 -0
  392. package/dist/utils/ascii-logo.d.ts.map +1 -0
  393. package/dist/utils/ascii-logo.js +34 -0
  394. package/dist/utils/ascii-logo.js.map +1 -0
  395. package/dist/utils/base-url.d.ts +9 -0
  396. package/dist/utils/base-url.d.ts.map +1 -0
  397. package/dist/utils/base-url.js +58 -0
  398. package/dist/utils/base-url.js.map +1 -0
  399. package/native/token-counter/index.d.ts +7 -0
  400. package/native/token-counter/index.js +316 -0
  401. package/native/token-counter/node_modules/.package-lock.json +568 -0
  402. package/native/token-counter/node_modules/2/array.js +25 -0
  403. package/native/token-counter/node_modules/2/index.js +12 -0
  404. package/native/token-counter/node_modules/2/iterator.js +13 -0
  405. package/native/token-counter/node_modules/2/license.txt +21 -0
  406. package/native/token-counter/node_modules/2/map.js +27 -0
  407. package/native/token-counter/node_modules/2/number.js +109 -0
  408. package/native/token-counter/node_modules/2/object.js +23 -0
  409. package/native/token-counter/node_modules/2/package.json +60 -0
  410. package/native/token-counter/node_modules/2/readme.md +246 -0
  411. package/native/token-counter/node_modules/2/string.js +11 -0
  412. package/native/token-counter/node_modules/2/test.js +520 -0
  413. package/native/token-counter/node_modules/@lamansky/every/index.js +16 -0
  414. package/native/token-counter/node_modules/@lamansky/every/license.txt +21 -0
  415. package/native/token-counter/node_modules/@lamansky/every/package.json +38 -0
  416. package/native/token-counter/node_modules/@lamansky/every/readme.md +46 -0
  417. package/native/token-counter/node_modules/@lamansky/flatten/index.js +5 -0
  418. package/native/token-counter/node_modules/@lamansky/flatten/license.txt +21 -0
  419. package/native/token-counter/node_modules/@lamansky/flatten/package.json +35 -0
  420. package/native/token-counter/node_modules/@lamansky/flatten/readme.md +41 -0
  421. package/native/token-counter/node_modules/@napi-rs/cli/LICENSE +21 -0
  422. package/native/token-counter/node_modules/@napi-rs/cli/README.md +96 -0
  423. package/native/token-counter/node_modules/@napi-rs/cli/package.json +65 -0
  424. package/native/token-counter/node_modules/@napi-rs/cli/scripts/index.js +51371 -0
  425. package/native/token-counter/node_modules/add-counter/index.js +3 -0
  426. package/native/token-counter/node_modules/add-counter/license.txt +21 -0
  427. package/native/token-counter/node_modules/add-counter/package.json +34 -0
  428. package/native/token-counter/node_modules/add-counter/readme.md +36 -0
  429. package/native/token-counter/node_modules/array-pad/LICENSE +22 -0
  430. package/native/token-counter/node_modules/array-pad/README.md +80 -0
  431. package/native/token-counter/node_modules/array-pad/index.js +30 -0
  432. package/native/token-counter/node_modules/array-pad/package.json +28 -0
  433. package/native/token-counter/node_modules/arrify/index.js +8 -0
  434. package/native/token-counter/node_modules/arrify/license +21 -0
  435. package/native/token-counter/node_modules/arrify/package.json +33 -0
  436. package/native/token-counter/node_modules/arrify/readme.md +36 -0
  437. package/native/token-counter/node_modules/case-insensitive/index.js +72 -0
  438. package/native/token-counter/node_modules/case-insensitive/license.txt +21 -0
  439. package/native/token-counter/node_modules/case-insensitive/package.json +39 -0
  440. package/native/token-counter/node_modules/case-insensitive/readme.md +39 -0
  441. package/native/token-counter/node_modules/case-insensitive/test.js +114 -0
  442. package/native/token-counter/node_modules/class-chain/index.js +32 -0
  443. package/native/token-counter/node_modules/class-chain/license.txt +21 -0
  444. package/native/token-counter/node_modules/class-chain/package.json +39 -0
  445. package/native/token-counter/node_modules/class-chain/readme.md +23 -0
  446. package/native/token-counter/node_modules/class-chain/test.js +77 -0
  447. package/native/token-counter/node_modules/copy-own/index.js +10 -0
  448. package/native/token-counter/node_modules/copy-own/license.txt +21 -0
  449. package/native/token-counter/node_modules/copy-own/package.json +37 -0
  450. package/native/token-counter/node_modules/copy-own/readme.md +67 -0
  451. package/native/token-counter/node_modules/def-props/index.js +43 -0
  452. package/native/token-counter/node_modules/def-props/license.txt +21 -0
  453. package/native/token-counter/node_modules/def-props/node_modules/is-obj/index.d.ts +22 -0
  454. package/native/token-counter/node_modules/def-props/node_modules/is-obj/index.js +6 -0
  455. package/native/token-counter/node_modules/def-props/node_modules/is-obj/license +9 -0
  456. package/native/token-counter/node_modules/def-props/node_modules/is-obj/package.json +34 -0
  457. package/native/token-counter/node_modules/def-props/node_modules/is-obj/readme.md +39 -0
  458. package/native/token-counter/node_modules/def-props/package.json +51 -0
  459. package/native/token-counter/node_modules/def-props/readme.md +117 -0
  460. package/native/token-counter/node_modules/empty-iterator/index.js +3 -0
  461. package/native/token-counter/node_modules/empty-iterator/license.txt +21 -0
  462. package/native/token-counter/node_modules/empty-iterator/package.json +33 -0
  463. package/native/token-counter/node_modules/empty-iterator/readme.md +23 -0
  464. package/native/token-counter/node_modules/enforce-range/index.js +15 -0
  465. package/native/token-counter/node_modules/enforce-range/license.txt +21 -0
  466. package/native/token-counter/node_modules/enforce-range/node_modules/2/array.js +43 -0
  467. package/native/token-counter/node_modules/enforce-range/node_modules/2/index.js +10 -0
  468. package/native/token-counter/node_modules/enforce-range/node_modules/2/iterator.js +26 -0
  469. package/native/token-counter/node_modules/enforce-range/node_modules/2/license.txt +21 -0
  470. package/native/token-counter/node_modules/enforce-range/node_modules/2/map.js +47 -0
  471. package/native/token-counter/node_modules/enforce-range/node_modules/2/number.js +33 -0
  472. package/native/token-counter/node_modules/enforce-range/node_modules/2/object.js +61 -0
  473. package/native/token-counter/node_modules/enforce-range/node_modules/2/package.json +41 -0
  474. package/native/token-counter/node_modules/enforce-range/node_modules/2/readme.md +210 -0
  475. package/native/token-counter/node_modules/enforce-range/node_modules/2/string.js +37 -0
  476. package/native/token-counter/node_modules/enforce-range/node_modules/2/test.js +413 -0
  477. package/native/token-counter/node_modules/enforce-range/package.json +36 -0
  478. package/native/token-counter/node_modules/enforce-range/readme.md +53 -0
  479. package/native/token-counter/node_modules/english-list/.travis.yml +6 -0
  480. package/native/token-counter/node_modules/english-list/LICENSE +22 -0
  481. package/native/token-counter/node_modules/english-list/README.md +44 -0
  482. package/native/token-counter/node_modules/english-list/index.js +34 -0
  483. package/native/token-counter/node_modules/english-list/package.json +31 -0
  484. package/native/token-counter/node_modules/english-list/test.log +6 -0
  485. package/native/token-counter/node_modules/errate/index.js +19 -0
  486. package/native/token-counter/node_modules/errate/license.txt +21 -0
  487. package/native/token-counter/node_modules/errate/package.json +39 -0
  488. package/native/token-counter/node_modules/errate/readme.md +79 -0
  489. package/native/token-counter/node_modules/ffn/index.js +9 -0
  490. package/native/token-counter/node_modules/ffn/license.txt +21 -0
  491. package/native/token-counter/node_modules/ffn/package.json +34 -0
  492. package/native/token-counter/node_modules/ffn/readme.md +51 -0
  493. package/native/token-counter/node_modules/get-own-property/index.js +5 -0
  494. package/native/token-counter/node_modules/get-own-property/license.txt +21 -0
  495. package/native/token-counter/node_modules/get-own-property/package.json +31 -0
  496. package/native/token-counter/node_modules/get-own-property/readme.md +22 -0
  497. package/native/token-counter/node_modules/has-duplicates/index.js +11 -0
  498. package/native/token-counter/node_modules/has-duplicates/license.txt +21 -0
  499. package/native/token-counter/node_modules/has-duplicates/package.json +32 -0
  500. package/native/token-counter/node_modules/has-duplicates/readme.md +23 -0
  501. package/native/token-counter/node_modules/has-duplicates/test.js +30 -0
  502. package/native/token-counter/node_modules/if-else-throw/index.js +8 -0
  503. package/native/token-counter/node_modules/if-else-throw/license.txt +21 -0
  504. package/native/token-counter/node_modules/if-else-throw/package.json +37 -0
  505. package/native/token-counter/node_modules/if-else-throw/readme.md +32 -0
  506. package/native/token-counter/node_modules/is-array-of-length/index.js +7 -0
  507. package/native/token-counter/node_modules/is-array-of-length/license.txt +21 -0
  508. package/native/token-counter/node_modules/is-array-of-length/package.json +42 -0
  509. package/native/token-counter/node_modules/is-array-of-length/readme.md +41 -0
  510. package/native/token-counter/node_modules/is-class-of/index.js +7 -0
  511. package/native/token-counter/node_modules/is-class-of/license.txt +21 -0
  512. package/native/token-counter/node_modules/is-class-of/package.json +35 -0
  513. package/native/token-counter/node_modules/is-class-of/readme.md +57 -0
  514. package/native/token-counter/node_modules/is-global-object/index.js +6 -0
  515. package/native/token-counter/node_modules/is-global-object/license.txt +21 -0
  516. package/native/token-counter/node_modules/is-global-object/package.json +34 -0
  517. package/native/token-counter/node_modules/is-global-object/readme.md +22 -0
  518. package/native/token-counter/node_modules/is-instance-of/index.js +28 -0
  519. package/native/token-counter/node_modules/is-instance-of/license.txt +21 -0
  520. package/native/token-counter/node_modules/is-instance-of/package.json +44 -0
  521. package/native/token-counter/node_modules/is-instance-of/readme.md +55 -0
  522. package/native/token-counter/node_modules/is-iterable/index.js +5 -0
  523. package/native/token-counter/node_modules/is-iterable/license +21 -0
  524. package/native/token-counter/node_modules/is-iterable/package.json +30 -0
  525. package/native/token-counter/node_modules/is-iterable/readme.md +23 -0
  526. package/native/token-counter/node_modules/is-nil/LICENSE +21 -0
  527. package/native/token-counter/node_modules/is-nil/README.md +47 -0
  528. package/native/token-counter/node_modules/is-nil/index.js +6 -0
  529. package/native/token-counter/node_modules/is-nil/package.json +46 -0
  530. package/native/token-counter/node_modules/is-obj/index.js +5 -0
  531. package/native/token-counter/node_modules/is-obj/license +21 -0
  532. package/native/token-counter/node_modules/is-obj/package.json +33 -0
  533. package/native/token-counter/node_modules/is-obj/readme.md +34 -0
  534. package/native/token-counter/node_modules/is-object/.eslintignore +1 -0
  535. package/native/token-counter/node_modules/is-object/.eslintrc +5 -0
  536. package/native/token-counter/node_modules/is-object/.nycrc +13 -0
  537. package/native/token-counter/node_modules/is-object/.testem.json +14 -0
  538. package/native/token-counter/node_modules/is-object/CHANGELOG.md +121 -0
  539. package/native/token-counter/node_modules/is-object/LICENSE +19 -0
  540. package/native/token-counter/node_modules/is-object/README.md +48 -0
  541. package/native/token-counter/node_modules/is-object/index.js +5 -0
  542. package/native/token-counter/node_modules/is-object/package.json +78 -0
  543. package/native/token-counter/node_modules/is-object/test/index.js +44 -0
  544. package/native/token-counter/node_modules/is-plain-object/LICENSE +21 -0
  545. package/native/token-counter/node_modules/is-plain-object/README.md +104 -0
  546. package/native/token-counter/node_modules/is-plain-object/index.d.ts +5 -0
  547. package/native/token-counter/node_modules/is-plain-object/index.js +37 -0
  548. package/native/token-counter/node_modules/is-plain-object/package.json +79 -0
  549. package/native/token-counter/node_modules/isobject/LICENSE +21 -0
  550. package/native/token-counter/node_modules/isobject/README.md +122 -0
  551. package/native/token-counter/node_modules/isobject/index.d.ts +5 -0
  552. package/native/token-counter/node_modules/isobject/index.js +12 -0
  553. package/native/token-counter/node_modules/isobject/package.json +74 -0
  554. package/native/token-counter/node_modules/lodash.set/LICENSE +47 -0
  555. package/native/token-counter/node_modules/lodash.set/README.md +18 -0
  556. package/native/token-counter/node_modules/lodash.set/index.js +990 -0
  557. package/native/token-counter/node_modules/lodash.set/package.json +17 -0
  558. package/native/token-counter/node_modules/longest-first/index.js +3 -0
  559. package/native/token-counter/node_modules/longest-first/license.txt +21 -0
  560. package/native/token-counter/node_modules/longest-first/package.json +36 -0
  561. package/native/token-counter/node_modules/longest-first/readme.md +29 -0
  562. package/native/token-counter/node_modules/m-o/index.js +27 -0
  563. package/native/token-counter/node_modules/m-o/license.txt +21 -0
  564. package/native/token-counter/node_modules/m-o/node_modules/new-object/index.js +23 -0
  565. package/native/token-counter/node_modules/m-o/node_modules/new-object/license.txt +21 -0
  566. package/native/token-counter/node_modules/m-o/node_modules/new-object/package.json +40 -0
  567. package/native/token-counter/node_modules/m-o/node_modules/new-object/readme.md +55 -0
  568. package/native/token-counter/node_modules/m-o/package.json +45 -0
  569. package/native/token-counter/node_modules/m-o/readme.md +87 -0
  570. package/native/token-counter/node_modules/map-iter/index.js +6 -0
  571. package/native/token-counter/node_modules/map-iter/license.txt +21 -0
  572. package/native/token-counter/node_modules/map-iter/package.json +40 -0
  573. package/native/token-counter/node_modules/map-iter/readme.md +46 -0
  574. package/native/token-counter/node_modules/new-object/index.js +5 -0
  575. package/native/token-counter/node_modules/new-object/license.txt +21 -0
  576. package/native/token-counter/node_modules/new-object/package.json +49 -0
  577. package/native/token-counter/node_modules/new-object/readme.md +145 -0
  578. package/native/token-counter/node_modules/ofn/index.js +22 -0
  579. package/native/token-counter/node_modules/ofn/license.txt +21 -0
  580. package/native/token-counter/node_modules/ofn/package.json +40 -0
  581. package/native/token-counter/node_modules/ofn/readme.md +63 -0
  582. package/native/token-counter/node_modules/otherwise/index.js +11 -0
  583. package/native/token-counter/node_modules/otherwise/license.txt +21 -0
  584. package/native/token-counter/node_modules/otherwise/package.json +38 -0
  585. package/native/token-counter/node_modules/otherwise/readme.md +29 -0
  586. package/native/token-counter/node_modules/parser-factory/index.js +138 -0
  587. package/native/token-counter/node_modules/parser-factory/license.txt +21 -0
  588. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/index.d.ts +38 -0
  589. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/index.js +23 -0
  590. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/license +9 -0
  591. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/package.json +35 -0
  592. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/readme.md +39 -0
  593. package/native/token-counter/node_modules/parser-factory/package.json +38 -0
  594. package/native/token-counter/node_modules/parser-factory/readme.md +15 -0
  595. package/native/token-counter/node_modules/pfn/index.js +5 -0
  596. package/native/token-counter/node_modules/pfn/license.txt +21 -0
  597. package/native/token-counter/node_modules/pfn/package.json +41 -0
  598. package/native/token-counter/node_modules/pfn/readme.md +111 -0
  599. package/native/token-counter/node_modules/pfn/strict.js +8 -0
  600. package/native/token-counter/node_modules/plainify/index.js +5 -0
  601. package/native/token-counter/node_modules/plainify/license.txt +21 -0
  602. package/native/token-counter/node_modules/plainify/package.json +36 -0
  603. package/native/token-counter/node_modules/plainify/readme.md +47 -0
  604. package/native/token-counter/node_modules/possible-function/changelog.md +7 -0
  605. package/native/token-counter/node_modules/possible-function/index.js +43 -0
  606. package/native/token-counter/node_modules/possible-function/license.txt +21 -0
  607. package/native/token-counter/node_modules/possible-function/package.json +34 -0
  608. package/native/token-counter/node_modules/possible-function/readme.md +77 -0
  609. package/native/token-counter/node_modules/possible-function/test.js +32 -0
  610. package/native/token-counter/node_modules/qfn/index.js +11 -0
  611. package/native/token-counter/node_modules/qfn/license.txt +21 -0
  612. package/native/token-counter/node_modules/qfn/package.json +40 -0
  613. package/native/token-counter/node_modules/qfn/readme.md +45 -0
  614. package/native/token-counter/node_modules/roadblock/index.js +3 -0
  615. package/native/token-counter/node_modules/roadblock/license.txt +21 -0
  616. package/native/token-counter/node_modules/roadblock/package.json +40 -0
  617. package/native/token-counter/node_modules/roadblock/readme.md +59 -0
  618. package/native/token-counter/node_modules/round-to/index.d.ts +56 -0
  619. package/native/token-counter/node_modules/round-to/index.js +37 -0
  620. package/native/token-counter/node_modules/round-to/license +9 -0
  621. package/native/token-counter/node_modules/round-to/package.json +38 -0
  622. package/native/token-counter/node_modules/round-to/readme.md +71 -0
  623. package/native/token-counter/node_modules/rtrim-array/index.js +10 -0
  624. package/native/token-counter/node_modules/rtrim-array/license.txt +21 -0
  625. package/native/token-counter/node_modules/rtrim-array/package.json +41 -0
  626. package/native/token-counter/node_modules/rtrim-array/readme.md +75 -0
  627. package/native/token-counter/node_modules/sbo/index.js +25 -0
  628. package/native/token-counter/node_modules/sbo/license.txt +21 -0
  629. package/native/token-counter/node_modules/sbo/package.json +50 -0
  630. package/native/token-counter/node_modules/sbo/readme.md +105 -0
  631. package/native/token-counter/node_modules/sorp/index.js +3 -0
  632. package/native/token-counter/node_modules/sorp/license.txt +21 -0
  633. package/native/token-counter/node_modules/sorp/package.json +34 -0
  634. package/native/token-counter/node_modules/sorp/readme.md +25 -0
  635. package/native/token-counter/node_modules/trim-call/index.js +6 -0
  636. package/native/token-counter/node_modules/trim-call/license.txt +21 -0
  637. package/native/token-counter/node_modules/trim-call/package.json +40 -0
  638. package/native/token-counter/node_modules/trim-call/readme.md +80 -0
  639. package/native/token-counter/node_modules/type-error/LICENSE +21 -0
  640. package/native/token-counter/node_modules/type-error/README.md +24 -0
  641. package/native/token-counter/node_modules/type-error/index.js +35 -0
  642. package/native/token-counter/node_modules/type-error/package.json +11 -0
  643. package/native/token-counter/node_modules/vfn/index.js +21 -0
  644. package/native/token-counter/node_modules/vfn/license.txt +21 -0
  645. package/native/token-counter/node_modules/vfn/package.json +40 -0
  646. package/native/token-counter/node_modules/vfn/readme.md +81 -0
  647. package/native/token-counter/node_modules/wfn/index.js +43 -0
  648. package/native/token-counter/node_modules/wfn/license.txt +21 -0
  649. package/native/token-counter/node_modules/wfn/package.json +38 -0
  650. package/native/token-counter/node_modules/wfn/readme.md +81 -0
  651. package/native/token-counter/package-lock.json +578 -0
  652. package/native/token-counter/package.json +21 -0
  653. package/native/token-counter/token-counter.linux-x64-gnu.node +0 -0
  654. package/package.json +98 -0
  655. package/scripts/build.cjs +27 -0
  656. package/scripts/deploy.sh +29 -0
  657. package/scripts/music.py +268 -0
  658. package/scripts/postinstall.mjs +81 -0
  659. package/scripts/push.sh +5 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright ©2018 John Lamansky
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "empty-iterator",
3
+ "version": "1.0.0",
4
+ "description": "Creates an iterator that finishes immediately.",
5
+ "keywords": [
6
+ "empty",
7
+ "iterator"
8
+ ],
9
+ "author": "John Lamansky",
10
+ "license": "MIT",
11
+ "homepage": "https://github.com/lamansky/empty-iterator",
12
+ "repository": "lamansky/empty-iterator",
13
+ "main": "index.js",
14
+ "files": [],
15
+ "engines": {
16
+ "node": ">=4.0.0"
17
+ },
18
+ "dependencies": {},
19
+ "devDependencies": {
20
+ "eslint-config-lamansky": "^1.0.0",
21
+ "is-iterator": "^1.0.1",
22
+ "mocha": "^5.1.1"
23
+ },
24
+ "scripts": {
25
+ "test": "mocha"
26
+ },
27
+ "eslintConfig": {
28
+ "extends": "lamansky",
29
+ "env": {
30
+ "mocha": true
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,23 @@
1
+ # empty-iterator
2
+
3
+ Creates an iterator that finishes immediately.
4
+
5
+ ## Installation
6
+
7
+ Requires [Node.js](https://nodejs.org/) 4.0.0 or above.
8
+
9
+ ```bash
10
+ npm i empty-iterator
11
+ ```
12
+
13
+ ## API
14
+
15
+ The module exports a single function with no parameters. Each time it is called, it creates and returns a new empty iterator.
16
+
17
+ ## Example
18
+
19
+ ```javascript
20
+ const emptyIterator = require('empty-iterator')
21
+
22
+ emptyIterator().next().done // true
23
+ ```
@@ -0,0 +1,15 @@
1
+ 'use strict'
2
+
3
+ const toNumber = require('2/number')
4
+
5
+ module.exports = function enforceRange (min, max, value) {
6
+ if (arguments.length === 2) return v => enforceRange(min, max, v)
7
+
8
+ if (min === null) min = -Infinity
9
+ if (max === null) max = Infinity
10
+ ;[min, max, value] = [min, max, value].map(n => toNumber(n, {fallback: null, finite: false}))
11
+ if (min > max) throw new RangeError('min cannot be more than max')
12
+ value = Math.max(min, value)
13
+ value = Math.min(max, value)
14
+ return value
15
+ }
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright ©2017 John Lamansky
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,43 @@
1
+ 'use strict'
2
+
3
+ /**
4
+ * Converts a map, iterable, object, or primitive into an array.
5
+ * @param {any} thingToConvert
6
+ * @param {object} options
7
+ * @param {bool} [options.detectIndexKeys=false] Whether or not map/object keys
8
+ * should be assumed to represent array indices if the keys go from 0...n-1
9
+ * @return {array}
10
+ */
11
+ module.exports = function (thingToConvert, {detectIndexKeys = false} = {}) {
12
+ if (typeof thingToConvert === 'undefined' || thingToConvert === null || Number.isNaN(thingToConvert)) {
13
+ return []
14
+ }
15
+
16
+ if (Array.isArray(thingToConvert)) {
17
+ return thingToConvert
18
+ }
19
+
20
+ if (thingToConvert instanceof Map) {
21
+ if (detectIndexKeys && JSON.stringify([...thingToConvert.keys()].map(String)) === JSON.stringify([...Array(thingToConvert.size).keys()].map(String))) {
22
+ return Array.from(thingToConvert.values())
23
+ } else {
24
+ return Array.from(thingToConvert)
25
+ }
26
+ }
27
+
28
+ if (typeof thingToConvert[Symbol.iterator] !== 'undefined' && typeof thingToConvert !== 'string') {
29
+ return Array.from(thingToConvert)
30
+ }
31
+
32
+ if (typeof thingToConvert === 'object' && thingToConvert !== null) {
33
+ const objectKeysArray = [...Object.keys(thingToConvert)]
34
+ objectKeysArray.sort() // JS does not guarantee object key order, so sort the keys.
35
+ if (detectIndexKeys && JSON.stringify(objectKeysArray) === JSON.stringify([...Array(Object.keys(thingToConvert).length).keys()].map(String))) {
36
+ return objectKeysArray.map(key => thingToConvert[key])
37
+ } else {
38
+ return Object.entries(thingToConvert)
39
+ }
40
+ }
41
+
42
+ return [thingToConvert]
43
+ }
@@ -0,0 +1,10 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ toArray: require('./array'),
5
+ toIterator: require('./iterator'),
6
+ toMap: require('./map'),
7
+ toNumber: require('./number'),
8
+ toObject: require('./object'),
9
+ toString: require('./string'),
10
+ }
@@ -0,0 +1,26 @@
1
+ 'use strict'
2
+
3
+ /**
4
+ * Converts an iterable, an object, or a primitive into an iterator.
5
+ * @param {any} thingToConvert
6
+ * @return {object}
7
+ */
8
+ module.exports = function (thingToConvert) {
9
+ // Turn undefined/null/NaN into an empty iterator
10
+ if (typeof thingToConvert === 'undefined' || thingToConvert === null || Number.isNaN(thingToConvert)) {
11
+ return [][Symbol.iterator]()
12
+ }
13
+
14
+ // Turn a primitive into an iterator
15
+ if (typeof thingToConvert !== 'object') {
16
+ return [thingToConvert][Symbol.iterator]()
17
+ }
18
+
19
+ // Turn an Array, Set, Map, etc. into an iterator
20
+ if (Symbol.iterator in thingToConvert) {
21
+ return thingToConvert[Symbol.iterator]()
22
+ }
23
+
24
+ // Turn an object into an iterator
25
+ return Object.entries(thingToConvert)[Symbol.iterator]()
26
+ }
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright ©2017 John Lamansky
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,47 @@
1
+ 'use strict'
2
+
3
+ /**
4
+ * Converts an array or object into a Map.
5
+ * @param {any} thingToConvert
6
+ * @param {object} options
7
+ * @param {Map|null} [options.fallback=new Map()]
8
+ * The Map to return if `thingToConvert` cannot be turned into a Map.
9
+ * Set to null to throw an error instead.
10
+ * @param {bool} [options.detectPairs=true]
11
+ * This option only applies if `thingToConvert` is an array.
12
+ * If set to `true`, an array of two-element arrays (the kind that’s used
13
+ * to construct a Map) will be treated as an array of key-value entries.
14
+ * @param {bool} [options.mirror=false]
15
+ * This option only applies if `thingToConvert` is an array.
16
+ * If set to `true`, array values are used as both keys and values
17
+ * (i.e. the keys and values mirror each other).
18
+ * If `false`, array indices (0 to n-1) are used as the Map keys.
19
+ * @return {Map}
20
+ */
21
+ module.exports = function (thingToConvert, {fallback = new Map(), detectPairs = true, mirror = false} = {}) {
22
+ if (thingToConvert instanceof Map) {
23
+ return thingToConvert
24
+ }
25
+
26
+ if (Array.isArray(thingToConvert)) {
27
+ if (detectPairs && thingToConvert.every(item => Array.isArray(item) && item.length === 2)) {
28
+ return new Map(thingToConvert)
29
+ } else if (mirror) {
30
+ return new Map(thingToConvert.map(item => [item, item]))
31
+ } else {
32
+ return new Map(thingToConvert.map((item, index) => [index, item]))
33
+ }
34
+ }
35
+
36
+ if (typeof thingToConvert === 'object' && thingToConvert !== null) {
37
+ return new Map(Object.keys(thingToConvert).map(
38
+ key => [key, thingToConvert[key]]
39
+ ))
40
+ }
41
+
42
+ if (!(fallback instanceof Map)) {
43
+ throw new TypeError('Failed to convert input of an unrecognized type into a Map.')
44
+ }
45
+
46
+ return fallback
47
+ }
@@ -0,0 +1,33 @@
1
+ 'use strict'
2
+
3
+ /**
4
+ * Converts a string or Number object into a primitive number.
5
+ * @param {any} thingToConvert
6
+ * @param {object} options
7
+ * @param {number|null} [options.fallback=0]
8
+ * The number to return if `thingToConvert` cannot be turned into a number.
9
+ * Set to `null` to throw an error instead.
10
+ * @param {bool} [options.finite=true]
11
+ * If true, only finite numbers are considered valid numbers.
12
+ * Therefore, if `thingToConvert` is `+Infinity` or `-Infinity`,
13
+ * the `fallback` will be returned.
14
+ * @param {bool} [options.round=false]
15
+ * If `true`, floats will be rounded to integers.
16
+ * @return {number}
17
+ */
18
+ module.exports = function (thingToConvert, {fallback = 0, finite = true, round = false} = {}) {
19
+ let number = thingToConvert === null ? NaN : Number(thingToConvert)
20
+ if (Number.isFinite(number) || (!finite && !Number.isNaN(number))) {
21
+ if (round) number = Math.round(number)
22
+ return number
23
+ }
24
+
25
+ if (fallback instanceof Number) {
26
+ return Number(fallback)
27
+ } else if (typeof fallback !== 'number') {
28
+ throw new TypeError('Failed to convert input of an unrecognized type into a number.')
29
+ }
30
+
31
+ if (round) fallback = Math.round(fallback)
32
+ return fallback
33
+ }
@@ -0,0 +1,61 @@
1
+ 'use strict'
2
+
3
+ const toString = require('./string')
4
+
5
+ /**
6
+ * Converts a Map or array into an object.
7
+ * @param {any} thingToConvert
8
+ * @param {object} options
9
+ * @param {object|null} [options.fallback={}]
10
+ * The object to return if `thingToConvert` cannot be turned into an object.
11
+ * Set to `null` to throw an error instead.
12
+ * @param {bool} [options.mirror=false]
13
+ * This option only applies if `thingToConvert` is an array.
14
+ * If set to `true`, array values are used as both keys and values
15
+ * (i.e. the keys and values mirror each other).
16
+ * If `false`, array indices (0 to n-1) are used as the object keys.
17
+ * If some array values have types which are among those supported as
18
+ * object keys (strings, numbers, and symbols), then mirroring will not happen.
19
+ * @return {object}
20
+ */
21
+ module.exports = function (thingToConvert, {fallback = {}, mirror = false} = {}) {
22
+ if (thingToConvert instanceof Map) {
23
+ const object = {}
24
+ for (const [key, value] of thingToConvert.entries()) {
25
+ try {
26
+ object[typeof key === 'symbol' ? key : toString(key, {fallback: null})] = value
27
+ } catch (x) {
28
+ throw new TypeError('Cannot convert map to object because map has keys which objects do not support. Objects can only have string/number/symbol keys.')
29
+ }
30
+ }
31
+ return object
32
+ } else if (Array.isArray(thingToConvert)) {
33
+ if (thingToConvert.every(entry => Array.isArray(entry) && entry.length === 2)) {
34
+ const object = {}
35
+ for (const [key, value] of thingToConvert) {
36
+ object[key] = value
37
+ }
38
+ return object
39
+ } else if (mirror && thingToConvert.every(value => ['string', 'number', 'symbol'].includes(typeof value))) {
40
+ const object = {}
41
+ for (const value of thingToConvert) {
42
+ object[value] = value
43
+ }
44
+ return object
45
+ } else {
46
+ const object = {}
47
+ for (let i = 0; i < thingToConvert.length; i++) {
48
+ object[i] = thingToConvert[i]
49
+ }
50
+ return object
51
+ }
52
+ } else if (typeof thingToConvert === 'object' && thingToConvert !== null) {
53
+ return thingToConvert
54
+ }
55
+
56
+ if (typeof fallback !== 'object' || fallback === null) {
57
+ throw new TypeError('Failed to convert input of an unrecognized type into an object.')
58
+ }
59
+
60
+ return fallback
61
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "2",
3
+ "version": "1.0.2",
4
+ "description": "The Type Conversion Library. Numbers, Strings, Arrays, Maps, Objects, and Iterators.",
5
+ "keywords": [
6
+ "type",
7
+ "convert",
8
+ "conversion",
9
+ "to",
10
+ "array",
11
+ "iterator",
12
+ "map",
13
+ "number",
14
+ "int",
15
+ "integer",
16
+ "float",
17
+ "object",
18
+ "string"
19
+ ],
20
+ "author": "John Lamansky",
21
+ "license": "MIT",
22
+ "homepage": "https://github.com/lamansky/2",
23
+ "repository": "lamansky/2",
24
+ "main": "index.js",
25
+ "engines": {
26
+ "node": ">=7.0.0"
27
+ },
28
+ "devDependencies": {
29
+ "eslint-config-lamansky": "^1.0.0",
30
+ "mocha": "^3.2.0"
31
+ },
32
+ "scripts": {
33
+ "test": "mocha"
34
+ },
35
+ "eslintConfig": {
36
+ "extends": "lamansky",
37
+ "env": {
38
+ "mocha": true
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,210 @@
1
+ # “2”: The Type Conversion Library
2
+
3
+ A [Node.js](https://nodejs.org/) module for converting between various JavaScript types: arrays, iterators, maps, numbers, objects, and strings.
4
+
5
+ ```javascript
6
+ const {toArray, toIterator, toMap, toNumber, toObject, toString} = require('2')
7
+
8
+ let data = {a: 1, b: 2}
9
+ data = toMap(data)
10
+ data = toArray(data)
11
+ data = toObject(data)
12
+ data = toIterator(data)
13
+ data = toArray(data)
14
+ data = toMap(data)
15
+ data = toObject(data) // {a: 1, b: 2}
16
+
17
+ data = '1.23'
18
+ data = toNumber(data)
19
+ data = toString(data) // '1.23'
20
+ ```
21
+
22
+ ## Installation
23
+
24
+ ```bash
25
+ npm install 2 --save
26
+ ```
27
+
28
+ ## Usage
29
+
30
+ ### Requiring the Functions
31
+
32
+ You can require needed functions via a destructuring assignment:
33
+
34
+ ```javascript
35
+ const {toArray, toIterator, toMap, toNumber, toObject, toString} = require('2')
36
+ ```
37
+
38
+ Or you can require individual functions via submodules:
39
+
40
+ ```javascript
41
+ const toArray = require('2/array')
42
+ const toIterator = require('2/iterator')
43
+ const toMap = require('2/map')
44
+ const toNumber = require('2/number')
45
+ const toObject = require('2/object')
46
+ const toString = require('2/string')
47
+ ```
48
+
49
+ ### Converting to Arrays
50
+ ```javascript
51
+ const toArray = require('2/array')
52
+
53
+ // Map => Array
54
+ let map = new Map()
55
+ map.set('a', 1)
56
+ map.set('b', 2)
57
+ toArray(map) // [['a', 1], ['b', 2]]
58
+
59
+ // Iterator => Array
60
+ toArray(map.values()) // [1, 2]
61
+
62
+ // Object => Array
63
+ toArray({a: 1, b: 2}) // [['a', 1], ['b', 2]]
64
+
65
+ // Array-like object => Array
66
+ toArray({0: 'first', 1: 'second'}, {detectIndexKeys: true}) // ['first', 'second']
67
+
68
+ // Primitive value => Array
69
+ toArray('test') // ['test']
70
+ ```
71
+
72
+ ### Converting to Iterators
73
+ ```javascript
74
+ const toIterator = require('2/iterator')
75
+
76
+ // Object => Iterator
77
+ let iterator = toIterator({a: 1, b: 2})
78
+ iterator.next().value // ['a', 1]
79
+ iterator.next().value // ['b', 2]
80
+ iterator.next().done // true
81
+
82
+ // Primitive value => Iterator
83
+ toIterator('test').next().value // 'test'
84
+ ```
85
+
86
+ ### Converting to Maps
87
+ ```javascript
88
+ const toMap = require('2/map')
89
+
90
+ // Array of key/value pairs => Map
91
+ toMap([['a', 1], ['b', 2]])
92
+ map.get('a') // 1
93
+ map.get('b') // 2
94
+
95
+ // Array of values => Map
96
+ let map = toMap(['a', 'b'])
97
+ map.get(0) // 'a'
98
+ map.get(1) // 'b'
99
+
100
+ // Object => Map
101
+ map = toMap({a: 1, b: 2})
102
+ map.get('a') // 1
103
+ map.get('b') // 2
104
+ ```
105
+
106
+ ### Converting to Numbers
107
+ ```javascript
108
+ const toNumber = require('2/number')
109
+
110
+ toNumber('1.2') // 1.2
111
+ toNumber(Infinity) // 0
112
+ toNumber(NaN) // 0
113
+ toNumber('not a number') // 0
114
+
115
+ // Can specify a fallback other than zero:
116
+ toNumber('not a number', {fallback: 100}) // 100
117
+
118
+ // You can choose to throw an error for invalid inputs by
119
+ // providing a null fallback:
120
+ toNumber('not a number', {fallback: null}) // throws error
121
+
122
+ // Option to round floats:
123
+ toNumber('4.7') // 4.7
124
+ toNumber('4.7', {round: true}) // 5
125
+
126
+ // By default, Infinity is not considered a valid number,
127
+ // but this can be changed:
128
+ toNumber(Infinity) // 0
129
+ toNumber(Infinity, {finite: false}) // Infinity
130
+
131
+ // Number object => Number
132
+ let numberObject = new Number(123)
133
+ typeof numberObject // 'object'
134
+ typeof toNumber(numberObject) // 'number'
135
+ ```
136
+
137
+ ### Converting to Objects
138
+ ```javascript
139
+ const toObject = require('2/object')
140
+
141
+ // Array of key/value pairs => Object
142
+ let obj = toObject([['a', 1], ['b', 2]])
143
+ obj.a // 1
144
+ obj.b // 2
145
+
146
+ // Array => Object
147
+ let obj = toObject(['first', 'second'])
148
+ Object.keys(obj).length // 2
149
+ obj[0] // 'first'
150
+ obj[1] // 'second'
151
+
152
+ // In the above example, the array indices become the object keys.
153
+ // But you can make the keys mirror the values instead:
154
+ let obj = toObject(['first', 'second'], {mirror: true})
155
+ Object.keys(obj).length // 2
156
+ obj.first // 'first'
157
+ obj.second // 'second'
158
+
159
+ // Map => Object
160
+ let map = new Map()
161
+ map.set('key1', 'value1')
162
+ map.set('key2', 'value2')
163
+ let obj = toObject(map)
164
+ obj.key1 // 'value1'
165
+ obj.key2 // 'value2'
166
+ ```
167
+
168
+ ### Converting to Strings
169
+ ```javascript
170
+ const toString = require('2/string')
171
+
172
+ toString(123) // '123'
173
+ toString(-0) // '0'
174
+
175
+ toString(true) // ''
176
+ toString(false) // ''
177
+ toString(undefined) // ''
178
+ toString(null) // ''
179
+ toString(Infinity) // ''
180
+ toString(NaN) // ''
181
+ toString({}) // ''
182
+ toString([]) // ''
183
+ toString(function () {}) // ''
184
+ toString(Symbol('test')) // ''
185
+
186
+ // Compare the above to standard JavaScript string conversion:
187
+ String(true) // 'true'
188
+ String(false) // 'false'
189
+ String(undefined) // 'undefined'
190
+ String(null) // 'null'
191
+ String(Infinity) // 'Infinity'
192
+ String(NaN) // 'NaN'
193
+ String({}) // '[object Object]'
194
+ String([]) // ''
195
+ String(function () {}) // 'function () {}'
196
+ String(Symbol('test')) // 'Symbol(test)'
197
+
198
+ // Default fallback is an empty string, but you can change it:
199
+ toString(undefined) // ''
200
+ toString(undefined, {fallback: 'N/A'}) // 'N/A'
201
+
202
+ // You can choose to throw an error for invalid inputs by
203
+ // providing a null fallback:
204
+ toString(undefined, {fallback: null}) // throws error
205
+
206
+ // String object => String
207
+ let stringObject = new String('test')
208
+ typeof stringObject // 'object'
209
+ typeof toString(stringObject) // 'string'
210
+ ```
@@ -0,0 +1,37 @@
1
+ 'use strict'
2
+
3
+ /**
4
+ * Converts a number or `toString`able object into a primitive string.
5
+ * @param {any} thingToConvert
6
+ * @param {object} options
7
+ * @param {string|null} [options.fallback='']
8
+ * The string to return if `thingToConvert` cannot be turned into a string.
9
+ * Set to `null` to throw an error instead.
10
+ * @return {string}
11
+ */
12
+ module.exports = function (thingToConvert, {fallback = ''} = {}) {
13
+ if (typeof thingToConvert === 'string') {
14
+ return thingToConvert
15
+ }
16
+
17
+ if (thingToConvert instanceof String) {
18
+ return thingToConvert + ''
19
+ }
20
+
21
+ if (typeof thingToConvert === 'number' && Number.isFinite(thingToConvert)) {
22
+ return thingToConvert + ''
23
+ }
24
+
25
+ if (typeof thingToConvert === 'object' && thingToConvert !== null &&
26
+ thingToConvert.toString !== Object.prototype.toString) {
27
+ return String(thingToConvert)
28
+ }
29
+
30
+ if (fallback instanceof String) {
31
+ return fallback + ''
32
+ } else if (typeof fallback !== 'string') {
33
+ throw new TypeError('Failed to convert input of an unrecognized type into a string.')
34
+ }
35
+
36
+ return fallback
37
+ }