anixapi 0.2.1

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 (164) hide show
  1. package/LICENSE +339 -0
  2. package/README.md +165 -0
  3. package/dist/api/auth.d.ts +129 -0
  4. package/dist/api/auth.js +156 -0
  5. package/dist/api/bookmarks/export.d.ts +19 -0
  6. package/dist/api/bookmarks/export.js +24 -0
  7. package/dist/api/bookmarks/import.d.ts +29 -0
  8. package/dist/api/bookmarks/import.js +36 -0
  9. package/dist/api/bookmarks/index.d.ts +2 -0
  10. package/dist/api/bookmarks/index.js +18 -0
  11. package/dist/api/channel/article.d.ts +119 -0
  12. package/dist/api/channel/article.js +144 -0
  13. package/dist/api/channel/articleComment.d.ts +119 -0
  14. package/dist/api/channel/articleComment.js +144 -0
  15. package/dist/api/channel/articleSuggestion.d.ts +69 -0
  16. package/dist/api/channel/articleSuggestion.js +84 -0
  17. package/dist/api/channel/channel.d.ts +249 -0
  18. package/dist/api/channel/channel.js +300 -0
  19. package/dist/api/channel/index.d.ts +4 -0
  20. package/dist/api/channel/index.js +20 -0
  21. package/dist/api/collection/collection.d.ts +59 -0
  22. package/dist/api/collection/collection.js +72 -0
  23. package/dist/api/collection/collectionComment.d.ts +109 -0
  24. package/dist/api/collection/collectionComment.js +132 -0
  25. package/dist/api/collection/collectionFavorite.d.ts +39 -0
  26. package/dist/api/collection/collectionFavorite.js +48 -0
  27. package/dist/api/collection/collectionMy.d.ts +69 -0
  28. package/dist/api/collection/collectionMy.js +84 -0
  29. package/dist/api/collection/index.d.ts +4 -0
  30. package/dist/api/collection/index.js +20 -0
  31. package/dist/api/config.d.ts +29 -0
  32. package/dist/api/config.js +36 -0
  33. package/dist/api/discover.d.ts +59 -0
  34. package/dist/api/discover.js +72 -0
  35. package/dist/api/feed.d.ts +39 -0
  36. package/dist/api/feed.js +48 -0
  37. package/dist/api/index.d.ts +12 -0
  38. package/dist/api/index.js +28 -0
  39. package/dist/api/notification/index.d.ts +2 -0
  40. package/dist/api/notification/index.js +18 -0
  41. package/dist/api/notification/notification.d.ts +199 -0
  42. package/dist/api/notification/notification.js +240 -0
  43. package/dist/api/notification/notificationPreference.d.ts +159 -0
  44. package/dist/api/notification/notificationPreference.js +192 -0
  45. package/dist/api/profile/index.d.ts +10 -0
  46. package/dist/api/profile/index.js +26 -0
  47. package/dist/api/profile/profile.d.ts +65 -0
  48. package/dist/api/profile/profile.js +80 -0
  49. package/dist/api/profile/profileBadge.d.ts +39 -0
  50. package/dist/api/profile/profileBadge.js +48 -0
  51. package/dist/api/profile/profileBlockList.d.ts +39 -0
  52. package/dist/api/profile/profileBlockList.js +48 -0
  53. package/dist/api/profile/profileDeletion.d.ts +39 -0
  54. package/dist/api/profile/profileDeletion.js +48 -0
  55. package/dist/api/profile/profileFriend.d.ts +99 -0
  56. package/dist/api/profile/profileFriend.js +120 -0
  57. package/dist/api/profile/profileHealth.d.ts +59 -0
  58. package/dist/api/profile/profileHealth.js +72 -0
  59. package/dist/api/profile/profileList.d.ts +49 -0
  60. package/dist/api/profile/profileList.js +60 -0
  61. package/dist/api/profile/profilePreference.d.ts +239 -0
  62. package/dist/api/profile/profilePreference.js +288 -0
  63. package/dist/api/profile/profileReleaseVote.d.ts +39 -0
  64. package/dist/api/profile/profileReleaseVote.js +48 -0
  65. package/dist/api/profile/profileRoleList.d.ts +19 -0
  66. package/dist/api/profile/profileRoleList.js +24 -0
  67. package/dist/api/release/episode.d.ts +99 -0
  68. package/dist/api/release/episode.js +120 -0
  69. package/dist/api/release/favorite.d.ts +39 -0
  70. package/dist/api/release/favorite.js +48 -0
  71. package/dist/api/release/filter.d.ts +19 -0
  72. package/dist/api/release/filter.js +24 -0
  73. package/dist/api/release/history.d.ts +39 -0
  74. package/dist/api/release/history.js +48 -0
  75. package/dist/api/release/index.d.ts +13 -0
  76. package/dist/api/release/index.js +29 -0
  77. package/dist/api/release/related.d.ts +19 -0
  78. package/dist/api/release/related.js +24 -0
  79. package/dist/api/release/release.d.ts +79 -0
  80. package/dist/api/release/release.js +96 -0
  81. package/dist/api/release/releaseComment.d.ts +109 -0
  82. package/dist/api/release/releaseComment.js +132 -0
  83. package/dist/api/release/releaseStreamingPlatform.d.ts +19 -0
  84. package/dist/api/release/releaseStreamingPlatform.js +24 -0
  85. package/dist/api/release/releaseVideo.d.ts +59 -0
  86. package/dist/api/release/releaseVideo.js +72 -0
  87. package/dist/api/release/releaseVideoAppeal.d.ts +49 -0
  88. package/dist/api/release/releaseVideoAppeal.js +60 -0
  89. package/dist/api/release/releaseVideoFavorite.d.ts +39 -0
  90. package/dist/api/release/releaseVideoFavorite.js +48 -0
  91. package/dist/api/release/schedule.d.ts +19 -0
  92. package/dist/api/release/schedule.js +24 -0
  93. package/dist/api/release/type.d.ts +39 -0
  94. package/dist/api/release/type.js +48 -0
  95. package/dist/api/report.d.ts +189 -0
  96. package/dist/api/report.js +228 -0
  97. package/dist/api/search.d.ts +129 -0
  98. package/dist/api/search.js +156 -0
  99. package/dist/classes/Article.d.ts +18 -0
  100. package/dist/classes/Article.js +44 -0
  101. package/dist/classes/ArticleComment.d.ts +15 -0
  102. package/dist/classes/ArticleComment.js +37 -0
  103. package/dist/classes/BaseArticle.d.ts +21 -0
  104. package/dist/classes/BaseArticle.js +23 -0
  105. package/dist/classes/BaseComment.d.ts +22 -0
  106. package/dist/classes/BaseComment.js +25 -0
  107. package/dist/classes/BaseProfile.d.ts +29 -0
  108. package/dist/classes/BaseProfile.js +52 -0
  109. package/dist/classes/Channel.d.ts +47 -0
  110. package/dist/classes/Channel.js +108 -0
  111. package/dist/classes/Collection.d.ts +29 -0
  112. package/dist/classes/Collection.js +58 -0
  113. package/dist/classes/Dubber.d.ts +19 -0
  114. package/dist/classes/Dubber.js +24 -0
  115. package/dist/classes/Episode.d.ts +20 -0
  116. package/dist/classes/Episode.js +30 -0
  117. package/dist/classes/FullProfile.d.ts +70 -0
  118. package/dist/classes/FullProfile.js +92 -0
  119. package/dist/classes/Release.d.ts +91 -0
  120. package/dist/classes/Release.js +150 -0
  121. package/dist/classes/ReleaseComment.d.ts +16 -0
  122. package/dist/classes/ReleaseComment.js +45 -0
  123. package/dist/classes/Source.d.ts +15 -0
  124. package/dist/classes/Source.js +20 -0
  125. package/dist/classes/SuggestionArticle.d.ts +14 -0
  126. package/dist/classes/SuggestionArticle.js +30 -0
  127. package/dist/client.d.ts +49 -0
  128. package/dist/client.js +183 -0
  129. package/dist/endpoints.d.ts +63 -0
  130. package/dist/endpoints.js +67 -0
  131. package/dist/errors.d.ts +37 -0
  132. package/dist/errors.js +122 -0
  133. package/dist/index.d.ts +5 -0
  134. package/dist/index.js +23 -0
  135. package/dist/types/auth.d.ts +127 -0
  136. package/dist/types/auth.js +47 -0
  137. package/dist/types/channel.d.ts +350 -0
  138. package/dist/types/channel.js +104 -0
  139. package/dist/types/collection.d.ts +105 -0
  140. package/dist/types/collection.js +44 -0
  141. package/dist/types/config.d.ts +41 -0
  142. package/dist/types/config.js +4 -0
  143. package/dist/types/index.d.ts +13 -0
  144. package/dist/types/index.js +26 -0
  145. package/dist/types/notification.d.ts +81 -0
  146. package/dist/types/notification.js +2 -0
  147. package/dist/types/profile.d.ts +339 -0
  148. package/dist/types/profile.js +46 -0
  149. package/dist/types/release.d.ts +467 -0
  150. package/dist/types/release.js +39 -0
  151. package/dist/types/request.d.ts +138 -0
  152. package/dist/types/request.js +2 -0
  153. package/dist/types/response.d.ts +104 -0
  154. package/dist/types/response.js +35 -0
  155. package/dist/types/settings.d.ts +119 -0
  156. package/dist/types/settings.js +48 -0
  157. package/dist/utils/ArticleBuilder.d.ts +38 -0
  158. package/dist/utils/ArticleBuilder.js +144 -0
  159. package/dist/utils/LinkParser.d.ts +253 -0
  160. package/dist/utils/LinkParser.js +253 -0
  161. package/dist/utils/Utils.d.ts +3 -0
  162. package/dist/utils/Utils.js +11 -0
  163. package/docs/DOCUMENTATION.md +290 -0
  164. package/package.json +55 -0
@@ -0,0 +1,104 @@
1
+ import { IDubber, IRelease } from "./release";
2
+ import { IProfileCompact, IProfileShort } from "./profile";
3
+ export declare enum DefaultResult {
4
+ Ok = 0,
5
+ UnexpectedError = 1,
6
+ Unauthorized = 401,
7
+ Ban = 402,
8
+ PermBan = 403
9
+ }
10
+ export interface IResponse<T extends number = DefaultResult> {
11
+ code: DefaultResult | T;
12
+ }
13
+ export declare enum CommentAddResult {
14
+ EmbeddableNotFound = 2,
15
+ CommentNotFound = 3,
16
+ ProfileNotFound = 4,
17
+ CommentIsTooShort = 5,
18
+ CommentIsTooLong = 6,
19
+ CommentLimitReached = 7,
20
+ InBlocklist = 8
21
+ }
22
+ export declare enum CommentDeleteResult {
23
+ CommentNotFound = 2,
24
+ CommentNotOwned = 3
25
+ }
26
+ export declare enum CommentEditResult {
27
+ CommentNotFound = 2,
28
+ CommentIsTooShort = 3,
29
+ CommentIsTooLong = 4,
30
+ CommentNotOwned = 5,
31
+ CommentWasDeleted = 6,
32
+ EmbeddableNotFound = 7
33
+ }
34
+ export interface IPageableResponse<T> extends IResponse {
35
+ content: T[];
36
+ total_count: number;
37
+ total_page_count: number;
38
+ current_page: number;
39
+ }
40
+ export interface IList<T = unknown> {
41
+ items?: T[];
42
+ }
43
+ export interface IScheduleResponse extends IResponse {
44
+ monday: IRelease[];
45
+ tuesday: IRelease[];
46
+ wednesday: IRelease[];
47
+ thursday: IRelease[];
48
+ friday: IRelease[];
49
+ saturday: IRelease[];
50
+ sunday: IRelease[];
51
+ }
52
+ export interface ITypeResponse extends IResponse {
53
+ types: IDubber[];
54
+ }
55
+ export interface IBaseComment {
56
+ id: number;
57
+ message: string;
58
+ timestamp: number;
59
+ type: number;
60
+ vote: number;
61
+ profile: IProfileShort;
62
+ parent_comment_id: number;
63
+ vote_count: number;
64
+ likes_count: number;
65
+ is_spoiler: boolean;
66
+ is_edited: boolean;
67
+ is_deleted: boolean;
68
+ is_reply: boolean;
69
+ reply_count: number;
70
+ can_like: boolean;
71
+ }
72
+ export interface IBaseCompactComment {
73
+ id: number;
74
+ message: string;
75
+ is_spoiler: boolean;
76
+ profile: IProfileCompact;
77
+ }
78
+ export interface IUrlResponse extends IResponse {
79
+ url: string;
80
+ }
81
+ export interface ICommentAddResponse extends IResponse<CommentAddResult> {
82
+ comment?: unknown;
83
+ }
84
+ export interface ICommentReportResponse extends IResponse {
85
+ }
86
+ export interface ICommentVoteResponse extends IResponse {
87
+ }
88
+ export interface IFavoritesResponse extends IResponse {
89
+ }
90
+ export interface IHistoryResponse extends IResponse {
91
+ }
92
+ export interface IReportResponse extends IResponse {
93
+ }
94
+ export interface IDirectLinksResponse extends IResponse {
95
+ '1080p'?: string;
96
+ '360p'?: string;
97
+ '480p'?: string;
98
+ '720p'?: string;
99
+ default?: string;
100
+ q1080p?: string;
101
+ q360p?: string;
102
+ q480p?: string;
103
+ q720p?: string;
104
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommentEditResult = exports.CommentDeleteResult = exports.CommentAddResult = exports.DefaultResult = void 0;
4
+ var DefaultResult;
5
+ (function (DefaultResult) {
6
+ DefaultResult[DefaultResult["Ok"] = 0] = "Ok";
7
+ DefaultResult[DefaultResult["UnexpectedError"] = 1] = "UnexpectedError";
8
+ DefaultResult[DefaultResult["Unauthorized"] = 401] = "Unauthorized";
9
+ DefaultResult[DefaultResult["Ban"] = 402] = "Ban";
10
+ DefaultResult[DefaultResult["PermBan"] = 403] = "PermBan";
11
+ })(DefaultResult || (exports.DefaultResult = DefaultResult = {}));
12
+ var CommentAddResult;
13
+ (function (CommentAddResult) {
14
+ CommentAddResult[CommentAddResult["EmbeddableNotFound"] = 2] = "EmbeddableNotFound";
15
+ CommentAddResult[CommentAddResult["CommentNotFound"] = 3] = "CommentNotFound";
16
+ CommentAddResult[CommentAddResult["ProfileNotFound"] = 4] = "ProfileNotFound";
17
+ CommentAddResult[CommentAddResult["CommentIsTooShort"] = 5] = "CommentIsTooShort";
18
+ CommentAddResult[CommentAddResult["CommentIsTooLong"] = 6] = "CommentIsTooLong";
19
+ CommentAddResult[CommentAddResult["CommentLimitReached"] = 7] = "CommentLimitReached";
20
+ CommentAddResult[CommentAddResult["InBlocklist"] = 8] = "InBlocklist";
21
+ })(CommentAddResult || (exports.CommentAddResult = CommentAddResult = {}));
22
+ var CommentDeleteResult;
23
+ (function (CommentDeleteResult) {
24
+ CommentDeleteResult[CommentDeleteResult["CommentNotFound"] = 2] = "CommentNotFound";
25
+ CommentDeleteResult[CommentDeleteResult["CommentNotOwned"] = 3] = "CommentNotOwned";
26
+ })(CommentDeleteResult || (exports.CommentDeleteResult = CommentDeleteResult = {}));
27
+ var CommentEditResult;
28
+ (function (CommentEditResult) {
29
+ CommentEditResult[CommentEditResult["CommentNotFound"] = 2] = "CommentNotFound";
30
+ CommentEditResult[CommentEditResult["CommentIsTooShort"] = 3] = "CommentIsTooShort";
31
+ CommentEditResult[CommentEditResult["CommentIsTooLong"] = 4] = "CommentIsTooLong";
32
+ CommentEditResult[CommentEditResult["CommentNotOwned"] = 5] = "CommentNotOwned";
33
+ CommentEditResult[CommentEditResult["CommentWasDeleted"] = 6] = "CommentWasDeleted";
34
+ CommentEditResult[CommentEditResult["EmbeddableNotFound"] = 7] = "EmbeddableNotFound";
35
+ })(CommentEditResult || (exports.CommentEditResult = CommentEditResult = {}));
@@ -0,0 +1,119 @@
1
+ import { IBadge, IProfile } from "./profile";
2
+ import { IPageableResponse, IResponse } from "./response";
3
+ export interface IProfileSettingsResponse extends IResponse {
4
+ avatar: string;
5
+ status: string;
6
+ vkPage: string;
7
+ tgPage: string;
8
+ is_private: boolean;
9
+ isPrivate: boolean;
10
+ privacy_stats: number;
11
+ privacy_counts: number;
12
+ privacy_social: number;
13
+ privacy_friend_requests: number;
14
+ is_vk_bound: boolean;
15
+ isVkBound: boolean;
16
+ is_goolge_bound: boolean;
17
+ isGoogleBound: boolean;
18
+ is_login_changed: boolean;
19
+ isLoginChanged: boolean;
20
+ is_change_login_banned: boolean;
21
+ ban_change_login_expires: number;
22
+ is_change_avatar_banned: boolean;
23
+ ban_change_avatar_expires: number;
24
+ channel_id: number;
25
+ }
26
+ export interface IBadgesResponse extends IPageableResponse<IBadge> {
27
+ profile: IProfile;
28
+ }
29
+ export interface IEmailChangeConfirmResponse extends IResponse<ChangeEmailConfirmResult> {
30
+ emailHint: string;
31
+ }
32
+ export interface IEmailChangeRequest {
33
+ oldEmail: string;
34
+ newEmail: string;
35
+ password: string;
36
+ }
37
+ export interface ILoginInfoResponse extends IResponse {
38
+ login: string;
39
+ avatar: string;
40
+ is_change_avaliable: boolean;
41
+ last_change_at: number;
42
+ next_change_avaliable_at: number;
43
+ }
44
+ export interface INewLogin {
45
+ '@id': number;
46
+ id: number;
47
+ newLogin: string;
48
+ timestamp: number;
49
+ }
50
+ export declare enum SocialEditResult {
51
+ InvalidVk = 2,
52
+ InvalidTelegram = 3,
53
+ InvalidInstagram = 4,
54
+ InvalidTiktok = 5,
55
+ InvalidDiscord = 6
56
+ }
57
+ export declare enum ChangeLoginResult {
58
+ InvalidLogin = 2,
59
+ LoginAlreadyTaken = 3,
60
+ TimeLimit = 4
61
+ }
62
+ export declare enum ChangeEmailResult {
63
+ InvalidEmail = 2,
64
+ InvalidCurrentEmail = 3,
65
+ EmailAlreadyTaken = 4
66
+ }
67
+ export declare enum ChangeEmailConfirmResult {
68
+ InvalidPassword = 2
69
+ }
70
+ export declare enum ChangePasswordResult {
71
+ InvalidPassword = 2,
72
+ InvalidCurrentPassword = 3
73
+ }
74
+ export declare enum PasswordChangeResult {
75
+ InvalidPassword = 2,
76
+ InvalidCurrentPassword = 3
77
+ }
78
+ export declare enum PrivacyState {
79
+ All = 0,
80
+ OnlyFriends = 1,
81
+ OnlyMe = 2
82
+ }
83
+ export declare enum PrivacyFriendRequestState {
84
+ All = 0,
85
+ OnlyMe = 1
86
+ }
87
+ export interface IPasswordChangeResponse extends IResponse<ChangePasswordResult> {
88
+ token: string;
89
+ }
90
+ export interface ISelectThemeRequest {
91
+ theme: number;
92
+ }
93
+ export interface ISelectPinnedSectionRequest {
94
+ section: number;
95
+ }
96
+ export interface IChangeEmailVerifyResponse extends IResponse {
97
+ }
98
+ export interface IChangeLoginInfoResponse extends IResponse {
99
+ last_change_at?: number;
100
+ next_change_available_at?: number;
101
+ is_change_available?: boolean;
102
+ }
103
+ export interface IChangeLoginResponse extends IResponse {
104
+ }
105
+ export interface IChangePasswordResponse extends IResponse {
106
+ token?: string;
107
+ }
108
+ export interface IGoogleBindResponse extends IResponse {
109
+ }
110
+ export interface IGoogleUnbindResponse extends IResponse {
111
+ }
112
+ export interface IVkBindResponse extends IResponse {
113
+ }
114
+ export interface IVkUnbindResponse extends IResponse {
115
+ }
116
+ export interface ISocialEditResponse extends IResponse {
117
+ }
118
+ export interface IProfileSelectPinnedSectionResponse extends IResponse {
119
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrivacyFriendRequestState = exports.PrivacyState = exports.PasswordChangeResult = exports.ChangePasswordResult = exports.ChangeEmailConfirmResult = exports.ChangeEmailResult = exports.ChangeLoginResult = exports.SocialEditResult = void 0;
4
+ var SocialEditResult;
5
+ (function (SocialEditResult) {
6
+ SocialEditResult[SocialEditResult["InvalidVk"] = 2] = "InvalidVk";
7
+ SocialEditResult[SocialEditResult["InvalidTelegram"] = 3] = "InvalidTelegram";
8
+ SocialEditResult[SocialEditResult["InvalidInstagram"] = 4] = "InvalidInstagram";
9
+ SocialEditResult[SocialEditResult["InvalidTiktok"] = 5] = "InvalidTiktok";
10
+ SocialEditResult[SocialEditResult["InvalidDiscord"] = 6] = "InvalidDiscord";
11
+ })(SocialEditResult || (exports.SocialEditResult = SocialEditResult = {}));
12
+ var ChangeLoginResult;
13
+ (function (ChangeLoginResult) {
14
+ ChangeLoginResult[ChangeLoginResult["InvalidLogin"] = 2] = "InvalidLogin";
15
+ ChangeLoginResult[ChangeLoginResult["LoginAlreadyTaken"] = 3] = "LoginAlreadyTaken";
16
+ ChangeLoginResult[ChangeLoginResult["TimeLimit"] = 4] = "TimeLimit";
17
+ })(ChangeLoginResult || (exports.ChangeLoginResult = ChangeLoginResult = {}));
18
+ var ChangeEmailResult;
19
+ (function (ChangeEmailResult) {
20
+ ChangeEmailResult[ChangeEmailResult["InvalidEmail"] = 2] = "InvalidEmail";
21
+ ChangeEmailResult[ChangeEmailResult["InvalidCurrentEmail"] = 3] = "InvalidCurrentEmail";
22
+ ChangeEmailResult[ChangeEmailResult["EmailAlreadyTaken"] = 4] = "EmailAlreadyTaken";
23
+ })(ChangeEmailResult || (exports.ChangeEmailResult = ChangeEmailResult = {}));
24
+ var ChangeEmailConfirmResult;
25
+ (function (ChangeEmailConfirmResult) {
26
+ ChangeEmailConfirmResult[ChangeEmailConfirmResult["InvalidPassword"] = 2] = "InvalidPassword";
27
+ })(ChangeEmailConfirmResult || (exports.ChangeEmailConfirmResult = ChangeEmailConfirmResult = {}));
28
+ var ChangePasswordResult;
29
+ (function (ChangePasswordResult) {
30
+ ChangePasswordResult[ChangePasswordResult["InvalidPassword"] = 2] = "InvalidPassword";
31
+ ChangePasswordResult[ChangePasswordResult["InvalidCurrentPassword"] = 3] = "InvalidCurrentPassword";
32
+ })(ChangePasswordResult || (exports.ChangePasswordResult = ChangePasswordResult = {}));
33
+ var PasswordChangeResult;
34
+ (function (PasswordChangeResult) {
35
+ PasswordChangeResult[PasswordChangeResult["InvalidPassword"] = 2] = "InvalidPassword";
36
+ PasswordChangeResult[PasswordChangeResult["InvalidCurrentPassword"] = 3] = "InvalidCurrentPassword";
37
+ })(PasswordChangeResult || (exports.PasswordChangeResult = PasswordChangeResult = {}));
38
+ var PrivacyState;
39
+ (function (PrivacyState) {
40
+ PrivacyState[PrivacyState["All"] = 0] = "All";
41
+ PrivacyState[PrivacyState["OnlyFriends"] = 1] = "OnlyFriends";
42
+ PrivacyState[PrivacyState["OnlyMe"] = 2] = "OnlyMe";
43
+ })(PrivacyState || (exports.PrivacyState = PrivacyState = {}));
44
+ var PrivacyFriendRequestState;
45
+ (function (PrivacyFriendRequestState) {
46
+ PrivacyFriendRequestState[PrivacyFriendRequestState["All"] = 0] = "All";
47
+ PrivacyFriendRequestState[PrivacyFriendRequestState["OnlyMe"] = 1] = "OnlyMe";
48
+ })(PrivacyFriendRequestState || (exports.PrivacyFriendRequestState = PrivacyFriendRequestState = {}));
@@ -0,0 +1,38 @@
1
+ import { IArticleCreateRequest, IArticleImageItem, IEmbedData } from "../types";
2
+ import { Article } from "../classes/Article";
3
+ export interface IArticleTextBlockBuilder {
4
+ type: "paragraph" | "header";
5
+ text: string;
6
+ }
7
+ export interface IArticleQuoteBlockBuilder {
8
+ type: "quote";
9
+ text: string;
10
+ caption: string;
11
+ }
12
+ export interface IArticleListBlockBuilder {
13
+ type: "orderedList" | "unorderedList";
14
+ items: string[];
15
+ }
16
+ export interface IArticleDelimiterBlockBuilder {
17
+ type: "delimiter";
18
+ }
19
+ export interface IArticleImageBlockBuilder {
20
+ type: "media";
21
+ items: IArticleImageItem[];
22
+ }
23
+ export interface IArticleEmbedBlockBuilder {
24
+ type: "embed";
25
+ data: IEmbedData;
26
+ }
27
+ export declare class ArticleBuilder {
28
+ private blocks;
29
+ private isSigned;
30
+ private repostArticleId;
31
+ private readonly maxBlockCount;
32
+ private generateUniqueId;
33
+ returnBuildAricle(): IArticleCreateRequest;
34
+ setSignedState(isSigned: boolean): ArticleBuilder;
35
+ setRepostArticle(article: Article | number): ArticleBuilder;
36
+ addBlock(data: IArticleTextBlockBuilder | IArticleQuoteBlockBuilder | IArticleListBlockBuilder | IArticleDelimiterBlockBuilder | IArticleImageBlockBuilder | IArticleEmbedBlockBuilder): ArticleBuilder;
37
+ addBlocks(data: (IArticleTextBlockBuilder | IArticleQuoteBlockBuilder | IArticleListBlockBuilder | IArticleDelimiterBlockBuilder | IArticleImageBlockBuilder | IArticleEmbedBlockBuilder)[]): ArticleBuilder;
38
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArticleBuilder = void 0;
4
+ const Article_1 = require("../classes/Article");
5
+ class ArticleBuilder {
6
+ constructor() {
7
+ this.blocks = [];
8
+ this.isSigned = false;
9
+ this.repostArticleId = null;
10
+ this.maxBlockCount = 25;
11
+ }
12
+ generateUniqueId() {
13
+ const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_';
14
+ let id = '';
15
+ for (let i = 0; i < 9; i++) {
16
+ id += chars.charAt(Math.floor(Math.random() * chars.length));
17
+ }
18
+ return id;
19
+ }
20
+ returnBuildAricle() {
21
+ return {
22
+ is_signed: this.isSigned,
23
+ repost_article_id: this.repostArticleId,
24
+ payload: {
25
+ time: Date.now(),
26
+ version: "2.29.0-rc.1",
27
+ blocks: this.blocks,
28
+ block_count: this.blocks.length
29
+ }
30
+ };
31
+ }
32
+ setSignedState(isSigned) {
33
+ this.isSigned = isSigned;
34
+ return this;
35
+ }
36
+ setRepostArticle(article) {
37
+ this.repostArticleId = article instanceof Article_1.Article ? article.id : article;
38
+ return this;
39
+ }
40
+ addBlock(data) {
41
+ this.addBlocks([data]);
42
+ return this;
43
+ }
44
+ addBlocks(data) {
45
+ for (const block of data) {
46
+ if (this.blocks.length >= this.maxBlockCount)
47
+ break;
48
+ let baseBlock;
49
+ switch (block.type) {
50
+ case "paragraph":
51
+ baseBlock = {
52
+ id: this.generateUniqueId(),
53
+ type: block.type,
54
+ name: block.type,
55
+ data: {
56
+ text: block.text,
57
+ text_length: block.text.length
58
+ }
59
+ };
60
+ break;
61
+ case "header":
62
+ baseBlock = {
63
+ id: this.generateUniqueId(),
64
+ type: block.type,
65
+ name: block.type,
66
+ data: {
67
+ text: block.text,
68
+ text_length: block.text.length,
69
+ level: 3
70
+ }
71
+ };
72
+ break;
73
+ case "quote":
74
+ baseBlock = {
75
+ id: this.generateUniqueId(),
76
+ type: block.type,
77
+ name: block.type,
78
+ data: {
79
+ text: block.text,
80
+ caption: block.caption,
81
+ alignment: "left",
82
+ text_length: block.text.length,
83
+ caption_length: block.caption.length
84
+ }
85
+ };
86
+ break;
87
+ case "delimiter":
88
+ baseBlock = {
89
+ id: this.generateUniqueId(),
90
+ type: block.type,
91
+ name: block.type,
92
+ data: {}
93
+ };
94
+ break;
95
+ case "unorderedList":
96
+ case "orderedList":
97
+ baseBlock = {
98
+ id: this.generateUniqueId(),
99
+ type: "list",
100
+ name: "list",
101
+ data: {
102
+ style: block.type == "orderedList" ? "ordered" : "unordered",
103
+ items: block.items,
104
+ item_count: block.items.length
105
+ }
106
+ };
107
+ break;
108
+ case "media":
109
+ baseBlock = {
110
+ id: this.generateUniqueId(),
111
+ type: "media",
112
+ name: "media",
113
+ data: {
114
+ items: block.items,
115
+ item_count: block.items.length
116
+ }
117
+ };
118
+ break;
119
+ case "embed":
120
+ baseBlock = {
121
+ id: this.generateUniqueId(),
122
+ type: block.type,
123
+ name: block.type,
124
+ data: {
125
+ hash: block.data.hash,
126
+ embed: block.data.embed,
127
+ image: block.data.image,
128
+ site_name: block.data.site_name,
129
+ title: block.data.title,
130
+ description: block.data.description,
131
+ width: block.data.width,
132
+ height: block.data.height,
133
+ url: block.data.url,
134
+ service: block.data.site_name.toLowerCase() !== "youtube" || block.data.site_name.toLowerCase() !== "vk" ? "link" : block.data.site_name.toLowerCase()
135
+ }
136
+ };
137
+ break;
138
+ }
139
+ this.blocks.push(baseBlock);
140
+ }
141
+ return this;
142
+ }
143
+ }
144
+ exports.ArticleBuilder = ArticleBuilder;