rettiwt-api 1.0.8 → 1.0.9

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 (71) 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 +2 -0
  7. package/dist/services/data/TweetService.d.ts +4 -9
  8. package/dist/services/data/TweetService.js +6 -40
  9. package/dist/services/data/TweetService.js.map +1 -1
  10. package/dist/services/data/UserService.d.ts +2 -2
  11. package/dist/services/data/UserService.js +9 -9
  12. package/dist/services/data/UserService.js.map +1 -1
  13. package/dist/services/helper/extractors/Tweets.d.ts +2 -4
  14. package/dist/services/helper/extractors/Tweets.js +6 -8
  15. package/dist/services/helper/extractors/Tweets.js.map +1 -1
  16. package/dist/services/helper/extractors/Users.d.ts +3 -6
  17. package/dist/services/helper/extractors/Users.js +6 -9
  18. package/dist/services/helper/extractors/Users.js.map +1 -1
  19. package/dist/types/data/Errors.d.ts +10 -11
  20. package/dist/types/data/Errors.js +11 -10
  21. package/dist/types/data/Errors.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/index.ts +5 -1
  24. package/dist/services/data/UserAccountService.d.ts +0 -42
  25. package/dist/services/data/UserAccountService.js +0 -253
  26. package/dist/services/data/UserAccountService.js.map +0 -1
  27. package/dist/services/helper/Deserializers.d.ts +0 -19
  28. package/dist/services/helper/Deserializers.js +0 -115
  29. package/dist/services/helper/Deserializers.js.map +0 -1
  30. package/dist/services/helper/Extractors.d.ts +0 -101
  31. package/dist/services/helper/Extractors.js +0 -409
  32. package/dist/services/helper/Extractors.js.map +0 -1
  33. package/dist/services/helper/Urls.d.ts +0 -74
  34. package/dist/services/helper/Urls.js +0 -130
  35. package/dist/services/helper/Urls.js.map +0 -1
  36. package/dist/services/helper/deserializers/User.d.ts +0 -0
  37. package/dist/services/helper/deserializers/User.js +0 -2
  38. package/dist/services/helper/deserializers/User.js.map +0 -1
  39. package/dist/services/helper/extractors/TweetExtractors.d.ts +0 -0
  40. package/dist/services/helper/extractors/TweetExtractors.js +0 -2
  41. package/dist/services/helper/extractors/TweetExtractors.js.map +0 -1
  42. package/dist/services/helper/extractors/UserExtractors.d.ts +0 -45
  43. package/dist/services/helper/extractors/UserExtractors.js +0 -176
  44. package/dist/services/helper/extractors/UserExtractors.js.map +0 -1
  45. package/dist/services/helper/urls/Urls.d.ts +0 -4
  46. package/dist/services/helper/urls/Urls.js +0 -11
  47. package/dist/services/helper/urls/Urls.js.map +0 -1
  48. package/dist/types/Errors.d.ts +0 -15
  49. package/dist/types/Errors.js +0 -23
  50. package/dist/types/Errors.js.map +0 -1
  51. package/dist/types/Service.d.ts +0 -30
  52. package/dist/types/Service.js +0 -19
  53. package/dist/types/Service.js.map +0 -1
  54. package/dist/types/Tweet.d.ts +0 -41
  55. package/dist/types/Tweet.js +0 -5
  56. package/dist/types/Tweet.js.map +0 -1
  57. package/dist/types/User.d.ts +0 -19
  58. package/dist/types/User.js +0 -4
  59. package/dist/types/User.js.map +0 -1
  60. package/dist/types/UserAccount.d.ts +0 -19
  61. package/dist/types/UserAccount.js +0 -4
  62. package/dist/types/UserAccount.js.map +0 -1
  63. package/dist/types/raw/http/Error.d.ts +0 -34
  64. package/dist/types/raw/http/Error.js +0 -3
  65. package/dist/types/raw/http/Error.js.map +0 -1
  66. package/dist/types/raw/http/Response.d.ts +0 -34
  67. package/dist/types/raw/http/Response.js +0 -3
  68. package/dist/types/raw/http/Response.js.map +0 -1
  69. package/dist/types/raw/user/Tweets.d.ts +0 -2428
  70. package/dist/types/raw/user/Tweets.js +0 -3
  71. package/dist/types/raw/user/Tweets.js.map +0 -1
@@ -1,409 +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.extractTweetReplies = exports.extractTweetRetweeters = exports.extractTweetLikers = exports.extractTweet = exports.extractTweets = 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
- /* TWEETS */
177
- /**
178
- * @returns The raw tweets data formatted and sorted into required and additional data
179
- * @param res The raw response received from TwitterAPI
180
- */
181
- function extractTweets(res) {
182
- var _a, _b, _c, _d, _e, _f;
183
- var required = []; // To store the reqruied raw data
184
- var cursor = ''; // To store the cursor to next batch
185
- var users = []; // To store additional user data
186
- var tweets = []; // To store additional tweet data
187
- // Getting raw tweet list
188
- var dataTweets = res.globalObjects.tweets;
189
- // Getting raw users list
190
- var dataUsers = res.globalObjects.users;
191
- // Destructuring tweets, if not empty
192
- if (!Parsers.isJSONEmpty(dataTweets)) {
193
- // Iterating through the json array of tweets
194
- for (var _i = 0, _g = Object.keys(dataTweets); _i < _g.length; _i++) {
195
- var key = _g[_i];
196
- required.push({ rest_id: dataTweets[key].id_str, legacy: dataTweets[key] });
197
- tweets.push({ rest_id: dataTweets[key].id_str, legacy: dataTweets[key] });
198
- }
199
- }
200
- // Destructuring users, if not empty
201
- if (!Parsers.isJSONEmpty(dataUsers)) {
202
- // Iterating through the json array of users
203
- for (var _h = 0, _j = Object.keys(dataUsers); _h < _j.length; _h++) {
204
- var key = _j[_h];
205
- users.push({ rest_id: dataUsers[key].id_str, legacy: dataUsers[key] });
206
- }
207
- }
208
- // Getting the cursor to next batch
209
- // If not first batch
210
- if (res.timeline.instructions.length > 2) {
211
- 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 : '';
212
- }
213
- // If first batch
214
- else {
215
- 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 : '';
216
- }
217
- // Returning the data
218
- return {
219
- required: required,
220
- cursor: cursor,
221
- users: users,
222
- tweets: tweets
223
- };
224
- }
225
- exports.extractTweets = extractTweets;
226
- /**
227
- * @returns The raw tweet data formatted and sorted into required and additional data
228
- * @param res The raw response received from TwitterAPI
229
- * @param tweetId The rest id of the tweet to fetch
230
- */
231
- function extractTweet(res, tweetId) {
232
- var _a;
233
- var required = []; // To store the reqruied raw data
234
- var cursor = ''; // To store the cursor to next batch
235
- var users = []; // To store additional user data
236
- var tweets = []; // To store additional tweet data
237
- // If tweet does not exist
238
- if (Parsers.isJSONEmpty(res.data)) {
239
- throw new Error(Errors_1.DataErrors.TweetNotFound);
240
- }
241
- // Destructuring the received raw data
242
- (_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) {
243
- var _a, _b, _c;
244
- // If entry is of type tweet and tweet exists
245
- 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') {
246
- // If this is the required tweet
247
- if (entry.entryId.indexOf(tweetId) != -1) {
248
- required.push(entry.content.itemContent.tweet_results.result);
249
- }
250
- tweets.push(entry.content.itemContent.tweet_results.result);
251
- users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
252
- }
253
- // If entry if of type conversation
254
- else if (entry.entryId.indexOf('conversationthread') != -1) {
255
- // Iterating over the conversation
256
- (_c = entry.content.items) === null || _c === void 0 ? void 0 : _c.forEach(function (item) {
257
- var _a;
258
- // If item is of type tweet and tweet exists
259
- if (item.entryId.indexOf('tweet') != -1 && ((_a = item.item.itemContent.tweet_results) === null || _a === void 0 ? void 0 : _a.result.__typename) === 'Tweet') {
260
- required.push(item.item.itemContent.tweet_results.result);
261
- tweets.push(item.item.itemContent.tweet_results.result);
262
- users.push(item.item.itemContent.tweet_results.result.core.user_results.result);
263
- }
264
- });
265
- }
266
- });
267
- // Returning the data
268
- return {
269
- required: required,
270
- cursor: cursor,
271
- users: users,
272
- tweets: tweets
273
- };
274
- }
275
- exports.extractTweet = extractTweet;
276
- /**
277
- * @returns The raw tweet likers data formatted and sorted into required and additional data
278
- * @param res The raw response received from TwitterAPI
279
- */
280
- function extractTweetLikers(res) {
281
- var required = []; // To store the reqruied raw data
282
- var cursor = ''; // To store the cursor to next batch
283
- var users = []; // To store additional user data
284
- var tweets = []; // To store additional tweet data
285
- // If tweet does not exist
286
- if (Parsers.isJSONEmpty(res.data.favoriters_timeline)) {
287
- throw new Error(Errors_1.DataErrors.TweetNotFound);
288
- }
289
- // Destructuring raw list of likers
290
- res.data.favoriters_timeline.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.forEach(function (entry) {
291
- var _a, _b;
292
- // If entry is of type user and user exists
293
- if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
294
- required.push(entry.content.itemContent.user_results.result);
295
- users.push(entry.content.itemContent.user_results.result);
296
- }
297
- // If entry is of type cursor
298
- else if (entry.entryId.indexOf('cursor-bottom') != -1) {
299
- cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
300
- }
301
- });
302
- // Returning the data
303
- return {
304
- required: required,
305
- cursor: cursor,
306
- users: users,
307
- tweets: tweets
308
- };
309
- }
310
- exports.extractTweetLikers = extractTweetLikers;
311
- /**
312
- * @returns The raw tweet retweeters data formatted and sorted into required and additional data
313
- * @param res The raw response received from TwitterAPI
314
- */
315
- function extractTweetRetweeters(res) {
316
- var required = []; // To store the reqruied raw data
317
- var cursor = ''; // To store the cursor to next batch
318
- var users = []; // To store additional user data
319
- var tweets = []; // To store additional tweet data
320
- // If tweet does not exist
321
- if (Parsers.isJSONEmpty(res.data.retweeters_timeline)) {
322
- throw new Error(Errors_1.DataErrors.TweetNotFound);
323
- }
324
- // Destructuring raw list of retweeters
325
- res.data.retweeters_timeline.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.forEach(function (entry) {
326
- var _a, _b;
327
- // If entry is of type user and user exists
328
- if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
329
- required.push(entry.content.itemContent.user_results.result);
330
- users.push(entry.content.itemContent.user_results.result);
331
- }
332
- // If entry is of type cursor
333
- else if (entry.entryId.indexOf('cursor-bottom') != -1) {
334
- cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
335
- }
336
- });
337
- // Returning the data
338
- return {
339
- required: required,
340
- cursor: cursor,
341
- users: users,
342
- tweets: tweets
343
- };
344
- }
345
- exports.extractTweetRetweeters = extractTweetRetweeters;
346
- /**
347
- * @returns The raw tweet replies data formatted and sorted into required and additional data
348
- * @param res The raw response received from TwitterAPI
349
- * @param tweetId The id of the tweet whose replies must be extracted
350
- */
351
- function extractTweetReplies(res, tweetId) {
352
- var required = []; // To store the reqruied raw data
353
- var cursor = ''; // To store the cursor to next batch
354
- var users = []; // To store additional user data
355
- var tweets = []; // To store additional tweet data
356
- // If tweet does not exist
357
- if (Parsers.isJSONEmpty(res.data)) {
358
- throw new Error(Errors_1.DataErrors.TweetNotFound);
359
- }
360
- // Destructuring the received raw data
361
- //@ts-ignore
362
- res.data.threaded_conversation_with_injections.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.map(function (entry) {
363
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
364
- // If entry is of type tweet
365
- if (entry.entryId.indexOf('tweet') != -1) {
366
- // If tweet exists
367
- 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') {
368
- tweets.push(entry.content.itemContent.tweet_results.result);
369
- users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
370
- }
371
- }
372
- // If entry if of type conversation/reply
373
- else if (entry.entryId.indexOf('conversationthread') != -1) {
374
- // If tweet exists
375
- 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') {
376
- // Adding the 1st entry, which is a reply, to required list
377
- required.push((_f = entry.content.items[0].item.itemContent.tweet_results) === null || _f === void 0 ? void 0 : _f.result);
378
- tweets.push((_g = entry.content.items[0].item.itemContent.tweet_results) === null || _g === void 0 ? void 0 : _g.result);
379
- users.push((_h = entry.content.items[0].item.itemContent.tweet_results) === null || _h === void 0 ? void 0 : _h.result.core.user_results.result);
380
- }
381
- // Iterating over the rest of the conversation
382
- //@ts-ignore
383
- entry.content.items.forEach(function (item) {
384
- var _a;
385
- // If item is of type tweet
386
- if (item.entryId.indexOf('tweet') != -1) {
387
- // If tweet exists
388
- if (((_a = item.item.itemContent.tweet_results) === null || _a === void 0 ? void 0 : _a.result.__typename) === 'Tweet') {
389
- tweets.push(item.item.itemContent.tweet_results.result);
390
- users.push(item.item.itemContent.tweet_results.result.core.user_results.result);
391
- }
392
- }
393
- });
394
- }
395
- // If entry is of type bottom cursor
396
- else if (entry.entryId.indexOf('cursor-bottom') != -1) {
397
- cursor = (_k = (_j = entry.content.itemContent) === null || _j === void 0 ? void 0 : _j.value) !== null && _k !== void 0 ? _k : '';
398
- }
399
- });
400
- // Returning the data
401
- return {
402
- required: required,
403
- cursor: cursor,
404
- users: users,
405
- tweets: tweets
406
- };
407
- }
408
- exports.extractTweetReplies = extractTweetReplies;
409
- //# sourceMappingURL=Extractors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Extractors.js","sourceRoot":"","sources":["../../../src/services/helper/Extractors.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- /**
2
- * @returns The url for fetching a guest token
3
- */
4
- export declare function guestTokenUrl(): string;
5
- /**
6
- * @returns The url for fetching user account details.
7
- * @param screenName The screen name of the target user
8
- */
9
- export declare function userAccountUrl(screenName: string): string;
10
- /**
11
- * @returns The url for fetching user account details.
12
- * @param restid The restId of the target user
13
- */
14
- export declare function userAccountByIdUrl(restId: string): string;
15
- /**
16
- * @returns The url for fetching the list of users followed bu target user.
17
- * @param userId The rest id of the target user
18
- * @param count The batch size of the list of following, should be >= 40 and <=100
19
- * @param cursor The cursor to next batch
20
- */
21
- export declare function userFollowingUrl(userId: string, count: number, cursor: string): string;
22
- /**
23
- * @return The url for fetching the list of followers of the target user
24
- * @param userId The rest id of the target user
25
- * @param count The batch size for the list of followers, should be >= 40 and <=100
26
- * @param cursor The cusor to next batch
27
- */
28
- export declare function userFollowersUrl(userId: string, count: number, cursor: string): string;
29
- /**
30
- * @returns The url for fetching the list of tweets liked by the target user
31
- * @param userId The rest id of the target user
32
- * @param count The batch size for the list of tweets
33
- * @param cursor The cusor to next batch
34
- */
35
- export declare function userLikesUrl(userId: string, count: number, cursor: string): string;
36
- /**
37
- * @returns The url for fetching the list of tweets made by the target user
38
- * @param userId The rest id of the target user
39
- * @param count The batch size for the list of tweets
40
- * @param cursor The cursor to next batch
41
- */
42
- export declare function userTweetsUrl(userId: string, count: number, cursor: string): string;
43
- /**
44
- * @returns The url for fetching the list of tweets matching the given filter
45
- * @param query The query to be used for searching tweets
46
- * @param count The number of tweets to fetch
47
- * @param cursor The cusor to next batch *
48
- */
49
- export declare function tweetsUrl(query: string, count: number, cursor: string): string;
50
- /**
51
- * @returns The url for fetching the details of a given tweet
52
- * @param tweetId The rest id of the target tweet
53
- */
54
- export declare function tweetDetailsUrl(tweetId: string): string;
55
- /**
56
- * @returns The url for fetching the list of replies to a given tweet
57
- * @param tweetId The rest of the target tweet
58
- * @param cursor The curor to next batch
59
- */
60
- export declare function tweetRepliesUrl(tweetId: string, cursor: string): string;
61
- /**
62
- * @returns The url for fetching the list of users who liked a given tweet
63
- * @param tweetId The rest id of the target tweet
64
- * @param count The batch size of the list of users
65
- * @param cursor The curor to next batch
66
- */
67
- export declare function tweetLikesUrl(tweetId: string, count: number, cursor: string): string;
68
- /**
69
- * @returns The url for fetching the list of user who retweeted the given tweet
70
- * @param tweetId The rest id of the target tweet
71
- * @param count The batch size of the list of users
72
- * @param cursor The curor to next batch
73
- */
74
- export declare function tweetRetweetUrl(tweetId: string, count: number, cursor: string): string;
@@ -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