rettiwt-api 1.1.0 → 1.1.1
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/.github/workflows/build-docs.yml +27 -0
- package/README.md +3 -1
- package/dist/Test.d.ts +0 -0
- package/dist/Test.js +2 -0
- package/dist/Test.js.map +1 -0
- package/dist/index.d.ts +16 -5
- package/dist/index.js +22 -8
- package/dist/index.js.map +1 -1
- package/dist/models/graphql/Global.d.ts +4 -0
- package/dist/models/graphql/Global.js +13 -0
- package/dist/models/graphql/Global.js.map +1 -0
- package/dist/models/graphql/TweetTypes.d.ts +6 -0
- package/dist/models/graphql/TweetTypes.js +156 -0
- package/dist/models/graphql/TweetTypes.js.map +1 -0
- package/dist/models/graphql/UserTypes.d.ts +3 -0
- package/dist/models/graphql/UserTypes.js +139 -0
- package/dist/models/graphql/UserTypes.js.map +1 -0
- package/dist/queries/RootQuery.d.ts +4 -0
- package/dist/queries/RootQuery.js +70 -0
- package/dist/queries/RootQuery.js.map +1 -0
- package/dist/resolvers/AccountResolver.d.ts +12 -0
- package/dist/resolvers/AccountResolver.js +84 -0
- package/dist/resolvers/AccountResolver.js.map +1 -0
- package/dist/resolvers/ResolverBase.d.ts +5 -0
- package/dist/resolvers/ResolverBase.js +11 -0
- package/dist/resolvers/ResolverBase.js.map +1 -0
- package/dist/resolvers/TweetResolver.d.ts +54 -0
- package/dist/resolvers/TweetResolver.js +332 -0
- package/dist/resolvers/TweetResolver.js.map +1 -0
- package/dist/resolvers/UserResolver.d.ts +38 -0
- package/dist/resolvers/UserResolver.js +253 -0
- package/dist/resolvers/UserResolver.js.map +1 -0
- package/dist/services/AuthService.d.ts +6 -2
- package/dist/services/AuthService.js +4 -3
- package/dist/services/AuthService.js.map +1 -1
- package/dist/services/CacheService.d.ts +12 -7
- package/dist/services/CacheService.js +12 -7
- package/dist/services/CacheService.js.map +1 -1
- package/dist/services/FetcherService.d.ts +32 -12
- package/dist/services/FetcherService.js +45 -14
- package/dist/services/FetcherService.js.map +1 -1
- package/dist/services/accounts/AccountService.d.ts +23 -6
- package/dist/services/accounts/AccountService.js +34 -9
- package/dist/services/accounts/AccountService.js.map +1 -1
- package/dist/services/data/TrendService.d.ts +17 -0
- package/dist/services/data/TrendService.js +116 -0
- package/dist/services/data/TrendService.js.map +1 -0
- package/dist/services/data/TweetService.d.ts +22 -15
- package/dist/services/data/TweetService.js +22 -15
- package/dist/services/data/TweetService.js.map +1 -1
- package/dist/services/data/UserAccountService.d.ts +42 -0
- package/dist/services/data/UserAccountService.js +239 -0
- package/dist/services/data/UserAccountService.js.map +1 -0
- package/dist/services/data/UserService.d.ts +21 -15
- package/dist/services/data/UserService.js +21 -15
- package/dist/services/data/UserService.js.map +1 -1
- package/dist/services/helper/Deserializers.d.ts +19 -0
- package/dist/services/helper/Deserializers.js +115 -0
- package/dist/services/helper/Deserializers.js.map +1 -0
- package/dist/services/helper/Extractors.d.ts +104 -0
- package/dist/services/helper/Extractors.js +432 -0
- package/dist/services/helper/Extractors.js.map +1 -0
- package/dist/services/helper/Urls.d.ts +85 -0
- package/dist/services/helper/Urls.js +130 -0
- package/dist/services/helper/Urls.js.map +1 -0
- package/dist/services/helper/extractors/Trends.d.ts +3 -0
- package/dist/services/helper/extractors/Trends.js +51 -0
- package/dist/services/helper/extractors/Trends.js.map +1 -0
- package/dist/services/helper/urls/Trends.d.ts +7 -0
- package/dist/services/helper/urls/Trends.js +13 -0
- package/dist/services/helper/urls/Trends.js.map +1 -0
- package/dist/types/Authentication.d.ts +27 -2
- package/dist/types/Authentication.js.map +1 -1
- package/dist/types/HTTP.d.ts +3 -1
- package/dist/types/HTTP.js +3 -1
- package/dist/types/HTTP.js.map +1 -1
- package/dist/types/Resolvers.d.ts +6 -1
- package/dist/types/Service.d.ts +30 -0
- package/dist/types/Service.js +19 -0
- package/dist/types/Service.js.map +1 -0
- package/dist/types/Trends.d.ts +50 -0
- package/dist/types/Trends.js +3 -0
- package/dist/types/Trends.js.map +1 -0
- package/dist/types/Tweet.d.ts +40 -0
- package/dist/types/Tweet.js +5 -0
- package/dist/types/Tweet.js.map +1 -0
- package/dist/types/UserAccount.d.ts +19 -0
- package/dist/types/UserAccount.js +4 -0
- package/dist/types/UserAccount.js.map +1 -0
- package/dist/types/data/Errors.d.ts +9 -3
- package/dist/types/data/Errors.js +9 -3
- package/dist/types/data/Errors.js.map +1 -1
- package/dist/types/data/Service.d.ts +19 -5
- package/dist/types/data/Service.js +6 -3
- package/dist/types/data/Service.js.map +1 -1
- package/dist/types/data/Tweet.d.ts +60 -3
- package/dist/types/data/Tweet.js +0 -1
- package/dist/types/data/Tweet.js.map +1 -1
- package/dist/types/data/User.d.ts +20 -1
- package/dist/types/data/User.js +0 -1
- package/dist/types/data/User.js.map +1 -1
- package/dist/types/graphql/Errors.d.ts +15 -0
- package/dist/types/graphql/Errors.js +23 -0
- package/dist/types/graphql/Errors.js.map +1 -0
- package/dist/types/raw/general/Trends.d.ts +324 -0
- package/dist/types/raw/general/Trends.js +3 -0
- package/dist/types/raw/general/Trends.js.map +1 -0
- package/dist/types/raw/user/Tweets.d.ts +2428 -0
- package/dist/types/raw/user/Tweets.js +3 -0
- package/dist/types/raw/user/Tweets.js.map +1 -0
- package/package.json +5 -4
- package/src/index.ts +19 -6
- package/src/services/AuthService.ts +13 -7
- package/src/services/CacheService.ts +12 -7
- package/src/services/FetcherService.ts +62 -21
- package/src/services/accounts/AccountService.ts +38 -12
- package/src/services/data/TweetService.ts +25 -18
- package/src/services/data/UserService.ts +21 -15
- package/src/types/Authentication.ts +27 -2
- package/src/types/HTTP.ts +4 -2
- package/src/types/Resolvers.ts +14 -6
- package/src/types/data/Errors.ts +10 -4
- package/src/types/data/Service.ts +28 -11
- package/src/types/data/Tweet.ts +109 -31
- package/src/types/data/User.ts +47 -17
|
@@ -0,0 +1,239 @@
|
|
|
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.UserAccountService = void 0;
|
|
78
|
+
// SERVICES
|
|
79
|
+
var FetcherService_1 = require("../FetcherService");
|
|
80
|
+
// URLS
|
|
81
|
+
var Urls = __importStar(require("../helper/Urls"));
|
|
82
|
+
// EXTRACTORS
|
|
83
|
+
var Extractors = __importStar(require("../helper/Extractors"));
|
|
84
|
+
// DESERIALIZERS
|
|
85
|
+
var Deserializers = __importStar(require("../helper/Deserializers"));
|
|
86
|
+
/**
|
|
87
|
+
* A service that deals with fetching of data related to user account
|
|
88
|
+
*/
|
|
89
|
+
var UserAccountService = /** @class */ (function (_super) {
|
|
90
|
+
__extends(UserAccountService, _super);
|
|
91
|
+
// MEMBER METHODS
|
|
92
|
+
function UserAccountService(auth) {
|
|
93
|
+
return _super.call(this, auth) || this;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* @returns The user account details of the given user
|
|
97
|
+
* @param screenName The screen name of the target user.
|
|
98
|
+
*/
|
|
99
|
+
UserAccountService.prototype.getUserAccountDetails = function (screenName) {
|
|
100
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
101
|
+
var res, data, user;
|
|
102
|
+
return __generator(this, function (_a) {
|
|
103
|
+
switch (_a.label) {
|
|
104
|
+
case 0: return [4 /*yield*/, this.request(Urls.userAccountUrl(screenName), false).then(function (res) { return res.data; })];
|
|
105
|
+
case 1:
|
|
106
|
+
res = _a.sent();
|
|
107
|
+
data = Extractors.extractUserAccountDetails(res);
|
|
108
|
+
// Caching data
|
|
109
|
+
this.cacheData(data);
|
|
110
|
+
user = Deserializers.toUser(data.required[0]);
|
|
111
|
+
return [2 /*return*/, user];
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* @returns The user account details of the user with given rest id
|
|
118
|
+
* @param restId The screen name of the target user.
|
|
119
|
+
*/
|
|
120
|
+
UserAccountService.prototype.getUserAccountDetailsById = function (restId) {
|
|
121
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
122
|
+
var cachedData, res, data, user;
|
|
123
|
+
return __generator(this, function (_a) {
|
|
124
|
+
switch (_a.label) {
|
|
125
|
+
case 0: return [4 /*yield*/, this.readData(restId)];
|
|
126
|
+
case 1:
|
|
127
|
+
cachedData = _a.sent();
|
|
128
|
+
if (!cachedData) return [3 /*break*/, 2];
|
|
129
|
+
return [2 /*return*/, cachedData];
|
|
130
|
+
case 2: return [4 /*yield*/, this.request(Urls.userAccountByIdUrl(restId), false).then(function (res) { return res.data; })];
|
|
131
|
+
case 3:
|
|
132
|
+
res = _a.sent();
|
|
133
|
+
data = Extractors.extractUserAccountDetails(res);
|
|
134
|
+
// Caching data
|
|
135
|
+
this.cacheData(data);
|
|
136
|
+
user = Deserializers.toUser(data.required[0]);
|
|
137
|
+
return [2 /*return*/, user];
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* @returns The list of users followed by the target user
|
|
144
|
+
* @param userId The rest id of the target user
|
|
145
|
+
* @param count The batch size of the list
|
|
146
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
147
|
+
*/
|
|
148
|
+
UserAccountService.prototype.getUserFollowing = function (userId, count, cursor) {
|
|
149
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
150
|
+
var res, data, users;
|
|
151
|
+
return __generator(this, function (_a) {
|
|
152
|
+
switch (_a.label) {
|
|
153
|
+
case 0:
|
|
154
|
+
// If user is not authenticated, abort
|
|
155
|
+
if (!this.isAuthenticated) {
|
|
156
|
+
return [2 /*return*/, { error: new Error('Cannot fetch user following without authentication!') }];
|
|
157
|
+
}
|
|
158
|
+
return [4 /*yield*/, this.request(Urls.userFollowingUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
159
|
+
case 1:
|
|
160
|
+
res = _a.sent();
|
|
161
|
+
data = Extractors.extractUserFollow(res);
|
|
162
|
+
// Caching data
|
|
163
|
+
this.cacheData(data);
|
|
164
|
+
users = data.required.map(function (item) { return Deserializers.toUser(item); });
|
|
165
|
+
return [2 /*return*/, {
|
|
166
|
+
list: users,
|
|
167
|
+
next: { value: data.cursor }
|
|
168
|
+
}];
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* @returns The list of users following the target user
|
|
175
|
+
* @param userId The rest id of the target user
|
|
176
|
+
* @param count The batch size of the list
|
|
177
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
178
|
+
*/
|
|
179
|
+
UserAccountService.prototype.getUserFollowers = function (userId, count, cursor) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
181
|
+
var res, data, users;
|
|
182
|
+
return __generator(this, function (_a) {
|
|
183
|
+
switch (_a.label) {
|
|
184
|
+
case 0:
|
|
185
|
+
// If user is not authenticated, abort
|
|
186
|
+
if (!this.isAuthenticated) {
|
|
187
|
+
return [2 /*return*/, { error: new Error('Cannot fetch user followers without authentication!') }];
|
|
188
|
+
}
|
|
189
|
+
return [4 /*yield*/, this.request(Urls.userFollowersUrl(userId, (count > 20) ? (count - 20) : count, cursor)).then(function (res) { return res.data; })];
|
|
190
|
+
case 1:
|
|
191
|
+
res = _a.sent();
|
|
192
|
+
data = Extractors.extractUserFollow(res);
|
|
193
|
+
// Caching data
|
|
194
|
+
this.cacheData(data);
|
|
195
|
+
users = data.required.map(function (item) { return Deserializers.toUser(item); });
|
|
196
|
+
return [2 /*return*/, {
|
|
197
|
+
list: users,
|
|
198
|
+
next: { value: data.cursor }
|
|
199
|
+
}];
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* @returns The list of tweets liked by the target user
|
|
206
|
+
* @param userId The rest id of the target user
|
|
207
|
+
* @param count The batch size of the list
|
|
208
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched
|
|
209
|
+
*/
|
|
210
|
+
UserAccountService.prototype.getUserLikes = function (userId, count, cursor) {
|
|
211
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
212
|
+
var res, data, tweets;
|
|
213
|
+
return __generator(this, function (_a) {
|
|
214
|
+
switch (_a.label) {
|
|
215
|
+
case 0:
|
|
216
|
+
// If user is not authenticated, abort
|
|
217
|
+
if (!this.isAuthenticated) {
|
|
218
|
+
return [2 /*return*/, { error: new Error('Cannot fetch user likes without authentication!') }];
|
|
219
|
+
}
|
|
220
|
+
return [4 /*yield*/, this.request(Urls.userLikesUrl(userId, count, cursor)).then(function (res) { return res.data; })];
|
|
221
|
+
case 1:
|
|
222
|
+
res = _a.sent();
|
|
223
|
+
data = Extractors.extractUserLikes(res);
|
|
224
|
+
// Caching data
|
|
225
|
+
this.cacheData(data);
|
|
226
|
+
tweets = data.required.map(function (item) { return Deserializers.toTweet(item); });
|
|
227
|
+
return [2 /*return*/, {
|
|
228
|
+
list: tweets,
|
|
229
|
+
next: { value: data.cursor }
|
|
230
|
+
}];
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
return UserAccountService;
|
|
236
|
+
}(FetcherService_1.FetcherService));
|
|
237
|
+
exports.UserAccountService = UserAccountService;
|
|
238
|
+
;
|
|
239
|
+
//# sourceMappingURL=UserAccountService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserAccountService.js","sourceRoot":"","sources":["../../../src/services/data/UserAccountService.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,39 +4,45 @@ import { User } from '../../types/data/User';
|
|
|
4
4
|
import { Tweet } from '../../types/data/Tweet';
|
|
5
5
|
import { CursoredData } from '../../types/data/Service';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Handles fetching of data related to user account
|
|
8
8
|
*/
|
|
9
9
|
export declare class UserService extends FetcherService {
|
|
10
|
+
/**
|
|
11
|
+
* @param auth The AuthService instance to use for authentication.
|
|
12
|
+
*/
|
|
10
13
|
constructor(auth: AuthService);
|
|
11
14
|
/**
|
|
12
|
-
* @returns The details of the given user
|
|
13
15
|
* @param screenName The screen name of the target user.
|
|
16
|
+
* @returns The details of the given user.
|
|
14
17
|
*/
|
|
15
18
|
getUserDetails(screenName: string): Promise<User>;
|
|
16
19
|
/**
|
|
17
|
-
* @returns The details of the user with given rest id
|
|
18
20
|
* @param restId The screen name of the target user.
|
|
21
|
+
* @returns The details of the user with given rest id.
|
|
19
22
|
*/
|
|
20
23
|
getUserDetailsById(restId: string): Promise<User>;
|
|
21
24
|
/**
|
|
22
|
-
* @
|
|
23
|
-
* @param
|
|
24
|
-
* @param
|
|
25
|
-
* @
|
|
25
|
+
* @param userId The rest id of the target user.
|
|
26
|
+
* @param count The number of following to fetch.
|
|
27
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
28
|
+
* @returns The list of users followed by the target user.
|
|
29
|
+
* @remarks count must be >= 40 (when no cursor is provided) and <=100.
|
|
26
30
|
*/
|
|
27
31
|
getUserFollowing(userId: string, count: number, cursor: string): Promise<CursoredData<User>>;
|
|
28
32
|
/**
|
|
29
|
-
* @
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
32
|
-
* @
|
|
33
|
+
* @param userId The rest id of the target user.
|
|
34
|
+
* @param count The number of followers to fetch.
|
|
35
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
36
|
+
* @returns The list of users following the target user.
|
|
37
|
+
* @remarks count must be >= 40 (when no cursor is provided) and <=100.
|
|
33
38
|
*/
|
|
34
39
|
getUserFollowers(userId: string, count: number, cursor: string): Promise<CursoredData<User>>;
|
|
35
40
|
/**
|
|
36
|
-
* @
|
|
37
|
-
* @param
|
|
38
|
-
* @param
|
|
39
|
-
* @
|
|
41
|
+
* @param userId The rest id of the target user.
|
|
42
|
+
* @param count The number of likes to fetch.
|
|
43
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
44
|
+
* @returns The list of tweets liked by the target user.
|
|
45
|
+
* @remarks count must be >= 40 (when no cursor is provided) and <= 100.
|
|
40
46
|
*/
|
|
41
47
|
getUserLikes(userId: string, count: number, cursor: string): Promise<CursoredData<Tweet>>;
|
|
42
48
|
}
|
|
@@ -86,17 +86,20 @@ var UserExtractors = __importStar(require("../helper/extractors/Users"));
|
|
|
86
86
|
var UserDeserializers = __importStar(require("../helper/deserializers/Users"));
|
|
87
87
|
var TweetDeserializers = __importStar(require("../helper/deserializers/Tweets"));
|
|
88
88
|
/**
|
|
89
|
-
*
|
|
89
|
+
* Handles fetching of data related to user account
|
|
90
90
|
*/
|
|
91
91
|
var UserService = /** @class */ (function (_super) {
|
|
92
92
|
__extends(UserService, _super);
|
|
93
93
|
// MEMBER METHODS
|
|
94
|
+
/**
|
|
95
|
+
* @param auth The AuthService instance to use for authentication.
|
|
96
|
+
*/
|
|
94
97
|
function UserService(auth) {
|
|
95
98
|
return _super.call(this, auth) || this;
|
|
96
99
|
}
|
|
97
100
|
/**
|
|
98
|
-
* @returns The details of the given user
|
|
99
101
|
* @param screenName The screen name of the target user.
|
|
102
|
+
* @returns The details of the given user.
|
|
100
103
|
*/
|
|
101
104
|
UserService.prototype.getUserDetails = function (screenName) {
|
|
102
105
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -116,8 +119,8 @@ var UserService = /** @class */ (function (_super) {
|
|
|
116
119
|
});
|
|
117
120
|
};
|
|
118
121
|
/**
|
|
119
|
-
* @returns The details of the user with given rest id
|
|
120
122
|
* @param restId The screen name of the target user.
|
|
123
|
+
* @returns The details of the user with given rest id.
|
|
121
124
|
*/
|
|
122
125
|
UserService.prototype.getUserDetailsById = function (restId) {
|
|
123
126
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -144,10 +147,11 @@ var UserService = /** @class */ (function (_super) {
|
|
|
144
147
|
});
|
|
145
148
|
};
|
|
146
149
|
/**
|
|
147
|
-
* @
|
|
148
|
-
* @param
|
|
149
|
-
* @param
|
|
150
|
-
* @
|
|
150
|
+
* @param userId The rest id of the target user.
|
|
151
|
+
* @param count The number of following to fetch.
|
|
152
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
153
|
+
* @returns The list of users followed by the target user.
|
|
154
|
+
* @remarks count must be >= 40 (when no cursor is provided) and <=100.
|
|
151
155
|
*/
|
|
152
156
|
UserService.prototype.getUserFollowing = function (userId, count, cursor) {
|
|
153
157
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -179,10 +183,11 @@ var UserService = /** @class */ (function (_super) {
|
|
|
179
183
|
});
|
|
180
184
|
};
|
|
181
185
|
/**
|
|
182
|
-
* @
|
|
183
|
-
* @param
|
|
184
|
-
* @param
|
|
185
|
-
* @
|
|
186
|
+
* @param userId The rest id of the target user.
|
|
187
|
+
* @param count The number of followers to fetch.
|
|
188
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
189
|
+
* @returns The list of users following the target user.
|
|
190
|
+
* @remarks count must be >= 40 (when no cursor is provided) and <=100.
|
|
186
191
|
*/
|
|
187
192
|
UserService.prototype.getUserFollowers = function (userId, count, cursor) {
|
|
188
193
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -214,10 +219,11 @@ var UserService = /** @class */ (function (_super) {
|
|
|
214
219
|
});
|
|
215
220
|
};
|
|
216
221
|
/**
|
|
217
|
-
* @
|
|
218
|
-
* @param
|
|
219
|
-
* @param
|
|
220
|
-
* @
|
|
222
|
+
* @param userId The rest id of the target user.
|
|
223
|
+
* @param count The number of likes to fetch.
|
|
224
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
225
|
+
* @returns The list of tweets liked by the target user.
|
|
226
|
+
* @remarks count must be >= 40 (when no cursor is provided) and <= 100.
|
|
221
227
|
*/
|
|
222
228
|
UserService.prototype.getUserLikes = function (userId, count, cursor) {
|
|
223
229
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../src/services/data/UserService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,oDAAmD;AAYnD,8DAAkD;AAElD,OAAO;AACP,6DAAiD;AAEjD,aAAa;AACb,yEAA6D;AAE7D,gBAAgB;AAChB,+EAAmE;AACnE,iFAAqE;AAErE;;GAEG;AACH;IAAiC,+BAAc;IAC3C,iBAAiB;IACjB,qBAAY,IAAiB;eACzB,kBAAM,IAAI,CAAC;IACf,CAAC;IAED;;;OAGG;IACG,oCAAc,GAApB,UAAqB,UAAkB;;;;;4BAEhB,qBAAM,IAAI,CAAC,OAAO,CAAU,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,EAAA;;wBAA5G,GAAG,GAAY,SAA6F;wBAG5G,IAAI,GAAG,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;wBAElD,eAAe;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAGjB,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAEtD,sBAAO,IAAI,EAAC;;;;KACf;IAED;;;OAGG;IACG,wCAAkB,GAAxB,UAAyB,MAAc;;;;;4BAElB,qBAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAA;;wBAAxC,UAAU,GAAG,SAA2B;wBAE5C,0BAA0B;wBAC1B,IAAG,UAAU,EAAE;4BACX,sBAAO,UAAU,EAAC;yBACrB;wBAGS,qBAAM,IAAI,CAAC,OAAO,CAAU,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,EAAA;;wBAAnG,GAAG,GAAG,SAA6F;wBAGnG,IAAI,GAAG,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;wBAElD,eAAe;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAGjB,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAEtD,sBAAO,IAAI,EAAC;;;;KACf;IAED
|
|
1
|
+
{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../src/services/data/UserService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { User } from '../../types/UserAccount';
|
|
2
|
+
import { Tweet, TweetEntities } from '../../types/Tweet';
|
|
3
|
+
import { Result as RawUser } from '../../types/raw/user/User';
|
|
4
|
+
import { Result as RawTweet, Entities2 as RawTweetEntities } from '../../types/raw/tweet/Tweet';
|
|
5
|
+
/**
|
|
6
|
+
* @returns A User object containing the user details
|
|
7
|
+
* @param data The raw user data from Twitter API
|
|
8
|
+
*/
|
|
9
|
+
export declare function toUser(data: RawUser): User;
|
|
10
|
+
/**
|
|
11
|
+
* @returns A TweetEntities object containing the various tweet entities
|
|
12
|
+
* @param data The raw tweet entities data from the response received from TwitterAPI
|
|
13
|
+
*/
|
|
14
|
+
export declare function toTweetEntities(data: RawTweetEntities): TweetEntities;
|
|
15
|
+
/**
|
|
16
|
+
* @returns A Tweet object containing the tweet data
|
|
17
|
+
* @param data The raw tweet data from the response received from TwitterAPI
|
|
18
|
+
*/
|
|
19
|
+
export declare function toTweet(data: RawTweet): Tweet;
|
|
@@ -0,0 +1,115 @@
|
|
|
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 = exports.toUser = void 0;
|
|
27
|
+
// PARSERS
|
|
28
|
+
var Parsers = __importStar(require("./Parser"));
|
|
29
|
+
/**
|
|
30
|
+
* @returns A User object containing the user details
|
|
31
|
+
* @param data The raw user data from Twitter API
|
|
32
|
+
*/
|
|
33
|
+
function toUser(data) {
|
|
34
|
+
return {
|
|
35
|
+
id: data.rest_id,
|
|
36
|
+
userName: data.legacy.screen_name,
|
|
37
|
+
fullName: data.legacy.name,
|
|
38
|
+
createdAt: data.legacy.created_at,
|
|
39
|
+
description: data.legacy.description,
|
|
40
|
+
isVerified: data.legacy.verified,
|
|
41
|
+
favouritesCount: data.legacy.favourites_count,
|
|
42
|
+
followersCount: data.legacy.followers_count,
|
|
43
|
+
followingsCount: data.legacy.friends_count,
|
|
44
|
+
statusesCount: data.legacy.statuses_count,
|
|
45
|
+
location: data.legacy.location,
|
|
46
|
+
pinnedTweet: data.legacy.pinned_tweet_ids_str[0],
|
|
47
|
+
profileBanner: data.legacy.profile_banner_url,
|
|
48
|
+
profileImage: data.legacy.profile_image_url_https
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
exports.toUser = toUser;
|
|
52
|
+
/**
|
|
53
|
+
* @returns A TweetEntities object containing the various tweet entities
|
|
54
|
+
* @param data The raw tweet entities data from the response received from TwitterAPI
|
|
55
|
+
*/
|
|
56
|
+
function toTweetEntities(data) {
|
|
57
|
+
var entities = {
|
|
58
|
+
mentionedUsers: [],
|
|
59
|
+
urls: [],
|
|
60
|
+
media: [],
|
|
61
|
+
hashtags: []
|
|
62
|
+
};
|
|
63
|
+
// Extracting user mentions
|
|
64
|
+
if (data.user_mentions) {
|
|
65
|
+
for (var _i = 0, _a = data.user_mentions; _i < _a.length; _i++) {
|
|
66
|
+
var user = _a[_i];
|
|
67
|
+
entities.mentionedUsers.push(user.id_str);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Extracting urls
|
|
71
|
+
if (data.urls) {
|
|
72
|
+
for (var _b = 0, _c = data.urls; _b < _c.length; _b++) {
|
|
73
|
+
var url = _c[_b];
|
|
74
|
+
entities.urls.push(url.expanded_url);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Extracting hashtags
|
|
78
|
+
if (data.hashtags) {
|
|
79
|
+
for (var _d = 0, _e = data.hashtags; _d < _e.length; _d++) {
|
|
80
|
+
var hashtag = _e[_d];
|
|
81
|
+
entities.hashtags.push(hashtag.text);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// Extracting media urls (if any)
|
|
85
|
+
if (data.media) {
|
|
86
|
+
for (var _f = 0, _g = data.media; _f < _g.length; _f++) {
|
|
87
|
+
var media = _g[_f];
|
|
88
|
+
entities.media.push(media.media_url_https);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return entities;
|
|
92
|
+
}
|
|
93
|
+
exports.toTweetEntities = toTweetEntities;
|
|
94
|
+
/**
|
|
95
|
+
* @returns A Tweet object containing the tweet data
|
|
96
|
+
* @param data The raw tweet data from the response received from TwitterAPI
|
|
97
|
+
*/
|
|
98
|
+
function toTweet(data) {
|
|
99
|
+
return {
|
|
100
|
+
id: data.rest_id,
|
|
101
|
+
createdAt: data.legacy.created_at,
|
|
102
|
+
tweetBy: data.legacy.user_id_str,
|
|
103
|
+
entities: toTweetEntities(data.legacy.entities),
|
|
104
|
+
quoted: data.legacy.quoted_status_id_str,
|
|
105
|
+
fullText: Parsers.normalizeText(data.legacy.full_text),
|
|
106
|
+
replyTo: data.legacy.in_reply_to_status_id_str,
|
|
107
|
+
lang: data.legacy.lang,
|
|
108
|
+
quoteCount: data.legacy.quote_count,
|
|
109
|
+
replyCount: data.legacy.reply_count,
|
|
110
|
+
retweetCount: data.legacy.retweet_count,
|
|
111
|
+
likeCount: data.legacy.favorite_count
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
exports.toTweet = toTweet;
|
|
115
|
+
//# sourceMappingURL=Deserializers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Deserializers.js","sourceRoot":"","sources":["../../../src/services/helper/Deserializers.ts"],"names":[],"mappings":"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"}
|