rettiwt-api 1.0.6 → 1.0.7
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.
- package/dist/{queries → graphql/queries}/RootQuery.d.ts +0 -0
- package/dist/{queries → graphql/queries}/RootQuery.js +4 -3
- package/dist/graphql/queries/RootQuery.js.map +1 -0
- package/dist/{resolvers → graphql/resolvers}/AccountResolver.d.ts +1 -1
- package/dist/{resolvers → graphql/resolvers}/AccountResolver.js +0 -0
- package/dist/graphql/resolvers/AccountResolver.js.map +1 -0
- package/dist/{resolvers → graphql/resolvers}/ResolverBase.d.ts +1 -1
- package/dist/{resolvers → graphql/resolvers}/ResolverBase.js +0 -0
- package/dist/graphql/resolvers/ResolverBase.js.map +1 -0
- package/dist/{resolvers → graphql/resolvers}/TweetResolver.d.ts +10 -9
- package/dist/{resolvers → graphql/resolvers}/TweetResolver.js +51 -35
- package/dist/graphql/resolvers/TweetResolver.js.map +1 -0
- package/dist/{resolvers → graphql/resolvers}/UserResolver.d.ts +5 -4
- package/dist/{resolvers → graphql/resolvers}/UserResolver.js +51 -35
- package/dist/graphql/resolvers/UserResolver.js.map +1 -0
- package/dist/{models/graphql → graphql/types}/Global.d.ts +0 -0
- package/dist/{models/graphql → graphql/types}/Global.js +0 -0
- package/dist/graphql/types/Global.js.map +1 -0
- package/dist/graphql/types/TweetTypes.d.ts +4 -0
- package/dist/{models/graphql → graphql/types}/TweetTypes.js +5 -7
- package/dist/graphql/types/TweetTypes.js.map +1 -0
- package/dist/graphql/types/UserTypes.d.ts +3 -0
- package/dist/{models/graphql → graphql/types}/UserTypes.js +9 -11
- package/dist/graphql/types/UserTypes.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server.js +3 -3
- package/dist/server.js.map +1 -1
- package/dist/services/AuthService.js +2 -2
- package/dist/services/AuthService.js.map +1 -1
- package/dist/services/CacheService.d.ts +3 -3
- package/dist/services/CacheService.js +22 -75
- package/dist/services/CacheService.js.map +1 -1
- package/dist/services/FetcherService.d.ts +3 -2
- package/dist/services/FetcherService.js +11 -29
- package/dist/services/FetcherService.js.map +1 -1
- package/dist/services/data/TweetService.d.ts +6 -6
- package/dist/services/data/TweetService.js +44 -27
- package/dist/services/data/TweetService.js.map +1 -1
- package/dist/services/data/UserAccountService.d.ts +3 -3
- package/dist/services/data/UserAccountService.js +22 -8
- package/dist/services/data/UserAccountService.js.map +1 -1
- package/dist/services/data/UserService.d.ts +42 -0
- package/dist/services/data/UserService.js +255 -0
- package/dist/services/data/UserService.js.map +1 -0
- package/dist/services/helper/Extractors.js +1 -1
- package/dist/services/helper/Extractors.js.map +1 -1
- package/dist/services/helper/Parser.d.ts +1 -1
- package/dist/services/helper/Parser.js +4 -3
- package/dist/services/helper/Parser.js.map +1 -1
- package/dist/services/helper/Urls.d.ts +2 -2
- package/dist/services/helper/Urls.js +19 -3
- package/dist/services/helper/Urls.js.map +1 -1
- package/dist/services/helper/deserializers/Tweets.d.ts +12 -0
- package/dist/services/helper/deserializers/Tweets.js +92 -0
- package/dist/services/helper/deserializers/Tweets.js.map +1 -0
- package/dist/services/{accounting/Flows.d.ts → helper/deserializers/User.d.ts} +0 -0
- package/dist/services/helper/deserializers/User.js +2 -0
- package/dist/services/helper/deserializers/User.js.map +1 -0
- package/dist/services/helper/deserializers/Users.d.ts +7 -0
- package/dist/services/helper/deserializers/Users.js +27 -0
- package/dist/services/helper/deserializers/Users.js.map +1 -0
- package/dist/services/helper/extractors/TweetExtractors.d.ts +0 -0
- package/dist/services/helper/extractors/TweetExtractors.js +2 -0
- package/dist/services/helper/extractors/TweetExtractors.js.map +1 -0
- package/dist/services/helper/extractors/Tweets.d.ts +32 -0
- package/dist/services/helper/extractors/Tweets.js +264 -0
- package/dist/services/helper/extractors/Tweets.js.map +1 -0
- package/dist/services/helper/extractors/UserExtractors.d.ts +45 -0
- package/dist/services/helper/extractors/UserExtractors.js +176 -0
- package/dist/services/helper/extractors/UserExtractors.js.map +1 -0
- package/dist/services/helper/extractors/Users.d.ts +20 -0
- package/dist/services/helper/extractors/Users.js +151 -0
- package/dist/services/helper/extractors/Users.js.map +1 -0
- package/dist/services/helper/urls/Authentication.d.ts +4 -0
- package/dist/services/helper/urls/Authentication.js +11 -0
- package/dist/services/helper/urls/Authentication.js.map +1 -0
- package/dist/services/helper/urls/Tweets.d.ts +32 -0
- package/dist/services/helper/urls/Tweets.js +51 -0
- package/dist/services/helper/urls/Tweets.js.map +1 -0
- package/dist/services/helper/urls/Urls.d.ts +4 -0
- package/dist/services/helper/urls/Urls.js +11 -0
- package/dist/services/helper/urls/Urls.js.map +1 -0
- package/dist/services/helper/urls/Users.d.ts +31 -0
- package/dist/services/helper/urls/Users.js +66 -0
- package/dist/services/helper/urls/Users.js.map +1 -0
- package/dist/types/{graphql/Errors.d.ts → Errors.d.ts} +0 -0
- package/dist/types/{graphql/Errors.js → Errors.js} +0 -0
- package/dist/types/Errors.js.map +1 -0
- package/dist/types/Resolvers.d.ts +9 -0
- package/dist/types/Resolvers.js +3 -0
- package/dist/types/Resolvers.js.map +1 -0
- package/dist/types/Tweet.d.ts +1 -0
- package/dist/types/Tweet.js.map +1 -1
- package/dist/types/User.d.ts +19 -0
- package/dist/types/User.js +4 -0
- package/dist/types/User.js.map +1 -0
- package/dist/types/data/Errors.d.ts +26 -0
- package/dist/types/data/Errors.js +36 -0
- package/dist/types/data/Errors.js.map +1 -0
- package/dist/types/data/Service.d.ts +29 -0
- package/dist/types/data/Service.js +19 -0
- package/dist/types/data/Service.js.map +1 -0
- package/dist/types/data/Tweet.d.ts +41 -0
- package/dist/types/data/Tweet.js +5 -0
- package/dist/types/data/Tweet.js.map +1 -0
- package/dist/types/data/User.d.ts +19 -0
- package/dist/types/data/User.js +4 -0
- package/dist/types/data/User.js.map +1 -0
- package/dist/types/raw/http/Error.d.ts +34 -0
- package/dist/types/raw/{user/Users.js → http/Error.js} +1 -1
- package/dist/types/raw/http/Error.js.map +1 -0
- package/dist/types/raw/http/Response.d.ts +34 -0
- package/dist/types/raw/http/Response.js +3 -0
- package/dist/types/raw/http/Response.js.map +1 -0
- package/package.json +1 -1
- package/src/{queries → graphql/queries}/RootQuery.ts +5 -4
- package/src/{resolvers → graphql/resolvers}/AccountResolver.ts +21 -21
- package/src/{resolvers → graphql/resolvers}/ResolverBase.ts +1 -1
- package/src/{resolvers → graphql/resolvers}/TweetResolver.ts +43 -30
- package/src/{resolvers → graphql/resolvers}/UserResolver.ts +41 -27
- package/src/{models/graphql → graphql/types}/Global.ts +0 -0
- package/src/{models/graphql → graphql/types}/TweetTypes.ts +9 -11
- package/src/{models/graphql → graphql/types}/UserTypes.ts +13 -15
- package/src/index.ts +2 -2
- package/src/server.ts +3 -3
- package/src/services/AuthService.ts +1 -1
- package/src/services/CacheService.ts +6 -8
- package/src/services/FetcherService.ts +11 -14
- package/src/services/data/TweetService.ts +53 -37
- package/src/services/data/UserService.ts +187 -0
- package/src/services/helper/Parser.ts +6 -4
- package/src/services/helper/{Deserializers.ts → deserializers/Tweets.ts} +3 -28
- package/src/services/helper/deserializers/Users.ts +26 -0
- package/src/services/helper/extractors/Tweets.ts +252 -0
- package/src/services/helper/extractors/Users.ts +137 -0
- package/src/services/helper/urls/Authentication.ts +6 -0
- package/src/services/helper/urls/Tweets.ts +46 -0
- package/src/services/helper/urls/Users.ts +62 -0
- package/src/types/Resolvers.ts +9 -0
- package/src/types/data/Errors.ts +28 -0
- package/src/types/{Service.ts → data/Service.ts} +4 -5
- package/src/types/{Tweet.ts → data/Tweet.ts} +1 -0
- package/src/types/{UserAccount.ts → data/User.ts} +0 -0
- package/tsconfig.json +2 -2
- package/dist/models/graphql/Global.js.map +0 -1
- package/dist/models/graphql/TweetTypes.d.ts +0 -6
- package/dist/models/graphql/TweetTypes.js.map +0 -1
- package/dist/models/graphql/UserTypes.d.ts +0 -3
- package/dist/models/graphql/UserTypes.js.map +0 -1
- package/dist/queries/RootQuery.js.map +0 -1
- package/dist/resolvers/AccountResolver.js.map +0 -1
- package/dist/resolvers/ResolverBase.js.map +0 -1
- package/dist/resolvers/TweetResolver.js.map +0 -1
- package/dist/resolvers/UserResolver.js.map +0 -1
- package/dist/services/AccountsService.d.ts +0 -17
- package/dist/services/AccountsService.js +0 -171
- package/dist/services/AccountsService.js.map +0 -1
- package/dist/services/accounting/AccountsService.d.ts +0 -20
- package/dist/services/accounting/AccountsService.js +0 -147
- package/dist/services/accounting/AccountsService.js.map +0 -1
- package/dist/services/accounting/Flows.js +0 -2
- package/dist/services/accounting/Flows.js.map +0 -1
- package/dist/services/accounting/LoginFlows.d.ts +0 -20
- package/dist/services/accounting/LoginFlows.js +0 -70
- package/dist/services/accounting/LoginFlows.js.map +0 -1
- package/dist/test/Test.js +0 -2
- package/dist/test/Test.js.map +0 -1
- package/dist/types/graphql/Errors.js.map +0 -1
- package/dist/types/raw/user/Users.d.ts +0 -120
- package/dist/types/raw/user/Users.js.map +0 -1
- package/src/services/data/UserAccountService.ts +0 -176
- package/src/services/helper/Extractors.ts +0 -455
- package/src/services/helper/Urls.ts +0 -109
- package/src/types/graphql/Errors.ts +0 -16
- package/src/types/raw/user/Tweets.ts +0 -2847
|
@@ -77,12 +77,14 @@ exports.__esModule = true;
|
|
|
77
77
|
exports.TweetService = void 0;
|
|
78
78
|
// SERVICES
|
|
79
79
|
var FetcherService_1 = require("../FetcherService");
|
|
80
|
+
var Errors = __importStar(require("../../types/data/Errors"));
|
|
80
81
|
// URLS
|
|
81
|
-
var
|
|
82
|
+
var TweetUrls = __importStar(require("../helper/urls/Tweets"));
|
|
82
83
|
// EXTRACTORS
|
|
83
|
-
var
|
|
84
|
+
var TweetExtractors = __importStar(require("../helper/extractors/Tweets"));
|
|
84
85
|
// DESERIALIZERS
|
|
85
|
-
var
|
|
86
|
+
var UserDeserializers = __importStar(require("../helper/deserializers/Users"));
|
|
87
|
+
var TweetDeserializers = __importStar(require("../helper/deserializers/Tweets"));
|
|
86
88
|
// PARSERS
|
|
87
89
|
var Parser_1 = require("../helper/Parser");
|
|
88
90
|
/**
|
|
@@ -97,7 +99,7 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
97
99
|
/**
|
|
98
100
|
* @returns The list of tweets that match the given filter
|
|
99
101
|
* @param filter The filter be used for searching the tweets
|
|
100
|
-
* @param count The number of tweets to fetch
|
|
102
|
+
* @param count The number of tweets to fetch, must be >= 1 and <= 100
|
|
101
103
|
* @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched
|
|
102
104
|
*/
|
|
103
105
|
TweetService.prototype.getTweets = function (filter, count, cursor) {
|
|
@@ -105,13 +107,18 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
105
107
|
var res, data, tweets;
|
|
106
108
|
return __generator(this, function (_a) {
|
|
107
109
|
switch (_a.label) {
|
|
108
|
-
case 0:
|
|
110
|
+
case 0:
|
|
111
|
+
// If invalid count provided
|
|
112
|
+
if (count < 1 && !cursor) {
|
|
113
|
+
throw new Error(Errors.ValidationErrors.InvalidCount);
|
|
114
|
+
}
|
|
115
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetsUrl((0, Parser_1.toQueryString)(filter), count, cursor), false).then(function (res) { return res.data; })];
|
|
109
116
|
case 1:
|
|
110
117
|
res = _a.sent();
|
|
111
|
-
data =
|
|
118
|
+
data = TweetExtractors.extractTweets(res);
|
|
112
119
|
// Caching data
|
|
113
120
|
this.cacheData(data);
|
|
114
|
-
tweets = data.required.map(function (item) { return
|
|
121
|
+
tweets = data.required.map(function (item) { return TweetDeserializers.toTweet(item); });
|
|
115
122
|
return [2 /*return*/, {
|
|
116
123
|
list: tweets,
|
|
117
124
|
next: { value: data.cursor }
|
|
@@ -132,15 +139,17 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
132
139
|
case 0: return [4 /*yield*/, this.readData(tweetId)];
|
|
133
140
|
case 1:
|
|
134
141
|
cachedData = _a.sent();
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
142
|
+
// If data exists in cache
|
|
143
|
+
if (cachedData) {
|
|
144
|
+
return [2 /*return*/, cachedData];
|
|
145
|
+
}
|
|
146
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetDetailsUrl(tweetId), false).then(function (res) { return res.data; })];
|
|
147
|
+
case 2:
|
|
139
148
|
res = _a.sent();
|
|
140
|
-
data =
|
|
149
|
+
data = TweetExtractors.extractTweet(res, tweetId);
|
|
141
150
|
// Caching data
|
|
142
151
|
this.cacheData(data);
|
|
143
|
-
tweet =
|
|
152
|
+
tweet = TweetDeserializers.toTweet(data.required[0]);
|
|
144
153
|
return [2 /*return*/, tweet];
|
|
145
154
|
}
|
|
146
155
|
});
|
|
@@ -149,7 +158,7 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
149
158
|
/**
|
|
150
159
|
* @returns The list of users who liked the given tweet
|
|
151
160
|
* @param tweetId The rest id of the target tweet
|
|
152
|
-
* @param count The batch size of the list
|
|
161
|
+
* @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100
|
|
153
162
|
* @param cursor The cursor to the next batch of users. If blank, first batch is fetched
|
|
154
163
|
*/
|
|
155
164
|
TweetService.prototype.getTweetLikers = function (tweetId, count, cursor) {
|
|
@@ -160,15 +169,19 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
160
169
|
case 0:
|
|
161
170
|
// If user is not authenticated, abort
|
|
162
171
|
if (!this.isAuthenticated) {
|
|
163
|
-
|
|
172
|
+
throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
|
|
164
173
|
}
|
|
165
|
-
|
|
174
|
+
// If invalid count provided
|
|
175
|
+
if (count < 10 && !cursor) {
|
|
176
|
+
throw new Error(Errors.ValidationErrors.InvalidCount);
|
|
177
|
+
}
|
|
178
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetLikesUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
|
|
166
179
|
case 1:
|
|
167
180
|
res = _a.sent();
|
|
168
|
-
data =
|
|
181
|
+
data = TweetExtractors.extractTweetLikers(res);
|
|
169
182
|
// Caching data
|
|
170
183
|
this.cacheData(data);
|
|
171
|
-
users = data.required.map(function (item) { return
|
|
184
|
+
users = data.required.map(function (item) { return UserDeserializers.toUser(item); });
|
|
172
185
|
return [2 /*return*/, {
|
|
173
186
|
list: users,
|
|
174
187
|
next: { value: data.cursor }
|
|
@@ -180,7 +193,7 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
180
193
|
/**
|
|
181
194
|
* @returns The list of users who retweeted the given tweet
|
|
182
195
|
* @param tweetId The rest id of the target tweet
|
|
183
|
-
* @param count The batch size of the list
|
|
196
|
+
* @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100
|
|
184
197
|
* @param cursor The cursor to the next batch of users. If blank, first batch is fetched
|
|
185
198
|
*/
|
|
186
199
|
TweetService.prototype.getTweetRetweeters = function (tweetId, count, cursor) {
|
|
@@ -191,15 +204,19 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
191
204
|
case 0:
|
|
192
205
|
// If user is not authenticated, abort
|
|
193
206
|
if (!this.isAuthenticated) {
|
|
194
|
-
|
|
207
|
+
throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
|
|
208
|
+
}
|
|
209
|
+
// If invalid count provided
|
|
210
|
+
if (count < 10 && !cursor) {
|
|
211
|
+
throw new Error(Errors.ValidationErrors.InvalidCount);
|
|
195
212
|
}
|
|
196
|
-
return [4 /*yield*/, this.request(
|
|
213
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetRetweetUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
|
|
197
214
|
case 1:
|
|
198
215
|
res = _a.sent();
|
|
199
|
-
data =
|
|
216
|
+
data = TweetExtractors.extractTweetRetweeters(res);
|
|
200
217
|
// Caching data
|
|
201
218
|
this.cacheData(data);
|
|
202
|
-
users = data.required.map(function (item) { return
|
|
219
|
+
users = data.required.map(function (item) { return UserDeserializers.toUser(item); });
|
|
203
220
|
return [2 /*return*/, {
|
|
204
221
|
list: users,
|
|
205
222
|
next: { value: data.cursor }
|
|
@@ -221,15 +238,15 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
221
238
|
case 0:
|
|
222
239
|
// If user is not authenticated, abort
|
|
223
240
|
if (!this.isAuthenticated) {
|
|
224
|
-
|
|
241
|
+
throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
|
|
225
242
|
}
|
|
226
|
-
return [4 /*yield*/, this.request(
|
|
243
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetRepliesUrl(tweetId, cursor)).then(function (res) { return res.data; })];
|
|
227
244
|
case 1:
|
|
228
245
|
res = _a.sent();
|
|
229
|
-
data =
|
|
246
|
+
data = TweetExtractors.extractTweetReplies(res, tweetId);
|
|
230
247
|
// Caching data
|
|
231
248
|
this.cacheData(data);
|
|
232
|
-
tweets = data.required.map(function (item) { return
|
|
249
|
+
tweets = data.required.map(function (item) { return TweetDeserializers.toTweet(item); });
|
|
233
250
|
return [2 /*return*/, {
|
|
234
251
|
list: tweets,
|
|
235
252
|
next: { value: data.cursor }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,oDAAmD;AAYnD,OAAO;AACP
|
|
1
|
+
{"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,21 +21,21 @@ export declare class UserAccountService extends FetcherService {
|
|
|
21
21
|
/**
|
|
22
22
|
* @returns The list of users followed by the target user
|
|
23
23
|
* @param userId The rest id of the target user
|
|
24
|
-
* @param count The
|
|
24
|
+
* @param count The number of following to fetch, should be >= 40 (when no cursor is provided) and <=100
|
|
25
25
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
26
26
|
*/
|
|
27
27
|
getUserFollowing(userId: string, count: number, cursor: string): Promise<CursoredData<User>>;
|
|
28
28
|
/**
|
|
29
29
|
* @returns The list of users following the target user
|
|
30
30
|
* @param userId The rest id of the target user
|
|
31
|
-
* @param count The
|
|
31
|
+
* @param count The number of followers to fetch, should be >= 40 (when no cursor is provided) and <=100
|
|
32
32
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
33
33
|
*/
|
|
34
34
|
getUserFollowers(userId: string, count: number, cursor: string): Promise<CursoredData<User>>;
|
|
35
35
|
/**
|
|
36
36
|
* @returns The list of tweets liked by the target user
|
|
37
37
|
* @param userId The rest id of the target user
|
|
38
|
-
* @param count The
|
|
38
|
+
* @param count The number of likes to fetch, must be >= 10 (when no cursor is provided) and <= 100
|
|
39
39
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
40
40
|
*/
|
|
41
41
|
getUserLikes(userId: string, count: number, cursor: string): Promise<CursoredData<Tweet>>;
|
|
@@ -125,10 +125,12 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
125
125
|
case 0: return [4 /*yield*/, this.readData(restId)];
|
|
126
126
|
case 1:
|
|
127
127
|
cachedData = _a.sent();
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
// If data exists in cache
|
|
129
|
+
if (cachedData) {
|
|
130
|
+
return [2 /*return*/, cachedData];
|
|
131
|
+
}
|
|
132
|
+
return [4 /*yield*/, this.request(Urls.userAccountByIdUrl(restId), false).then(function (res) { return res.data; })];
|
|
133
|
+
case 2:
|
|
132
134
|
res = _a.sent();
|
|
133
135
|
data = Extractors.extractUserAccountDetails(res);
|
|
134
136
|
// Caching data
|
|
@@ -142,7 +144,7 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
142
144
|
/**
|
|
143
145
|
* @returns The list of users followed by the target user
|
|
144
146
|
* @param userId The rest id of the target user
|
|
145
|
-
* @param count The
|
|
147
|
+
* @param count The number of following to fetch, should be >= 40 (when no cursor is provided) and <=100
|
|
146
148
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
147
149
|
*/
|
|
148
150
|
UserAccountService.prototype.getUserFollowing = function (userId, count, cursor) {
|
|
@@ -155,6 +157,10 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
155
157
|
if (!this.isAuthenticated) {
|
|
156
158
|
return [2 /*return*/, { error: new Error('Cannot fetch user following without authentication!') }];
|
|
157
159
|
}
|
|
160
|
+
// If invalid count provided
|
|
161
|
+
if (count < 40 && !cursor) {
|
|
162
|
+
return [2 /*return*/, { error: new Error('Count must be >= 40 (when no cursor if provided)!') }];
|
|
163
|
+
}
|
|
158
164
|
return [4 /*yield*/, this.request(Urls.userFollowingUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
159
165
|
case 1:
|
|
160
166
|
res = _a.sent();
|
|
@@ -173,7 +179,7 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
173
179
|
/**
|
|
174
180
|
* @returns The list of users following the target user
|
|
175
181
|
* @param userId The rest id of the target user
|
|
176
|
-
* @param count The
|
|
182
|
+
* @param count The number of followers to fetch, should be >= 40 (when no cursor is provided) and <=100
|
|
177
183
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
178
184
|
*/
|
|
179
185
|
UserAccountService.prototype.getUserFollowers = function (userId, count, cursor) {
|
|
@@ -186,7 +192,11 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
186
192
|
if (!this.isAuthenticated) {
|
|
187
193
|
return [2 /*return*/, { error: new Error('Cannot fetch user followers without authentication!') }];
|
|
188
194
|
}
|
|
189
|
-
|
|
195
|
+
// If invalid count provided
|
|
196
|
+
if (count < 40 && !cursor) {
|
|
197
|
+
return [2 /*return*/, { error: new Error('Count must be >= 40 (when no cursor is provided)!') }];
|
|
198
|
+
}
|
|
199
|
+
return [4 /*yield*/, this.request(Urls.userFollowersUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
190
200
|
case 1:
|
|
191
201
|
res = _a.sent();
|
|
192
202
|
data = Extractors.extractUserFollow(res);
|
|
@@ -204,7 +214,7 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
204
214
|
/**
|
|
205
215
|
* @returns The list of tweets liked by the target user
|
|
206
216
|
* @param userId The rest id of the target user
|
|
207
|
-
* @param count The
|
|
217
|
+
* @param count The number of likes to fetch, must be >= 10 (when no cursor is provided) and <= 100
|
|
208
218
|
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
209
219
|
*/
|
|
210
220
|
UserAccountService.prototype.getUserLikes = function (userId, count, cursor) {
|
|
@@ -217,6 +227,10 @@ var UserAccountService = /** @class */ (function (_super) {
|
|
|
217
227
|
if (!this.isAuthenticated) {
|
|
218
228
|
return [2 /*return*/, { error: new Error('Cannot fetch user likes without authentication!') }];
|
|
219
229
|
}
|
|
230
|
+
// If invalid count provided
|
|
231
|
+
if (count < 40 && !cursor) {
|
|
232
|
+
return [2 /*return*/, { error: new Error('Count must be >= 10 (when no cursor is provided)!') }];
|
|
233
|
+
}
|
|
220
234
|
return [4 /*yield*/, this.request(Urls.userLikesUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
221
235
|
case 1:
|
|
222
236
|
res = _a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAccountService.js","sourceRoot":"","sources":["../../../src/services/data/UserAccountService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,oDAAmD;AAYnD,OAAO;AACP,mDAAuC;AAEvC,aAAa;AACb,+DAAmD;AAEnD,gBAAgB;AAChB,qEAAyD;AAEzD;;GAEG;AACH;IAAwC,sCAAc;IAClD,iBAAiB;IACjB,4BAAY,IAAiB;eACzB,kBAAM,IAAI,CAAC;IACf,CAAC;IAED;;;OAGG;IACG,kDAAqB,GAA3B,UAA4B,UAAkB;;;;;4BAEvB,qBAAM,IAAI,CAAC,OAAO,CAAU,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,EAAA;;wBAAxG,GAAG,GAAY,SAAyF;wBAGxG,IAAI,GAAG,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;wBAErD,eAAe;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAGjB,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAElD,sBAAO,IAAI,EAAC;;;;KACf;IAED;;;OAGG;IACG,sDAAyB,GAA/B,UAAgC,MAAc;;;;;4BAEzB,qBAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wBAAxC,UAAU,GAAG,SAA2B;
|
|
1
|
+
{"version":3,"file":"UserAccountService.js","sourceRoot":"","sources":["../../../src/services/data/UserAccountService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { FetcherService } from '../FetcherService';
|
|
2
|
+
import { AuthService } from '../AuthService';
|
|
3
|
+
import { User } from '../../types/data/User';
|
|
4
|
+
import { Tweet } from '../../types/data/Tweet';
|
|
5
|
+
import { CursoredData } from '../../types/data/Service';
|
|
6
|
+
/**
|
|
7
|
+
* A service that deals with fetching of data related to user account
|
|
8
|
+
*/
|
|
9
|
+
export declare class UserService extends FetcherService {
|
|
10
|
+
constructor(auth: AuthService);
|
|
11
|
+
/**
|
|
12
|
+
* @returns The details of the given user
|
|
13
|
+
* @param screenName The screen name of the target user.
|
|
14
|
+
*/
|
|
15
|
+
getUserDetails(screenName: string): Promise<User>;
|
|
16
|
+
/**
|
|
17
|
+
* @returns The details of the user with given rest id
|
|
18
|
+
* @param restId The screen name of the target user.
|
|
19
|
+
*/
|
|
20
|
+
getUserDetailsById(restId: string): Promise<User>;
|
|
21
|
+
/**
|
|
22
|
+
* @returns The list of users followed by the target user
|
|
23
|
+
* @param userId The rest id of the target user
|
|
24
|
+
* @param count The number of following to fetch, should be >= 40 (when no cursor is provided) and <=100
|
|
25
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
26
|
+
*/
|
|
27
|
+
getUserFollowing(userId: string, count: number, cursor: string): Promise<CursoredData<User>>;
|
|
28
|
+
/**
|
|
29
|
+
* @returns The list of users following the target user
|
|
30
|
+
* @param userId The rest id of the target user
|
|
31
|
+
* @param count The number of followers to fetch, should be >= 40 (when no cursor is provided) and <=100
|
|
32
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
33
|
+
*/
|
|
34
|
+
getUserFollowers(userId: string, count: number, cursor: string): Promise<CursoredData<User>>;
|
|
35
|
+
/**
|
|
36
|
+
* @returns The list of tweets liked by the target user
|
|
37
|
+
* @param userId The rest id of the target user
|
|
38
|
+
* @param count The number of likes to fetch, must be >= 40 (when no cursor is provided) and <= 100
|
|
39
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
40
|
+
*/
|
|
41
|
+
getUserLikes(userId: string, count: number, cursor: string): Promise<CursoredData<Tweet>>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
41
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
42
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
43
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
44
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
45
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
46
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
50
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
51
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
52
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
53
|
+
function step(op) {
|
|
54
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
55
|
+
while (_) try {
|
|
56
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
57
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
58
|
+
switch (op[0]) {
|
|
59
|
+
case 0: case 1: t = op; break;
|
|
60
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
61
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
62
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
63
|
+
default:
|
|
64
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
65
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
66
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
67
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
68
|
+
if (t[2]) _.ops.pop();
|
|
69
|
+
_.trys.pop(); continue;
|
|
70
|
+
}
|
|
71
|
+
op = body.call(thisArg, _);
|
|
72
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
73
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
exports.__esModule = true;
|
|
77
|
+
exports.UserService = void 0;
|
|
78
|
+
// SERVICES
|
|
79
|
+
var FetcherService_1 = require("../FetcherService");
|
|
80
|
+
var Errors = __importStar(require("../../types/data/Errors"));
|
|
81
|
+
// URLS
|
|
82
|
+
var UserUrls = __importStar(require("../helper/urls/Users"));
|
|
83
|
+
// EXTRACTORS
|
|
84
|
+
var UserExtractors = __importStar(require("../helper/extractors/Users"));
|
|
85
|
+
// DESERIALIZERS
|
|
86
|
+
var UserDeserializers = __importStar(require("../helper/deserializers/Users"));
|
|
87
|
+
var TweetDeserializers = __importStar(require("../helper/deserializers/Tweets"));
|
|
88
|
+
/**
|
|
89
|
+
* A service that deals with fetching of data related to user account
|
|
90
|
+
*/
|
|
91
|
+
var UserService = /** @class */ (function (_super) {
|
|
92
|
+
__extends(UserService, _super);
|
|
93
|
+
// MEMBER METHODS
|
|
94
|
+
function UserService(auth) {
|
|
95
|
+
return _super.call(this, auth) || this;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* @returns The details of the given user
|
|
99
|
+
* @param screenName The screen name of the target user.
|
|
100
|
+
*/
|
|
101
|
+
UserService.prototype.getUserDetails = function (screenName) {
|
|
102
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
103
|
+
var res, data, user;
|
|
104
|
+
return __generator(this, function (_a) {
|
|
105
|
+
switch (_a.label) {
|
|
106
|
+
case 0: return [4 /*yield*/, this.request(UserUrls.userDetailsUrl(screenName), false).then(function (res) { return res.data; })];
|
|
107
|
+
case 1:
|
|
108
|
+
res = _a.sent();
|
|
109
|
+
data = UserExtractors.extractUserDetails(res);
|
|
110
|
+
// Caching data
|
|
111
|
+
this.cacheData(data);
|
|
112
|
+
user = UserDeserializers.toUser(data.required[0]);
|
|
113
|
+
return [2 /*return*/, user];
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* @returns The details of the user with given rest id
|
|
120
|
+
* @param restId The screen name of the target user.
|
|
121
|
+
*/
|
|
122
|
+
UserService.prototype.getUserDetailsById = function (restId) {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
124
|
+
var cachedData, res, data, user;
|
|
125
|
+
return __generator(this, function (_a) {
|
|
126
|
+
switch (_a.label) {
|
|
127
|
+
case 0: return [4 /*yield*/, this.readData(restId)];
|
|
128
|
+
case 1:
|
|
129
|
+
cachedData = _a.sent();
|
|
130
|
+
// If data exists in cache
|
|
131
|
+
if (cachedData) {
|
|
132
|
+
return [2 /*return*/, cachedData];
|
|
133
|
+
}
|
|
134
|
+
return [4 /*yield*/, this.request(UserUrls.userDetailsByIdUrl(restId), false).then(function (res) { return res.data; })];
|
|
135
|
+
case 2:
|
|
136
|
+
res = _a.sent();
|
|
137
|
+
data = UserExtractors.extractUserDetails(res);
|
|
138
|
+
// Caching data
|
|
139
|
+
this.cacheData(data);
|
|
140
|
+
user = UserDeserializers.toUser(data.required[0]);
|
|
141
|
+
return [2 /*return*/, user];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* @returns The list of users followed by the target user
|
|
148
|
+
* @param userId The rest id of the target user
|
|
149
|
+
* @param count The number of following to fetch, should be >= 40 (when no cursor is provided) and <=100
|
|
150
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
151
|
+
*/
|
|
152
|
+
UserService.prototype.getUserFollowing = function (userId, count, cursor) {
|
|
153
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
154
|
+
var res, data, users;
|
|
155
|
+
return __generator(this, function (_a) {
|
|
156
|
+
switch (_a.label) {
|
|
157
|
+
case 0:
|
|
158
|
+
// If user is not authenticated, abort
|
|
159
|
+
if (!this.isAuthenticated) {
|
|
160
|
+
throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
|
|
161
|
+
}
|
|
162
|
+
// If invalid count provided
|
|
163
|
+
if (count < 40 && !cursor) {
|
|
164
|
+
throw new Error(Errors.ValidationErrors.InvalidCount);
|
|
165
|
+
}
|
|
166
|
+
return [4 /*yield*/, this.request(UserUrls.userFollowingUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
167
|
+
case 1:
|
|
168
|
+
res = _a.sent();
|
|
169
|
+
data = UserExtractors.extractUserFollow(res);
|
|
170
|
+
// Caching data
|
|
171
|
+
this.cacheData(data);
|
|
172
|
+
users = data.required.map(function (item) { return UserDeserializers.toUser(item); });
|
|
173
|
+
return [2 /*return*/, {
|
|
174
|
+
list: users,
|
|
175
|
+
next: { value: data.cursor }
|
|
176
|
+
}];
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* @returns The list of users following the target user
|
|
183
|
+
* @param userId The rest id of the target user
|
|
184
|
+
* @param count The number of followers to fetch, should be >= 40 (when no cursor is provided) and <=100
|
|
185
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
186
|
+
*/
|
|
187
|
+
UserService.prototype.getUserFollowers = function (userId, count, cursor) {
|
|
188
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
189
|
+
var res, data, users;
|
|
190
|
+
return __generator(this, function (_a) {
|
|
191
|
+
switch (_a.label) {
|
|
192
|
+
case 0:
|
|
193
|
+
// If user is not authenticated, abort
|
|
194
|
+
if (!this.isAuthenticated) {
|
|
195
|
+
throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
|
|
196
|
+
}
|
|
197
|
+
// If invalid count provided
|
|
198
|
+
if (count < 40 && !cursor) {
|
|
199
|
+
throw new Error(Errors.ValidationErrors.InvalidCount);
|
|
200
|
+
}
|
|
201
|
+
return [4 /*yield*/, this.request(UserUrls.userFollowersUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
202
|
+
case 1:
|
|
203
|
+
res = _a.sent();
|
|
204
|
+
data = UserExtractors.extractUserFollow(res);
|
|
205
|
+
// Caching data
|
|
206
|
+
this.cacheData(data);
|
|
207
|
+
users = data.required.map(function (item) { return UserDeserializers.toUser(item); });
|
|
208
|
+
return [2 /*return*/, {
|
|
209
|
+
list: users,
|
|
210
|
+
next: { value: data.cursor }
|
|
211
|
+
}];
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* @returns The list of tweets liked by the target user
|
|
218
|
+
* @param userId The rest id of the target user
|
|
219
|
+
* @param count The number of likes to fetch, must be >= 40 (when no cursor is provided) and <= 100
|
|
220
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
221
|
+
*/
|
|
222
|
+
UserService.prototype.getUserLikes = function (userId, count, cursor) {
|
|
223
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
224
|
+
var res, data, tweets;
|
|
225
|
+
return __generator(this, function (_a) {
|
|
226
|
+
switch (_a.label) {
|
|
227
|
+
case 0:
|
|
228
|
+
// If user is not authenticated, abort
|
|
229
|
+
if (!this.isAuthenticated) {
|
|
230
|
+
throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
|
|
231
|
+
}
|
|
232
|
+
// If invalid count provided
|
|
233
|
+
if (count < 40 && !cursor) {
|
|
234
|
+
throw new Error(Errors.ValidationErrors.InvalidCount);
|
|
235
|
+
}
|
|
236
|
+
return [4 /*yield*/, this.request(UserUrls.userLikesUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
237
|
+
case 1:
|
|
238
|
+
res = _a.sent();
|
|
239
|
+
data = UserExtractors.extractUserLikes(res);
|
|
240
|
+
// Caching data
|
|
241
|
+
this.cacheData(data);
|
|
242
|
+
tweets = data.required.map(function (item) { return TweetDeserializers.toTweet(item); });
|
|
243
|
+
return [2 /*return*/, {
|
|
244
|
+
list: tweets,
|
|
245
|
+
next: { value: data.cursor }
|
|
246
|
+
}];
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
return UserService;
|
|
252
|
+
}(FetcherService_1.FetcherService));
|
|
253
|
+
exports.UserService = UserService;
|
|
254
|
+
;
|
|
255
|
+
//# sourceMappingURL=UserService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../src/services/data/UserService.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
exports.__esModule = true;
|
|
26
26
|
exports.extractTweetReplies = exports.extractTweetRetweeters = exports.extractTweetLikers = exports.extractTweet = exports.extractTweets = exports.extractUserTweets = exports.extractUserLikes = exports.extractUserFollow = exports.extractUserAccountDetails = void 0;
|
|
27
27
|
// TYPES
|
|
28
|
-
var Errors_1 = require("../../types/
|
|
28
|
+
var Errors_1 = require("../../types/Errors");
|
|
29
29
|
// PARSERS
|
|
30
30
|
var Parsers = __importStar(require("./Parser"));
|
|
31
31
|
/* USERS */
|