anixartjs 0.1.7 → 1.0.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 (394) hide show
  1. package/LICENSE +617 -282
  2. package/README.md +404 -118
  3. package/dist/api/article/article.d.ts +422 -0
  4. package/dist/api/article/article.d.ts.map +1 -0
  5. package/dist/api/article/article.js +572 -0
  6. package/dist/api/article/article.js.map +1 -0
  7. package/dist/api/article/articleComment.d.ts +297 -0
  8. package/dist/api/article/articleComment.d.ts.map +1 -0
  9. package/dist/api/article/articleComment.js +398 -0
  10. package/dist/api/article/articleComment.js.map +1 -0
  11. package/dist/api/article/articleSuggestion.d.ts +212 -0
  12. package/dist/api/article/articleSuggestion.d.ts.map +1 -0
  13. package/dist/api/article/articleSuggestion.js +280 -0
  14. package/dist/api/article/articleSuggestion.js.map +1 -0
  15. package/dist/api/auth.d.ts +452 -65
  16. package/dist/api/auth.d.ts.map +1 -0
  17. package/dist/api/auth.js +652 -92
  18. package/dist/api/auth.js.map +1 -0
  19. package/dist/api/channel.d.ts +724 -44
  20. package/dist/api/channel.d.ts.map +1 -0
  21. package/dist/api/channel.js +970 -116
  22. package/dist/api/channel.js.map +1 -0
  23. package/dist/api/collection/collection.d.ts +143 -0
  24. package/dist/api/collection/collection.d.ts.map +1 -0
  25. package/dist/api/collection/collection.js +191 -0
  26. package/dist/api/collection/collection.js.map +1 -0
  27. package/dist/api/collection/collectionComment.d.ts +274 -0
  28. package/dist/api/collection/collectionComment.d.ts.map +1 -0
  29. package/dist/api/collection/collectionComment.js +368 -0
  30. package/dist/api/collection/collectionComment.js.map +1 -0
  31. package/dist/api/collection/collectionFavorite.d.ts +87 -0
  32. package/dist/api/collection/collectionFavorite.d.ts.map +1 -0
  33. package/dist/api/collection/collectionFavorite.js +114 -0
  34. package/dist/api/collection/collectionFavorite.js.map +1 -0
  35. package/dist/api/collection/collectionMy.d.ts +193 -0
  36. package/dist/api/collection/collectionMy.d.ts.map +1 -0
  37. package/dist/api/collection/collectionMy.js +266 -0
  38. package/dist/api/collection/collectionMy.js.map +1 -0
  39. package/dist/api/config.d.ts +83 -0
  40. package/dist/api/config.d.ts.map +1 -0
  41. package/dist/api/config.js +115 -0
  42. package/dist/api/config.js.map +1 -0
  43. package/dist/api/discover.d.ts +75 -46
  44. package/dist/api/discover.d.ts.map +1 -0
  45. package/dist/api/discover.js +104 -49
  46. package/dist/api/discover.js.map +1 -0
  47. package/dist/api/export.d.ts +41 -0
  48. package/dist/api/export.d.ts.map +1 -0
  49. package/dist/api/export.js +60 -0
  50. package/dist/api/export.js.map +1 -0
  51. package/dist/api/feed.d.ts +64 -20
  52. package/dist/api/feed.d.ts.map +1 -0
  53. package/dist/api/feed.js +85 -20
  54. package/dist/api/feed.js.map +1 -0
  55. package/dist/api/import.d.ts +65 -0
  56. package/dist/api/import.d.ts.map +1 -0
  57. package/dist/api/import.js +89 -0
  58. package/dist/api/import.js.map +1 -0
  59. package/dist/api/notification/notification.d.ts +284 -0
  60. package/dist/api/notification/notification.d.ts.map +1 -0
  61. package/dist/api/notification/notification.js +371 -0
  62. package/dist/api/notification/notification.js.map +1 -0
  63. package/dist/api/notification/notificationPreference.d.ts +188 -0
  64. package/dist/api/notification/notificationPreference.d.ts.map +1 -0
  65. package/dist/api/notification/notificationPreference.js +252 -0
  66. package/dist/api/notification/notificationPreference.js.map +1 -0
  67. package/dist/api/profile/profile.d.ts +99 -0
  68. package/dist/api/profile/profile.d.ts.map +1 -0
  69. package/dist/api/profile/profile.js +132 -0
  70. package/dist/api/profile/profile.js.map +1 -0
  71. package/dist/api/profile/profileBadge.d.ts +79 -0
  72. package/dist/api/profile/profileBadge.d.ts.map +1 -0
  73. package/dist/api/profile/profileBadge.js +103 -0
  74. package/dist/api/profile/profileBadge.js.map +1 -0
  75. package/dist/api/profile/profileBlockList.d.ts +85 -0
  76. package/dist/api/profile/profileBlockList.d.ts.map +1 -0
  77. package/dist/api/profile/profileBlockList.js +111 -0
  78. package/dist/api/profile/profileBlockList.js.map +1 -0
  79. package/dist/api/profile/profileDeletion.d.ts +81 -0
  80. package/dist/api/profile/profileDeletion.d.ts.map +1 -0
  81. package/dist/api/profile/profileDeletion.js +115 -0
  82. package/dist/api/profile/profileDeletion.js.map +1 -0
  83. package/dist/api/profile/profileFriend.d.ts +184 -0
  84. package/dist/api/profile/profileFriend.d.ts.map +1 -0
  85. package/dist/api/profile/profileFriend.js +244 -0
  86. package/dist/api/profile/profileFriend.js.map +1 -0
  87. package/dist/api/profile/profileHealth.d.ts +124 -0
  88. package/dist/api/profile/profileHealth.d.ts.map +1 -0
  89. package/dist/api/profile/profileHealth.js +168 -0
  90. package/dist/api/profile/profileHealth.js.map +1 -0
  91. package/dist/api/profile/profileList.d.ts +135 -0
  92. package/dist/api/profile/profileList.d.ts.map +1 -0
  93. package/dist/api/profile/profileList.js +174 -0
  94. package/dist/api/profile/profileList.js.map +1 -0
  95. package/dist/api/profile/profilePreference.d.ts +692 -0
  96. package/dist/api/profile/profilePreference.d.ts.map +1 -0
  97. package/dist/api/profile/profilePreference.js +1014 -0
  98. package/dist/api/profile/profilePreference.js.map +1 -0
  99. package/dist/api/profile/profileReleaseVote.d.ts +81 -0
  100. package/dist/api/profile/profileReleaseVote.d.ts.map +1 -0
  101. package/dist/api/profile/profileReleaseVote.js +108 -0
  102. package/dist/api/profile/profileReleaseVote.js.map +1 -0
  103. package/dist/api/profile/profileRoleList.d.ts +34 -0
  104. package/dist/api/profile/profileRoleList.d.ts.map +1 -0
  105. package/dist/api/profile/profileRoleList.js +44 -0
  106. package/dist/api/profile/profileRoleList.js.map +1 -0
  107. package/dist/api/release/episode.d.ts +254 -0
  108. package/dist/api/release/episode.d.ts.map +1 -0
  109. package/dist/api/release/episode.js +260 -0
  110. package/dist/api/release/episode.js.map +1 -0
  111. package/dist/api/release/favorite.d.ts +89 -0
  112. package/dist/api/release/favorite.d.ts.map +1 -0
  113. package/dist/api/release/favorite.js +117 -0
  114. package/dist/api/release/favorite.js.map +1 -0
  115. package/dist/api/release/filter.d.ts +44 -0
  116. package/dist/api/release/filter.d.ts.map +1 -0
  117. package/dist/api/release/filter.js +61 -0
  118. package/dist/api/release/filter.js.map +1 -0
  119. package/dist/api/release/history.d.ts +89 -0
  120. package/dist/api/release/history.d.ts.map +1 -0
  121. package/dist/api/release/history.js +113 -0
  122. package/dist/api/release/history.js.map +1 -0
  123. package/dist/api/release/related.d.ts +34 -0
  124. package/dist/api/release/related.d.ts.map +1 -0
  125. package/dist/api/release/related.js +46 -0
  126. package/dist/api/release/related.js.map +1 -0
  127. package/dist/api/release/release.d.ts +192 -0
  128. package/dist/api/release/release.d.ts.map +1 -0
  129. package/dist/api/release/release.js +259 -0
  130. package/dist/api/release/release.js.map +1 -0
  131. package/dist/api/release/releaseComment.d.ts +282 -0
  132. package/dist/api/release/releaseComment.d.ts.map +1 -0
  133. package/dist/api/release/releaseComment.js +376 -0
  134. package/dist/api/release/releaseComment.js.map +1 -0
  135. package/dist/api/release/releaseStreamingPlatform.d.ts +29 -0
  136. package/dist/api/release/releaseStreamingPlatform.d.ts.map +1 -0
  137. package/dist/api/release/releaseStreamingPlatform.js +38 -0
  138. package/dist/api/release/releaseStreamingPlatform.js.map +1 -0
  139. package/dist/api/release/releaseVideo.d.ts +125 -0
  140. package/dist/api/release/releaseVideo.d.ts.map +1 -0
  141. package/dist/api/release/releaseVideo.js +161 -0
  142. package/dist/api/release/releaseVideo.js.map +1 -0
  143. package/dist/api/release/releaseVideoAppeal.d.ts +93 -0
  144. package/dist/api/release/releaseVideoAppeal.d.ts.map +1 -0
  145. package/dist/api/release/releaseVideoAppeal.js +124 -0
  146. package/dist/api/release/releaseVideoAppeal.js.map +1 -0
  147. package/dist/api/release/releaseVideoFavorite.d.ts +86 -0
  148. package/dist/api/release/releaseVideoFavorite.d.ts.map +1 -0
  149. package/dist/api/release/releaseVideoFavorite.js +110 -0
  150. package/dist/api/release/releaseVideoFavorite.js.map +1 -0
  151. package/dist/api/release/schedule.d.ts +25 -0
  152. package/dist/api/release/schedule.d.ts.map +1 -0
  153. package/dist/api/release/schedule.js +34 -0
  154. package/dist/api/release/schedule.js.map +1 -0
  155. package/dist/api/report.d.ts +68 -0
  156. package/dist/api/report.d.ts.map +1 -0
  157. package/dist/api/report.js +91 -0
  158. package/dist/api/report.js.map +1 -0
  159. package/dist/api/search.d.ts +360 -216
  160. package/dist/api/search.d.ts.map +1 -0
  161. package/dist/api/search.js +482 -226
  162. package/dist/api/search.js.map +1 -0
  163. package/dist/api/type.d.ts +159 -0
  164. package/dist/api/type.d.ts.map +1 -0
  165. package/dist/api/type.js +207 -0
  166. package/dist/api/type.js.map +1 -0
  167. package/dist/core/anixartClient.d.ts +25 -0
  168. package/dist/core/anixartClient.d.ts.map +1 -0
  169. package/dist/core/anixartClient.js +35 -0
  170. package/dist/core/anixartClient.js.map +1 -0
  171. package/dist/core/endpoints.d.ts +87 -0
  172. package/dist/core/endpoints.d.ts.map +1 -0
  173. package/dist/core/endpoints.js +132 -0
  174. package/dist/core/endpoints.js.map +1 -0
  175. package/dist/core/errors/anixartError.d.ts +8 -0
  176. package/dist/core/errors/anixartError.d.ts.map +1 -0
  177. package/dist/core/errors/anixartError.js +19 -0
  178. package/dist/core/errors/anixartError.js.map +1 -0
  179. package/dist/core/errors/httpError.d.ts +6 -0
  180. package/dist/core/errors/httpError.d.ts.map +1 -0
  181. package/dist/core/errors/httpError.js +15 -0
  182. package/dist/core/errors/httpError.js.map +1 -0
  183. package/dist/core/http/httpClient.d.ts +15 -0
  184. package/dist/core/http/httpClient.d.ts.map +1 -0
  185. package/dist/core/http/httpClient.js +153 -0
  186. package/dist/core/http/httpClient.js.map +1 -0
  187. package/dist/core/http/httpTypes.d.ts +49 -0
  188. package/dist/core/http/httpTypes.d.ts.map +1 -0
  189. package/dist/core/http/httpTypes.js +3 -0
  190. package/dist/core/http/httpTypes.js.map +1 -0
  191. package/dist/index.d.ts +8 -4
  192. package/dist/index.d.ts.map +1 -0
  193. package/dist/index.js +7 -4
  194. package/dist/index.js.map +1 -0
  195. package/dist/models/article/enums.d.ts +51 -0
  196. package/dist/models/article/enums.d.ts.map +1 -0
  197. package/dist/models/article/enums.js +62 -0
  198. package/dist/models/article/enums.js.map +1 -0
  199. package/dist/models/article/types.d.ts +167 -0
  200. package/dist/models/article/types.d.ts.map +1 -0
  201. package/dist/{types/notification.js → models/article/types.js} +1 -0
  202. package/dist/models/article/types.js.map +1 -0
  203. package/dist/models/auth/enums.d.ts +139 -0
  204. package/dist/models/auth/enums.d.ts.map +1 -0
  205. package/dist/models/auth/enums.js +159 -0
  206. package/dist/models/auth/enums.js.map +1 -0
  207. package/dist/models/auth/types.d.ts +95 -0
  208. package/dist/models/auth/types.d.ts.map +1 -0
  209. package/dist/{types/request.js → models/auth/types.js} +1 -0
  210. package/dist/models/auth/types.js.map +1 -0
  211. package/dist/models/channel/enums.d.ts +63 -0
  212. package/dist/models/channel/enums.d.ts.map +1 -0
  213. package/dist/models/channel/enums.js +79 -0
  214. package/dist/models/channel/enums.js.map +1 -0
  215. package/dist/models/channel/types.d.ts +129 -0
  216. package/dist/models/channel/types.d.ts.map +1 -0
  217. package/dist/models/channel/types.js +3 -0
  218. package/dist/models/channel/types.js.map +1 -0
  219. package/dist/models/collection/enums.d.ts +39 -0
  220. package/dist/models/collection/enums.d.ts.map +1 -0
  221. package/dist/{types/collection.js → models/collection/enums.js} +6 -1
  222. package/dist/models/collection/enums.js.map +1 -0
  223. package/dist/models/collection/types.d.ts +54 -0
  224. package/dist/models/collection/types.d.ts.map +1 -0
  225. package/dist/models/collection/types.js +3 -0
  226. package/dist/models/collection/types.js.map +1 -0
  227. package/dist/models/common/enums.d.ts +29 -0
  228. package/dist/models/common/enums.d.ts.map +1 -0
  229. package/dist/{types/response.js → models/common/enums.js} +10 -9
  230. package/dist/models/common/enums.js.map +1 -0
  231. package/dist/models/common/types.d.ts +52 -0
  232. package/dist/models/common/types.d.ts.map +1 -0
  233. package/dist/models/common/types.js +3 -0
  234. package/dist/models/common/types.js.map +1 -0
  235. package/dist/models/config/types.d.ts +66 -0
  236. package/dist/models/config/types.d.ts.map +1 -0
  237. package/dist/models/config/types.js +3 -0
  238. package/dist/models/config/types.js.map +1 -0
  239. package/dist/models/index.d.ts +23 -0
  240. package/dist/models/index.d.ts.map +1 -0
  241. package/dist/models/index.js +39 -0
  242. package/dist/models/index.js.map +1 -0
  243. package/dist/models/notification/enums.d.ts +26 -0
  244. package/dist/models/notification/enums.d.ts.map +1 -0
  245. package/dist/models/notification/enums.js +32 -0
  246. package/dist/models/notification/enums.js.map +1 -0
  247. package/dist/models/notification/types.d.ts +66 -0
  248. package/dist/models/notification/types.d.ts.map +1 -0
  249. package/dist/models/notification/types.js +3 -0
  250. package/dist/models/notification/types.js.map +1 -0
  251. package/dist/models/preference/enums.d.ts +79 -0
  252. package/dist/models/preference/enums.d.ts.map +1 -0
  253. package/dist/models/preference/enums.js +99 -0
  254. package/dist/models/preference/enums.js.map +1 -0
  255. package/dist/models/preference/types.d.ts +61 -0
  256. package/dist/models/preference/types.d.ts.map +1 -0
  257. package/dist/models/preference/types.js +3 -0
  258. package/dist/models/preference/types.js.map +1 -0
  259. package/dist/models/profile/enums.d.ts +68 -0
  260. package/dist/models/profile/enums.d.ts.map +1 -0
  261. package/dist/models/profile/enums.js +83 -0
  262. package/dist/models/profile/enums.js.map +1 -0
  263. package/dist/models/profile/types.d.ts +263 -0
  264. package/dist/models/profile/types.d.ts.map +1 -0
  265. package/dist/models/profile/types.js +3 -0
  266. package/dist/models/profile/types.js.map +1 -0
  267. package/dist/models/release/enums.d.ts +57 -0
  268. package/dist/models/release/enums.d.ts.map +1 -0
  269. package/dist/models/release/enums.js +69 -0
  270. package/dist/models/release/enums.js.map +1 -0
  271. package/dist/models/release/types.d.ts +283 -0
  272. package/dist/models/release/types.d.ts.map +1 -0
  273. package/dist/models/release/types.js +3 -0
  274. package/dist/models/release/types.js.map +1 -0
  275. package/dist/models/report/enums.d.ts +17 -0
  276. package/dist/models/report/enums.d.ts.map +1 -0
  277. package/dist/models/report/enums.js +22 -0
  278. package/dist/models/report/enums.js.map +1 -0
  279. package/dist/models/report/types.d.ts +23 -0
  280. package/dist/models/report/types.d.ts.map +1 -0
  281. package/dist/models/report/types.js +4 -0
  282. package/dist/models/report/types.js.map +1 -0
  283. package/dist/models/search/types.d.ts +27 -0
  284. package/dist/models/search/types.d.ts.map +1 -0
  285. package/dist/models/search/types.js +3 -0
  286. package/dist/models/search/types.js.map +1 -0
  287. package/dist/utils/ArticleBuilder.d.ts +41 -12
  288. package/dist/utils/ArticleBuilder.d.ts.map +1 -0
  289. package/dist/utils/ArticleBuilder.js +130 -115
  290. package/dist/utils/ArticleBuilder.js.map +1 -0
  291. package/dist/utils/{LinkParser.d.ts → linkParser/anilibria.d.ts} +15 -85
  292. package/dist/utils/linkParser/anilibria.d.ts.map +1 -0
  293. package/dist/utils/linkParser/anilibria.js +42 -0
  294. package/dist/utils/linkParser/anilibria.js.map +1 -0
  295. package/dist/utils/linkParser/index.d.ts +9 -0
  296. package/dist/utils/linkParser/index.d.ts.map +1 -0
  297. package/dist/utils/linkParser/index.js +29 -0
  298. package/dist/utils/linkParser/index.js.map +1 -0
  299. package/dist/utils/linkParser/kodik.d.ts +50 -0
  300. package/dist/utils/linkParser/kodik.d.ts.map +1 -0
  301. package/dist/utils/linkParser/kodik.js +86 -0
  302. package/dist/utils/linkParser/kodik.js.map +1 -0
  303. package/dist/utils/linkParser/ok.d.ts +9 -0
  304. package/dist/utils/linkParser/ok.d.ts.map +1 -0
  305. package/dist/utils/linkParser/ok.js +62 -0
  306. package/dist/utils/linkParser/ok.js.map +1 -0
  307. package/dist/utils/linkParser/parseHlsMaster.d.ts +6 -0
  308. package/dist/utils/linkParser/parseHlsMaster.d.ts.map +1 -0
  309. package/dist/utils/linkParser/parseHlsMaster.js +57 -0
  310. package/dist/utils/linkParser/parseHlsMaster.js.map +1 -0
  311. package/dist/utils/linkParser/request.d.ts +7 -0
  312. package/dist/utils/linkParser/request.d.ts.map +1 -0
  313. package/dist/utils/linkParser/request.js +50 -0
  314. package/dist/utils/linkParser/request.js.map +1 -0
  315. package/dist/utils/linkParser/rutube.d.ts +8 -0
  316. package/dist/utils/linkParser/rutube.d.ts.map +1 -0
  317. package/dist/utils/linkParser/rutube.js +28 -0
  318. package/dist/utils/linkParser/rutube.js.map +1 -0
  319. package/dist/utils/linkParser/sibnet.d.ts +8 -0
  320. package/dist/utils/linkParser/sibnet.d.ts.map +1 -0
  321. package/dist/utils/linkParser/sibnet.js +26 -0
  322. package/dist/utils/linkParser/sibnet.js.map +1 -0
  323. package/dist/utils/linkParser/types.d.ts +12 -0
  324. package/dist/utils/linkParser/types.d.ts.map +1 -0
  325. package/dist/utils/linkParser/types.js +3 -0
  326. package/dist/utils/linkParser/types.js.map +1 -0
  327. package/dist/utils/linkParser/vk.d.ts +13 -0
  328. package/dist/utils/linkParser/vk.d.ts.map +1 -0
  329. package/dist/utils/linkParser/vk.js +58 -0
  330. package/dist/utils/linkParser/vk.js.map +1 -0
  331. package/package.json +5 -5
  332. package/dist/api/collection.d.ts +0 -27
  333. package/dist/api/collection.js +0 -62
  334. package/dist/api/index.d.ts +0 -10
  335. package/dist/api/index.js +0 -26
  336. package/dist/api/notification.d.ts +0 -17
  337. package/dist/api/notification.js +0 -42
  338. package/dist/api/profile.d.ts +0 -388
  339. package/dist/api/profile.js +0 -437
  340. package/dist/api/release.d.ts +0 -41
  341. package/dist/api/release.js +0 -104
  342. package/dist/api/settings.d.ts +0 -29
  343. package/dist/api/settings.js +0 -78
  344. package/dist/classes/Article.d.ts +0 -18
  345. package/dist/classes/Article.js +0 -44
  346. package/dist/classes/ArticleComment.d.ts +0 -15
  347. package/dist/classes/ArticleComment.js +0 -37
  348. package/dist/classes/BaseArticle.d.ts +0 -21
  349. package/dist/classes/BaseArticle.js +0 -23
  350. package/dist/classes/BaseComment.d.ts +0 -22
  351. package/dist/classes/BaseComment.js +0 -25
  352. package/dist/classes/BaseProfile.d.ts +0 -29
  353. package/dist/classes/BaseProfile.js +0 -50
  354. package/dist/classes/Channel.d.ts +0 -47
  355. package/dist/classes/Channel.js +0 -104
  356. package/dist/classes/Collection.d.ts +0 -29
  357. package/dist/classes/Collection.js +0 -58
  358. package/dist/classes/Dubber.d.ts +0 -19
  359. package/dist/classes/Dubber.js +0 -24
  360. package/dist/classes/Episode.d.ts +0 -20
  361. package/dist/classes/Episode.js +0 -30
  362. package/dist/classes/FullProfile.d.ts +0 -71
  363. package/dist/classes/FullProfile.js +0 -93
  364. package/dist/classes/Release.d.ts +0 -91
  365. package/dist/classes/Release.js +0 -154
  366. package/dist/classes/ReleaseComment.d.ts +0 -16
  367. package/dist/classes/ReleaseComment.js +0 -45
  368. package/dist/classes/Source.d.ts +0 -15
  369. package/dist/classes/Source.js +0 -20
  370. package/dist/classes/SuggestionArticle.d.ts +0 -14
  371. package/dist/classes/SuggestionArticle.js +0 -29
  372. package/dist/client.d.ts +0 -46
  373. package/dist/client.js +0 -149
  374. package/dist/endpoints.d.ts +0 -27
  375. package/dist/endpoints.js +0 -34
  376. package/dist/types/auth.d.ts +0 -64
  377. package/dist/types/auth.js +0 -47
  378. package/dist/types/channel.d.ts +0 -277
  379. package/dist/types/channel.js +0 -97
  380. package/dist/types/collection.d.ts +0 -84
  381. package/dist/types/index.d.ts +0 -12
  382. package/dist/types/index.js +0 -25
  383. package/dist/types/notification.d.ts +0 -36
  384. package/dist/types/profile.d.ts +0 -213
  385. package/dist/types/profile.js +0 -46
  386. package/dist/types/release.d.ts +0 -336
  387. package/dist/types/release.js +0 -39
  388. package/dist/types/request.d.ts +0 -36
  389. package/dist/types/response.d.ts +0 -77
  390. package/dist/types/settings.d.ts +0 -89
  391. package/dist/types/settings.js +0 -48
  392. package/dist/utils/LinkParser.js +0 -121
  393. package/dist/utils/Utils.d.ts +0 -3
  394. package/dist/utils/Utils.js +0 -11
package/README.md CHANGED
@@ -1,191 +1,477 @@
1
- > [!WARNING]
2
- > Данный проект был сделан в ознакомительных целях. Автор осуждает и не поддерживает создание авторегов, ботов для накрутки лайков, спам ботов и любых других проектов нацеленых на абуз и злоупотребление API Anixart.
1
+ > [!WARNING]
2
+ > Проект создан исключительно в ознакомительных целях. Автор осуждает и не поддерживает создание авторегов, ботов для накрутки лайков, спам-ботов и любых других инструментов, направленных на абуз или злоупотребление API Anixart.
3
3
 
4
- <h2 align="center">AnixartJS</h2>
4
+ > [!IMPORTANT]
5
+ > Новая версия AnixartJS содержит значительные изменения и не полностью совместима с версиями **v0.x**.
6
+ >
7
+ > В версии v1.x была переработана структура проекта, изменён публичный API, способы вызова эндпоинтов, авторизации, конфигурации клиента и часть моделей данных.
8
+ >
9
+ > Если ваш проект использует старую версию AnixartJS, обновление может потребовать изменений в существующем коде. Перед переходом рекомендуется изучить изменения в новой версии, проверить используемые методы и типы, а также заранее заложить время на миграцию и тестирование.
10
+ >
11
+ > Не рекомендуется обновлять AnixartJS в существующем проекте без предварительной проверки совместимости.
5
12
 
6
- AnixartJS — это имплементация **API Anixart** на **TypeScript** для NodeJS, предоставляющая удобный и интуитивно понятный интерфейс для взаимодействия с приложением Anixart.
13
+ <br />
7
14
 
15
+ <div align="center">
8
16
 
9
- ## 📚 Содержание
17
+ # AnixartJS
10
18
 
11
- 1. [Установка](#-установка)
12
- 2. [Использование](#-использование)
13
- - [Пример](#пример-использования-anixartjs)
14
- - [Инициализация](#инициализация)
15
- - [Аутентификация](#аутентификация)
16
- - [Получение данных](#получение-данных)
17
- 4. [Вклад в проект](#-вклад-в-проект)
18
- 5. [Лицензия](#-лицензия)
19
+ TypeScript-библиотека для работы с API Anixart в Node.js
19
20
 
20
- ## 🛠 Установка
21
+ [![npm](https://img.shields.io/npm/v/anixartjs?style=flat-square)](https://www.npmjs.com/package/anixartjs)
22
+ [![license](https://img.shields.io/github/license/theDesConnet/AnixartJS?style=flat-square)](LICENSE)
23
+ [![language](https://img.shields.io/github/languages/top/theDesConnet/AnixartJS?style=flat-square)](https://github.com/theDesConnet/AnixartJS)
24
+ [![issues](https://img.shields.io/github/issues/theDesConnet/AnixartJS?style=flat-square)](https://github.com/theDesConnet/AnixartJS/issues)
21
25
 
22
- Установите AnixartJS с помощью npm:
26
+ </div>
27
+
28
+ ## О проекте
29
+
30
+ **AnixartJS** — неофициальная TypeScript-библиотека для работы с API Anixart из Node.js.
31
+
32
+ Основной интерфейс библиотеки построен вокруг класса `Anixart` и набора типизированных групп эндпоинтов в `client.endpoints`.
33
+
34
+ Библиотека предоставляет доступ к релизам, профилям, каналам, статьям, коллекциям, ленте, уведомлениям, поиску, импорту и экспорту данных, а также другим возможностям API.
35
+
36
+ ## Возможности
37
+
38
+ * типизированный интерфейс для API Anixart;
39
+ * модели ответов и enum'ы для кодов и параметров API;
40
+ * авторизация по логину и паролю;
41
+ * использование уже существующего токена;
42
+ * работа с релизами, профилями, каналами и статьями;
43
+ * работа с коллекциями, комментариями и закладками;
44
+ * поиск, лента, уведомления, импорт и экспорт;
45
+ * настройка таймаута и отмена запросов через `AbortSignal`;
46
+ * выбор версии API для отдельных запросов;
47
+ * управление обработкой ошибок Anixart;
48
+ * `ArticleBuilder` для формирования содержимого статей;
49
+ * парсеры ссылок на поддерживаемые видеосервисы;
50
+ * CommonJS-сборка и декларации типов TypeScript.
51
+
52
+ ## Установка
23
53
 
24
54
  ```bash
25
55
  npm install anixartjs
26
56
  ```
27
57
 
28
- ## 🚀 Использование
29
-
30
- ### Пример использования AnixartJS
31
-
32
- В этом примере показано, как использовать библиотеку **AnixartJS** для взаимодействия с API Anixart. Вы можете использовать как готовые методы классов, так и прямой доступ к эндпоинтам.
58
+ ## Быстрый старт
33
59
 
34
- #### Пример кода: `example.js`
60
+ ### CommonJS
35
61
 
36
62
  ```javascript
37
63
  const { Anixart } = require("anixartjs");
38
64
 
39
- /**
40
- * Авторизация может быть выполнена двумя способами:
41
- *
42
- * 1. Используя токен при создании экземпляра класса:
43
- * new Anixart({ token: "your-token-here" })
44
- *
45
- * 2. Используя метод login():
46
- * const anixartClient = new Anixart();
47
- * anixartClient.login("username", "password"); // Возвращает ResponseCode
48
- */
49
- const anixartClient = new Anixart();
50
-
51
- // Использование готовых методов классов
52
- anixartClient.getArticleById(123).then(article => {
53
- if (article) {
54
- console.log("📚 Статья найдена:");
55
- } else {
56
- console.log("⚠️ Статья не найдена.");
57
- }
58
- }).catch(error => {
59
- console.error("🚨 Ошибка при получении статьи:", error);
60
- });
65
+ const client = new Anixart({});
61
66
 
62
- anixartClient.getProfileById(456).then(profile => {
63
- console.log("👤 Профиль пользователя:");
64
- console.log(`Имя пользователя: ${profile.login}`);
65
- console.log(`ID: ${profile.id}`);
66
- }).catch(error => {
67
- console.error("🚨 Ошибка при получении профиля:", error);
68
- });
67
+ async function main() {
68
+ const { release } = await client.endpoints.release.get(
69
+ 101,
70
+ true,
71
+ { timeoutMs: 15_000 }
72
+ );
69
73
 
70
- // Использование эндпоинтов напрямую
71
- anixartClient.endpoints.release.info(789, true).then(rawResponse => {
72
- console.log("🎬 Информация о релизе (RAW):");
73
- console.log(rawResponse);
74
- }).catch(error => {
75
- console.error("🚨 Ошибка при получении информации о релизе:", error);
76
- });
74
+ console.log(`Релиз: ${release.title_ru}`);
75
+ }
76
+
77
+ main().catch(console.error);
77
78
  ```
78
79
 
79
- ### Инициализация
80
+ ### TypeScript
80
81
 
81
- Чтобы начать использовать AnixartJS, создайте экземпляр класса `Anixart`. Вы можете указать пользовательский базовый URL или токен API при инициализации.
82
+ ```typescript
83
+ import { Anixart } from "anixartjs";
84
+
85
+ const client = new Anixart({});
86
+
87
+ const { profile } = await client.endpoints.profile.get(
88
+ 456,
89
+ { timeoutMs: 15_000 }
90
+ );
91
+
92
+ console.log(`Пользователь: ${profile.login}`);
93
+ ```
94
+
95
+ ## Инициализация
96
+
97
+ Клиент создаётся с объектом параметров:
82
98
 
83
99
  ```typescript
84
- import { Anixart } from 'anixartjs'; //ESM or Typescript
85
- const { Anixart } = require("anixartjs"); //CommonJS
100
+ import { Anixart } from "anixartjs";
101
+
102
+ const client = new Anixart({});
103
+ ```
86
104
 
87
- const anixart = new Anixart({
88
- baseUrl: 'base-url', // Опционально, по умолчанию https://api.anixart.tv
89
- token: 'your-token' // Опционально, используется для авторизованных запросов
105
+ Можно сразу передать дополнительные настройки:
106
+
107
+ ```typescript
108
+ const client = new Anixart({
109
+ baseUrl: "https://api.anixsekai.com",
110
+ token: "your-token",
111
+ userAgent: "your-user-agent",
112
+ throwOnAnixartError: true
90
113
  });
91
114
  ```
92
115
 
93
- ### 🔑 Аутентификация
116
+ | Параметр | Тип | Описание |
117
+ | --------------------- | --------- | ------------------------------------------------------------------------------ |
118
+ | `baseUrl` | `string` | Базовый URL API. По умолчанию используется `https://api.anixsekai.com`. |
119
+ | `token` | `string` | Токен для авторизованных запросов. |
120
+ | `userAgent` | `string` | Пользовательский `User-Agent` для HTTP-запросов. |
121
+ | `throwOnAnixartError` | `boolean` | Выбрасывать `AnixartError` при ошибках, возвращаемых API. По умолчанию `true`. |
94
122
 
95
- Для входа в систему используйте метод `login`. После успешной аутентификации токен API будет автоматически сохранен в экземпляре для последующих запросов.
123
+ ### Управление клиентом
124
+
125
+ Токен можно изменить после создания экземпляра:
96
126
 
97
127
  ```typescript
98
- try {
99
- const responseCode = await anixart.login('ваше-имя-пользователя', 'ваш-пароль');
100
-
101
- if (responseCode === 0) {
102
- console.log('🎉 Вход выполнен успешно!');
103
- } else {
104
- console.error('❌ Ошибка входа, код:', responseCode);
128
+ client.setToken("your-token");
129
+ ```
130
+
131
+ Удалить токен:
132
+
133
+ ```typescript
134
+ client.setToken(undefined);
135
+ ```
136
+
137
+ Получить или изменить базовый URL:
138
+
139
+ ```typescript
140
+ console.log(client.getBaseUrl());
141
+
142
+ client.setBaseUrl("https://example.com");
143
+ ```
144
+
145
+ Также библиотека умеет получать актуальный список адресов API:
146
+
147
+ ```typescript
148
+ const endpoints = await Anixart.getEndpointUrls();
149
+
150
+ console.log(endpoints);
151
+ ```
152
+
153
+ ## Авторизация
154
+
155
+ Для входа по логину и паролю используется `client.endpoints.auth.signIn()`.
156
+
157
+ После успешного входа токен можно получить из `profileToken` и установить в клиент через `setToken()`:
158
+
159
+ ```typescript
160
+ import { Anixart } from "anixartjs";
161
+
162
+ const client = new Anixart({});
163
+
164
+ const result = await client.endpoints.auth.signIn(
165
+ {
166
+ login: "username",
167
+ password: "password"
168
+ },
169
+ {
170
+ timeoutMs: 15_000
105
171
  }
106
- } catch (error) {
107
- console.error('🚨 Ошибка при входе:', error);
172
+ );
173
+
174
+ const token = result.profileToken?.token;
175
+
176
+ if (!token) {
177
+ throw new Error("Сервер не вернул токен авторизации.");
108
178
  }
179
+
180
+ client.setToken(token);
181
+
182
+ console.log(`Вход выполнен: ${result.profile.login}`);
109
183
  ```
110
184
 
111
- ### 📥 Получение данных
185
+ Если токен уже известен, его можно передать сразу:
112
186
 
113
- AnixartJS предоставляет методы для получения различных типов данных из API Anixart. Вот несколько примеров:
187
+ ```typescript
188
+ const client = new Anixart({
189
+ token: "your-token"
190
+ });
191
+ ```
114
192
 
115
- #### Получить канал по ID
193
+ > [!IMPORTANT]
194
+ > Не сохраняйте логины, пароли и токены непосредственно в исходном коде. Для приложений и примеров лучше использовать переменные окружения или другое безопасное хранилище конфигурации.
195
+
196
+ ## Работа с эндпоинтами
197
+
198
+ Основная часть API доступна через `client.endpoints`.
199
+
200
+ Например:
116
201
 
117
202
  ```typescript
118
- const channel = await anixart.getChannelById(123);
203
+ client.endpoints.auth
204
+ client.endpoints.article
205
+ client.endpoints.channel
206
+ client.endpoints.collection
207
+ client.endpoints.feed
208
+ client.endpoints.notification
209
+ client.endpoints.profile
210
+ client.endpoints.release
211
+ client.endpoints.search
212
+ ```
119
213
 
120
- if (channel) {
121
- console.log(`📺 Название канала: ${channel.title}`);
122
- } else {
123
- console.log('⚠️ Канал не найден.');
124
- }
214
+ Кроме них доступны специализированные группы для комментариев, друзей, закладок, истории, эпизодов, расписания, настроек профиля, импорта, экспорта и других частей API.
215
+
216
+ ## Примеры использования
217
+
218
+ <details>
219
+ <summary>Получить релиз по ID</summary>
220
+
221
+ ```typescript
222
+ const { release } = await client.endpoints.release.get(
223
+ 101,
224
+ true,
225
+ { timeoutMs: 15_000 }
226
+ );
227
+
228
+ console.log(`ID: ${release.id}`);
229
+ console.log(`Название: ${release.title_ru}`);
230
+ console.log(`Рейтинг: ${release.rating}`);
125
231
  ```
126
232
 
127
- #### Получить профиль пользователя по ID
233
+ </details>
234
+
235
+ <details>
236
+ <summary>Получить случайный релиз</summary>
128
237
 
129
238
  ```typescript
130
- const profile = await anixart.getProfileById(456);
131
- console.log(`👤 Имя пользователя: ${profile.login}`);
239
+ const { release } = await client.endpoints.release.random(
240
+ true,
241
+ { timeoutMs: 15_000 }
242
+ );
243
+
244
+ console.log(`Случайный релиз: ${release.title_ru}`);
132
245
  ```
133
246
 
134
- #### Получить последние статьи ленты
247
+ </details>
248
+
249
+ <details>
250
+ <summary>Получить профиль пользователя</summary>
135
251
 
136
252
  ```typescript
137
- const articles = await anixart.getLatestFeed(1); // Номер страницы как аргумент
138
- articles.forEach(article => {
139
- console.log(`📄 ID статьи: ${article.id}`);
253
+ const { profile } = await client.endpoints.profile.get(
254
+ 456,
255
+ { timeoutMs: 15_000 }
256
+ );
257
+
258
+ console.log(`ID: ${profile.id}`);
259
+ console.log(`Пользователь: ${profile.login}`);
260
+ ```
261
+
262
+ </details>
263
+
264
+ <details>
265
+ <summary>Использовать токен</summary>
266
+
267
+ ```typescript
268
+ const client = new Anixart({
269
+ token: process.env.ANIXART_TOKEN
140
270
  });
141
271
  ```
142
272
 
143
- #### Получить случайный релиз
273
+ Токен также можно установить позднее:
144
274
 
145
275
  ```typescript
146
- const release = await anixart.getRandomRelease(true); // Расширенные детали
147
- console.log(`🎲 Заголовок случайного релиза: ${release.titleRu}`);
276
+ client.setToken(process.env.ANIXART_TOKEN);
148
277
  ```
149
278
 
150
- #### Получить статью по ID
279
+ </details>
280
+
281
+ <details>
282
+ <summary>Установить таймаут запроса</summary>
151
283
 
152
284
  ```typescript
153
- const article = await anixart.getArticleById(789);
285
+ const { profile } = await client.endpoints.profile.get(
286
+ 456,
287
+ {
288
+ timeoutMs: 15_000
289
+ }
290
+ );
291
+ ```
154
292
 
155
- if (article) {
156
- console.log(`📄 ID статьи: ${article.id}`);
157
- } else {
158
- console.log('⚠️ Статья не найдена.');
159
- }
293
+ </details>
294
+
295
+ <details>
296
+ <summary>Отменить запрос</summary>
297
+
298
+ ```typescript
299
+ const controller = new AbortController();
300
+
301
+ const request = client.endpoints.profile.get(
302
+ 456,
303
+ {
304
+ signal: controller.signal,
305
+ timeoutMs: 15_000
306
+ }
307
+ );
308
+
309
+ controller.abort();
310
+
311
+ await request;
160
312
  ```
161
313
 
162
- #### Получить релиз по ID
314
+ </details>
315
+
316
+ ## Параметры запросов
317
+
318
+ Большинство методов принимают объект параметров запроса последним аргументом:
319
+
320
+ ```typescript
321
+ const options = {
322
+ timeoutMs: 15_000,
323
+ signal: controller.signal,
324
+ apiVersion: 2,
325
+ throwOnAnixartError: true
326
+ };
327
+ ```
328
+
329
+ | Параметр | Тип | Описание |
330
+ | --------------------- | ------------- | --------------------------------------------------------------- |
331
+ | `timeoutMs` | `number` | Максимальное время выполнения запроса в миллисекундах. |
332
+ | `signal` | `AbortSignal` | Сигнал для отмены запроса. |
333
+ | `apiVersion` | `number` | Версия API для конкретного запроса. |
334
+ | `throwOnAnixartError` | `boolean` | Управляет выбрасыванием ошибок Anixart для конкретного запроса. |
335
+
336
+ Не все версии API возвращают ответы одинаковой структуры, поэтому при использовании `apiVersion` учитывайте тип ответа конкретного эндпоинта.
337
+
338
+ ## Обработка ошибок
339
+
340
+ AnixartJS экспортирует отдельные классы для ошибок API и HTTP:
163
341
 
164
342
  ```typescript
165
- const release = await anixart.getReleaseById(101, true); // Расширенные детали
343
+ import {
344
+ Anixart,
345
+ AnixartError,
346
+ HttpError
347
+ } from "anixartjs";
348
+
349
+ const client = new Anixart({});
350
+
351
+ try {
352
+ const { profile } = await client.endpoints.profile.get(
353
+ 456,
354
+ { timeoutMs: 15_000 }
355
+ );
356
+
357
+ console.log(profile.login);
358
+ } catch (error) {
359
+ if (error instanceof AnixartError) {
360
+ console.error(
361
+ `Ошибка Anixart: ${error.code} (${error.codeName})`
362
+ );
363
+ return;
364
+ }
365
+
366
+ if (error instanceof HttpError) {
367
+ console.error(`HTTP-ошибка: ${error.status}`);
368
+ return;
369
+ }
166
370
 
167
- if (release) {
168
- console.log(`🎬 Заголовок релиза: ${release.titleRu}`);
169
- } else {
170
- console.log('⚠️ Релиз не найден.');
371
+ if (error instanceof Error && error.name === "AbortError") {
372
+ console.error("Запрос отменён.");
373
+ return;
374
+ }
375
+
376
+ if (error instanceof Error && error.name === "TimeoutError") {
377
+ console.error("Истёк таймаут запроса.");
378
+ return;
379
+ }
380
+
381
+ throw error;
171
382
  }
172
383
  ```
173
- ## TODO
174
- - [ ] Добавление всех эндпоинтов
175
- - [ ] Добавление классов для коллекций
176
- - [ ] Документация
177
- - [ ] Возможность использовать библиотеку в браузере полностью
178
384
 
179
- ## 🤝 Вклад в проект
385
+ ## Дополнительные возможности
386
+
387
+ ### ArticleBuilder
388
+
389
+ В библиотеку входит `ArticleBuilder`, предназначенный для формирования содержимого статей.
390
+
391
+ Подробный пример:
392
+
393
+ [docs/examples/article-builder.md](docs/examples/article-builder.md)
394
+
395
+ Пример создания статьи:
396
+
397
+ [docs/examples/create-article.md](docs/examples/create-article.md)
398
+
399
+ ### Парсеры ссылок
400
+
401
+ AnixartJS также экспортирует парсеры ссылок для поддерживаемых источников видео.
402
+
403
+ Подробнее:
404
+
405
+ [docs/examples/parsers.md](docs/examples/parsers.md)
406
+
407
+ ## Примеры
408
+
409
+ В директории [`examples`](examples) находятся готовые запускаемые примеры:
410
+
411
+ * [`signIn.js`](examples/signIn.js) — авторизация и установка токена;
412
+ * [`searchReleases.js`](examples/searchReleases.js) — поиск релизов;
413
+ * [`getProfile.js`](examples/getProfile.js) — получение профиля, таймаут и отмена запроса;
414
+ * [`getBookmarks.js`](examples/getBookmarks.js) — работа с закладками и пагинацией;
415
+ * [`createArticle.js`](examples/createArticle.js) — создание статьи;
416
+ * [`linkParser.js`](examples/linkParser.js) — работа с парсерами ссылок.
180
417
 
181
- Я рад принимать вклады для улучшения AnixartJS!
418
+ Подробности находятся в [`examples/README.md`](examples/README.md).
182
419
 
183
- Убедитесь, что ваш код соответствует стандартам проекта.
420
+ ## Документация
184
421
 
185
- ## 📜 Лицензия
422
+ Расширенная документация находится в директории [`docs`](docs).
186
423
 
187
- Этот проект лицензирован под **GPL-2.0**. Подробности см. в файле [LICENSE](LICENSE).
424
+ Основные разделы:
425
+
426
+ * [Начало работы](docs/guide/getting-started.md)
427
+ * [Аутентификация](docs/guide/authentication.md)
428
+ * [Запросы](docs/guide/requests.md)
429
+ * [Обработка ошибок](docs/guide/errors.md)
430
+ * [Пагинация](docs/guide/pagination.md)
431
+ * [Примеры](docs/examples)
432
+ * [Справочник API](docs/reference)
433
+
434
+ Документация построена на VitePress, а справочник API генерируется с помощью TypeDoc.
435
+
436
+ ## Проекты, использующие AnixartJS
437
+
438
+ | Проект | Описание |
439
+ | -------------------------------------------------- | ----------------------------------------------------------------------------- |
440
+ | [AniDesk](https://github.com/theDesConnet/AniDesk) | Неофициальный десктоп-клиент Anixart. |
441
+ | [AnixApp](https://github.com/Maks1mio/anixapp) | Неофициальное приложение Anixart для ПК с функционалом совместного просмотра. |
442
+
443
+ ## Вклад в проект
444
+
445
+ Вклад в развитие AnixartJS приветствуется.
446
+
447
+ Вы можете:
448
+
449
+ * сообщить об ошибке через [Issues](https://github.com/theDesConnet/AnixartJS/issues);
450
+ * предложить улучшение;
451
+ * добавить или обновить эндпоинт;
452
+ * исправить типы или модели;
453
+ * улучшить документацию;
454
+ * добавить пример;
455
+ * отправить pull request.
456
+
457
+ Перед отправкой изменений рекомендуется проверить сборку и типы:
458
+
459
+ ```bash
460
+ npm install
461
+ npm run build
462
+ npm run test:typecheck
463
+ ```
464
+
465
+ ## Лицензия
466
+
467
+ Проект распространяется под лицензией **GPL-2.0**.
468
+
469
+ Подробности находятся в файле [LICENSE](LICENSE).
188
470
 
189
471
  ---
190
472
 
191
- Если у вас есть вопросы или проблемы, пожалуйста, откройте issue в [GitHub репозитории](https://github.com/theDesConnet/AnixartJS). Я буду рад помочь! 😊
473
+ <div align="center">
474
+
475
+ Если у вас есть вопросы, предложения или вы нашли проблему, откройте [issue](https://github.com/theDesConnet/AnixartJS/issues).
476
+
477
+ </div>