rettiwt-api 1.0.6 → 1.0.8

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 (177) hide show
  1. package/dist/{queries → graphql/queries}/RootQuery.d.ts +0 -0
  2. package/dist/{queries → graphql/queries}/RootQuery.js +4 -3
  3. package/dist/graphql/queries/RootQuery.js.map +1 -0
  4. package/dist/{resolvers → graphql/resolvers}/AccountResolver.d.ts +1 -1
  5. package/dist/{resolvers → graphql/resolvers}/AccountResolver.js +0 -0
  6. package/dist/graphql/resolvers/AccountResolver.js.map +1 -0
  7. package/dist/{resolvers → graphql/resolvers}/ResolverBase.d.ts +1 -1
  8. package/dist/{resolvers → graphql/resolvers}/ResolverBase.js +0 -0
  9. package/dist/graphql/resolvers/ResolverBase.js.map +1 -0
  10. package/dist/{resolvers → graphql/resolvers}/TweetResolver.d.ts +10 -18
  11. package/dist/{resolvers → graphql/resolvers}/TweetResolver.js +51 -83
  12. package/dist/graphql/resolvers/TweetResolver.js.map +1 -0
  13. package/dist/{resolvers → graphql/resolvers}/UserResolver.d.ts +5 -4
  14. package/dist/{resolvers → graphql/resolvers}/UserResolver.js +51 -35
  15. package/dist/graphql/resolvers/UserResolver.js.map +1 -0
  16. package/dist/{models/graphql → graphql/types}/Global.d.ts +0 -0
  17. package/dist/{models/graphql → graphql/types}/Global.js +0 -0
  18. package/dist/graphql/types/Global.js.map +1 -0
  19. package/dist/graphql/types/TweetTypes.d.ts +4 -0
  20. package/dist/{models/graphql → graphql/types}/TweetTypes.js +17 -13
  21. package/dist/graphql/types/TweetTypes.js.map +1 -0
  22. package/dist/graphql/types/UserTypes.d.ts +3 -0
  23. package/dist/{models/graphql → graphql/types}/UserTypes.js +9 -11
  24. package/dist/graphql/types/UserTypes.js.map +1 -0
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.js +2 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/server.js +3 -3
  29. package/dist/server.js.map +1 -1
  30. package/dist/services/AuthService.js +2 -2
  31. package/dist/services/AuthService.js.map +1 -1
  32. package/dist/services/CacheService.d.ts +3 -3
  33. package/dist/services/CacheService.js +22 -75
  34. package/dist/services/CacheService.js.map +1 -1
  35. package/dist/services/FetcherService.d.ts +3 -2
  36. package/dist/services/FetcherService.js +11 -29
  37. package/dist/services/FetcherService.js.map +1 -1
  38. package/dist/services/data/TweetService.d.ts +15 -16
  39. package/dist/services/data/TweetService.js +71 -50
  40. package/dist/services/data/TweetService.js.map +1 -1
  41. package/dist/services/data/UserAccountService.d.ts +3 -3
  42. package/dist/services/data/UserAccountService.js +22 -8
  43. package/dist/services/data/UserAccountService.js.map +1 -1
  44. package/dist/services/data/UserService.d.ts +42 -0
  45. package/dist/services/data/UserService.js +255 -0
  46. package/dist/services/data/UserService.js.map +1 -0
  47. package/dist/services/helper/Extractors.js +1 -1
  48. package/dist/services/helper/Extractors.js.map +1 -1
  49. package/dist/services/helper/Parser.d.ts +1 -1
  50. package/dist/services/helper/Parser.js +4 -3
  51. package/dist/services/helper/Parser.js.map +1 -1
  52. package/dist/services/helper/Urls.d.ts +2 -2
  53. package/dist/services/helper/Urls.js +19 -3
  54. package/dist/services/helper/Urls.js.map +1 -1
  55. package/dist/services/helper/deserializers/Tweets.d.ts +12 -0
  56. package/dist/services/helper/deserializers/Tweets.js +92 -0
  57. package/dist/services/helper/deserializers/Tweets.js.map +1 -0
  58. package/dist/services/{accounting/Flows.d.ts → helper/deserializers/User.d.ts} +0 -0
  59. package/dist/services/helper/deserializers/User.js +2 -0
  60. package/dist/services/helper/deserializers/User.js.map +1 -0
  61. package/dist/services/helper/deserializers/Users.d.ts +7 -0
  62. package/dist/services/helper/deserializers/Users.js +27 -0
  63. package/dist/services/helper/deserializers/Users.js.map +1 -0
  64. package/dist/services/helper/extractors/TweetExtractors.d.ts +0 -0
  65. package/dist/services/helper/extractors/TweetExtractors.js +2 -0
  66. package/dist/services/helper/extractors/TweetExtractors.js.map +1 -0
  67. package/dist/services/helper/extractors/Tweets.d.ts +34 -0
  68. package/dist/services/helper/extractors/Tweets.js +266 -0
  69. package/dist/services/helper/extractors/Tweets.js.map +1 -0
  70. package/dist/services/helper/extractors/UserExtractors.d.ts +45 -0
  71. package/dist/services/helper/extractors/UserExtractors.js +176 -0
  72. package/dist/services/helper/extractors/UserExtractors.js.map +1 -0
  73. package/dist/services/helper/extractors/Users.d.ts +23 -0
  74. package/dist/services/helper/extractors/Users.js +154 -0
  75. package/dist/services/helper/extractors/Users.js.map +1 -0
  76. package/dist/services/helper/urls/Authentication.d.ts +4 -0
  77. package/dist/services/helper/urls/Authentication.js +11 -0
  78. package/dist/services/helper/urls/Authentication.js.map +1 -0
  79. package/dist/services/helper/urls/Tweets.d.ts +32 -0
  80. package/dist/services/helper/urls/Tweets.js +51 -0
  81. package/dist/services/helper/urls/Tweets.js.map +1 -0
  82. package/dist/services/helper/urls/Urls.d.ts +4 -0
  83. package/dist/services/helper/urls/Urls.js +11 -0
  84. package/dist/services/helper/urls/Urls.js.map +1 -0
  85. package/dist/services/helper/urls/Users.d.ts +31 -0
  86. package/dist/services/helper/urls/Users.js +66 -0
  87. package/dist/services/helper/urls/Users.js.map +1 -0
  88. package/dist/types/{graphql/Errors.d.ts → Errors.d.ts} +0 -0
  89. package/dist/types/{graphql/Errors.js → Errors.js} +0 -0
  90. package/dist/types/Errors.js.map +1 -0
  91. package/dist/types/Resolvers.d.ts +9 -0
  92. package/dist/types/Resolvers.js +3 -0
  93. package/dist/types/Resolvers.js.map +1 -0
  94. package/dist/types/Tweet.d.ts +1 -0
  95. package/dist/types/Tweet.js.map +1 -1
  96. package/dist/types/User.d.ts +19 -0
  97. package/dist/types/User.js +4 -0
  98. package/dist/types/User.js.map +1 -0
  99. package/dist/types/data/Errors.d.ts +27 -0
  100. package/dist/types/data/Errors.js +35 -0
  101. package/dist/types/data/Errors.js.map +1 -0
  102. package/dist/types/data/Service.d.ts +29 -0
  103. package/dist/types/data/Service.js +19 -0
  104. package/dist/types/data/Service.js.map +1 -0
  105. package/dist/types/data/Tweet.d.ts +41 -0
  106. package/dist/types/data/Tweet.js +5 -0
  107. package/dist/types/data/Tweet.js.map +1 -0
  108. package/dist/types/data/User.d.ts +19 -0
  109. package/dist/types/data/User.js +4 -0
  110. package/dist/types/data/User.js.map +1 -0
  111. package/dist/types/raw/http/Error.d.ts +34 -0
  112. package/dist/types/raw/{user/Users.js → http/Error.js} +1 -1
  113. package/dist/types/raw/http/Error.js.map +1 -0
  114. package/dist/types/raw/http/Response.d.ts +34 -0
  115. package/dist/types/raw/http/Response.js +3 -0
  116. package/dist/types/raw/http/Response.js.map +1 -0
  117. package/package.json +1 -1
  118. package/src/{queries → graphql/queries}/RootQuery.ts +5 -4
  119. package/src/{resolvers → graphql/resolvers}/AccountResolver.ts +21 -21
  120. package/src/{resolvers → graphql/resolvers}/ResolverBase.ts +1 -1
  121. package/src/{resolvers → graphql/resolvers}/TweetResolver.ts +48 -30
  122. package/src/{resolvers → graphql/resolvers}/UserResolver.ts +41 -27
  123. package/src/{models/graphql → graphql/types}/Global.ts +0 -0
  124. package/src/{models/graphql → graphql/types}/TweetTypes.ts +16 -12
  125. package/src/{models/graphql → graphql/types}/UserTypes.ts +13 -15
  126. package/src/index.ts +2 -2
  127. package/src/server.ts +3 -3
  128. package/src/services/AuthService.ts +1 -1
  129. package/src/services/CacheService.ts +6 -8
  130. package/src/services/FetcherService.ts +11 -14
  131. package/src/services/data/TweetService.ts +58 -37
  132. package/src/services/data/UserService.ts +187 -0
  133. package/src/services/helper/Parser.ts +6 -4
  134. package/src/services/helper/{Deserializers.ts → deserializers/Tweets.ts} +3 -28
  135. package/src/services/helper/deserializers/Users.ts +26 -0
  136. package/src/services/helper/extractors/Tweets.ts +252 -0
  137. package/src/services/helper/extractors/Users.ts +137 -0
  138. package/src/services/helper/urls/Authentication.ts +6 -0
  139. package/src/services/helper/urls/Tweets.ts +46 -0
  140. package/src/services/helper/urls/Users.ts +62 -0
  141. package/src/types/Resolvers.ts +9 -0
  142. package/src/types/data/Errors.ts +28 -0
  143. package/src/types/{Service.ts → data/Service.ts} +4 -5
  144. package/src/types/{Tweet.ts → data/Tweet.ts} +1 -0
  145. package/src/types/{UserAccount.ts → data/User.ts} +0 -0
  146. package/tsconfig.json +2 -2
  147. package/dist/models/graphql/Global.js.map +0 -1
  148. package/dist/models/graphql/TweetTypes.d.ts +0 -6
  149. package/dist/models/graphql/TweetTypes.js.map +0 -1
  150. package/dist/models/graphql/UserTypes.d.ts +0 -3
  151. package/dist/models/graphql/UserTypes.js.map +0 -1
  152. package/dist/queries/RootQuery.js.map +0 -1
  153. package/dist/resolvers/AccountResolver.js.map +0 -1
  154. package/dist/resolvers/ResolverBase.js.map +0 -1
  155. package/dist/resolvers/TweetResolver.js.map +0 -1
  156. package/dist/resolvers/UserResolver.js.map +0 -1
  157. package/dist/services/AccountsService.d.ts +0 -17
  158. package/dist/services/AccountsService.js +0 -171
  159. package/dist/services/AccountsService.js.map +0 -1
  160. package/dist/services/accounting/AccountsService.d.ts +0 -20
  161. package/dist/services/accounting/AccountsService.js +0 -147
  162. package/dist/services/accounting/AccountsService.js.map +0 -1
  163. package/dist/services/accounting/Flows.js +0 -2
  164. package/dist/services/accounting/Flows.js.map +0 -1
  165. package/dist/services/accounting/LoginFlows.d.ts +0 -20
  166. package/dist/services/accounting/LoginFlows.js +0 -70
  167. package/dist/services/accounting/LoginFlows.js.map +0 -1
  168. package/dist/test/Test.js +0 -2
  169. package/dist/test/Test.js.map +0 -1
  170. package/dist/types/graphql/Errors.js.map +0 -1
  171. package/dist/types/raw/user/Users.d.ts +0 -120
  172. package/dist/types/raw/user/Users.js.map +0 -1
  173. package/src/services/data/UserAccountService.ts +0 -176
  174. package/src/services/helper/Extractors.ts +0 -455
  175. package/src/services/helper/Urls.ts +0 -109
  176. package/src/types/graphql/Errors.ts +0 -16
  177. package/src/types/raw/user/Tweets.ts +0 -2847
@@ -0,0 +1,92 @@
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.toTweet = exports.toTweetEntities = void 0;
27
+ // PARSERS
28
+ var Parsers = __importStar(require("../Parser"));
29
+ /**
30
+ * @returns A TweetEntities object containing the various tweet entities
31
+ * @param data The raw tweet entities data from the response received from TwitterAPI
32
+ */
33
+ function toTweetEntities(data) {
34
+ var entities = {
35
+ mentionedUsers: [],
36
+ urls: [],
37
+ media: [],
38
+ hashtags: []
39
+ };
40
+ // Extracting user mentions
41
+ if (data.user_mentions) {
42
+ for (var _i = 0, _a = data.user_mentions; _i < _a.length; _i++) {
43
+ var user = _a[_i];
44
+ entities.mentionedUsers.push(user.id_str);
45
+ }
46
+ }
47
+ // Extracting urls
48
+ if (data.urls) {
49
+ for (var _b = 0, _c = data.urls; _b < _c.length; _b++) {
50
+ var url = _c[_b];
51
+ entities.urls.push(url.expanded_url);
52
+ }
53
+ }
54
+ // Extracting hashtags
55
+ if (data.hashtags) {
56
+ for (var _d = 0, _e = data.hashtags; _d < _e.length; _d++) {
57
+ var hashtag = _e[_d];
58
+ entities.hashtags.push(hashtag.text);
59
+ }
60
+ }
61
+ // Extracting media urls (if any)
62
+ if (data.media) {
63
+ for (var _f = 0, _g = data.media; _f < _g.length; _f++) {
64
+ var media = _g[_f];
65
+ entities.media.push(media.media_url_https);
66
+ }
67
+ }
68
+ return entities;
69
+ }
70
+ exports.toTweetEntities = toTweetEntities;
71
+ /**
72
+ * @returns A Tweet object containing the tweet data
73
+ * @param data The raw tweet data from the response received from TwitterAPI
74
+ */
75
+ function toTweet(data) {
76
+ return {
77
+ id: data.rest_id,
78
+ createdAt: data.legacy.created_at,
79
+ tweetBy: data.legacy.user_id_str,
80
+ entities: toTweetEntities(data.legacy.entities),
81
+ quoted: data.legacy.quoted_status_id_str,
82
+ fullText: Parsers.normalizeText(data.legacy.full_text),
83
+ replyTo: data.legacy.in_reply_to_status_id_str,
84
+ lang: data.legacy.lang,
85
+ quoteCount: data.legacy.quote_count,
86
+ replyCount: data.legacy.reply_count,
87
+ retweetCount: data.legacy.retweet_count,
88
+ likeCount: data.legacy.favorite_count
89
+ };
90
+ }
91
+ exports.toTweet = toTweet;
92
+ //# sourceMappingURL=Tweets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tweets.js","sourceRoot":"","sources":["../../../../src/services/helper/deserializers/Tweets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,UAAU;AACV,iDAAqC;AAErC;;;GAGG;AACH,SAAgB,eAAe,CAAC,IAAsB;IAClD,IAAI,QAAQ,GAAkB;QAC1B,cAAc,EAAE,EAAE;QAClB,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC;IAEF,2BAA2B;IAC3B,IAAG,IAAI,CAAC,aAAa,EAAE;QACnB,KAAgB,UAAkB,EAAlB,KAAA,IAAI,CAAC,aAAa,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;YAAhC,IAAI,IAAI,SAAA;YACR,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7C;KACJ;IAED,kBAAkB;IAClB,IAAG,IAAI,CAAC,IAAI,EAAE;QACV,KAAe,UAAS,EAAT,KAAA,IAAI,CAAC,IAAI,EAAT,cAAS,EAAT,IAAS,EAAE;YAAtB,IAAI,GAAG,SAAA;YACP,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SACxC;KACJ;IAED,sBAAsB;IACtB,IAAG,IAAI,CAAC,QAAQ,EAAE;QACd,KAAmB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;YAA9B,IAAI,OAAO,SAAA;YACX,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC;KACJ;IAED,iCAAiC;IACjC,IAAG,IAAI,CAAC,KAAK,EAAE;QACX,KAAmB,UAAU,EAAV,KAAA,IAAI,CAAC,KAAK,EAAV,cAAU,EAAV,IAAU,EAAE;YAA3B,IAAM,KAAK,SAAA;YACX,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;SAC9C;KACJ;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AArCD,0CAqCC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,IAAc;IAClC,OAAO;QACH,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;QACjC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QAChC,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;QACxC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACtD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB;QAC9C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;QACtB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACnC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACnC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;QACvC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;KACxC,CAAC;AACN,CAAC;AAfD,0BAeC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=User.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/services/helper/deserializers/User.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { User } from '../../../types/data/User';
2
+ import { Result as RawUser } from '../../../types/raw/user/User';
3
+ /**
4
+ * @returns A User object containing the user details
5
+ * @param data The raw user data from Twitter API
6
+ */
7
+ export declare function toUser(data: RawUser): User;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.toUser = void 0;
4
+ /**
5
+ * @returns A User object containing the user details
6
+ * @param data The raw user data from Twitter API
7
+ */
8
+ function toUser(data) {
9
+ return {
10
+ id: data.rest_id,
11
+ userName: data.legacy.screen_name,
12
+ fullName: data.legacy.name,
13
+ createdAt: data.legacy.created_at,
14
+ description: data.legacy.description,
15
+ isVerified: data.legacy.verified,
16
+ favouritesCount: data.legacy.favourites_count,
17
+ followersCount: data.legacy.followers_count,
18
+ followingsCount: data.legacy.friends_count,
19
+ statusesCount: data.legacy.statuses_count,
20
+ location: data.legacy.location,
21
+ pinnedTweet: data.legacy.pinned_tweet_ids_str[0],
22
+ profileBanner: data.legacy.profile_banner_url,
23
+ profileImage: data.legacy.profile_image_url_https
24
+ };
25
+ }
26
+ exports.toUser = toUser;
27
+ //# sourceMappingURL=Users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Users.js","sourceRoot":"","sources":["../../../../src/services/helper/deserializers/Users.ts"],"names":[],"mappings":";;;AAIA;;;GAGG;AACH,SAAgB,MAAM,CAAC,IAAa;IAChC,OAAO;QACH,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACjC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;QAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;QACjC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAChC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;QAC7C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;QAC3C,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;QAC1C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;QACzC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAChD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;QAC7C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB;KACpD,CAAC;AACN,CAAC;AAjBD,wBAiBC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=TweetExtractors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TweetExtractors.js","sourceRoot":"","sources":["../../../../src/services/helper/extractors/TweetExtractors.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { DataExtract } from '../../../types/Resolvers';
2
+ import RawTweet from '../../../types/raw/tweet/Tweet';
3
+ import RawTweets from '../../../types/raw/tweet/Tweets';
4
+ import RawRetweeters from '../../../types/raw/tweet/Retweeters';
5
+ import RawLikers from '../../../types/raw/tweet/Favouriters';
6
+ /**
7
+ * @returns The raw tweets data formatted and sorted into required and additional data
8
+ * @param res The raw response received from TwitterAPI
9
+ */
10
+ export declare function extractTweets(res: RawTweets): DataExtract;
11
+ /**
12
+ * @returns The raw tweet data formatted and sorted into required and additional data
13
+ * @param res The raw response received from TwitterAPI
14
+ * @param tweetId The rest id of the tweet to fetch
15
+ */
16
+ export declare function extractTweet(res: RawTweet, tweetId: string): DataExtract;
17
+ /**
18
+ * @returns The raw tweet likers data formatted and sorted into required and additional data
19
+ * @param tweetId The id of the tweet whose likers are to be extracted
20
+ * @param res The raw response received from TwitterAPI
21
+ */
22
+ export declare function extractTweetLikers(res: RawLikers, tweetId: string): DataExtract;
23
+ /**
24
+ * @returns The raw tweet retweeters data formatted and sorted into required and additional data
25
+ * @param res The raw response received from TwitterAPI
26
+ * @param tweetId The id of the tweet whose retweeters are to be extracted
27
+ */
28
+ export declare function extractTweetRetweeters(res: RawRetweeters, tweetId: string): DataExtract;
29
+ /**
30
+ * @returns The raw tweet replies data formatted and sorted into required and additional data
31
+ * @param res The raw response received from TwitterAPI
32
+ * @param tweetId The id of the tweet whose replies must be extracted
33
+ */
34
+ export declare function extractTweetReplies(res: RawTweet, tweetId: string): DataExtract;
@@ -0,0 +1,266 @@
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.extractTweetReplies = exports.extractTweetRetweeters = exports.extractTweetLikers = exports.extractTweet = exports.extractTweets = void 0;
27
+ var Errors_1 = require("../../../types/data/Errors");
28
+ // PARSERS
29
+ var Parsers = __importStar(require("../Parser"));
30
+ /**
31
+ * @returns The raw tweets data formatted and sorted into required and additional data
32
+ * @param res The raw response received from TwitterAPI
33
+ */
34
+ function extractTweets(res) {
35
+ var _a, _b, _c, _d, _e, _f;
36
+ var required = []; // To store the reqruied raw data
37
+ var cursor = ''; // To store the cursor to next batch
38
+ var users = []; // To store additional user data
39
+ var tweets = []; // To store additional tweet data
40
+ // Getting raw tweet list
41
+ var dataTweets = res.globalObjects.tweets;
42
+ // Getting raw users list
43
+ var dataUsers = res.globalObjects.users;
44
+ // If tweets found
45
+ if (!Parsers.isJSONEmpty(dataTweets)) {
46
+ // Destructuring the list of tweets
47
+ for (var _i = 0, _g = Object.keys(dataTweets); _i < _g.length; _i++) {
48
+ var key = _g[_i];
49
+ required.push({ rest_id: dataTweets[key].id_str, legacy: dataTweets[key] });
50
+ tweets.push({ rest_id: dataTweets[key].id_str, legacy: dataTweets[key] });
51
+ }
52
+ // Destructuring the list of users
53
+ for (var _h = 0, _j = Object.keys(dataUsers); _h < _j.length; _h++) {
54
+ var key = _j[_h];
55
+ users.push({ rest_id: dataUsers[key].id_str, legacy: dataUsers[key] });
56
+ }
57
+ // Getting the cursor to next batch
58
+ // If not first batch
59
+ if (res.timeline.instructions.length > 2) {
60
+ cursor = (_c = (_b = (_a = res.timeline.instructions[2]) === null || _a === void 0 ? void 0 : _a.replaceEntry.entry.content.operation) === null || _b === void 0 ? void 0 : _b.cursor.value) !== null && _c !== void 0 ? _c : '';
61
+ }
62
+ // If first batch
63
+ else {
64
+ cursor = (_f = (_e = (_d = res.timeline.instructions[0].addEntries) === null || _d === void 0 ? void 0 : _d.entries.filter(function (item) { return item.entryId.indexOf('cursor-bottom') != -1; })[0].content.operation) === null || _e === void 0 ? void 0 : _e.cursor.value) !== null && _f !== void 0 ? _f : '';
65
+ }
66
+ }
67
+ // Returning the data
68
+ return {
69
+ required: required,
70
+ cursor: cursor,
71
+ users: users,
72
+ tweets: tweets
73
+ };
74
+ }
75
+ exports.extractTweets = extractTweets;
76
+ /**
77
+ * @returns The raw tweet data formatted and sorted into required and additional data
78
+ * @param res The raw response received from TwitterAPI
79
+ * @param tweetId The rest id of the tweet to fetch
80
+ */
81
+ function extractTweet(res, tweetId) {
82
+ var _a;
83
+ var required = []; // To store the reqruied raw data
84
+ var cursor = ''; // To store the cursor to next batch
85
+ var users = []; // To store additional user data
86
+ var tweets = []; // To store additional tweet data
87
+ // If tweet does not exist
88
+ if (Parsers.isJSONEmpty(res.data)) {
89
+ throw new Error(Errors_1.DataErrors.TweetNotFound(tweetId));
90
+ }
91
+ // Destructuring the received raw data
92
+ (_a = res.data.threaded_conversation_with_injections_v2.instructions.filter(function (item) { return item['type'] === 'TimelineAddEntries'; })[0].entries) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {
93
+ var _a, _b, _c;
94
+ // If entry is of type tweet and tweet exists
95
+ if (entry.entryId.indexOf('tweet') != -1 && ((_b = (_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results) === null || _b === void 0 ? void 0 : _b.result.__typename) === 'Tweet') {
96
+ // If this is the required tweet
97
+ if (entry.entryId.indexOf(tweetId) != -1) {
98
+ required.push(entry.content.itemContent.tweet_results.result);
99
+ }
100
+ tweets.push(entry.content.itemContent.tweet_results.result);
101
+ users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
102
+ }
103
+ // If entry if of type conversation
104
+ else if (entry.entryId.indexOf('conversationthread') != -1) {
105
+ // Iterating over the conversation
106
+ (_c = entry.content.items) === null || _c === void 0 ? void 0 : _c.forEach(function (item) {
107
+ var _a;
108
+ // If item is of type tweet and tweet exists
109
+ if (item.entryId.indexOf('tweet') != -1 && ((_a = item.item.itemContent.tweet_results) === null || _a === void 0 ? void 0 : _a.result.__typename) === 'Tweet') {
110
+ required.push(item.item.itemContent.tweet_results.result);
111
+ tweets.push(item.item.itemContent.tweet_results.result);
112
+ users.push(item.item.itemContent.tweet_results.result.core.user_results.result);
113
+ }
114
+ });
115
+ }
116
+ });
117
+ // Returning the data
118
+ return {
119
+ required: required,
120
+ cursor: cursor,
121
+ users: users,
122
+ tweets: tweets
123
+ };
124
+ }
125
+ exports.extractTweet = extractTweet;
126
+ /**
127
+ * @returns The raw tweet likers data formatted and sorted into required and additional data
128
+ * @param tweetId The id of the tweet whose likers are to be extracted
129
+ * @param res The raw response received from TwitterAPI
130
+ */
131
+ function extractTweetLikers(res, tweetId) {
132
+ var required = []; // To store the reqruied raw data
133
+ var cursor = ''; // To store the cursor to next batch
134
+ var users = []; // To store additional user data
135
+ var tweets = []; // To store additional tweet data
136
+ // If tweet does not exist
137
+ if (Parsers.isJSONEmpty(res.data.favoriters_timeline)) {
138
+ throw new Error(Errors_1.DataErrors.TweetNotFound(tweetId));
139
+ }
140
+ // If likes found
141
+ if (res.data.favoriters_timeline.timeline.instructions.length) {
142
+ // Destructuring raw list of likers
143
+ res.data.favoriters_timeline.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.forEach(function (entry) {
144
+ var _a, _b;
145
+ // If entry is of type user and user exists
146
+ if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
147
+ required.push(entry.content.itemContent.user_results.result);
148
+ users.push(entry.content.itemContent.user_results.result);
149
+ }
150
+ // If entry is of type cursor
151
+ else if (entry.entryId.indexOf('cursor-bottom') != -1) {
152
+ cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
153
+ }
154
+ });
155
+ }
156
+ // Returning the data
157
+ return {
158
+ required: required,
159
+ cursor: cursor,
160
+ users: users,
161
+ tweets: tweets
162
+ };
163
+ }
164
+ exports.extractTweetLikers = extractTweetLikers;
165
+ /**
166
+ * @returns The raw tweet retweeters data formatted and sorted into required and additional data
167
+ * @param res The raw response received from TwitterAPI
168
+ * @param tweetId The id of the tweet whose retweeters are to be extracted
169
+ */
170
+ function extractTweetRetweeters(res, tweetId) {
171
+ var required = []; // To store the reqruied raw data
172
+ var cursor = ''; // To store the cursor to next batch
173
+ var users = []; // To store additional user data
174
+ var tweets = []; // To store additional tweet data
175
+ // If tweet does not exist
176
+ if (Parsers.isJSONEmpty(res.data.retweeters_timeline)) {
177
+ throw new Error(Errors_1.DataErrors.TweetNotFound(tweetId));
178
+ }
179
+ // If retweeters found
180
+ if (res.data.retweeters_timeline.timeline.instructions.length) {
181
+ // Destructuring raw list of retweeters
182
+ res.data.retweeters_timeline.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.forEach(function (entry) {
183
+ var _a, _b;
184
+ // If entry is of type user and user exists
185
+ if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
186
+ required.push(entry.content.itemContent.user_results.result);
187
+ users.push(entry.content.itemContent.user_results.result);
188
+ }
189
+ // If entry is of type cursor
190
+ else if (entry.entryId.indexOf('cursor-bottom') != -1) {
191
+ cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
192
+ }
193
+ });
194
+ }
195
+ // Returning the data
196
+ return {
197
+ required: required,
198
+ cursor: cursor,
199
+ users: users,
200
+ tweets: tweets
201
+ };
202
+ }
203
+ exports.extractTweetRetweeters = extractTweetRetweeters;
204
+ /**
205
+ * @returns The raw tweet replies data formatted and sorted into required and additional data
206
+ * @param res The raw response received from TwitterAPI
207
+ * @param tweetId The id of the tweet whose replies must be extracted
208
+ */
209
+ function extractTweetReplies(res, tweetId) {
210
+ var _a;
211
+ var required = []; // To store the reqruied raw data
212
+ var cursor = ''; // To store the cursor to next batch
213
+ var users = []; // To store additional user data
214
+ var tweets = []; // To store additional tweet data
215
+ // If tweet does not exist
216
+ if (Parsers.isJSONEmpty(res.data)) {
217
+ throw new Error(Errors_1.DataErrors.TweetNotFound(tweetId));
218
+ }
219
+ // Destructuring the received raw data
220
+ (_a = res.data.threaded_conversation_with_injections_v2.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries) === null || _a === void 0 ? void 0 : _a.map(function (entry) {
221
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
222
+ // If entry is of type tweet
223
+ if (entry.entryId.indexOf('tweet') != -1) {
224
+ // If tweet exists
225
+ if (((_b = (_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results) === null || _b === void 0 ? void 0 : _b.result.__typename) === 'Tweet') {
226
+ tweets.push(entry.content.itemContent.tweet_results.result);
227
+ users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
228
+ }
229
+ }
230
+ // If entry if of type conversation/reply
231
+ else if (entry.entryId.indexOf('conversationthread') != -1) {
232
+ // If tweet exists
233
+ if (((_e = (_d = (_c = entry.content.items) === null || _c === void 0 ? void 0 : _c.at(0)) === null || _d === void 0 ? void 0 : _d.item.itemContent.tweet_results) === null || _e === void 0 ? void 0 : _e.result.__typename) === 'Tweet') {
234
+ // Adding the 1st entry, which is a reply, to required list
235
+ required.push((_f = entry.content.items[0].item.itemContent.tweet_results) === null || _f === void 0 ? void 0 : _f.result);
236
+ tweets.push((_g = entry.content.items[0].item.itemContent.tweet_results) === null || _g === void 0 ? void 0 : _g.result);
237
+ users.push((_h = entry.content.items[0].item.itemContent.tweet_results) === null || _h === void 0 ? void 0 : _h.result.core.user_results.result);
238
+ }
239
+ // Iterating over the rest of the conversation
240
+ (_j = entry.content.items) === null || _j === void 0 ? void 0 : _j.forEach(function (item) {
241
+ var _a;
242
+ // If item is of type tweet
243
+ if (item.entryId.indexOf('tweet') != -1) {
244
+ // If tweet exists
245
+ if (((_a = item.item.itemContent.tweet_results) === null || _a === void 0 ? void 0 : _a.result.__typename) === 'Tweet') {
246
+ tweets.push(item.item.itemContent.tweet_results.result);
247
+ users.push(item.item.itemContent.tweet_results.result.core.user_results.result);
248
+ }
249
+ }
250
+ });
251
+ }
252
+ // If entry is of type bottom cursor
253
+ else if (entry.entryId.indexOf('cursor-bottom') != -1) {
254
+ cursor = (_l = (_k = entry.content.itemContent) === null || _k === void 0 ? void 0 : _k.value) !== null && _l !== void 0 ? _l : '';
255
+ }
256
+ });
257
+ // Returning the data
258
+ return {
259
+ required: required,
260
+ cursor: cursor,
261
+ users: users,
262
+ tweets: tweets
263
+ };
264
+ }
265
+ exports.extractTweetReplies = extractTweetReplies;
266
+ //# sourceMappingURL=Tweets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tweets.js","sourceRoot":"","sources":["../../../../src/services/helper/extractors/Tweets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
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
+ };