rettiwt-api 2.7.0 → 3.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 (139) hide show
  1. package/.eslintrc.js +73 -5
  2. package/.tool-versions +1 -0
  3. package/README.md +87 -20
  4. package/dist/Rettiwt.js +0 -1
  5. package/dist/Rettiwt.js.map +1 -1
  6. package/dist/cli.js +2 -4
  7. package/dist/cli.js.map +1 -1
  8. package/dist/collections/Extractors.d.ts +10 -0
  9. package/dist/collections/Extractors.js +43 -0
  10. package/dist/collections/Extractors.js.map +1 -0
  11. package/dist/collections/Groups.d.ts +19 -0
  12. package/dist/collections/Groups.js +55 -0
  13. package/dist/collections/Groups.js.map +1 -0
  14. package/dist/collections/Requests.d.ts +12 -0
  15. package/dist/collections/Requests.js +46 -0
  16. package/dist/collections/Requests.js.map +1 -0
  17. package/dist/commands/Auth.d.ts +6 -0
  18. package/dist/commands/Auth.js +26 -8
  19. package/dist/commands/Auth.js.map +1 -1
  20. package/dist/commands/Tweet.js +237 -82
  21. package/dist/commands/Tweet.js.map +1 -1
  22. package/dist/commands/User.js +197 -36
  23. package/dist/commands/User.js.map +1 -1
  24. package/dist/enums/Api.d.ts +30 -0
  25. package/dist/enums/Api.js +32 -1
  26. package/dist/enums/Api.js.map +1 -1
  27. package/dist/enums/Data.d.ts +9 -0
  28. package/dist/enums/Data.js +14 -0
  29. package/dist/enums/Data.js.map +1 -0
  30. package/dist/enums/Http.d.ts +1 -1
  31. package/dist/enums/Http.js +1 -1
  32. package/dist/enums/Logging.d.ts +6 -5
  33. package/dist/enums/Logging.js +6 -5
  34. package/dist/enums/Logging.js.map +1 -1
  35. package/dist/enums/Resource.d.ts +33 -0
  36. package/dist/enums/Resource.js +42 -0
  37. package/dist/enums/Resource.js.map +1 -0
  38. package/dist/helper/CliUtils.d.ts +1 -1
  39. package/dist/helper/CliUtils.js.map +1 -1
  40. package/dist/index.d.ts +11 -9
  41. package/dist/index.js +11 -14
  42. package/dist/index.js.map +1 -1
  43. package/dist/models/args/FetchArgs.d.ts +129 -0
  44. package/dist/models/args/FetchArgs.js +263 -0
  45. package/dist/models/args/FetchArgs.js.map +1 -0
  46. package/dist/models/args/PostArgs.d.ts +116 -0
  47. package/dist/models/args/PostArgs.js +232 -0
  48. package/dist/models/args/PostArgs.js.map +1 -0
  49. package/dist/models/data/CursoredData.d.ts +11 -11
  50. package/dist/models/data/CursoredData.js +21 -16
  51. package/dist/models/data/CursoredData.js.map +1 -1
  52. package/dist/models/data/List.d.ts +8 -10
  53. package/dist/models/data/List.js +2 -4
  54. package/dist/models/data/List.js.map +1 -1
  55. package/dist/models/data/Tweet.d.ts +41 -29
  56. package/dist/models/data/Tweet.js +71 -15
  57. package/dist/models/data/Tweet.js.map +1 -1
  58. package/dist/models/data/User.d.ts +36 -20
  59. package/dist/models/data/User.js +69 -7
  60. package/dist/models/data/User.js.map +1 -1
  61. package/dist/models/errors/ApiError.d.ts +1 -3
  62. package/dist/models/errors/ApiError.js +1 -4
  63. package/dist/models/errors/ApiError.js.map +1 -1
  64. package/dist/models/errors/DataValidationError.d.ts +30 -0
  65. package/dist/models/errors/DataValidationError.js +34 -0
  66. package/dist/models/errors/DataValidationError.js.map +1 -0
  67. package/dist/models/errors/HttpError.d.ts +1 -3
  68. package/dist/models/errors/HttpError.js +1 -4
  69. package/dist/models/errors/HttpError.js.map +1 -1
  70. package/dist/models/errors/TimeoutError.d.ts +2 -4
  71. package/dist/models/errors/TimeoutError.js +2 -5
  72. package/dist/models/errors/TimeoutError.js.map +1 -1
  73. package/dist/services/internal/ErrorService.d.ts +45 -35
  74. package/dist/services/internal/ErrorService.js +70 -68
  75. package/dist/services/internal/ErrorService.js.map +1 -1
  76. package/dist/services/internal/LogService.d.ts +7 -5
  77. package/dist/services/internal/LogService.js +28 -9
  78. package/dist/services/internal/LogService.js.map +1 -1
  79. package/dist/services/public/AuthService.d.ts +24 -20
  80. package/dist/services/public/AuthService.js +38 -36
  81. package/dist/services/public/AuthService.js.map +1 -1
  82. package/dist/services/public/FetcherService.d.ts +99 -0
  83. package/dist/services/public/FetcherService.js +254 -0
  84. package/dist/services/public/FetcherService.js.map +1 -0
  85. package/dist/services/public/TweetService.d.ts +213 -94
  86. package/dist/services/public/TweetService.js +405 -208
  87. package/dist/services/public/TweetService.js.map +1 -1
  88. package/dist/services/public/UserService.d.ts +185 -52
  89. package/dist/services/public/UserService.js +333 -103
  90. package/dist/services/public/UserService.js.map +1 -1
  91. package/dist/types/ReturnTypes.d.ts +21 -0
  92. package/dist/types/ReturnTypes.js +3 -0
  93. package/dist/types/ReturnTypes.js.map +1 -0
  94. package/package.json +4 -2
  95. package/src/Rettiwt.ts +0 -3
  96. package/src/cli.ts +2 -4
  97. package/src/collections/Extractors.ts +63 -0
  98. package/src/collections/Groups.ts +54 -0
  99. package/src/collections/Requests.ts +52 -0
  100. package/src/commands/Auth.ts +19 -7
  101. package/src/commands/Tweet.ts +179 -91
  102. package/src/commands/User.ts +118 -25
  103. package/src/enums/Api.ts +31 -0
  104. package/src/enums/Data.ts +9 -0
  105. package/src/enums/Http.ts +1 -1
  106. package/src/enums/Logging.ts +6 -5
  107. package/src/enums/Resource.ts +40 -0
  108. package/src/helper/CliUtils.ts +1 -1
  109. package/src/index.ts +41 -14
  110. package/src/models/args/FetchArgs.ts +296 -0
  111. package/src/models/args/PostArgs.ts +263 -0
  112. package/src/models/data/CursoredData.ts +23 -15
  113. package/src/models/data/List.ts +12 -15
  114. package/src/models/data/Tweet.ts +105 -39
  115. package/src/models/data/User.ts +97 -30
  116. package/src/models/errors/ApiError.ts +1 -4
  117. package/src/models/errors/DataValidationError.ts +44 -0
  118. package/src/models/errors/HttpError.ts +1 -4
  119. package/src/models/errors/TimeoutError.ts +2 -5
  120. package/src/services/internal/ErrorService.ts +76 -75
  121. package/src/services/internal/LogService.ts +20 -10
  122. package/src/services/public/AuthService.ts +39 -38
  123. package/src/services/public/FetcherService.ts +230 -0
  124. package/src/services/public/TweetService.ts +381 -179
  125. package/src/services/public/UserService.ts +314 -86
  126. package/src/types/RettiwtConfig.ts +0 -1
  127. package/src/types/ReturnTypes.ts +24 -0
  128. package/dist/models/args/TweetArgs.d.ts +0 -44
  129. package/dist/models/args/TweetArgs.js +0 -82
  130. package/dist/models/args/TweetArgs.js.map +0 -1
  131. package/dist/models/data/Media.d.ts +0 -14
  132. package/dist/models/data/Media.js +0 -19
  133. package/dist/models/data/Media.js.map +0 -1
  134. package/dist/services/internal/FetcherService.d.ts +0 -106
  135. package/dist/services/internal/FetcherService.js +0 -365
  136. package/dist/services/internal/FetcherService.js.map +0 -1
  137. package/src/models/args/TweetArgs.ts +0 -98
  138. package/src/models/data/Media.ts +0 -19
  139. package/src/services/internal/FetcherService.ts +0 -365
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TweetMedia = exports.TweetEntities = exports.Tweet = void 0;
4
- // PACKAGES
5
4
  var rettiwt_core_1 = require("rettiwt-core");
6
- // MODELS
5
+ var Logging_1 = require("../../enums/Logging");
6
+ var JsonUtils_1 = require("../../helper/JsonUtils");
7
+ var LogService_1 = require("../../services/internal/LogService");
7
8
  var User_1 = require("./User");
8
9
  /**
9
- * The details of a single Tweet.
10
+ * The details of a single tweet.
10
11
  *
11
12
  * @public
12
13
  */
13
14
  var Tweet = /** @class */ (function () {
14
15
  /**
15
- * Initializes a new Tweet from the given raw tweet data.
16
- *
17
- * @param tweet - The raw tweet data.
16
+ * @param tweet - The raw tweet details.
18
17
  */
19
18
  function Tweet(tweet) {
20
19
  var _a, _b, _c, _d;
@@ -31,12 +30,73 @@ var Tweet = /** @class */ (function () {
31
30
  this.replyCount = tweet.legacy.reply_count;
32
31
  this.retweetCount = tweet.legacy.retweet_count;
33
32
  this.likeCount = tweet.legacy.favorite_count;
34
- this.viewCount = parseInt(tweet.views.count);
33
+ this.viewCount = tweet.views.count ? parseInt(tweet.views.count) : 0;
35
34
  this.bookmarkCount = tweet.legacy.bookmark_count;
36
35
  this.retweetedTweet = ((_d = (_c = tweet.legacy.retweeted_status_result) === null || _c === void 0 ? void 0 : _c.result) === null || _d === void 0 ? void 0 : _d.rest_id)
37
36
  ? new Tweet(tweet.legacy.retweeted_status_result.result)
38
37
  : undefined;
39
38
  }
39
+ /**
40
+ * Extracts and deserializes the list of tweets from the given raw response data.
41
+ *
42
+ * @param response - The raw response data.
43
+ * @returns The deserialized list of tweets.
44
+ *
45
+ * @internal
46
+ */
47
+ Tweet.list = function (response) {
48
+ var _a, _b;
49
+ var tweets = [];
50
+ // Extracting the matching data
51
+ var extract = (0, JsonUtils_1.findByFilter)(response, '__typename', 'TimelineTweet');
52
+ // Deserializing valid data
53
+ for (var _i = 0, extract_1 = extract; _i < extract_1.length; _i++) {
54
+ var item = extract_1[_i];
55
+ if ((_b = (_a = item.tweet_results) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.legacy) {
56
+ // Logging
57
+ LogService_1.LogService.log(Logging_1.ELogActions.DESERIALIZE, { id: item.tweet_results.result.rest_id });
58
+ tweets.push(new Tweet(item.tweet_results.result));
59
+ }
60
+ else {
61
+ // Logging
62
+ LogService_1.LogService.log(Logging_1.ELogActions.WARNING, {
63
+ action: Logging_1.ELogActions.DESERIALIZE,
64
+ message: "Tweet not found, skipping",
65
+ });
66
+ }
67
+ }
68
+ return tweets;
69
+ };
70
+ /**
71
+ * Extracts and deserializes a single target tweet from the given raw response data.
72
+ *
73
+ * @param response - The raw response data.
74
+ * @returns The target deserialized tweet.
75
+ *
76
+ * @internal
77
+ */
78
+ Tweet.single = function (response) {
79
+ var tweets = [];
80
+ // Extracting the matching data
81
+ var extract = (0, JsonUtils_1.findByFilter)(response, '__typename', 'Tweet');
82
+ // Deserializing valid data
83
+ for (var _i = 0, extract_2 = extract; _i < extract_2.length; _i++) {
84
+ var item = extract_2[_i];
85
+ if (item.legacy) {
86
+ // Logging
87
+ LogService_1.LogService.log(Logging_1.ELogActions.DESERIALIZE, { id: item.rest_id });
88
+ tweets.push(new Tweet(item));
89
+ }
90
+ else {
91
+ // Logging
92
+ LogService_1.LogService.log(Logging_1.ELogActions.WARNING, {
93
+ action: Logging_1.ELogActions.DESERIALIZE,
94
+ message: "Tweet not found, skipping",
95
+ });
96
+ }
97
+ }
98
+ return tweets.length ? tweets[0] : undefined;
99
+ };
40
100
  return Tweet;
41
101
  }());
42
102
  exports.Tweet = Tweet;
@@ -47,17 +107,15 @@ exports.Tweet = Tweet;
47
107
  */
48
108
  var TweetEntities = /** @class */ (function () {
49
109
  /**
50
- * Initializes the TweetEntities from the raw tweet entities.
51
- *
52
110
  * @param entities - The raw tweet entities.
53
111
  */
54
112
  function TweetEntities(entities) {
55
113
  /** The list of hashtags mentioned in the tweet. */
56
114
  this.hashtags = [];
57
- /** The list of urls mentioned in the tweet. */
58
- this.urls = [];
59
115
  /** The list of IDs of users mentioned in the tweet. */
60
116
  this.mentionedUsers = [];
117
+ /** The list of urls mentioned in the tweet. */
118
+ this.urls = [];
61
119
  // Extracting user mentions
62
120
  if (entities.user_mentions) {
63
121
  for (var _i = 0, _a = entities.user_mentions; _i < _a.length; _i++) {
@@ -84,15 +142,13 @@ var TweetEntities = /** @class */ (function () {
84
142
  }());
85
143
  exports.TweetEntities = TweetEntities;
86
144
  /**
87
- * A single media content.
145
+ * The details of a single media content included in a tweet.
88
146
  *
89
147
  * @public
90
148
  */
91
149
  var TweetMedia = /** @class */ (function () {
92
150
  /**
93
- * Initializes the TweetMedia from the raw tweet media.
94
- *
95
- * @param media - The raw tweet media.
151
+ * @param media - The raw media details.
96
152
  */
97
153
  function TweetMedia(media) {
98
154
  var _this = this;
@@ -1 +1 @@
1
- {"version":3,"file":"Tweet.js","sourceRoot":"","sources":["../../../src/models/data/Tweet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tweet.js","sourceRoot":"","sources":["../../../src/models/data/Tweet.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,58 @@
1
- import { IUser as IRawUser } from 'rettiwt-core';
1
+ import { IUser as IRawUser, IResponse } from 'rettiwt-core';
2
2
  /**
3
3
  * The details of a single user.
4
4
  *
5
5
  * @public
6
6
  */
7
7
  export declare class User {
8
- /** The rest id of the user. */
9
- id: string;
10
- /** The username/screenname of the user. */
11
- userName: string;
12
- /** The full name of the user. */
13
- fullName: string;
14
8
  /** The creation date of user's account. */
15
9
  createdAt: string;
16
10
  /** The user's description. */
17
- description: string;
18
- /** Whether the account is verified or not. */
19
- isVerified: boolean;
20
- /** The number of tweets liked by the user. */
21
- favouritesCount: number;
11
+ description?: string;
22
12
  /** The number of followers of the user. */
23
13
  followersCount: number;
24
14
  /** The number of following of the user. */
25
15
  followingsCount: number;
26
- /** The number of tweets made by the user. */
27
- statusesCount: number;
16
+ /** The full name of the user. */
17
+ fullName: string;
18
+ /** The rest id of the user. */
19
+ id: string;
20
+ /** Whether the account is verified or not. */
21
+ isVerified: boolean;
22
+ /** The number of tweets liked by the user. */
23
+ likeCount: number;
28
24
  /** The location of user as provided by user. */
29
- location: string;
25
+ location?: string;
30
26
  /** The rest id of the tweet pinned in the user's profile. */
31
- pinnedTweet: string;
27
+ pinnedTweet?: string;
32
28
  /** The url of the profile banner image. */
33
- profileBanner: string;
29
+ profileBanner?: string;
34
30
  /** The url of the profile image. */
35
31
  profileImage: string;
32
+ /** The number of tweets made by the user. */
33
+ statusesCount: number;
34
+ /** The username/screenname of the user. */
35
+ userName: string;
36
36
  /**
37
- * Initializes a new User from the given raw user data.
38
- *
39
- * @param user - The raw user data.
37
+ * @param user - The raw user details.
40
38
  */
41
39
  constructor(user: IRawUser);
40
+ /**
41
+ * Extracts and deserializes the list of users from the given raw response data.
42
+ *
43
+ * @param response - The raw response data.
44
+ * @returns The deserialized list of users.
45
+ *
46
+ * @internal
47
+ */
48
+ static list(response: IResponse<unknown>): User[];
49
+ /**
50
+ * Extracts and deserializes a single target user from the given raw response data.
51
+ *
52
+ * @param response - The raw response data.
53
+ * @returns The target deserialized user.
54
+ *
55
+ * @internal
56
+ */
57
+ static single(response: IResponse<unknown>): User | undefined;
42
58
  }
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.User = void 0;
4
+ var Logging_1 = require("../../enums/Logging");
5
+ var JsonUtils_1 = require("../../helper/JsonUtils");
6
+ var LogService_1 = require("../../services/internal/LogService");
4
7
  /**
5
8
  * The details of a single user.
6
9
  *
@@ -8,26 +11,85 @@ exports.User = void 0;
8
11
  */
9
12
  var User = /** @class */ (function () {
10
13
  /**
11
- * Initializes a new User from the given raw user data.
12
- *
13
- * @param user - The raw user data.
14
+ * @param user - The raw user details.
14
15
  */
15
16
  function User(user) {
16
17
  this.id = user.rest_id;
17
18
  this.userName = user.legacy.screen_name;
18
19
  this.fullName = user.legacy.name;
19
20
  this.createdAt = user.legacy.created_at;
20
- this.description = user.legacy.description;
21
- this.isVerified = user.legacy.verified;
22
- this.favouritesCount = user.legacy.favourites_count;
21
+ this.description = user.legacy.description.length ? user.legacy.description : undefined;
22
+ this.isVerified = user.is_blue_verified;
23
+ this.likeCount = user.legacy.favourites_count;
23
24
  this.followersCount = user.legacy.followers_count;
24
25
  this.followingsCount = user.legacy.friends_count;
25
26
  this.statusesCount = user.legacy.statuses_count;
26
- this.location = user.legacy.location;
27
+ this.location = user.legacy.location.length ? user.legacy.location : undefined;
27
28
  this.pinnedTweet = user.legacy.pinned_tweet_ids_str[0];
28
29
  this.profileBanner = user.legacy.profile_banner_url;
29
30
  this.profileImage = user.legacy.profile_image_url_https;
30
31
  }
32
+ /**
33
+ * Extracts and deserializes the list of users from the given raw response data.
34
+ *
35
+ * @param response - The raw response data.
36
+ * @returns The deserialized list of users.
37
+ *
38
+ * @internal
39
+ */
40
+ User.list = function (response) {
41
+ var _a, _b;
42
+ var users = [];
43
+ // Extracting the matching data
44
+ var extract = (0, JsonUtils_1.findByFilter)(response, '__typename', 'TimelineUser');
45
+ // Deserializing valid data
46
+ for (var _i = 0, extract_1 = extract; _i < extract_1.length; _i++) {
47
+ var item = extract_1[_i];
48
+ if ((_b = (_a = item.user_results) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.legacy) {
49
+ // Logging
50
+ LogService_1.LogService.log(Logging_1.ELogActions.DESERIALIZE, { id: item.user_results.result.rest_id });
51
+ users.push(new User(item.user_results.result));
52
+ }
53
+ else {
54
+ // Logging
55
+ LogService_1.LogService.log(Logging_1.ELogActions.WARNING, {
56
+ action: Logging_1.ELogActions.DESERIALIZE,
57
+ message: "User not found, skipping",
58
+ });
59
+ }
60
+ }
61
+ return users;
62
+ };
63
+ /**
64
+ * Extracts and deserializes a single target user from the given raw response data.
65
+ *
66
+ * @param response - The raw response data.
67
+ * @returns The target deserialized user.
68
+ *
69
+ * @internal
70
+ */
71
+ User.single = function (response) {
72
+ var users = [];
73
+ // Extracting the matching data
74
+ var extract = (0, JsonUtils_1.findByFilter)(response, '__typename', 'User');
75
+ // Deserializing valid data
76
+ for (var _i = 0, extract_2 = extract; _i < extract_2.length; _i++) {
77
+ var item = extract_2[_i];
78
+ if (item.legacy) {
79
+ // Logging
80
+ LogService_1.LogService.log(Logging_1.ELogActions.DESERIALIZE, { id: item.rest_id });
81
+ users.push(new User(item));
82
+ }
83
+ else {
84
+ // Logging
85
+ LogService_1.LogService.log(Logging_1.ELogActions.WARNING, {
86
+ action: Logging_1.ELogActions.DESERIALIZE,
87
+ message: "User not found, skipping",
88
+ });
89
+ }
90
+ }
91
+ return users.length ? users[0] : undefined;
92
+ };
31
93
  return User;
32
94
  }());
33
95
  exports.User = User;
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/data/User.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH;IA2CC;;;;OAIG;IACH,cAAmB,IAAc;QAChC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC;IACzD,CAAC;IACF,WAAC;AAAD,CAAC,AAhED,IAgEC;AAhEY,oBAAI"}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/models/data/User.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,12 @@ import { RettiwtError } from './RettiwtError';
2
2
  /**
3
3
  * Represents an error that is thrown by Twitter API.
4
4
  *
5
- * @internal
5
+ * @public
6
6
  */
7
7
  export declare class ApiError extends RettiwtError {
8
8
  /** The error code thrown by Twitter API. */
9
9
  code: number;
10
10
  /**
11
- * Initializes a new ApiError based on the given error details.
12
- *
13
11
  * @param errorCode - The error code thrown by Twitter API.
14
12
  * @param message - Any additional error message.
15
13
  */
@@ -16,18 +16,15 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.ApiError = void 0;
19
- // ERRORS
20
19
  var RettiwtError_1 = require("./RettiwtError");
21
20
  /**
22
21
  * Represents an error that is thrown by Twitter API.
23
22
  *
24
- * @internal
23
+ * @public
25
24
  */
26
25
  var ApiError = /** @class */ (function (_super) {
27
26
  __extends(ApiError, _super);
28
27
  /**
29
- * Initializes a new ApiError based on the given error details.
30
- *
31
28
  * @param errorCode - The error code thrown by Twitter API.
32
29
  * @param message - Any additional error message.
33
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ApiError.js","sourceRoot":"","sources":["../../../src/models/errors/ApiError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,+CAA8C;AAE9C;;;;GAIG;AACH;IAA8B,4BAAY;IAIzC;;;;;OAKG;IACH,kBAAmB,SAAiB,EAAE,OAAgB;QAAtD,YACC,kBAAM,OAAO,CAAC,SAGd;QADA,KAAI,CAAC,IAAI,GAAG,SAAS,CAAC;;IACvB,CAAC;IACF,eAAC;AAAD,CAAC,AAfD,CAA8B,2BAAY,GAezC;AAfY,4BAAQ"}
1
+ {"version":3,"file":"ApiError.js","sourceRoot":"","sources":["../../../src/models/errors/ApiError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAE9C;;;;GAIG;AACH;IAA8B,4BAAY;IAIzC;;;OAGG;IACH,kBAAmB,SAAiB,EAAE,OAAgB;QAAtD,YACC,kBAAM,OAAO,CAAC,SAGd;QADA,KAAI,CAAC,IAAI,GAAG,SAAS,CAAC;;IACvB,CAAC;IACF,eAAC;AAAD,CAAC,AAbD,CAA8B,2BAAY,GAazC;AAbY,4BAAQ"}
@@ -0,0 +1,30 @@
1
+ import { ValidationError } from 'class-validator';
2
+ /**
3
+ * Represents and error when any fields of a validation-enabled class fails to validate.
4
+ *
5
+ * @public
6
+ */
7
+ export declare class DataValidationError {
8
+ /** The detaied error message(s). */
9
+ details: ValidationErrorDetails[];
10
+ /** The user-friendly error message. */
11
+ message: string;
12
+ /** The name of the error. */
13
+ name: string;
14
+ /**
15
+ * @param data - The error details, as a list of type {@link ValidationError}
16
+ */
17
+ constructor(errorDetails: ValidationError[]);
18
+ }
19
+ /**
20
+ * Represents the validation error details of a single field.
21
+ *
22
+ * @public
23
+ */
24
+ export declare class ValidationErrorDetails {
25
+ /** The constraints which failed to be validated for the given field. */
26
+ constraints: string[];
27
+ /** The name of the field which failed validation. */
28
+ field: string;
29
+ constructor(details: ValidationError);
30
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidationErrorDetails = exports.DataValidationError = void 0;
4
+ /**
5
+ * Represents and error when any fields of a validation-enabled class fails to validate.
6
+ *
7
+ * @public
8
+ */
9
+ var DataValidationError = /** @class */ (function () {
10
+ /**
11
+ * @param data - The error details, as a list of type {@link ValidationError}
12
+ */
13
+ function DataValidationError(errorDetails) {
14
+ this.name = 'VALIDATION_ERROR';
15
+ this.message = 'One or more validation error(s) occured, check details field.';
16
+ this.details = errorDetails.map(function (error) { return new ValidationErrorDetails(error); });
17
+ }
18
+ return DataValidationError;
19
+ }());
20
+ exports.DataValidationError = DataValidationError;
21
+ /**
22
+ * Represents the validation error details of a single field.
23
+ *
24
+ * @public
25
+ */
26
+ var ValidationErrorDetails = /** @class */ (function () {
27
+ function ValidationErrorDetails(details) {
28
+ this.field = details.property;
29
+ this.constraints = Object.values(details.constraints);
30
+ }
31
+ return ValidationErrorDetails;
32
+ }());
33
+ exports.ValidationErrorDetails = ValidationErrorDetails;
34
+ //# sourceMappingURL=DataValidationError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataValidationError.js","sourceRoot":"","sources":["../../../src/models/errors/DataValidationError.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH;IAUC;;OAEG;IACH,6BAAmB,YAA+B;QACjD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,+DAA+D,CAAC;QAC/E,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAjC,CAAiC,CAAC,CAAC;IAC/E,CAAC;IACF,0BAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,kDAAmB;AAoBhC;;;;GAIG;AACH;IAOC,gCAAmB,OAAwB;QAC1C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAY,CAAC,CAAC;IACxD,CAAC;IACF,6BAAC;AAAD,CAAC,AAXD,IAWC;AAXY,wDAAsB"}
@@ -2,14 +2,12 @@ import { RettiwtError } from './RettiwtError';
2
2
  /**
3
3
  * Represents an HTTP error that occues while making a request to Twitter API.
4
4
  *
5
- * @internal
5
+ * @public
6
6
  */
7
7
  export declare class HttpError extends RettiwtError {
8
8
  /** The HTTP status code. */
9
9
  status: number;
10
10
  /**
11
- * Initializes a new HttpError based on the given error details.
12
- *
13
11
  * @param httpStatus - The HTTP status code received upon making the request
14
12
  * @param message - Any additional error message.
15
13
  */
@@ -16,18 +16,15 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.HttpError = void 0;
19
- // ERRORS
20
19
  var RettiwtError_1 = require("./RettiwtError");
21
20
  /**
22
21
  * Represents an HTTP error that occues while making a request to Twitter API.
23
22
  *
24
- * @internal
23
+ * @public
25
24
  */
26
25
  var HttpError = /** @class */ (function (_super) {
27
26
  __extends(HttpError, _super);
28
27
  /**
29
- * Initializes a new HttpError based on the given error details.
30
- *
31
28
  * @param httpStatus - The HTTP status code received upon making the request
32
29
  * @param message - Any additional error message.
33
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HttpError.js","sourceRoot":"","sources":["../../../src/models/errors/HttpError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,+CAA8C;AAE9C;;;;GAIG;AACH;IAA+B,6BAAY;IAI1C;;;;;OAKG;IACH,mBAAmB,UAAkB,EAAE,OAAgB;QAAvD,YACC,kBAAM,OAAO,CAAC,SAGd;QADA,KAAI,CAAC,MAAM,GAAG,UAAU,CAAC;;IAC1B,CAAC;IACF,gBAAC;AAAD,CAAC,AAfD,CAA+B,2BAAY,GAe1C;AAfY,8BAAS"}
1
+ {"version":3,"file":"HttpError.js","sourceRoot":"","sources":["../../../src/models/errors/HttpError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAE9C;;;;GAIG;AACH;IAA+B,6BAAY;IAI1C;;;OAGG;IACH,mBAAmB,UAAkB,EAAE,OAAgB;QAAvD,YACC,kBAAM,OAAO,CAAC,SAGd;QADA,KAAI,CAAC,MAAM,GAAG,UAAU,CAAC;;IAC1B,CAAC;IACF,gBAAC;AAAD,CAAC,AAbD,CAA+B,2BAAY,GAa1C;AAbY,8BAAS"}
@@ -1,13 +1,11 @@
1
1
  import { RettiwtError } from './RettiwtError';
2
2
  /**
3
- * Represents an HTTP error that occues while making a request to Twitter API.
3
+ * Represents a timeout error that occues while making a request to Twitter API.
4
4
  *
5
- * @internal
5
+ * @public
6
6
  */
7
7
  export declare class TimeoutError extends RettiwtError {
8
8
  /**
9
- * Initializes a new TimeoutError based on the given error details.
10
- *
11
9
  * @param message - Error message with the configured timeout.
12
10
  */
13
11
  constructor(message?: string);
@@ -16,18 +16,15 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TimeoutError = void 0;
19
- // ERRORS
20
19
  var RettiwtError_1 = require("./RettiwtError");
21
20
  /**
22
- * Represents an HTTP error that occues while making a request to Twitter API.
21
+ * Represents a timeout error that occues while making a request to Twitter API.
23
22
  *
24
- * @internal
23
+ * @public
25
24
  */
26
25
  var TimeoutError = /** @class */ (function (_super) {
27
26
  __extends(TimeoutError, _super);
28
27
  /**
29
- * Initializes a new TimeoutError based on the given error details.
30
- *
31
28
  * @param message - Error message with the configured timeout.
32
29
  */
33
30
  function TimeoutError(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"TimeoutError.js","sourceRoot":"","sources":["../../../src/models/errors/TimeoutError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAS;AACT,+CAA8C;AAE9C;;;;GAIG;AACH;IAAkC,gCAAY;IAC7C;;;;OAIG;IACH,sBAAmB,OAAgB;eAClC,kBAAM,OAAO,CAAC;IACf,CAAC;IACF,mBAAC;AAAD,CAAC,AATD,CAAkC,2BAAY,GAS7C;AATY,oCAAY"}
1
+ {"version":3,"file":"TimeoutError.js","sourceRoot":"","sources":["../../../src/models/errors/TimeoutError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAE9C;;;;GAIG;AACH;IAAkC,gCAAY;IAC7C;;OAEG;IACH,sBAAmB,OAAgB;eAClC,kBAAM,OAAO,CAAC;IACf,CAAC;IACF,mBAAC;AAAD,CAAC,AAPD,CAAkC,2BAAY,GAO7C;AAPY,oCAAY"}