rettiwt-api 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/.dockerignore +1 -1
  2. package/dist/graphql/resolvers/TweetResolver.js +3 -3
  3. package/dist/graphql/resolvers/TweetResolver.js.map +1 -1
  4. package/dist/graphql/resolvers/UserResolver.js +3 -3
  5. package/dist/graphql/resolvers/UserResolver.js.map +1 -1
  6. package/dist/index.d.ts +4 -0
  7. package/dist/index.js +18 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/services/data/TweetService.d.ts +4 -9
  10. package/dist/services/data/TweetService.js +6 -40
  11. package/dist/services/data/TweetService.js.map +1 -1
  12. package/dist/services/data/UserService.d.ts +2 -2
  13. package/dist/services/data/UserService.js +9 -9
  14. package/dist/services/data/UserService.js.map +1 -1
  15. package/dist/services/helper/extractors/Tweets.d.ts +2 -4
  16. package/dist/services/helper/extractors/Tweets.js +6 -8
  17. package/dist/services/helper/extractors/Tweets.js.map +1 -1
  18. package/dist/services/helper/extractors/Users.d.ts +3 -6
  19. package/dist/services/helper/extractors/Users.js +6 -9
  20. package/dist/services/helper/extractors/Users.js.map +1 -1
  21. package/dist/types/data/Errors.d.ts +10 -11
  22. package/dist/types/data/Errors.js +11 -10
  23. package/dist/types/data/Errors.js.map +1 -1
  24. package/dist/types/data/Service.d.ts +2 -2
  25. package/package.json +1 -1
  26. package/src/index.ts +7 -1
  27. package/src/types/data/Service.ts +2 -2
  28. package/dist/services/data/UserAccountService.d.ts +0 -42
  29. package/dist/services/data/UserAccountService.js +0 -253
  30. package/dist/services/data/UserAccountService.js.map +0 -1
  31. package/dist/services/helper/Deserializers.d.ts +0 -19
  32. package/dist/services/helper/Deserializers.js +0 -115
  33. package/dist/services/helper/Deserializers.js.map +0 -1
  34. package/dist/services/helper/Extractors.d.ts +0 -101
  35. package/dist/services/helper/Extractors.js +0 -409
  36. package/dist/services/helper/Extractors.js.map +0 -1
  37. package/dist/services/helper/Urls.d.ts +0 -74
  38. package/dist/services/helper/Urls.js +0 -130
  39. package/dist/services/helper/Urls.js.map +0 -1
  40. package/dist/services/helper/deserializers/User.d.ts +0 -0
  41. package/dist/services/helper/deserializers/User.js +0 -2
  42. package/dist/services/helper/deserializers/User.js.map +0 -1
  43. package/dist/services/helper/extractors/TweetExtractors.d.ts +0 -0
  44. package/dist/services/helper/extractors/TweetExtractors.js +0 -2
  45. package/dist/services/helper/extractors/TweetExtractors.js.map +0 -1
  46. package/dist/services/helper/extractors/UserExtractors.d.ts +0 -45
  47. package/dist/services/helper/extractors/UserExtractors.js +0 -176
  48. package/dist/services/helper/extractors/UserExtractors.js.map +0 -1
  49. package/dist/services/helper/urls/Urls.d.ts +0 -4
  50. package/dist/services/helper/urls/Urls.js +0 -11
  51. package/dist/services/helper/urls/Urls.js.map +0 -1
  52. package/dist/types/Errors.d.ts +0 -15
  53. package/dist/types/Errors.js +0 -23
  54. package/dist/types/Errors.js.map +0 -1
  55. package/dist/types/Service.d.ts +0 -30
  56. package/dist/types/Service.js +0 -19
  57. package/dist/types/Service.js.map +0 -1
  58. package/dist/types/Tweet.d.ts +0 -41
  59. package/dist/types/Tweet.js +0 -5
  60. package/dist/types/Tweet.js.map +0 -1
  61. package/dist/types/User.d.ts +0 -19
  62. package/dist/types/User.js +0 -4
  63. package/dist/types/User.js.map +0 -1
  64. package/dist/types/UserAccount.d.ts +0 -19
  65. package/dist/types/UserAccount.js +0 -4
  66. package/dist/types/UserAccount.js.map +0 -1
  67. package/dist/types/raw/http/Error.d.ts +0 -34
  68. package/dist/types/raw/http/Error.js +0 -3
  69. package/dist/types/raw/http/Error.js.map +0 -1
  70. package/dist/types/raw/http/Response.d.ts +0 -34
  71. package/dist/types/raw/http/Response.js +0 -3
  72. package/dist/types/raw/http/Response.js.map +0 -1
  73. package/dist/types/raw/user/Tweets.d.ts +0 -2428
  74. package/dist/types/raw/user/Tweets.js +0 -3
  75. package/dist/types/raw/user/Tweets.js.map +0 -1
@@ -1,130 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.tweetRetweetUrl = exports.tweetLikesUrl = exports.tweetRepliesUrl = exports.tweetDetailsUrl = exports.tweetsUrl = exports.userTweetsUrl = exports.userLikesUrl = exports.userFollowersUrl = exports.userFollowingUrl = exports.userAccountByIdUrl = exports.userAccountUrl = exports.guestTokenUrl = void 0;
4
- /**
5
- * @returns The url for fetching a guest token
6
- */
7
- function guestTokenUrl() {
8
- return "https://api.twitter.com/1.1/guest/activate.json";
9
- }
10
- exports.guestTokenUrl = guestTokenUrl;
11
- /**
12
- * @returns The url for fetching user account details.
13
- * @param screenName The screen name of the target user
14
- */
15
- function userAccountUrl(screenName) {
16
- return "https://api.twitter.com/graphql/hVhfo_TquFTmgL7gYwf91Q/UserByScreenName?variables=%7B%22screen_name%22%3A%22".concat(screenName, "%22%2C%22withSafetyModeUserFields%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%7D");
17
- }
18
- exports.userAccountUrl = userAccountUrl;
19
- /**
20
- * @returns The url for fetching user account details.
21
- * @param restid The restId of the target user
22
- */
23
- function userAccountByIdUrl(restId) {
24
- return "https://api.twitter.com/graphql/mi_IjXgFyr41N9zkszPz9w/UserByRestId?variables=%7B%22userId%22%3A%22".concat(restId, "%22%2C%22withSafetyModeUserFields%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%7D");
25
- }
26
- exports.userAccountByIdUrl = userAccountByIdUrl;
27
- /**
28
- * @returns The url for fetching the list of users followed bu target user.
29
- * @param userId The rest id of the target user
30
- * @param count The batch size of the list of following, should be >= 40 and <=100
31
- * @param cursor The cursor to next batch
32
- */
33
- function userFollowingUrl(userId, count, cursor) {
34
- /**
35
- * Twitter has a ver odd behaviour here.
36
- * If no cursor is provided, the number of followings fetched is slightly more the given count.
37
- * If a cursor if provided, the number of followings is sometimes less than the provided count.
38
- * NO SOLUTION EXISTS AS OF NOW!
39
- */
40
- return "https://api.twitter.com/graphql/mSnjZc5CTm2Z5Lu_i4XsPQ/Following?variables=%7B%22userId%22%3A%22".concat(userId, "%22%2C%22count%22%3A").concat(count, "%2C%22cursor%22%3A%22").concat(encodeURIComponent(cursor), "%22%2C%22includePromotedContent%22%3Afalse%2C%22withSuperFollowsUserFields%22%3Atrue%2C%22withDownvotePerspective%22%3Afalse%2C%22withReactionsMetadata%22%3Afalse%2C%22withReactionsPerspective%22%3Afalse%2C%22withSuperFollowsTweetFields%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22view_counts_public_visibility_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_uc_gql_enabled%22%3Atrue%2C%22vibe_api_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Atrue%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D");
41
- }
42
- exports.userFollowingUrl = userFollowingUrl;
43
- /**
44
- * @return The url for fetching the list of followers of the target user
45
- * @param userId The rest id of the target user
46
- * @param count The batch size for the list of followers, should be >= 40 and <=100
47
- * @param cursor The cusor to next batch
48
- */
49
- function userFollowersUrl(userId, count, cursor) {
50
- /**
51
- * Twitter has a very odd behaviour here.
52
- * If no cursor is provided, the number of followers fetched is equal to count + 20.
53
- * If a cursor is provided, the number of followers fetched is equal to count.
54
- * The solution is to check accordingly, if a cursor if provided or not and manipulate the count
55
- */
56
- // If no cursor if provided
57
- if (!cursor) {
58
- count = count - 20;
59
- }
60
- return "https://api.twitter.com/graphql/nwlAnaw7oKXcVLi91ehy7Q/Followers?variables=%7B%22userId%22%3A%22".concat(userId, "%22%2C%22count%22%3A").concat(count, "%2C%22cursor%22%3A%22").concat(encodeURIComponent(cursor), "%22%2C%22includePromotedContent%22%3Afalse%2C%22withSuperFollowsUserFields%22%3Atrue%2C%22withDownvotePerspective%22%3Afalse%2C%22withReactionsMetadata%22%3Afalse%2C%22withReactionsPerspective%22%3Afalse%2C%22withSuperFollowsTweetFields%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22view_counts_public_visibility_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_uc_gql_enabled%22%3Atrue%2C%22vibe_api_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Atrue%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D");
61
- }
62
- exports.userFollowersUrl = userFollowersUrl;
63
- /**
64
- * @returns The url for fetching the list of tweets liked by the target user
65
- * @param userId The rest id of the target user
66
- * @param count The batch size for the list of tweets
67
- * @param cursor The cusor to next batch
68
- */
69
- function userLikesUrl(userId, count, cursor) {
70
- return "https://api.twitter.com/graphql/gP4ZKghLd4tpILgS6VudAQ/Likes?variables=%7B%22userId%22%3A%22".concat(userId, "%22%2C%22count%22%3A").concat(count, "%2C%22cursor%22%3A%22").concat(encodeURIComponent(cursor), "%22%2C%22includePromotedContent%22%3Afalse%2C%22withSuperFollowsUserFields%22%3Atrue%2C%22withDownvotePerspective%22%3Afalse%2C%22withReactionsMetadata%22%3Afalse%2C%22withReactionsPerspective%22%3Afalse%2C%22withSuperFollowsTweetFields%22%3Atrue%2C%22withClientEventToken%22%3Afalse%2C%22withBirdwatchNotes%22%3Afalse%2C%22withVoice%22%3Atrue%2C%22withV2Timeline%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22view_counts_public_visibility_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_uc_gql_enabled%22%3Atrue%2C%22vibe_api_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Atrue%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D");
71
- }
72
- exports.userLikesUrl = userLikesUrl;
73
- /**
74
- * @returns The url for fetching the list of tweets made by the target user
75
- * @param userId The rest id of the target user
76
- * @param count The batch size for the list of tweets
77
- * @param cursor The cursor to next batch
78
- */
79
- function userTweetsUrl(userId, count, cursor) {
80
- return "https://api.twitter.com/graphql/MsEBEnQjKQCsRlAbC6qKcA/UserTweets?variables=%7B%22userId%22%3A%22".concat(userId, "%22%2C%22count%22%3A").concat(count, "%2C%22cursor%22%3A%22").concat(encodeURIComponent(cursor), "%22%2C%22includePromotedContent%22%3Atrue%2C%22withQuickPromoteEligibilityTweetFields%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%2C%22withDownvotePerspective%22%3Afalse%2C%22withReactionsMetadata%22%3Afalse%2C%22withReactionsPerspective%22%3Afalse%2C%22withSuperFollowsTweetFields%22%3Atrue%2C%22withVoice%22%3Atrue%2C%22withV2Timeline%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22view_counts_public_visibility_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22vibe_api_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Atrue%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D");
81
- }
82
- exports.userTweetsUrl = userTweetsUrl;
83
- /**
84
- * @returns The url for fetching the list of tweets matching the given filter
85
- * @param query The query to be used for searching tweets
86
- * @param count The number of tweets to fetch
87
- * @param cursor The cusor to next batch *
88
- */
89
- function tweetsUrl(query, count, cursor) {
90
- return "https://api.twitter.com/2/search/adaptive.json?include_want_retweets=1&include_quote_count=true&include_reply_count=1&tweet_mode=extended&include_entities=true&include_user_entities=true&simple_quoted_tweet=true&q=".concat(encodeURIComponent(query), "&tweet_search_mode=live&count=").concat(count, "&query_source=typed_query&cursor=").concat(encodeURIComponent(cursor));
91
- }
92
- exports.tweetsUrl = tweetsUrl;
93
- /**
94
- * @returns The url for fetching the details of a given tweet
95
- * @param tweetId The rest id of the target tweet
96
- */
97
- function tweetDetailsUrl(tweetId) {
98
- return "https://api.twitter.com/graphql/lXI2kaM2hgmbf7h42kpxuA/TweetDetail?variables=%7B%22focalTweetId%22%3A%22".concat(tweetId, "%22%2C%22referrer%22%3A%22profile%22%2C%22with_rux_injections%22%3Afalse%2C%22includePromotedContent%22%3Atrue%2C%22withCommunity%22%3Atrue%2C%22withQuickPromoteEligibilityTweetFields%22%3Atrue%2C%22withBirdwatchNotes%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%2C%22withDownvotePerspective%22%3Afalse%2C%22withReactionsMetadata%22%3Afalse%2C%22withReactionsPerspective%22%3Afalse%2C%22withSuperFollowsTweetFields%22%3Atrue%2C%22withVoice%22%3Atrue%2C%22withV2Timeline%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22view_counts_public_visibility_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_uc_gql_enabled%22%3Atrue%2C%22vibe_api_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Atrue%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D");
99
- }
100
- exports.tweetDetailsUrl = tweetDetailsUrl;
101
- /**
102
- * @returns The url for fetching the list of replies to a given tweet
103
- * @param tweetId The rest of the target tweet
104
- * @param cursor The curor to next batch
105
- */
106
- function tweetRepliesUrl(tweetId, cursor) {
107
- return "https://api.twitter.com/graphql/lXI2kaM2hgmbf7h42kpxuA/TweetDetail?variables=%7B%22focalTweetId%22%3A%22".concat(tweetId, "%22%2C%22cursor%22%3A%22").concat(encodeURIComponent(cursor), "%22%2C%22referrer%22%3A%22tweet%22%2C%22with_rux_injections%22%3Afalse%2C%22includePromotedContent%22%3Atrue%2C%22withCommunity%22%3Atrue%2C%22withQuickPromoteEligibilityTweetFields%22%3Atrue%2C%22withBirdwatchNotes%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%2C%22withDownvotePerspective%22%3Afalse%2C%22withReactionsMetadata%22%3Afalse%2C%22withReactionsPerspective%22%3Afalse%2C%22withSuperFollowsTweetFields%22%3Atrue%2C%22withVoice%22%3Atrue%2C%22withV2Timeline%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22view_counts_public_visibility_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_uc_gql_enabled%22%3Atrue%2C%22vibe_api_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Atrue%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D");
108
- }
109
- exports.tweetRepliesUrl = tweetRepliesUrl;
110
- /**
111
- * @returns The url for fetching the list of users who liked a given tweet
112
- * @param tweetId The rest id of the target tweet
113
- * @param count The batch size of the list of users
114
- * @param cursor The curor to next batch
115
- */
116
- function tweetLikesUrl(tweetId, count, cursor) {
117
- return "https://api.twitter.com/graphql/56ZwFC3Vui31fF8IYX8EGA/Favoriters?variables=%7B%22tweetId%22%3A%22".concat(tweetId, "%22%2C%22count%22%3A").concat(count, "%2C%22cursor%22%3A%22").concat(encodeURIComponent(cursor), "%22%2C%22includePromotedContent%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%2C%22withDownvotePerspective%22%3Afalse%2C%22withReactionsMetadata%22%3Afalse%2C%22withReactionsPerspective%22%3Afalse%2C%22withSuperFollowsTweetFields%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22view_counts_public_visibility_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_uc_gql_enabled%22%3Atrue%2C%22vibe_api_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Atrue%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D");
118
- }
119
- exports.tweetLikesUrl = tweetLikesUrl;
120
- /**
121
- * @returns The url for fetching the list of user who retweeted the given tweet
122
- * @param tweetId The rest id of the target tweet
123
- * @param count The batch size of the list of users
124
- * @param cursor The curor to next batch
125
- */
126
- function tweetRetweetUrl(tweetId, count, cursor) {
127
- return "https://api.twitter.com/graphql/Wd7DVeLqMj_JQiTL0tjJwQ/Retweeters?variables=%7B%22tweetId%22%3A%22".concat(tweetId, "%22%2C%22count%22%3A").concat(count, "%2C%22cursor%22%3A%22").concat(encodeURIComponent(cursor), "%22%2C%22includePromotedContent%22%3Atrue%2C%22withSuperFollowsUserFields%22%3Atrue%2C%22withDownvotePerspective%22%3Afalse%2C%22withReactionsMetadata%22%3Afalse%2C%22withReactionsPerspective%22%3Afalse%2C%22withSuperFollowsTweetFields%22%3Atrue%7D&features=%7B%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22verified_phone_label_enabled%22%3Atrue%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Atrue%2C%22view_counts_public_visibility_enabled%22%3Atrue%2C%22longform_notetweets_consumption_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Atrue%2C%22responsive_web_uc_gql_enabled%22%3Atrue%2C%22vibe_api_enabled%22%3Atrue%2C%22responsive_web_edit_tweet_api_enabled%22%3Atrue%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Atrue%2C%22view_counts_everywhere_api_enabled%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Atrue%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Atrue%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%7D");
128
- }
129
- exports.tweetRetweetUrl = tweetRetweetUrl;
130
- //# sourceMappingURL=Urls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Urls.js","sourceRoot":"","sources":["../../../src/services/helper/Urls.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,aAAa;IACzB,OAAO,iDAAiD,CAAC;AAC7D,CAAC;AAFD,sCAEC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,UAAkB;IAC7C,OAAO,sHAA+G,UAAU,6RAA0R,CAAA;AAC9Z,CAAC;AAFD,wCAEC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,MAAc;IAC7C,OAAO,6GAAsG,MAAM,6RAA0R,CAAC;AAClZ,CAAC;AAFD,gDAEC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;IAC1E;;;;;OAKG;IACH,OAAO,0GAAmG,MAAM,iCAAuB,KAAK,kCAAwB,kBAAkB,CAAC,MAAM,CAAC,2nCAAwnC,CAAC;AAC3zC,CAAC;AARD,4CAQC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;IAC1E;;;;;OAKG;IACH,2BAA2B;IAC3B,IAAI,CAAC,MAAM,EAAE;QACT,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;KACtB;IAED,OAAO,0GAAmG,MAAM,iCAAuB,KAAK,kCAAwB,kBAAkB,CAAC,MAAM,CAAC,2nCAAwnC,CAAC;AAC3zC,CAAC;AAbD,4CAaC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;IACtE,OAAO,sGAA+F,MAAM,iCAAuB,KAAK,kCAAwB,kBAAkB,CAAC,MAAM,CAAC,0vCAAuvC,CAAC;AACt7C,CAAC;AAFD,oCAEC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;IACvE,OAAO,2GAAoG,MAAM,iCAAuB,KAAK,kCAAwB,kBAAkB,CAAC,MAAM,CAAC,0rCAAurC,CAAC;AAC33C,CAAC;AAFD,sCAEC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc;IAClE,OAAO,gOAAyN,kBAAkB,CAAC,KAAK,CAAC,2CAAiC,KAAK,8CAAoC,kBAAkB,CAAC,MAAM,CAAC,CAAE,CAAC;AACpW,CAAC;AAFD,8BAEC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC3C,OAAO,kHAA2G,OAAO,22CAAw2C,CAAC;AACt+C,CAAC;AAFD,0CAEC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,MAAc;IAC3D,OAAO,kHAA2G,OAAO,qCAA2B,kBAAkB,CAAC,MAAM,CAAC,y2CAAs2C,CAAC;AACzhD,CAAC;AAFD,0CAEC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IACxE,OAAO,4GAAqG,OAAO,iCAAuB,KAAK,kCAAwB,kBAAkB,CAAC,MAAM,CAAC,0nCAAunC,CAAC;AAC7zC,CAAC;AAFD,sCAEC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC1E,OAAO,4GAAqG,OAAO,iCAAuB,KAAK,kCAAwB,kBAAkB,CAAC,MAAM,CAAC,0nCAAunC,CAAC;AAC7zC,CAAC;AAFD,0CAEC"}
File without changes
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=User.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/services/helper/deserializers/User.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=TweetExtractors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TweetExtractors.js","sourceRoot":"","sources":["../../../../src/services/helper/extractors/TweetExtractors.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import RawUser from '../../../types/raw/user/User';
2
- import RawUserFollowers from '../../../types/raw/user/Followers';
3
- import RawUserFollowing from '../../../types/raw/user/Following';
4
- import RawUserLikes from '../../../types/raw/user/Likes';
5
- import RawUserTweets from '../../../types/raw/user/Tweets';
6
- /**
7
- * @returns The raw user account data formatted and sorted into required and additional data
8
- * @param res The raw response received from Twitter
9
- */
10
- export declare function extractUserAccountDetails(res: RawUser): {
11
- required: any[];
12
- cursor: string;
13
- users: any[];
14
- tweets: any[];
15
- };
16
- /**
17
- * @returns The raw user following/followers data formatted and sorted into required and additional data
18
- * @param res The raw response received from TwitterAPI
19
- */
20
- export declare function extractUserFollow(res: RawUserFollowers | RawUserFollowing): {
21
- required: any[];
22
- cursor: string;
23
- users: any[];
24
- tweets: any[];
25
- };
26
- /**
27
- * @returns The raw user likes data formatted and sorted into required and additional data
28
- * @param res The raw response received from TwitterAPI
29
- */
30
- export declare function extractUserLikes(res: RawUserLikes): {
31
- required: any[];
32
- cursor: string;
33
- users: any[];
34
- tweets: any[];
35
- };
36
- /**
37
- * @returns The raw tweets data formatted and sorted into required and additional data
38
- * @param res The raw response received from TwitterAPI
39
- */
40
- export declare function extractUserTweets(res: RawUserTweets): {
41
- required: any[];
42
- cursor: string;
43
- users: any[];
44
- tweets: any[];
45
- };
@@ -1,176 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- exports.__esModule = true;
26
- exports.extractUserTweets = exports.extractUserLikes = exports.extractUserFollow = exports.extractUserAccountDetails = void 0;
27
- // TYPES
28
- var Errors_1 = require("../../../types/Errors");
29
- // PARSERS
30
- var Parsers = __importStar(require("../Parser"));
31
- /* USERS */
32
- /**
33
- * @returns The raw user account data formatted and sorted into required and additional data
34
- * @param res The raw response received from Twitter
35
- */
36
- function extractUserAccountDetails(res) {
37
- var required = []; // To store the reqruied raw data
38
- var cursor = ''; // To store the cursor to next batch
39
- var users = []; // To store additional user data
40
- var tweets = []; // To store additional tweet data
41
- // If user not found or account suspended
42
- if (Parsers.isJSONEmpty(res.data) || Parsers.isJSONEmpty(res.data.user) || res.data.user.result.__typename !== 'User') {
43
- throw new Error(Errors_1.DataErrors.UserNotFound);
44
- }
45
- // Destructuring user account data
46
- required.push(res.data.user.result);
47
- users.push(res.data.user.result);
48
- // Returning the data
49
- return {
50
- required: required,
51
- cursor: cursor,
52
- users: users,
53
- tweets: tweets
54
- };
55
- }
56
- exports.extractUserAccountDetails = extractUserAccountDetails;
57
- /**
58
- * @returns The raw user following/followers data formatted and sorted into required and additional data
59
- * @param res The raw response received from TwitterAPI
60
- */
61
- function extractUserFollow(res) {
62
- var required = []; // To store the reqruied raw data
63
- var cursor = ''; // To store the cursor to next batch
64
- var users = []; // To store additional user data
65
- var tweets = []; // To store additional tweet data
66
- // If user does not exist
67
- if (Parsers.isJSONEmpty(res.data.user)) {
68
- throw new Error(Errors_1.DataErrors.UserNotFound);
69
- }
70
- // Extracting the raw list
71
- res.data.user.result.timeline.timeline.instructions.forEach(function (item) {
72
- var _a;
73
- if (item.type === 'TimelineAddEntries') {
74
- // Destructuring data
75
- (_a = item.entries) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {
76
- var _a, _b;
77
- // If entry is of type user and user account exists
78
- if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
79
- required.push(entry.content.itemContent.user_results.result);
80
- users.push(entry.content.itemContent.user_results.result);
81
- }
82
- // If entry is of type cursor
83
- else if (entry.entryId.indexOf('cursor-bottom') != -1) {
84
- cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
85
- }
86
- });
87
- }
88
- });
89
- // Returning the data
90
- return {
91
- required: required,
92
- cursor: cursor,
93
- users: users,
94
- tweets: tweets
95
- };
96
- }
97
- exports.extractUserFollow = extractUserFollow;
98
- /**
99
- * @returns The raw user likes data formatted and sorted into required and additional data
100
- * @param res The raw response received from TwitterAPI
101
- */
102
- function extractUserLikes(res) {
103
- var required = []; // To store the reqruied raw data
104
- var cursor = ''; // To store the cursor to next batch
105
- var users = []; // To store additional user data
106
- var tweets = []; // To store additional tweet data
107
- // If user does not exist
108
- if (Parsers.isJSONEmpty(res.data.user)) {
109
- throw new Error(Errors_1.DataErrors.UserNotFound);
110
- }
111
- // Extracting the raw list
112
- res.data.user.result.timeline_v2.timeline.instructions.forEach(function (item) {
113
- if (item.type === 'TimelineAddEntries') {
114
- // Destructuring data
115
- item.entries.forEach(function (entry) {
116
- var _a, _b;
117
- // If entry is of type tweet and tweet exists
118
- if (entry.entryId.indexOf('tweet') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results.result.__typename) === 'Tweet') {
119
- required.push(entry.content.itemContent.tweet_results.result);
120
- users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
121
- tweets.push(entry.content.itemContent.tweet_results.result);
122
- }
123
- // If entry is of type cursor
124
- else if (entry.entryId.indexOf('cursor-bottom') != -1) {
125
- cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
126
- }
127
- });
128
- }
129
- });
130
- // Returning the data
131
- return {
132
- required: required,
133
- cursor: cursor,
134
- users: users,
135
- tweets: tweets
136
- };
137
- }
138
- exports.extractUserLikes = extractUserLikes;
139
- /**
140
- * @returns The raw tweets data formatted and sorted into required and additional data
141
- * @param res The raw response received from TwitterAPI
142
- */
143
- function extractUserTweets(res) {
144
- var _a, _b, _c;
145
- var required = []; // To store the reqruied raw data
146
- var cursor = ''; // To store the cursor to next batch
147
- var users = []; // To store additional user data
148
- var tweets = []; // To store additional tweet data
149
- // Getting the raw tweet list
150
- var dataTweets = res.data.user.result.timeline_v2.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries;
151
- // Destructuring tweets, if not empty
152
- if (!Parsers.isJSONEmpty(dataTweets)) {
153
- // Iterating through the json array of tweets
154
- for (var _i = 0, dataTweets_1 = dataTweets; _i < dataTweets_1.length; _i++) {
155
- var entry = dataTweets_1[_i];
156
- // If the entry is a tweet
157
- if (entry.entryId.indexOf('tweet') != -1) {
158
- required.push((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results.result);
159
- tweets.push((_b = entry.content.itemContent) === null || _b === void 0 ? void 0 : _b.tweet_results.result);
160
- users.push((_c = entry.content.itemContent) === null || _c === void 0 ? void 0 : _c.tweet_results.result.core.user_results.result);
161
- }
162
- // If the entry is a cursor
163
- else if (entry.entryId.indexOf('cursor-bottom') != -1) {
164
- cursor = entry.content.value;
165
- }
166
- }
167
- }
168
- return {
169
- required: required,
170
- cursor: cursor,
171
- users: users,
172
- tweets: tweets
173
- };
174
- }
175
- exports.extractUserTweets = extractUserTweets;
176
- //# sourceMappingURL=UserExtractors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserExtractors.js","sourceRoot":"","sources":["../../../../src/services/helper/extractors/UserExtractors.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- /**
2
- * @returns The url for fetching a guest token
3
- */
4
- export declare function guestTokenUrl(): string;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.guestTokenUrl = void 0;
4
- /**
5
- * @returns The url for fetching a guest token
6
- */
7
- function guestTokenUrl() {
8
- return "https://api.twitter.com/1.1/guest/activate.json";
9
- }
10
- exports.guestTokenUrl = guestTokenUrl;
11
- //# sourceMappingURL=Urls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Urls.js","sourceRoot":"","sources":["../../../../src/services/helper/urls/Urls.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,aAAa;IACzB,OAAO,iDAAiD,CAAC;AAC7D,CAAC;AAFD,sCAEC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * @summary Collection of different types of validation errors
3
- */
4
- export declare enum ValidationErrors {
5
- InvalidTweetFilter = "Atleast one of fromUsers/toUsers/mentions/hashtags/words argument is required",
6
- NoUserIdentification = "Either userName or id must be given"
7
- }
8
- /**
9
- * @summary Stores all the different type of error messages that are returned by services
10
- */
11
- export declare enum DataErrors {
12
- UserNotFound = "An account with given username/id was not found",
13
- TweetNotFound = "A tweet with the given id was not found",
14
- NoTweetsFound = "No tweets matching the given criteria found"
15
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.DataErrors = exports.ValidationErrors = void 0;
4
- /**
5
- * @summary Collection of different types of validation errors
6
- */
7
- var ValidationErrors;
8
- (function (ValidationErrors) {
9
- ValidationErrors["InvalidTweetFilter"] = "Atleast one of fromUsers/toUsers/mentions/hashtags/words argument is required";
10
- ValidationErrors["NoUserIdentification"] = "Either userName or id must be given";
11
- })(ValidationErrors = exports.ValidationErrors || (exports.ValidationErrors = {}));
12
- ;
13
- /**
14
- * @summary Stores all the different type of error messages that are returned by services
15
- */
16
- var DataErrors;
17
- (function (DataErrors) {
18
- DataErrors["UserNotFound"] = "An account with given username/id was not found";
19
- DataErrors["TweetNotFound"] = "A tweet with the given id was not found";
20
- DataErrors["NoTweetsFound"] = "No tweets matching the given criteria found";
21
- })(DataErrors = exports.DataErrors || (exports.DataErrors = {}));
22
- ;
23
- //# sourceMappingURL=Errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../src/types/Errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,wHAAoG,CAAA;IACpG,gFAA4D,CAAA;AAChE,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B;AAAA,CAAC;AAEF;;GAEG;AACH,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,8EAAgE,CAAA;IAChE,uEAAyD,CAAA;IACzD,2EAA6D,CAAA;AACjE,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAAA,CAAC"}
@@ -1,30 +0,0 @@
1
- import { AccountService } from "../services/accounts/AccountService";
2
- import { TweetService } from "../services/data/TweetService";
3
- import { UserAccountService } from "../services/data/UserAccountService";
4
- /**
5
- * @summary Stores the cursor to the batch of data
6
- */
7
- export declare class Cursor {
8
- value: string;
9
- /**
10
- * @summary Initializes a new cursor from the given cursor string
11
- * @param cursorStr The string representation of the cursor
12
- */
13
- constructor(cursorStr: string);
14
- }
15
- /**
16
- * @summary Stores cursored data that is returned by services
17
- */
18
- export interface CursoredData<Type> {
19
- list?: Type[];
20
- next?: Cursor;
21
- error?: Error;
22
- }
23
- /**
24
- * @summary Stores the data context from where data is to be fetched
25
- */
26
- export interface DataContext {
27
- users: UserAccountService;
28
- tweets: TweetService;
29
- account: AccountService;
30
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.Cursor = void 0;
4
- /**
5
- * @summary Stores the cursor to the batch of data
6
- */
7
- var Cursor = /** @class */ (function () {
8
- // MEMBER DATA
9
- /**
10
- * @summary Initializes a new cursor from the given cursor string
11
- * @param cursorStr The string representation of the cursor
12
- */
13
- function Cursor(cursorStr) {
14
- this.value = cursorStr;
15
- }
16
- return Cursor;
17
- }());
18
- exports.Cursor = Cursor;
19
- //# sourceMappingURL=Service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/types/Service.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACH;IAII,cAAc;IACd;;;OAGG;IACH,gBAAY,SAAiB;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,CAAC;IACL,aAAC;AAAD,CAAC,AAZD,IAYC;AAZY,wBAAM"}
@@ -1,41 +0,0 @@
1
- /**
2
- * @summary Stores the filter to be used for fetching tweets from TwitterAPI
3
- */
4
- export interface TweetFilter {
5
- words?: string[];
6
- hashtags?: string[];
7
- fromUsers?: string[];
8
- toUsers?: string[];
9
- mentions?: string[];
10
- startDate?: string;
11
- endDate?: string;
12
- sinceId?: string;
13
- quoted?: string;
14
- links?: boolean;
15
- }
16
- /**
17
- * @summary Stores the different types of tweet elements like urls, media, mentions, hashtags, etc
18
- */
19
- export interface TweetEntities {
20
- hashtags: string[];
21
- urls: string[];
22
- mentionedUsers: string[];
23
- media: string[];
24
- }
25
- /**
26
- * @summary Stores a single tweet
27
- */
28
- export interface Tweet {
29
- id: string;
30
- tweetBy: string;
31
- createdAt: string;
32
- entities: TweetEntities;
33
- quoted: string;
34
- fullText: string;
35
- replyTo: string;
36
- lang: string;
37
- quoteCount: number;
38
- replyCount: number;
39
- retweetCount: number;
40
- likeCount: number;
41
- }
@@ -1,5 +0,0 @@
1
- "use strict";
2
- // This file contains various objects related to handling of Tweets made by a user
3
- exports.__esModule = true;
4
- ;
5
- //# sourceMappingURL=Tweet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tweet.js","sourceRoot":"","sources":["../../src/types/Tweet.ts"],"names":[],"mappings":";AAAA,kFAAkF;;AAgBjF,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * @summary Stores the complete details of the given user's account
3
- */
4
- export interface User {
5
- id: string;
6
- userName: string;
7
- fullName: string;
8
- createdAt: string;
9
- description: string;
10
- isVerified: boolean;
11
- favouritesCount: number;
12
- followersCount: number;
13
- followingsCount: number;
14
- statusesCount: number;
15
- location: string;
16
- pinnedTweet: string;
17
- profileBanner: string;
18
- profileImage: string;
19
- }
@@ -1,4 +0,0 @@
1
- "use strict";
2
- // This file contains various objects for handling data related to User Account
3
- exports.__esModule = true;
4
- //# sourceMappingURL=User.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../src/types/User.ts"],"names":[],"mappings":";AAAA,+EAA+E"}
@@ -1,19 +0,0 @@
1
- /**
2
- * @summary Stores the complete details of the given user's account
3
- */
4
- export interface User {
5
- id: string;
6
- userName: string;
7
- fullName: string;
8
- createdAt: string;
9
- description: string;
10
- isVerified: boolean;
11
- favouritesCount: number;
12
- followersCount: number;
13
- followingsCount: number;
14
- statusesCount: number;
15
- location: string;
16
- pinnedTweet: string;
17
- profileBanner: string;
18
- profileImage: string;
19
- }
@@ -1,4 +0,0 @@
1
- "use strict";
2
- // This file contains various objects for handling data related to User Account
3
- exports.__esModule = true;
4
- //# sourceMappingURL=UserAccount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserAccount.js","sourceRoot":"","sources":["../../src/types/UserAccount.ts"],"names":[],"mappings":";AAAA,+EAA+E"}