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.
- package/LICENSE +617 -282
- package/README.md +404 -118
- package/dist/api/article/article.d.ts +422 -0
- package/dist/api/article/article.d.ts.map +1 -0
- package/dist/api/article/article.js +572 -0
- package/dist/api/article/article.js.map +1 -0
- package/dist/api/article/articleComment.d.ts +297 -0
- package/dist/api/article/articleComment.d.ts.map +1 -0
- package/dist/api/article/articleComment.js +398 -0
- package/dist/api/article/articleComment.js.map +1 -0
- package/dist/api/article/articleSuggestion.d.ts +212 -0
- package/dist/api/article/articleSuggestion.d.ts.map +1 -0
- package/dist/api/article/articleSuggestion.js +280 -0
- package/dist/api/article/articleSuggestion.js.map +1 -0
- package/dist/api/auth.d.ts +452 -65
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +652 -92
- package/dist/api/auth.js.map +1 -0
- package/dist/api/channel.d.ts +724 -44
- package/dist/api/channel.d.ts.map +1 -0
- package/dist/api/channel.js +970 -116
- package/dist/api/channel.js.map +1 -0
- package/dist/api/collection/collection.d.ts +143 -0
- package/dist/api/collection/collection.d.ts.map +1 -0
- package/dist/api/collection/collection.js +191 -0
- package/dist/api/collection/collection.js.map +1 -0
- package/dist/api/collection/collectionComment.d.ts +274 -0
- package/dist/api/collection/collectionComment.d.ts.map +1 -0
- package/dist/api/collection/collectionComment.js +368 -0
- package/dist/api/collection/collectionComment.js.map +1 -0
- package/dist/api/collection/collectionFavorite.d.ts +87 -0
- package/dist/api/collection/collectionFavorite.d.ts.map +1 -0
- package/dist/api/collection/collectionFavorite.js +114 -0
- package/dist/api/collection/collectionFavorite.js.map +1 -0
- package/dist/api/collection/collectionMy.d.ts +193 -0
- package/dist/api/collection/collectionMy.d.ts.map +1 -0
- package/dist/api/collection/collectionMy.js +266 -0
- package/dist/api/collection/collectionMy.js.map +1 -0
- package/dist/api/config.d.ts +83 -0
- package/dist/api/config.d.ts.map +1 -0
- package/dist/api/config.js +115 -0
- package/dist/api/config.js.map +1 -0
- package/dist/api/discover.d.ts +75 -46
- package/dist/api/discover.d.ts.map +1 -0
- package/dist/api/discover.js +104 -49
- package/dist/api/discover.js.map +1 -0
- package/dist/api/export.d.ts +41 -0
- package/dist/api/export.d.ts.map +1 -0
- package/dist/api/export.js +60 -0
- package/dist/api/export.js.map +1 -0
- package/dist/api/feed.d.ts +64 -20
- package/dist/api/feed.d.ts.map +1 -0
- package/dist/api/feed.js +85 -20
- package/dist/api/feed.js.map +1 -0
- package/dist/api/import.d.ts +65 -0
- package/dist/api/import.d.ts.map +1 -0
- package/dist/api/import.js +89 -0
- package/dist/api/import.js.map +1 -0
- package/dist/api/notification/notification.d.ts +284 -0
- package/dist/api/notification/notification.d.ts.map +1 -0
- package/dist/api/notification/notification.js +371 -0
- package/dist/api/notification/notification.js.map +1 -0
- package/dist/api/notification/notificationPreference.d.ts +188 -0
- package/dist/api/notification/notificationPreference.d.ts.map +1 -0
- package/dist/api/notification/notificationPreference.js +252 -0
- package/dist/api/notification/notificationPreference.js.map +1 -0
- package/dist/api/profile/profile.d.ts +99 -0
- package/dist/api/profile/profile.d.ts.map +1 -0
- package/dist/api/profile/profile.js +132 -0
- package/dist/api/profile/profile.js.map +1 -0
- package/dist/api/profile/profileBadge.d.ts +79 -0
- package/dist/api/profile/profileBadge.d.ts.map +1 -0
- package/dist/api/profile/profileBadge.js +103 -0
- package/dist/api/profile/profileBadge.js.map +1 -0
- package/dist/api/profile/profileBlockList.d.ts +85 -0
- package/dist/api/profile/profileBlockList.d.ts.map +1 -0
- package/dist/api/profile/profileBlockList.js +111 -0
- package/dist/api/profile/profileBlockList.js.map +1 -0
- package/dist/api/profile/profileDeletion.d.ts +81 -0
- package/dist/api/profile/profileDeletion.d.ts.map +1 -0
- package/dist/api/profile/profileDeletion.js +115 -0
- package/dist/api/profile/profileDeletion.js.map +1 -0
- package/dist/api/profile/profileFriend.d.ts +184 -0
- package/dist/api/profile/profileFriend.d.ts.map +1 -0
- package/dist/api/profile/profileFriend.js +244 -0
- package/dist/api/profile/profileFriend.js.map +1 -0
- package/dist/api/profile/profileHealth.d.ts +124 -0
- package/dist/api/profile/profileHealth.d.ts.map +1 -0
- package/dist/api/profile/profileHealth.js +168 -0
- package/dist/api/profile/profileHealth.js.map +1 -0
- package/dist/api/profile/profileList.d.ts +135 -0
- package/dist/api/profile/profileList.d.ts.map +1 -0
- package/dist/api/profile/profileList.js +174 -0
- package/dist/api/profile/profileList.js.map +1 -0
- package/dist/api/profile/profilePreference.d.ts +692 -0
- package/dist/api/profile/profilePreference.d.ts.map +1 -0
- package/dist/api/profile/profilePreference.js +1014 -0
- package/dist/api/profile/profilePreference.js.map +1 -0
- package/dist/api/profile/profileReleaseVote.d.ts +81 -0
- package/dist/api/profile/profileReleaseVote.d.ts.map +1 -0
- package/dist/api/profile/profileReleaseVote.js +108 -0
- package/dist/api/profile/profileReleaseVote.js.map +1 -0
- package/dist/api/profile/profileRoleList.d.ts +34 -0
- package/dist/api/profile/profileRoleList.d.ts.map +1 -0
- package/dist/api/profile/profileRoleList.js +44 -0
- package/dist/api/profile/profileRoleList.js.map +1 -0
- package/dist/api/release/episode.d.ts +254 -0
- package/dist/api/release/episode.d.ts.map +1 -0
- package/dist/api/release/episode.js +260 -0
- package/dist/api/release/episode.js.map +1 -0
- package/dist/api/release/favorite.d.ts +89 -0
- package/dist/api/release/favorite.d.ts.map +1 -0
- package/dist/api/release/favorite.js +117 -0
- package/dist/api/release/favorite.js.map +1 -0
- package/dist/api/release/filter.d.ts +44 -0
- package/dist/api/release/filter.d.ts.map +1 -0
- package/dist/api/release/filter.js +61 -0
- package/dist/api/release/filter.js.map +1 -0
- package/dist/api/release/history.d.ts +89 -0
- package/dist/api/release/history.d.ts.map +1 -0
- package/dist/api/release/history.js +113 -0
- package/dist/api/release/history.js.map +1 -0
- package/dist/api/release/related.d.ts +34 -0
- package/dist/api/release/related.d.ts.map +1 -0
- package/dist/api/release/related.js +46 -0
- package/dist/api/release/related.js.map +1 -0
- package/dist/api/release/release.d.ts +192 -0
- package/dist/api/release/release.d.ts.map +1 -0
- package/dist/api/release/release.js +259 -0
- package/dist/api/release/release.js.map +1 -0
- package/dist/api/release/releaseComment.d.ts +282 -0
- package/dist/api/release/releaseComment.d.ts.map +1 -0
- package/dist/api/release/releaseComment.js +376 -0
- package/dist/api/release/releaseComment.js.map +1 -0
- package/dist/api/release/releaseStreamingPlatform.d.ts +29 -0
- package/dist/api/release/releaseStreamingPlatform.d.ts.map +1 -0
- package/dist/api/release/releaseStreamingPlatform.js +38 -0
- package/dist/api/release/releaseStreamingPlatform.js.map +1 -0
- package/dist/api/release/releaseVideo.d.ts +125 -0
- package/dist/api/release/releaseVideo.d.ts.map +1 -0
- package/dist/api/release/releaseVideo.js +161 -0
- package/dist/api/release/releaseVideo.js.map +1 -0
- package/dist/api/release/releaseVideoAppeal.d.ts +93 -0
- package/dist/api/release/releaseVideoAppeal.d.ts.map +1 -0
- package/dist/api/release/releaseVideoAppeal.js +124 -0
- package/dist/api/release/releaseVideoAppeal.js.map +1 -0
- package/dist/api/release/releaseVideoFavorite.d.ts +86 -0
- package/dist/api/release/releaseVideoFavorite.d.ts.map +1 -0
- package/dist/api/release/releaseVideoFavorite.js +110 -0
- package/dist/api/release/releaseVideoFavorite.js.map +1 -0
- package/dist/api/release/schedule.d.ts +25 -0
- package/dist/api/release/schedule.d.ts.map +1 -0
- package/dist/api/release/schedule.js +34 -0
- package/dist/api/release/schedule.js.map +1 -0
- package/dist/api/report.d.ts +68 -0
- package/dist/api/report.d.ts.map +1 -0
- package/dist/api/report.js +91 -0
- package/dist/api/report.js.map +1 -0
- package/dist/api/search.d.ts +360 -216
- package/dist/api/search.d.ts.map +1 -0
- package/dist/api/search.js +482 -226
- package/dist/api/search.js.map +1 -0
- package/dist/api/type.d.ts +159 -0
- package/dist/api/type.d.ts.map +1 -0
- package/dist/api/type.js +207 -0
- package/dist/api/type.js.map +1 -0
- package/dist/core/anixartClient.d.ts +25 -0
- package/dist/core/anixartClient.d.ts.map +1 -0
- package/dist/core/anixartClient.js +35 -0
- package/dist/core/anixartClient.js.map +1 -0
- package/dist/core/endpoints.d.ts +87 -0
- package/dist/core/endpoints.d.ts.map +1 -0
- package/dist/core/endpoints.js +132 -0
- package/dist/core/endpoints.js.map +1 -0
- package/dist/core/errors/anixartError.d.ts +8 -0
- package/dist/core/errors/anixartError.d.ts.map +1 -0
- package/dist/core/errors/anixartError.js +19 -0
- package/dist/core/errors/anixartError.js.map +1 -0
- package/dist/core/errors/httpError.d.ts +6 -0
- package/dist/core/errors/httpError.d.ts.map +1 -0
- package/dist/core/errors/httpError.js +15 -0
- package/dist/core/errors/httpError.js.map +1 -0
- package/dist/core/http/httpClient.d.ts +15 -0
- package/dist/core/http/httpClient.d.ts.map +1 -0
- package/dist/core/http/httpClient.js +153 -0
- package/dist/core/http/httpClient.js.map +1 -0
- package/dist/core/http/httpTypes.d.ts +49 -0
- package/dist/core/http/httpTypes.d.ts.map +1 -0
- package/dist/core/http/httpTypes.js +3 -0
- package/dist/core/http/httpTypes.js.map +1 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -0
- package/dist/models/article/enums.d.ts +51 -0
- package/dist/models/article/enums.d.ts.map +1 -0
- package/dist/models/article/enums.js +62 -0
- package/dist/models/article/enums.js.map +1 -0
- package/dist/models/article/types.d.ts +167 -0
- package/dist/models/article/types.d.ts.map +1 -0
- package/dist/{types/notification.js → models/article/types.js} +1 -0
- package/dist/models/article/types.js.map +1 -0
- package/dist/models/auth/enums.d.ts +139 -0
- package/dist/models/auth/enums.d.ts.map +1 -0
- package/dist/models/auth/enums.js +159 -0
- package/dist/models/auth/enums.js.map +1 -0
- package/dist/models/auth/types.d.ts +95 -0
- package/dist/models/auth/types.d.ts.map +1 -0
- package/dist/{types/request.js → models/auth/types.js} +1 -0
- package/dist/models/auth/types.js.map +1 -0
- package/dist/models/channel/enums.d.ts +63 -0
- package/dist/models/channel/enums.d.ts.map +1 -0
- package/dist/models/channel/enums.js +79 -0
- package/dist/models/channel/enums.js.map +1 -0
- package/dist/models/channel/types.d.ts +129 -0
- package/dist/models/channel/types.d.ts.map +1 -0
- package/dist/models/channel/types.js +3 -0
- package/dist/models/channel/types.js.map +1 -0
- package/dist/models/collection/enums.d.ts +39 -0
- package/dist/models/collection/enums.d.ts.map +1 -0
- package/dist/{types/collection.js → models/collection/enums.js} +6 -1
- package/dist/models/collection/enums.js.map +1 -0
- package/dist/models/collection/types.d.ts +54 -0
- package/dist/models/collection/types.d.ts.map +1 -0
- package/dist/models/collection/types.js +3 -0
- package/dist/models/collection/types.js.map +1 -0
- package/dist/models/common/enums.d.ts +29 -0
- package/dist/models/common/enums.d.ts.map +1 -0
- package/dist/{types/response.js → models/common/enums.js} +10 -9
- package/dist/models/common/enums.js.map +1 -0
- package/dist/models/common/types.d.ts +52 -0
- package/dist/models/common/types.d.ts.map +1 -0
- package/dist/models/common/types.js +3 -0
- package/dist/models/common/types.js.map +1 -0
- package/dist/models/config/types.d.ts +66 -0
- package/dist/models/config/types.d.ts.map +1 -0
- package/dist/models/config/types.js +3 -0
- package/dist/models/config/types.js.map +1 -0
- package/dist/models/index.d.ts +23 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +39 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/notification/enums.d.ts +26 -0
- package/dist/models/notification/enums.d.ts.map +1 -0
- package/dist/models/notification/enums.js +32 -0
- package/dist/models/notification/enums.js.map +1 -0
- package/dist/models/notification/types.d.ts +66 -0
- package/dist/models/notification/types.d.ts.map +1 -0
- package/dist/models/notification/types.js +3 -0
- package/dist/models/notification/types.js.map +1 -0
- package/dist/models/preference/enums.d.ts +79 -0
- package/dist/models/preference/enums.d.ts.map +1 -0
- package/dist/models/preference/enums.js +99 -0
- package/dist/models/preference/enums.js.map +1 -0
- package/dist/models/preference/types.d.ts +61 -0
- package/dist/models/preference/types.d.ts.map +1 -0
- package/dist/models/preference/types.js +3 -0
- package/dist/models/preference/types.js.map +1 -0
- package/dist/models/profile/enums.d.ts +68 -0
- package/dist/models/profile/enums.d.ts.map +1 -0
- package/dist/models/profile/enums.js +83 -0
- package/dist/models/profile/enums.js.map +1 -0
- package/dist/models/profile/types.d.ts +263 -0
- package/dist/models/profile/types.d.ts.map +1 -0
- package/dist/models/profile/types.js +3 -0
- package/dist/models/profile/types.js.map +1 -0
- package/dist/models/release/enums.d.ts +57 -0
- package/dist/models/release/enums.d.ts.map +1 -0
- package/dist/models/release/enums.js +69 -0
- package/dist/models/release/enums.js.map +1 -0
- package/dist/models/release/types.d.ts +283 -0
- package/dist/models/release/types.d.ts.map +1 -0
- package/dist/models/release/types.js +3 -0
- package/dist/models/release/types.js.map +1 -0
- package/dist/models/report/enums.d.ts +17 -0
- package/dist/models/report/enums.d.ts.map +1 -0
- package/dist/models/report/enums.js +22 -0
- package/dist/models/report/enums.js.map +1 -0
- package/dist/models/report/types.d.ts +23 -0
- package/dist/models/report/types.d.ts.map +1 -0
- package/dist/models/report/types.js +4 -0
- package/dist/models/report/types.js.map +1 -0
- package/dist/models/search/types.d.ts +27 -0
- package/dist/models/search/types.d.ts.map +1 -0
- package/dist/models/search/types.js +3 -0
- package/dist/models/search/types.js.map +1 -0
- package/dist/utils/ArticleBuilder.d.ts +41 -12
- package/dist/utils/ArticleBuilder.d.ts.map +1 -0
- package/dist/utils/ArticleBuilder.js +130 -115
- package/dist/utils/ArticleBuilder.js.map +1 -0
- package/dist/utils/{LinkParser.d.ts → linkParser/anilibria.d.ts} +15 -85
- package/dist/utils/linkParser/anilibria.d.ts.map +1 -0
- package/dist/utils/linkParser/anilibria.js +42 -0
- package/dist/utils/linkParser/anilibria.js.map +1 -0
- package/dist/utils/linkParser/index.d.ts +9 -0
- package/dist/utils/linkParser/index.d.ts.map +1 -0
- package/dist/utils/linkParser/index.js +29 -0
- package/dist/utils/linkParser/index.js.map +1 -0
- package/dist/utils/linkParser/kodik.d.ts +50 -0
- package/dist/utils/linkParser/kodik.d.ts.map +1 -0
- package/dist/utils/linkParser/kodik.js +86 -0
- package/dist/utils/linkParser/kodik.js.map +1 -0
- package/dist/utils/linkParser/ok.d.ts +9 -0
- package/dist/utils/linkParser/ok.d.ts.map +1 -0
- package/dist/utils/linkParser/ok.js +62 -0
- package/dist/utils/linkParser/ok.js.map +1 -0
- package/dist/utils/linkParser/parseHlsMaster.d.ts +6 -0
- package/dist/utils/linkParser/parseHlsMaster.d.ts.map +1 -0
- package/dist/utils/linkParser/parseHlsMaster.js +57 -0
- package/dist/utils/linkParser/parseHlsMaster.js.map +1 -0
- package/dist/utils/linkParser/request.d.ts +7 -0
- package/dist/utils/linkParser/request.d.ts.map +1 -0
- package/dist/utils/linkParser/request.js +50 -0
- package/dist/utils/linkParser/request.js.map +1 -0
- package/dist/utils/linkParser/rutube.d.ts +8 -0
- package/dist/utils/linkParser/rutube.d.ts.map +1 -0
- package/dist/utils/linkParser/rutube.js +28 -0
- package/dist/utils/linkParser/rutube.js.map +1 -0
- package/dist/utils/linkParser/sibnet.d.ts +8 -0
- package/dist/utils/linkParser/sibnet.d.ts.map +1 -0
- package/dist/utils/linkParser/sibnet.js +26 -0
- package/dist/utils/linkParser/sibnet.js.map +1 -0
- package/dist/utils/linkParser/types.d.ts +12 -0
- package/dist/utils/linkParser/types.d.ts.map +1 -0
- package/dist/utils/linkParser/types.js +3 -0
- package/dist/utils/linkParser/types.js.map +1 -0
- package/dist/utils/linkParser/vk.d.ts +13 -0
- package/dist/utils/linkParser/vk.d.ts.map +1 -0
- package/dist/utils/linkParser/vk.js +58 -0
- package/dist/utils/linkParser/vk.js.map +1 -0
- package/package.json +5 -5
- package/dist/api/collection.d.ts +0 -27
- package/dist/api/collection.js +0 -62
- package/dist/api/index.d.ts +0 -10
- package/dist/api/index.js +0 -26
- package/dist/api/notification.d.ts +0 -17
- package/dist/api/notification.js +0 -42
- package/dist/api/profile.d.ts +0 -388
- package/dist/api/profile.js +0 -437
- package/dist/api/release.d.ts +0 -41
- package/dist/api/release.js +0 -104
- package/dist/api/settings.d.ts +0 -29
- package/dist/api/settings.js +0 -78
- package/dist/classes/Article.d.ts +0 -18
- package/dist/classes/Article.js +0 -44
- package/dist/classes/ArticleComment.d.ts +0 -15
- package/dist/classes/ArticleComment.js +0 -37
- package/dist/classes/BaseArticle.d.ts +0 -21
- package/dist/classes/BaseArticle.js +0 -23
- package/dist/classes/BaseComment.d.ts +0 -22
- package/dist/classes/BaseComment.js +0 -25
- package/dist/classes/BaseProfile.d.ts +0 -29
- package/dist/classes/BaseProfile.js +0 -50
- package/dist/classes/Channel.d.ts +0 -47
- package/dist/classes/Channel.js +0 -104
- package/dist/classes/Collection.d.ts +0 -29
- package/dist/classes/Collection.js +0 -58
- package/dist/classes/Dubber.d.ts +0 -19
- package/dist/classes/Dubber.js +0 -24
- package/dist/classes/Episode.d.ts +0 -20
- package/dist/classes/Episode.js +0 -30
- package/dist/classes/FullProfile.d.ts +0 -71
- package/dist/classes/FullProfile.js +0 -93
- package/dist/classes/Release.d.ts +0 -91
- package/dist/classes/Release.js +0 -154
- package/dist/classes/ReleaseComment.d.ts +0 -16
- package/dist/classes/ReleaseComment.js +0 -45
- package/dist/classes/Source.d.ts +0 -15
- package/dist/classes/Source.js +0 -20
- package/dist/classes/SuggestionArticle.d.ts +0 -14
- package/dist/classes/SuggestionArticle.js +0 -29
- package/dist/client.d.ts +0 -46
- package/dist/client.js +0 -149
- package/dist/endpoints.d.ts +0 -27
- package/dist/endpoints.js +0 -34
- package/dist/types/auth.d.ts +0 -64
- package/dist/types/auth.js +0 -47
- package/dist/types/channel.d.ts +0 -277
- package/dist/types/channel.js +0 -97
- package/dist/types/collection.d.ts +0 -84
- package/dist/types/index.d.ts +0 -12
- package/dist/types/index.js +0 -25
- package/dist/types/notification.d.ts +0 -36
- package/dist/types/profile.d.ts +0 -213
- package/dist/types/profile.js +0 -46
- package/dist/types/release.d.ts +0 -336
- package/dist/types/release.js +0 -39
- package/dist/types/request.d.ts +0 -36
- package/dist/types/response.d.ts +0 -77
- package/dist/types/settings.d.ts +0 -89
- package/dist/types/settings.js +0 -48
- package/dist/utils/LinkParser.js +0 -121
- package/dist/utils/Utils.d.ts +0 -3
- package/dist/utils/Utils.js +0 -11
package/README.md
CHANGED
|
@@ -1,191 +1,477 @@
|
|
|
1
|
-
> [!WARNING]
|
|
2
|
-
>
|
|
1
|
+
> [!WARNING]
|
|
2
|
+
> Проект создан исключительно в ознакомительных целях. Автор осуждает и не поддерживает создание авторегов, ботов для накрутки лайков, спам-ботов и любых других инструментов, направленных на абуз или злоупотребление API Anixart.
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
> [!IMPORTANT]
|
|
5
|
+
> Новая версия AnixartJS содержит значительные изменения и не полностью совместима с версиями **v0.x**.
|
|
6
|
+
>
|
|
7
|
+
> В версии v1.x была переработана структура проекта, изменён публичный API, способы вызова эндпоинтов, авторизации, конфигурации клиента и часть моделей данных.
|
|
8
|
+
>
|
|
9
|
+
> Если ваш проект использует старую версию AnixartJS, обновление может потребовать изменений в существующем коде. Перед переходом рекомендуется изучить изменения в новой версии, проверить используемые методы и типы, а также заранее заложить время на миграцию и тестирование.
|
|
10
|
+
>
|
|
11
|
+
> Не рекомендуется обновлять AnixartJS в существующем проекте без предварительной проверки совместимости.
|
|
5
12
|
|
|
6
|
-
|
|
13
|
+
<br />
|
|
7
14
|
|
|
15
|
+
<div align="center">
|
|
8
16
|
|
|
9
|
-
|
|
17
|
+
# AnixartJS
|
|
10
18
|
|
|
11
|
-
|
|
12
|
-
2. [Использование](#-использование)
|
|
13
|
-
- [Пример](#пример-использования-anixartjs)
|
|
14
|
-
- [Инициализация](#инициализация)
|
|
15
|
-
- [Аутентификация](#аутентификация)
|
|
16
|
-
- [Получение данных](#получение-данных)
|
|
17
|
-
4. [Вклад в проект](#-вклад-в-проект)
|
|
18
|
-
5. [Лицензия](#-лицензия)
|
|
19
|
+
TypeScript-библиотека для работы с API Anixart в Node.js
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
[](https://www.npmjs.com/package/anixartjs)
|
|
22
|
+
[](LICENSE)
|
|
23
|
+
[](https://github.com/theDesConnet/AnixartJS)
|
|
24
|
+
[](https://github.com/theDesConnet/AnixartJS/issues)
|
|
21
25
|
|
|
22
|
-
|
|
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
|
-
|
|
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
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
|
|
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
|
|
85
|
-
|
|
100
|
+
import { Anixart } from "anixartjs";
|
|
101
|
+
|
|
102
|
+
const client = new Anixart({});
|
|
103
|
+
```
|
|
86
104
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
123
|
+
### Управление клиентом
|
|
124
|
+
|
|
125
|
+
Токен можно изменить после создания экземпляра:
|
|
96
126
|
|
|
97
127
|
```typescript
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
-
|
|
107
|
-
|
|
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
|
-
|
|
187
|
+
```typescript
|
|
188
|
+
const client = new Anixart({
|
|
189
|
+
token: "your-token"
|
|
190
|
+
});
|
|
191
|
+
```
|
|
114
192
|
|
|
115
|
-
|
|
193
|
+
> [!IMPORTANT]
|
|
194
|
+
> Не сохраняйте логины, пароли и токены непосредственно в исходном коде. Для приложений и примеров лучше использовать переменные окружения или другое безопасное хранилище конфигурации.
|
|
195
|
+
|
|
196
|
+
## Работа с эндпоинтами
|
|
197
|
+
|
|
198
|
+
Основная часть API доступна через `client.endpoints`.
|
|
199
|
+
|
|
200
|
+
Например:
|
|
116
201
|
|
|
117
202
|
```typescript
|
|
118
|
-
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
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
|
-
|
|
233
|
+
</details>
|
|
234
|
+
|
|
235
|
+
<details>
|
|
236
|
+
<summary>Получить случайный релиз</summary>
|
|
128
237
|
|
|
129
238
|
```typescript
|
|
130
|
-
const
|
|
131
|
-
|
|
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
|
|
138
|
-
|
|
139
|
-
|
|
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
|
-
|
|
147
|
-
console.log(`🎲 Заголовок случайного релиза: ${release.titleRu}`);
|
|
276
|
+
client.setToken(process.env.ANIXART_TOKEN);
|
|
148
277
|
```
|
|
149
278
|
|
|
150
|
-
|
|
279
|
+
</details>
|
|
280
|
+
|
|
281
|
+
<details>
|
|
282
|
+
<summary>Установить таймаут запроса</summary>
|
|
151
283
|
|
|
152
284
|
```typescript
|
|
153
|
-
const
|
|
285
|
+
const { profile } = await client.endpoints.profile.get(
|
|
286
|
+
456,
|
|
287
|
+
{
|
|
288
|
+
timeoutMs: 15_000
|
|
289
|
+
}
|
|
290
|
+
);
|
|
291
|
+
```
|
|
154
292
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
-
|
|
418
|
+
Подробности находятся в [`examples/README.md`](examples/README.md).
|
|
182
419
|
|
|
183
|
-
|
|
420
|
+
## Документация
|
|
184
421
|
|
|
185
|
-
|
|
422
|
+
Расширенная документация находится в директории [`docs`](docs).
|
|
186
423
|
|
|
187
|
-
|
|
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
|
-
|
|
473
|
+
<div align="center">
|
|
474
|
+
|
|
475
|
+
Если у вас есть вопросы, предложения или вы нашли проблему, откройте [issue](https://github.com/theDesConnet/AnixartJS/issues).
|
|
476
|
+
|
|
477
|
+
</div>
|