rettiwt-api 1.1.2 → 1.1.5
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/README.md +32 -7
- package/dist/endpoints/Endpoints.d.ts +14 -0
- package/dist/endpoints/Endpoints.js +20 -0
- package/dist/endpoints/Endpoints.js.map +1 -0
- package/dist/endpoints/Url.d.ts +5 -0
- package/dist/endpoints/Url.js +12 -0
- package/dist/endpoints/Url.js.map +1 -0
- package/dist/enums/Endpoints.d.ts +25 -0
- package/dist/enums/Endpoints.js +31 -0
- package/dist/enums/Endpoints.js.map +1 -0
- package/dist/enums/Errors.d.ts +20 -0
- package/dist/enums/Errors.js +28 -0
- package/dist/enums/Errors.js.map +1 -0
- package/dist/enums/HTTP.d.ts +17 -0
- package/dist/enums/HTTP.js +23 -0
- package/dist/enums/HTTP.js.map +1 -0
- package/dist/graphql/enums/Errors.d.ts +20 -0
- package/dist/graphql/enums/Errors.js +28 -0
- package/dist/graphql/enums/Errors.js.map +1 -0
- package/dist/graphql/queries/RootQuery.js +10 -3
- package/dist/graphql/queries/RootQuery.js.map +1 -1
- package/dist/graphql/resolvers/AccountResolver.d.ts +3 -3
- package/dist/graphql/resolvers/AccountResolver.js.map +1 -1
- package/dist/graphql/resolvers/ResolverBase.d.ts +14 -3
- package/dist/graphql/resolvers/ResolverBase.js +13 -1
- package/dist/graphql/resolvers/ResolverBase.js.map +1 -1
- package/dist/graphql/resolvers/TweetResolver.d.ts +3 -3
- package/dist/graphql/resolvers/TweetResolver.js +30 -18
- package/dist/graphql/resolvers/TweetResolver.js.map +1 -1
- package/dist/graphql/resolvers/UserResolver.d.ts +4 -4
- package/dist/graphql/resolvers/UserResolver.js +23 -19
- package/dist/graphql/resolvers/UserResolver.js.map +1 -1
- package/dist/graphql/types/Errors.d.ts +20 -0
- package/dist/graphql/types/Errors.js +28 -0
- package/dist/graphql/types/Errors.js.map +1 -0
- package/dist/graphql/types/TweetTypes.js +2 -2
- package/dist/graphql/types/TweetTypes.js.map +1 -1
- package/dist/index.d.ts +31 -15
- package/dist/index.js +32 -17
- package/dist/index.js.map +1 -1
- package/dist/middlewares/Authentication.d.ts +0 -0
- package/dist/middlewares/Authentication.js +2 -0
- package/dist/middlewares/Authentication.js.map +1 -0
- package/dist/models/args/TweetFilter.d.ts +59 -0
- package/dist/models/args/TweetFilter.js +101 -0
- package/dist/models/args/TweetFilter.js.map +1 -0
- package/dist/models/args/TweetListArgs.d.ts +21 -0
- package/dist/models/args/TweetListArgs.js +54 -0
- package/dist/models/args/TweetListArgs.js.map +1 -0
- package/dist/models/args/UserListArgs.d.ts +21 -0
- package/dist/models/args/UserListArgs.js +54 -0
- package/dist/models/args/UserListArgs.js.map +1 -0
- package/dist/models/auth/AuthCookie.d.ts +21 -0
- package/dist/models/auth/AuthCookie.js +33 -0
- package/dist/models/auth/AuthCookie.js.map +1 -0
- package/dist/models/data/CursoredData.d.ts +34 -0
- package/dist/models/data/CursoredData.js +42 -0
- package/dist/models/data/CursoredData.js.map +1 -0
- package/dist/models/data/DataValidationError.d.ts +18 -0
- package/dist/models/data/DataValidationError.js +21 -0
- package/dist/models/data/DataValidationError.js.map +1 -0
- package/dist/models/data/Errors.d.ts +18 -0
- package/dist/models/data/Errors.js +21 -0
- package/dist/models/data/Errors.js.map +1 -0
- package/dist/models/data/Service.d.ts +33 -0
- package/dist/models/data/Service.js +41 -0
- package/dist/models/data/Service.js.map +1 -0
- package/dist/models/data/Tweet.d.ts +53 -0
- package/dist/models/data/Tweet.js +104 -0
- package/dist/models/data/Tweet.js.map +1 -0
- package/dist/models/data/User.d.ts +41 -0
- package/dist/models/data/User.js +32 -0
- package/dist/models/data/User.js.map +1 -0
- package/dist/models/errors/DataValidationError.d.ts +20 -0
- package/dist/models/errors/DataValidationError.js +23 -0
- package/dist/models/errors/DataValidationError.js.map +1 -0
- package/dist/models/query/Variables.d.ts +2 -0
- package/dist/models/query/Variables.js +10 -0
- package/dist/models/query/Variables.js.map +1 -0
- package/dist/requests/Url.d.ts +5 -0
- package/dist/requests/Url.js +12 -0
- package/dist/requests/Url.js.map +1 -0
- package/dist/server.d.ts +1 -1
- package/dist/server.js +9 -10
- package/dist/server.js.map +1 -1
- package/dist/services/accounts/AccountService.d.ts +6 -0
- package/dist/services/accounts/AccountService.js +6 -0
- package/dist/services/accounts/AccountService.js.map +1 -1
- package/dist/services/auth/AccountService.d.ts +88 -0
- package/dist/services/auth/AccountService.js +392 -0
- package/dist/services/auth/AccountService.js.map +1 -0
- package/dist/services/auth/AuthService.d.ts +31 -0
- package/dist/services/auth/AuthService.js +118 -0
- package/dist/services/auth/AuthService.js.map +1 -0
- package/dist/services/auth/LoginFlows.d.ts +77 -0
- package/dist/services/auth/LoginFlows.js +92 -0
- package/dist/services/auth/LoginFlows.js.map +1 -0
- package/dist/services/data/TweetService.d.ts +46 -16
- package/dist/services/data/TweetService.js +71 -54
- package/dist/services/data/TweetService.js.map +1 -1
- package/dist/services/data/UserService.d.ts +45 -21
- package/dist/services/data/UserService.js +78 -75
- package/dist/services/data/UserService.js.map +1 -1
- package/dist/services/helper/Headers.d.ts +4 -4
- package/dist/services/helper/Headers.js.map +1 -1
- package/dist/services/helper/Parser.d.ts +2 -2
- package/dist/services/helper/Parser.js.map +1 -1
- package/dist/services/helper/extractors/Tweets.d.ts +6 -6
- package/dist/services/helper/extractors/Tweets.js +1 -1
- package/dist/services/helper/extractors/Tweets.js.map +1 -1
- package/dist/services/helper/extractors/Users.d.ts +4 -4
- package/dist/services/helper/extractors/Users.js +1 -1
- package/dist/services/helper/extractors/Users.js.map +1 -1
- package/dist/services/helper/payloads/LoginFlows.d.ts +77 -0
- package/dist/services/helper/payloads/LoginFlows.js +92 -0
- package/dist/services/helper/payloads/LoginFlows.js.map +1 -0
- package/dist/services/util/CacheService.d.ts +33 -0
- package/dist/services/util/CacheService.js +96 -0
- package/dist/services/util/CacheService.js.map +1 -0
- package/dist/services/util/FetcherService.d.ts +65 -0
- package/dist/services/util/FetcherService.js +214 -0
- package/dist/services/util/FetcherService.js.map +1 -0
- package/dist/types/Args.d.ts +38 -0
- package/dist/types/Args.js +5 -0
- package/dist/types/Args.js.map +1 -0
- package/dist/types/Authentication.d.ts +17 -2
- package/dist/types/Authentication.js +1 -0
- package/dist/types/Authentication.js.map +1 -1
- package/dist/types/Resolvers.d.ts +5 -4
- package/dist/types/Rettiwt.d.ts +16 -0
- package/dist/types/Rettiwt.js +3 -0
- package/dist/types/Rettiwt.js.map +1 -0
- package/dist/types/Service.d.ts +15 -23
- package/dist/types/Service.js +2 -16
- package/dist/types/Service.js.map +1 -1
- package/dist/types/Tweet.d.ts +25 -19
- package/dist/types/Tweet.js +0 -2
- package/dist/types/Tweet.js.map +1 -1
- package/dist/types/User.d.ts +35 -0
- package/dist/types/User.js +3 -0
- package/dist/types/User.js.map +1 -0
- package/dist/types/args/TweetFilter.d.ts +54 -0
- package/dist/types/args/TweetFilter.js +96 -0
- package/dist/types/args/TweetFilter.js.map +1 -0
- package/dist/types/args/TweetListArg.d.ts +10 -0
- package/dist/types/args/TweetListArg.js +42 -0
- package/dist/types/args/TweetListArg.js.map +1 -0
- package/dist/types/args/TweetListArgs.d.ts +20 -0
- package/dist/types/args/TweetListArgs.js +52 -0
- package/dist/types/args/TweetListArgs.js.map +1 -0
- package/dist/types/args/UserListArgs.d.ts +16 -0
- package/dist/types/args/UserListArgs.js +48 -0
- package/dist/types/args/UserListArgs.js.map +1 -0
- package/dist/types/data/TweetFilter.d.ts +49 -0
- package/dist/types/data/TweetFilter.js +63 -0
- package/dist/types/data/TweetFilter.js.map +1 -0
- package/dist/types/interfaces/Args.d.ts +38 -0
- package/dist/types/interfaces/Args.js +5 -0
- package/dist/types/interfaces/Args.js.map +1 -0
- package/dist/types/interfaces/Authentication.d.ts +40 -0
- package/dist/types/interfaces/Authentication.js +5 -0
- package/dist/types/interfaces/Authentication.js.map +1 -0
- package/dist/types/interfaces/Resolvers.d.ts +14 -0
- package/dist/types/interfaces/Resolvers.js +3 -0
- package/dist/types/interfaces/Resolvers.js.map +1 -0
- package/dist/types/interfaces/Rettiwt.d.ts +16 -0
- package/dist/types/interfaces/Rettiwt.js +3 -0
- package/dist/types/interfaces/Rettiwt.js.map +1 -0
- package/dist/types/interfaces/Service.d.ts +13 -0
- package/dist/types/interfaces/Service.js +3 -0
- package/dist/types/interfaces/Service.js.map +1 -0
- package/dist/types/interfaces/Services.d.ts +13 -0
- package/dist/types/interfaces/Services.js +3 -0
- package/dist/types/interfaces/Services.js.map +1 -0
- package/dist/types/interfaces/Tweet.d.ts +46 -0
- package/dist/types/interfaces/Tweet.js +3 -0
- package/dist/types/interfaces/Tweet.js.map +1 -0
- package/dist/types/interfaces/TweetFilter.d.ts +0 -0
- package/dist/types/interfaces/TweetFilter.js +2 -0
- package/dist/types/interfaces/TweetFilter.js.map +1 -0
- package/{src/types/data/User.ts → dist/types/interfaces/User.d.ts} +35 -51
- package/dist/types/interfaces/User.js +3 -0
- package/dist/types/interfaces/User.js.map +1 -0
- package/dist/types/raw/query/tweet/TweetDetails.d.ts +34 -0
- package/dist/types/raw/query/tweet/TweetDetails.js +5 -0
- package/dist/types/raw/query/tweet/TweetDetails.js.map +1 -0
- package/dist/types/raw/user/User.js.map +1 -1
- package/dist/types/services/args/TweetFilter.d.ts +50 -0
- package/dist/types/services/args/TweetFilter.js +76 -0
- package/dist/types/services/args/TweetFilter.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +64 -0
- package/docs/assets/main.js +58 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1280 -0
- package/docs/classes/AccountService.html +303 -0
- package/docs/classes/AuthCookie.html +146 -0
- package/docs/classes/AuthService.html +147 -0
- package/docs/classes/CacheService.html +157 -0
- package/docs/classes/Cursor.html +102 -0
- package/docs/classes/CursoredData.html +126 -0
- package/docs/classes/DataValidationError.html +119 -0
- package/docs/classes/FetcherService.html +225 -0
- package/docs/classes/Tweet.html +210 -0
- package/docs/classes/TweetEntities.html +128 -0
- package/docs/classes/TweetFilter.html +204 -0
- package/docs/classes/TweetListArgs.html +118 -0
- package/docs/classes/TweetService.html +313 -0
- package/docs/classes/User.html +230 -0
- package/docs/classes/UserListArgs.html +118 -0
- package/docs/classes/UserService.html +315 -0
- package/docs/enums/HttpMethods.html +74 -0
- package/docs/functions/Rettiwt.html +99 -0
- package/docs/index.html +161 -0
- package/docs/interfaces/IAuthCookie.html +104 -0
- package/docs/interfaces/ICursor.html +77 -0
- package/docs/interfaces/ICursoredData.html +93 -0
- package/docs/interfaces/IDataContext.html +91 -0
- package/docs/interfaces/IListArgs.html +87 -0
- package/docs/interfaces/ITweet.html +176 -0
- package/docs/interfaces/ITweetEntities.html +104 -0
- package/docs/interfaces/ITweetFilter.html +158 -0
- package/docs/interfaces/IUser.html +194 -0
- package/docs/modules.html +109 -0
- package/package.json +5 -2
- package/src/enums/Errors.ts +21 -0
- package/src/graphql/enums/Errors.ts +21 -0
- package/src/graphql/queries/RootQuery.ts +11 -4
- package/src/graphql/resolvers/AccountResolver.ts +3 -3
- package/src/graphql/resolvers/ResolverBase.ts +19 -5
- package/src/graphql/resolvers/TweetResolver.ts +26 -17
- package/src/graphql/resolvers/UserResolver.ts +18 -20
- package/src/graphql/types/TweetTypes.ts +2 -2
- package/src/graphql/types/UserTypes.ts +1 -1
- package/src/index.ts +39 -17
- package/src/models/args/TweetFilter.ts +119 -0
- package/src/models/args/TweetListArgs.ts +47 -0
- package/src/models/args/UserListArgs.ts +47 -0
- package/src/models/auth/AuthCookie.ts +43 -0
- package/src/models/data/CursoredData.ts +45 -0
- package/src/models/data/Tweet.ts +118 -0
- package/src/models/data/User.ts +72 -0
- package/src/models/errors/DataValidationError.ts +29 -0
- package/src/server.ts +9 -10
- package/src/services/{accounts → auth}/AccountService.ts +71 -19
- package/src/services/auth/AuthService.ts +81 -0
- package/src/services/data/TweetService.ts +77 -58
- package/src/services/data/UserService.ts +93 -89
- package/src/services/helper/Headers.ts +4 -4
- package/src/services/helper/Parser.ts +2 -2
- package/src/services/helper/extractors/Tweets.ts +7 -7
- package/src/services/helper/extractors/Users.ts +5 -5
- package/src/services/{CacheService.ts → util/CacheService.ts} +4 -1
- package/src/services/{FetcherService.ts → util/FetcherService.ts} +19 -11
- package/src/types/Args.ts +49 -0
- package/src/types/Authentication.ts +29 -7
- package/src/types/Resolvers.ts +5 -4
- package/src/types/Rettiwt.ts +20 -0
- package/src/types/Service.ts +24 -0
- package/src/types/Tweet.ts +61 -0
- package/src/types/User.ts +48 -0
- package/tsconfig.json +2 -2
- package/src/services/AuthService.ts +0 -68
- package/src/services/helper/deserializers/Tweets.ts +0 -70
- package/src/services/helper/deserializers/Users.ts +0 -26
- package/src/types/data/Errors.ts +0 -37
- package/src/types/data/Service.ts +0 -55
- package/src/types/data/Tweet.ts +0 -123
- package/src/types/raw/auth/Cookie.ts +0 -16
- /package/src/{types → enums}/HTTP.ts +0 -0
- /package/src/services/{accounts → helper/payloads}/LoginFlows.ts +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var LoginFlows = {
|
|
4
|
+
"InitiateLogin": {
|
|
5
|
+
url: 'https://api.twitter.com/1.1/onboarding/task.json?flow_name=login'
|
|
6
|
+
},
|
|
7
|
+
"JsInstrumentationSubtask": {
|
|
8
|
+
url: 'https://api.twitter.com/1.1/onboarding/task.json',
|
|
9
|
+
body: function (flowToken) { return ({
|
|
10
|
+
"flow_token": flowToken,
|
|
11
|
+
"subtask_inputs": [
|
|
12
|
+
{
|
|
13
|
+
"subtask_id": "LoginJsInstrumentationSubtask",
|
|
14
|
+
"js_instrumentation": {
|
|
15
|
+
"response": "{\"rf\":{\"a09453c7341fb1cbb7d51561f92d478fa0752bc77e7ca6b5703258680b2c51d7\":-4,\"bd26c6694e256b10766447d992deaf92bb220bc05e3b8205ba5c9a4f83302230\":0,\"abfa440376b8dc33ca518e1e2a998b3ac4200a8122ef09781eea2c1408717111\":-1,\"a4e87b66027f638a4634561275fab00f9f7446b81a180b5f03eda69fa32eb8f4\":-224},\"s\":\"yET9nlXrlGRAylCyyBKEsxOpUweMpjRz5RfKzTzQyVADnKE64gmpyILfKBK0-HIHWY8FbJPHGWr6QrCb5A-Z3q2SLRm4DReprZGXykJ111_ynet8kSjFkRjODKKDN2FzT1V6rx9FILnUuRCaMu9ewfPgPBi4wO1g7EUeEsSSHIiCwNc9URJr4c2xVTA3ibIfTbu8p2WhX7RZAk8LWRPpPPB21st8Z1j0LcLlR0bkZoF6LsN-7w75lGB0s4z1JKqus2MVuRcPMay0wWZbn8Qx9In_-tSTvEBLcxjUpDgwu29G0g0iCWoISFzLY4-LLvV7UBGklkByIcPtwYbDbREqRQAAAYYmXAsG\"}",
|
|
16
|
+
"link": "next_link"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}); }
|
|
21
|
+
},
|
|
22
|
+
"EnterUserIdentifier": {
|
|
23
|
+
url: 'https://api.twitter.com/1.1/onboarding/task.json',
|
|
24
|
+
body: function (flowToken, email) { return ({
|
|
25
|
+
"flow_token": flowToken,
|
|
26
|
+
"subtask_inputs": [
|
|
27
|
+
{
|
|
28
|
+
"subtask_id": "LoginEnterUserIdentifierSSO",
|
|
29
|
+
"settings_list": {
|
|
30
|
+
"setting_responses": [
|
|
31
|
+
{
|
|
32
|
+
"key": "user_identifier",
|
|
33
|
+
"response_data": {
|
|
34
|
+
"text_data": {
|
|
35
|
+
"result": email
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"link": "next_link"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}); }
|
|
45
|
+
},
|
|
46
|
+
"EnterAlternateUserIdentifier": {
|
|
47
|
+
url: 'https://api.twitter.com/1.1/onboarding/task.json',
|
|
48
|
+
body: function (flowToken, userName) { return ({
|
|
49
|
+
"flow_token": flowToken,
|
|
50
|
+
"subtask_inputs": [
|
|
51
|
+
{
|
|
52
|
+
"subtask_id": "LoginEnterAlternateIdentifierSubtask",
|
|
53
|
+
"enter_text": {
|
|
54
|
+
"text": userName,
|
|
55
|
+
"link": "next_link"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}); }
|
|
60
|
+
},
|
|
61
|
+
"EnterPassword": {
|
|
62
|
+
url: 'https://api.twitter.com/1.1/onboarding/task.json',
|
|
63
|
+
body: function (flowToken, password) { return ({
|
|
64
|
+
"flow_token": flowToken,
|
|
65
|
+
"subtask_inputs": [
|
|
66
|
+
{
|
|
67
|
+
"subtask_id": "LoginEnterPassword",
|
|
68
|
+
"enter_password": {
|
|
69
|
+
"password": password,
|
|
70
|
+
"link": "next_link"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}); }
|
|
75
|
+
},
|
|
76
|
+
"AccountDuplicationCheck": {
|
|
77
|
+
url: 'https://api.twitter.com/1.1/onboarding/task.json',
|
|
78
|
+
body: function (flowToken) { return ({
|
|
79
|
+
"flow_token": flowToken,
|
|
80
|
+
"subtask_inputs": [
|
|
81
|
+
{
|
|
82
|
+
"subtask_id": "AccountDuplicationCheck",
|
|
83
|
+
"check_logged_in_account": {
|
|
84
|
+
"link": "AccountDuplicationCheck_false"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}); }
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
exports["default"] = LoginFlows;
|
|
92
|
+
//# sourceMappingURL=LoginFlows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginFlows.js","sourceRoot":"","sources":["../../../src/services/auth/LoginFlows.ts"],"names":[],"mappings":";;AAAA,IAAM,UAAU,GAAG;IACf,eAAe,EAAE;QACb,GAAG,EAAE,kEAAkE;KAC1E;IACD,0BAA0B,EAAE;QACxB,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,IAAK,OAAA,CAAC;YAC1B,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,+BAA+B;oBAC7C,oBAAoB,EAAE;wBAClB,UAAU,EAAE,wpBAAwpB;wBACpqB,MAAM,EAAE,WAAW;qBACtB;iBACJ;aACJ;SACJ,CAAC,EAX2B,CAW3B;KACL;IACD,qBAAqB,EAAE;QACnB,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,EAAE,KAAa,IAAK,OAAA,CAAC;YACzC,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,6BAA6B;oBAC3C,eAAe,EAAE;wBACb,mBAAmB,EAAE;4BACjB;gCACI,KAAK,EAAE,iBAAiB;gCACxB,eAAe,EAAE;oCACb,WAAW,EAAE;wCACT,QAAQ,EAAE,KAAK;qCAClB;iCACJ;6BACJ;yBACJ;wBACD,MAAM,EAAE,WAAW;qBACtB;iBACJ;aACJ;SACJ,CAAC,EApB0C,CAoB1C;KACL;IACD,8BAA8B,EAAE;QAC5B,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,EAAE,QAAgB,IAAK,OAAA,CAAC;YAC5C,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,sCAAsC;oBACpD,YAAY,EAAE;wBACV,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,WAAW;qBACtB;iBACJ;aACJ;SACJ,CAAC,EAX6C,CAW7C;KACL;IACD,eAAe,EAAE;QACb,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,EAAE,QAAgB,IAAK,OAAA,CAAC;YAC5C,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,oBAAoB;oBAClC,gBAAgB,EAAE;wBACd,UAAU,EAAE,QAAQ;wBACpB,MAAM,EAAE,WAAW;qBACtB;iBACJ;aACJ;SACJ,CAAC,EAX6C,CAW7C;KACL;IACD,yBAAyB,EAAE;QACvB,GAAG,EAAE,kDAAkD;QACvD,IAAI,EAAE,UAAC,SAAiB,IAAK,OAAA,CAAC;YAC1B,YAAY,EAAE,SAAS;YACvB,gBAAgB,EAAE;gBACd;oBACI,YAAY,EAAE,yBAAyB;oBACvC,yBAAyB,EAAE;wBACvB,MAAM,EAAE,+BAA+B;qBAC1C;iBACJ;aACJ;SACJ,CAAC,EAV2B,CAU3B;KACL;CACJ,CAAA;AAED,qBAAe,UAAU,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { FetcherService } from "../FetcherService";
|
|
2
|
-
import { AuthService } from "../AuthService";
|
|
3
|
-
import {
|
|
4
|
-
import { User } from "../../
|
|
5
|
-
import {
|
|
1
|
+
import { FetcherService } from "../util/FetcherService";
|
|
2
|
+
import { AuthService } from "../auth/AuthService";
|
|
3
|
+
import { Tweet } from "../../models/data/Tweet";
|
|
4
|
+
import { User } from "../../models/data/User";
|
|
5
|
+
import { TweetFilter } from "../../models/args/TweetFilter";
|
|
6
|
+
import { CursoredData } from '../../models/data/CursoredData';
|
|
6
7
|
/**
|
|
7
8
|
* Handles fetching of data related to tweets.
|
|
8
9
|
* @public
|
|
@@ -14,31 +15,60 @@ export declare class TweetService extends FetcherService {
|
|
|
14
15
|
constructor(auth: AuthService);
|
|
15
16
|
/**
|
|
16
17
|
* @param filter The filter be used for searching the tweets.
|
|
17
|
-
* @param count The number of tweets to fetch
|
|
18
|
+
* @param count The number of tweets to fetch, must be >= 10 and <= 20
|
|
18
19
|
* @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched.
|
|
20
|
+
*
|
|
19
21
|
* @returns The list of tweets that match the given filter.
|
|
20
|
-
*
|
|
22
|
+
*
|
|
23
|
+
* @throws {@link Errors.ValidationErrors.InvalidCount} error, if an invalid count has been provided.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
*
|
|
27
|
+
* If cookies have been provided, then authenticated requests are made. Else, guest requests are made.
|
|
21
28
|
*/
|
|
22
|
-
getTweets(
|
|
29
|
+
getTweets(query: TweetFilter, count?: number, cursor?: string): Promise<CursoredData<Tweet>>;
|
|
23
30
|
/**
|
|
24
|
-
* @param
|
|
31
|
+
* @param id The id of the target tweet.
|
|
32
|
+
*
|
|
25
33
|
* @returns The details of a single tweet with the given tweet id.
|
|
34
|
+
*
|
|
35
|
+
* @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
|
|
36
|
+
*
|
|
37
|
+
* @remarks
|
|
38
|
+
*
|
|
39
|
+
* No cookies are required to use this method.
|
|
26
40
|
*/
|
|
27
|
-
|
|
41
|
+
getTweetDetails(id: string): Promise<Tweet>;
|
|
28
42
|
/**
|
|
29
43
|
* @param tweetId The rest id of the target tweet.
|
|
30
|
-
* @param count The batch size of the list.
|
|
44
|
+
* @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 20.
|
|
31
45
|
* @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
|
|
46
|
+
*
|
|
32
47
|
* @returns The list of users who liked the given tweet.
|
|
33
|
-
*
|
|
48
|
+
*
|
|
49
|
+
* @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
|
|
50
|
+
* @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
|
|
51
|
+
* @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
*
|
|
55
|
+
* Cookies are required to use this method!
|
|
34
56
|
*/
|
|
35
|
-
getTweetLikers(tweetId: string, count
|
|
57
|
+
getTweetLikers(tweetId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
|
|
36
58
|
/**
|
|
37
59
|
* @param tweetId The rest id of the target tweet.
|
|
38
|
-
* @param count The batch size of the list.
|
|
60
|
+
* @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100.
|
|
39
61
|
* @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
|
|
62
|
+
*
|
|
40
63
|
* @returns The list of users who retweeted the given tweet.
|
|
41
|
-
*
|
|
64
|
+
*
|
|
65
|
+
* @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
|
|
66
|
+
* @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
|
|
67
|
+
* @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
|
|
68
|
+
*
|
|
69
|
+
* @remarks
|
|
70
|
+
*
|
|
71
|
+
* Cookies are required to use this method!
|
|
42
72
|
*/
|
|
43
|
-
getTweetRetweeters(tweetId: string, count
|
|
73
|
+
getTweetRetweeters(tweetId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
|
|
44
74
|
}
|
|
@@ -76,15 +76,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
76
76
|
exports.__esModule = true;
|
|
77
77
|
exports.TweetService = void 0;
|
|
78
78
|
// SERVICES
|
|
79
|
-
var FetcherService_1 = require("../FetcherService");
|
|
80
|
-
|
|
79
|
+
var FetcherService_1 = require("../util/FetcherService");
|
|
80
|
+
// MODELS
|
|
81
|
+
var Tweet_1 = require("../../models/data/Tweet");
|
|
82
|
+
var User_1 = require("../../models/data/User");
|
|
83
|
+
var TweetListArgs_1 = require("../../models/args/TweetListArgs");
|
|
84
|
+
var TweetFilter_1 = require("../../models/args/TweetFilter");
|
|
85
|
+
var CursoredData_1 = require("../../models/data/CursoredData");
|
|
86
|
+
// ENUMS
|
|
87
|
+
var Errors_1 = require("../../enums/Errors");
|
|
81
88
|
// URLS
|
|
82
89
|
var TweetUrls = __importStar(require("../helper/urls/Tweets"));
|
|
83
90
|
// EXTRACTORS
|
|
84
91
|
var TweetExtractors = __importStar(require("../helper/extractors/Tweets"));
|
|
85
|
-
// DESERIALIZERS
|
|
86
|
-
var UserDeserializers = __importStar(require("../helper/deserializers/Users"));
|
|
87
|
-
var TweetDeserializers = __importStar(require("../helper/deserializers/Tweets"));
|
|
88
92
|
// PARSERS
|
|
89
93
|
var Parser_1 = require("../helper/Parser");
|
|
90
94
|
/**
|
|
@@ -93,7 +97,6 @@ var Parser_1 = require("../helper/Parser");
|
|
|
93
97
|
*/
|
|
94
98
|
var TweetService = /** @class */ (function (_super) {
|
|
95
99
|
__extends(TweetService, _super);
|
|
96
|
-
// MEMBER METHODS
|
|
97
100
|
/**
|
|
98
101
|
* @param auth The AuthService instance to use for authentication.
|
|
99
102
|
*/
|
|
@@ -102,59 +105,69 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
102
105
|
}
|
|
103
106
|
/**
|
|
104
107
|
* @param filter The filter be used for searching the tweets.
|
|
105
|
-
* @param count The number of tweets to fetch
|
|
108
|
+
* @param count The number of tweets to fetch, must be >= 10 and <= 20
|
|
106
109
|
* @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched.
|
|
110
|
+
*
|
|
107
111
|
* @returns The list of tweets that match the given filter.
|
|
108
|
-
*
|
|
112
|
+
*
|
|
113
|
+
* @throws {@link Errors.ValidationErrors.InvalidCount} error, if an invalid count has been provided.
|
|
114
|
+
*
|
|
115
|
+
* @remarks
|
|
116
|
+
*
|
|
117
|
+
* If cookies have been provided, then authenticated requests are made. Else, guest requests are made.
|
|
109
118
|
*/
|
|
110
|
-
TweetService.prototype.getTweets = function (
|
|
119
|
+
TweetService.prototype.getTweets = function (query, count, cursor) {
|
|
111
120
|
return __awaiter(this, void 0, void 0, function () {
|
|
112
|
-
var res, data, tweets;
|
|
121
|
+
var filter, args, res, data, tweets;
|
|
113
122
|
return __generator(this, function (_a) {
|
|
114
123
|
switch (_a.label) {
|
|
115
124
|
case 0:
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
return [4 /*yield*/, this.request(TweetUrls.tweetsUrl((0, Parser_1.toQueryString)(filter), count, cursor), false).then(function (res) { return res.data; })];
|
|
125
|
+
filter = new TweetFilter_1.TweetFilter(query);
|
|
126
|
+
args = new TweetListArgs_1.TweetListArgs(count, cursor);
|
|
127
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetsUrl((0, Parser_1.toQueryString)(filter), args.count, args.cursor), this.isAuthenticated).then(function (res) { return res.data; })];
|
|
121
128
|
case 1:
|
|
122
129
|
res = _a.sent();
|
|
123
130
|
data = TweetExtractors.extractTweets(res);
|
|
124
131
|
// Caching data
|
|
125
132
|
this.cacheData(data);
|
|
126
|
-
tweets = data.required.map(function (item) { return
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}];
|
|
133
|
+
tweets = data.required.map(function (item) { return new Tweet_1.Tweet(item); });
|
|
134
|
+
// Sorting the tweets by date, from recent to oldest
|
|
135
|
+
tweets.sort(function (a, b) { return new Date(b.createdAt).valueOf() - new Date(a.createdAt).valueOf(); });
|
|
136
|
+
return [2 /*return*/, new CursoredData_1.CursoredData(tweets, data.cursor)];
|
|
131
137
|
}
|
|
132
138
|
});
|
|
133
139
|
});
|
|
134
140
|
};
|
|
135
141
|
/**
|
|
136
|
-
* @param
|
|
142
|
+
* @param id The id of the target tweet.
|
|
143
|
+
*
|
|
137
144
|
* @returns The details of a single tweet with the given tweet id.
|
|
145
|
+
*
|
|
146
|
+
* @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
|
|
147
|
+
*
|
|
148
|
+
* @remarks
|
|
149
|
+
*
|
|
150
|
+
* No cookies are required to use this method.
|
|
138
151
|
*/
|
|
139
|
-
TweetService.prototype.
|
|
152
|
+
TweetService.prototype.getTweetDetails = function (id) {
|
|
140
153
|
return __awaiter(this, void 0, void 0, function () {
|
|
141
154
|
var cachedData, res, data, tweet;
|
|
142
155
|
return __generator(this, function (_a) {
|
|
143
156
|
switch (_a.label) {
|
|
144
|
-
case 0: return [4 /*yield*/, this.readData(
|
|
157
|
+
case 0: return [4 /*yield*/, this.readData(id)];
|
|
145
158
|
case 1:
|
|
146
159
|
cachedData = _a.sent();
|
|
147
160
|
// If data exists in cache
|
|
148
161
|
if (cachedData) {
|
|
149
162
|
return [2 /*return*/, cachedData];
|
|
150
163
|
}
|
|
151
|
-
return [4 /*yield*/, this.request(TweetUrls.tweetDetailsUrl(
|
|
164
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetDetailsUrl(id), false).then(function (res) { return res.data; })];
|
|
152
165
|
case 2:
|
|
153
166
|
res = _a.sent();
|
|
154
|
-
data = TweetExtractors.extractTweet(res,
|
|
167
|
+
data = TweetExtractors.extractTweet(res, id);
|
|
155
168
|
// Caching data
|
|
156
169
|
this.cacheData(data);
|
|
157
|
-
tweet =
|
|
170
|
+
tweet = new Tweet_1.Tweet(data.required[0]);
|
|
158
171
|
return [2 /*return*/, tweet];
|
|
159
172
|
}
|
|
160
173
|
});
|
|
@@ -162,72 +175,76 @@ var TweetService = /** @class */ (function (_super) {
|
|
|
162
175
|
};
|
|
163
176
|
/**
|
|
164
177
|
* @param tweetId The rest id of the target tweet.
|
|
165
|
-
* @param count The batch size of the list.
|
|
178
|
+
* @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 20.
|
|
166
179
|
* @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
|
|
180
|
+
*
|
|
167
181
|
* @returns The list of users who liked the given tweet.
|
|
168
|
-
*
|
|
182
|
+
*
|
|
183
|
+
* @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
|
|
184
|
+
* @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
|
|
185
|
+
* @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
|
|
186
|
+
*
|
|
187
|
+
* @remarks
|
|
188
|
+
*
|
|
189
|
+
* Cookies are required to use this method!
|
|
169
190
|
*/
|
|
170
191
|
TweetService.prototype.getTweetLikers = function (tweetId, count, cursor) {
|
|
171
192
|
return __awaiter(this, void 0, void 0, function () {
|
|
172
|
-
var res, data, users;
|
|
193
|
+
var args, res, data, users;
|
|
173
194
|
return __generator(this, function (_a) {
|
|
174
195
|
switch (_a.label) {
|
|
175
196
|
case 0:
|
|
176
197
|
// If user is not authenticated, abort
|
|
177
198
|
if (!this.isAuthenticated) {
|
|
178
|
-
throw new Error(
|
|
199
|
+
throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
|
|
179
200
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
throw new Error(Errors.ValidationErrors.InvalidCount);
|
|
183
|
-
}
|
|
184
|
-
return [4 /*yield*/, this.request(TweetUrls.tweetLikesUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
|
|
201
|
+
args = new TweetListArgs_1.TweetListArgs(count, cursor);
|
|
202
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetLikesUrl(tweetId, args.count, args.cursor)).then(function (res) { return res.data; })];
|
|
185
203
|
case 1:
|
|
186
204
|
res = _a.sent();
|
|
187
205
|
data = TweetExtractors.extractTweetLikers(res);
|
|
188
206
|
// Caching data
|
|
189
207
|
this.cacheData(data);
|
|
190
|
-
users = data.required.map(function (item) { return
|
|
191
|
-
return [2 /*return*/,
|
|
192
|
-
list: users,
|
|
193
|
-
next: { value: data.cursor }
|
|
194
|
-
}];
|
|
208
|
+
users = data.required.map(function (item) { return new User_1.User(item); });
|
|
209
|
+
return [2 /*return*/, new CursoredData_1.CursoredData(users, data.cursor)];
|
|
195
210
|
}
|
|
196
211
|
});
|
|
197
212
|
});
|
|
198
213
|
};
|
|
199
214
|
/**
|
|
200
215
|
* @param tweetId The rest id of the target tweet.
|
|
201
|
-
* @param count The batch size of the list.
|
|
216
|
+
* @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100.
|
|
202
217
|
* @param cursor The cursor to the next batch of users. If blank, first batch is fetched.
|
|
218
|
+
*
|
|
203
219
|
* @returns The list of users who retweeted the given tweet.
|
|
204
|
-
*
|
|
220
|
+
*
|
|
221
|
+
* @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
|
|
222
|
+
* @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count is provided.
|
|
223
|
+
* @throws {@link Errors.DataErrors.TweetNotFound} error, if no tweet with the given id was found.
|
|
224
|
+
*
|
|
225
|
+
* @remarks
|
|
226
|
+
*
|
|
227
|
+
* Cookies are required to use this method!
|
|
205
228
|
*/
|
|
206
229
|
TweetService.prototype.getTweetRetweeters = function (tweetId, count, cursor) {
|
|
207
230
|
return __awaiter(this, void 0, void 0, function () {
|
|
208
|
-
var res, data, users;
|
|
231
|
+
var args, res, data, users;
|
|
209
232
|
return __generator(this, function (_a) {
|
|
210
233
|
switch (_a.label) {
|
|
211
234
|
case 0:
|
|
212
235
|
// If user is not authenticated, abort
|
|
213
236
|
if (!this.isAuthenticated) {
|
|
214
|
-
throw new Error(
|
|
215
|
-
}
|
|
216
|
-
// If invalid count provided
|
|
217
|
-
if (count < 10 && !cursor) {
|
|
218
|
-
throw new Error(Errors.ValidationErrors.InvalidCount);
|
|
237
|
+
throw new Error(Errors_1.AuthenticationErrors.NotAuthenticated);
|
|
219
238
|
}
|
|
220
|
-
|
|
239
|
+
args = new TweetListArgs_1.TweetListArgs(count, cursor);
|
|
240
|
+
return [4 /*yield*/, this.request(TweetUrls.tweetRetweetUrl(tweetId, args.count, args.cursor)).then(function (res) { return res.data; })];
|
|
221
241
|
case 1:
|
|
222
242
|
res = _a.sent();
|
|
223
243
|
data = TweetExtractors.extractTweetRetweeters(res);
|
|
224
244
|
// Caching data
|
|
225
245
|
this.cacheData(data);
|
|
226
|
-
users = data.required.map(function (item) { return
|
|
227
|
-
return [2 /*return*/,
|
|
228
|
-
list: users,
|
|
229
|
-
next: { value: data.cursor }
|
|
230
|
-
}];
|
|
246
|
+
users = data.required.map(function (item) { return new User_1.User(item); });
|
|
247
|
+
return [2 /*return*/, new CursoredData_1.CursoredData(users, data.cursor)];
|
|
231
248
|
}
|
|
232
249
|
});
|
|
233
250
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,
|
|
1
|
+
{"version":3,"file":"TweetService.js","sourceRoot":"","sources":["../../../src/services/data/TweetService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { FetcherService } from '../FetcherService';
|
|
2
|
-
import { AuthService } from '../AuthService';
|
|
3
|
-
import { User } from '../../
|
|
4
|
-
import { Tweet } from '../../
|
|
5
|
-
import { CursoredData } from '../../
|
|
1
|
+
import { FetcherService } from '../util/FetcherService';
|
|
2
|
+
import { AuthService } from '../auth/AuthService';
|
|
3
|
+
import { User } from '../../models/data/User';
|
|
4
|
+
import { Tweet } from '../../models/data/Tweet';
|
|
5
|
+
import { CursoredData } from '../../models/data/CursoredData';
|
|
6
6
|
/**
|
|
7
7
|
* Handles fetching of data related to user account
|
|
8
8
|
*/
|
|
@@ -12,37 +12,61 @@ export declare class UserService extends FetcherService {
|
|
|
12
12
|
*/
|
|
13
13
|
constructor(auth: AuthService);
|
|
14
14
|
/**
|
|
15
|
-
* @param
|
|
15
|
+
* @param id The id/username of the target user.
|
|
16
|
+
*
|
|
16
17
|
* @returns The details of the given user.
|
|
18
|
+
*
|
|
19
|
+
* @throws {@link Errors.DataErrors.UserNotFound} error, if no user with the given username was found.
|
|
20
|
+
*
|
|
21
|
+
* @remarks
|
|
22
|
+
*
|
|
23
|
+
* No cookies are required to use this method.
|
|
17
24
|
*/
|
|
18
|
-
getUserDetails(
|
|
19
|
-
/**
|
|
20
|
-
* @param restId The screen name of the target user.
|
|
21
|
-
* @returns The details of the user with given rest id.
|
|
22
|
-
*/
|
|
23
|
-
getUserDetailsById(restId: string): Promise<User>;
|
|
25
|
+
getUserDetails(id: string): Promise<User>;
|
|
24
26
|
/**
|
|
25
27
|
* @param userId The rest id of the target user.
|
|
26
|
-
* @param count The number of following to fetch.
|
|
28
|
+
* @param count The number of following to fetch, must be >= 40 (when no cursor is provided) and <=100.
|
|
27
29
|
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
30
|
+
*
|
|
28
31
|
* @returns The list of users followed by the target user.
|
|
29
|
-
*
|
|
32
|
+
*
|
|
33
|
+
* @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
|
|
34
|
+
* @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
|
|
35
|
+
* @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
|
|
36
|
+
*
|
|
37
|
+
* @remarks
|
|
38
|
+
*
|
|
39
|
+
* Cookies are required to use this method!
|
|
30
40
|
*/
|
|
31
|
-
getUserFollowing(userId: string, count
|
|
41
|
+
getUserFollowing(userId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
|
|
32
42
|
/**
|
|
33
43
|
* @param userId The rest id of the target user.
|
|
34
|
-
* @param count The number of followers to fetch.
|
|
44
|
+
* @param count The number of followers to fetch, must be >= 40 (when no cursor is provided) and <=100.
|
|
35
45
|
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
46
|
+
*
|
|
36
47
|
* @returns The list of users following the target user.
|
|
37
|
-
*
|
|
48
|
+
*
|
|
49
|
+
* @throws {@link Errors.AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
|
|
50
|
+
* @throws {@link Errors.ValidationErrors.InvalidCount} error, if invalid count has been provided.
|
|
51
|
+
* @throws {@link Errors.DataErrors.UserNotFound} error, if invalid count has been provided.
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
*
|
|
55
|
+
* Cookies are required to use this method!
|
|
38
56
|
*/
|
|
39
|
-
getUserFollowers(userId: string, count
|
|
57
|
+
getUserFollowers(userId: string, count?: number, cursor?: string): Promise<CursoredData<User>>;
|
|
40
58
|
/**
|
|
41
59
|
* @param userId The rest id of the target user.
|
|
42
60
|
* @param count The number of likes to fetch.
|
|
43
|
-
* @param cursor The cursor to next batch. If blank, first batch is fetched.
|
|
61
|
+
* @param cursor The cursor to next batch. If blank, first batch is fetched, must be >= 40 (when no cursor is provided) and <=100.
|
|
62
|
+
*
|
|
44
63
|
* @returns The list of tweets liked by the target user.
|
|
45
|
-
*
|
|
64
|
+
*
|
|
65
|
+
* @throws {@link AuthenticationErrors.NotAuthenticated} error, if no cookies have been provided.
|
|
66
|
+
*
|
|
67
|
+
* @remarks
|
|
68
|
+
*
|
|
69
|
+
* Cookies are required to use this method!
|
|
46
70
|
*/
|
|
47
|
-
getUserLikes(userId: string, count
|
|
71
|
+
getUserLikes(userId: string, count?: number, cursor?: string): Promise<CursoredData<Tweet>>;
|
|
48
72
|
}
|