rettiwt-api 1.0.5 → 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.
Files changed (184) hide show
  1. package/README.md +2 -2
  2. package/dist/{queries → graphql/queries}/RootQuery.d.ts +0 -0
  3. package/dist/{queries → graphql/queries}/RootQuery.js +15 -3
  4. package/dist/graphql/queries/RootQuery.js.map +1 -0
  5. package/dist/graphql/resolvers/AccountResolver.d.ts +12 -0
  6. package/dist/graphql/resolvers/AccountResolver.js +84 -0
  7. package/dist/graphql/resolvers/AccountResolver.js.map +1 -0
  8. package/dist/{resolvers → graphql/resolvers}/ResolverBase.d.ts +1 -1
  9. package/dist/{resolvers → graphql/resolvers}/ResolverBase.js +0 -0
  10. package/dist/graphql/resolvers/ResolverBase.js.map +1 -0
  11. package/dist/{resolvers → graphql/resolvers}/TweetResolver.d.ts +10 -9
  12. package/dist/{resolvers → graphql/resolvers}/TweetResolver.js +51 -35
  13. package/dist/graphql/resolvers/TweetResolver.js.map +1 -0
  14. package/dist/{resolvers → graphql/resolvers}/UserResolver.d.ts +5 -4
  15. package/dist/{resolvers → graphql/resolvers}/UserResolver.js +51 -35
  16. package/dist/graphql/resolvers/UserResolver.js.map +1 -0
  17. package/dist/{models/graphql → graphql/types}/Global.d.ts +0 -0
  18. package/dist/{models/graphql → graphql/types}/Global.js +0 -0
  19. package/dist/graphql/types/Global.js.map +1 -0
  20. package/dist/graphql/types/TweetTypes.d.ts +4 -0
  21. package/dist/{models/graphql → graphql/types}/TweetTypes.js +5 -7
  22. package/dist/graphql/types/TweetTypes.js.map +1 -0
  23. package/dist/graphql/types/UserTypes.d.ts +3 -0
  24. package/dist/{models/graphql → graphql/types}/UserTypes.js +9 -11
  25. package/dist/graphql/types/UserTypes.js.map +1 -0
  26. package/dist/index.d.ts +4 -2
  27. package/dist/index.js +5 -3
  28. package/dist/index.js.map +1 -1
  29. package/dist/server.js +6 -4
  30. package/dist/server.js.map +1 -1
  31. package/dist/services/AuthService.js +2 -2
  32. package/dist/services/AuthService.js.map +1 -1
  33. package/dist/services/CacheService.d.ts +3 -3
  34. package/dist/services/CacheService.js +22 -75
  35. package/dist/services/CacheService.js.map +1 -1
  36. package/dist/services/FetcherService.d.ts +14 -4
  37. package/dist/services/FetcherService.js +58 -52
  38. package/dist/services/FetcherService.js.map +1 -1
  39. package/dist/services/accounts/AccountService.d.ts +42 -0
  40. package/dist/services/accounts/AccountService.js +291 -0
  41. package/dist/services/accounts/AccountService.js.map +1 -0
  42. package/dist/services/accounts/LoginFlows.d.ts +77 -0
  43. package/dist/services/accounts/LoginFlows.js +92 -0
  44. package/dist/services/accounts/LoginFlows.js.map +1 -0
  45. package/dist/services/data/TweetService.d.ts +6 -6
  46. package/dist/services/data/TweetService.js +44 -27
  47. package/dist/services/data/TweetService.js.map +1 -1
  48. package/dist/services/data/UserAccountService.d.ts +3 -3
  49. package/dist/services/data/UserAccountService.js +22 -8
  50. package/dist/services/data/UserAccountService.js.map +1 -1
  51. package/dist/services/data/UserService.d.ts +42 -0
  52. package/dist/services/data/UserService.js +255 -0
  53. package/dist/services/data/UserService.js.map +1 -0
  54. package/dist/services/helper/Extractors.js +1 -1
  55. package/dist/services/helper/Extractors.js.map +1 -1
  56. package/dist/services/helper/Headers.d.ts +11 -1
  57. package/dist/services/helper/Headers.js +28 -2
  58. package/dist/services/helper/Headers.js.map +1 -1
  59. package/dist/services/helper/Parser.d.ts +1 -1
  60. package/dist/services/helper/Parser.js +4 -3
  61. package/dist/services/helper/Parser.js.map +1 -1
  62. package/dist/services/helper/Urls.d.ts +2 -2
  63. package/dist/services/helper/Urls.js +19 -3
  64. package/dist/services/helper/Urls.js.map +1 -1
  65. package/dist/services/helper/deserializers/Tweets.d.ts +12 -0
  66. package/dist/services/helper/deserializers/Tweets.js +92 -0
  67. package/dist/services/helper/deserializers/Tweets.js.map +1 -0
  68. package/dist/services/helper/deserializers/User.d.ts +0 -0
  69. package/dist/services/helper/deserializers/User.js +2 -0
  70. package/dist/services/helper/deserializers/User.js.map +1 -0
  71. package/dist/services/helper/deserializers/Users.d.ts +7 -0
  72. package/dist/services/helper/deserializers/Users.js +27 -0
  73. package/dist/services/helper/deserializers/Users.js.map +1 -0
  74. package/dist/services/helper/extractors/TweetExtractors.d.ts +0 -0
  75. package/dist/services/helper/extractors/TweetExtractors.js +2 -0
  76. package/dist/services/helper/extractors/TweetExtractors.js.map +1 -0
  77. package/dist/services/helper/extractors/Tweets.d.ts +32 -0
  78. package/dist/services/helper/extractors/Tweets.js +264 -0
  79. package/dist/services/helper/extractors/Tweets.js.map +1 -0
  80. package/dist/services/helper/extractors/UserExtractors.d.ts +45 -0
  81. package/dist/services/helper/extractors/UserExtractors.js +176 -0
  82. package/dist/services/helper/extractors/UserExtractors.js.map +1 -0
  83. package/dist/services/helper/extractors/Users.d.ts +20 -0
  84. package/dist/services/helper/extractors/Users.js +151 -0
  85. package/dist/services/helper/extractors/Users.js.map +1 -0
  86. package/dist/services/helper/urls/Authentication.d.ts +4 -0
  87. package/dist/services/helper/urls/Authentication.js +11 -0
  88. package/dist/services/helper/urls/Authentication.js.map +1 -0
  89. package/dist/services/helper/urls/Tweets.d.ts +32 -0
  90. package/dist/services/helper/urls/Tweets.js +51 -0
  91. package/dist/services/helper/urls/Tweets.js.map +1 -0
  92. package/dist/services/helper/urls/Urls.d.ts +4 -0
  93. package/dist/services/helper/urls/Urls.js +11 -0
  94. package/dist/services/helper/urls/Urls.js.map +1 -0
  95. package/dist/services/helper/urls/Users.d.ts +31 -0
  96. package/dist/services/helper/urls/Users.js +66 -0
  97. package/dist/services/helper/urls/Users.js.map +1 -0
  98. package/dist/types/{graphql/Errors.d.ts → Errors.d.ts} +0 -0
  99. package/dist/types/{graphql/Errors.js → Errors.js} +0 -0
  100. package/dist/types/Errors.js.map +1 -0
  101. package/dist/types/HTTP.d.ts +0 -7
  102. package/dist/types/HTTP.js +1 -10
  103. package/dist/types/HTTP.js.map +1 -1
  104. package/dist/types/Resolvers.d.ts +9 -0
  105. package/dist/types/Resolvers.js +3 -0
  106. package/dist/types/Resolvers.js.map +1 -0
  107. package/dist/types/Service.d.ts +2 -0
  108. package/dist/types/Service.js.map +1 -1
  109. package/dist/types/Tweet.d.ts +1 -0
  110. package/dist/types/Tweet.js.map +1 -1
  111. package/dist/types/User.d.ts +19 -0
  112. package/dist/types/User.js +4 -0
  113. package/dist/types/User.js.map +1 -0
  114. package/dist/types/data/Errors.d.ts +26 -0
  115. package/dist/types/data/Errors.js +36 -0
  116. package/dist/types/data/Errors.js.map +1 -0
  117. package/dist/types/data/Service.d.ts +29 -0
  118. package/dist/types/data/Service.js +19 -0
  119. package/dist/types/data/Service.js.map +1 -0
  120. package/dist/types/data/Tweet.d.ts +41 -0
  121. package/dist/types/data/Tweet.js +5 -0
  122. package/dist/types/data/Tweet.js.map +1 -0
  123. package/dist/types/data/User.d.ts +19 -0
  124. package/dist/types/data/User.js +4 -0
  125. package/dist/types/data/User.js.map +1 -0
  126. package/dist/types/raw/http/Error.d.ts +34 -0
  127. package/dist/types/raw/{user/Users.js → http/Error.js} +1 -1
  128. package/dist/types/raw/http/Error.js.map +1 -0
  129. package/dist/types/raw/http/Response.d.ts +34 -0
  130. package/dist/types/raw/http/Response.js +3 -0
  131. package/dist/types/raw/http/Response.js.map +1 -0
  132. package/package.json +4 -2
  133. package/src/{queries → graphql/queries}/RootQuery.ts +16 -4
  134. package/src/graphql/resolvers/AccountResolver.ts +22 -0
  135. package/src/{resolvers → graphql/resolvers}/ResolverBase.ts +1 -1
  136. package/src/{resolvers → graphql/resolvers}/TweetResolver.ts +43 -30
  137. package/src/{resolvers → graphql/resolvers}/UserResolver.ts +41 -27
  138. package/src/{models/graphql → graphql/types}/Global.ts +0 -0
  139. package/src/{models/graphql → graphql/types}/TweetTypes.ts +9 -11
  140. package/src/{models/graphql → graphql/types}/UserTypes.ts +13 -15
  141. package/src/index.ts +5 -3
  142. package/src/server.ts +6 -4
  143. package/src/services/AuthService.ts +1 -1
  144. package/src/services/CacheService.ts +6 -8
  145. package/src/services/FetcherService.ts +37 -22
  146. package/src/services/accounts/AccountService.ts +156 -0
  147. package/src/services/accounts/LoginFlows.ts +90 -0
  148. package/src/services/data/TweetService.ts +53 -37
  149. package/src/services/data/UserService.ts +187 -0
  150. package/src/services/helper/Headers.ts +27 -1
  151. package/src/services/helper/Parser.ts +6 -4
  152. package/src/services/helper/{Deserializers.ts → deserializers/Tweets.ts} +3 -28
  153. package/src/services/helper/deserializers/Users.ts +26 -0
  154. package/src/services/helper/extractors/Tweets.ts +252 -0
  155. package/src/services/helper/extractors/Users.ts +137 -0
  156. package/src/services/helper/urls/Authentication.ts +6 -0
  157. package/src/services/helper/urls/Tweets.ts +46 -0
  158. package/src/services/helper/urls/Users.ts +62 -0
  159. package/src/types/HTTP.ts +0 -8
  160. package/src/types/Resolvers.ts +9 -0
  161. package/src/types/data/Errors.ts +28 -0
  162. package/src/types/{Service.ts → data/Service.ts} +6 -5
  163. package/src/types/{Tweet.ts → data/Tweet.ts} +1 -0
  164. package/src/types/{UserAccount.ts → data/User.ts} +0 -0
  165. package/tsconfig.json +2 -2
  166. package/dist/models/graphql/Global.js.map +0 -1
  167. package/dist/models/graphql/TweetTypes.d.ts +0 -6
  168. package/dist/models/graphql/TweetTypes.js.map +0 -1
  169. package/dist/models/graphql/UserTypes.d.ts +0 -3
  170. package/dist/models/graphql/UserTypes.js.map +0 -1
  171. package/dist/queries/RootQuery.js.map +0 -1
  172. package/dist/resolvers/ResolverBase.js.map +0 -1
  173. package/dist/resolvers/TweetResolver.js.map +0 -1
  174. package/dist/resolvers/UserResolver.js.map +0 -1
  175. package/dist/test/Test.js +0 -2
  176. package/dist/test/Test.js.map +0 -1
  177. package/dist/types/graphql/Errors.js.map +0 -1
  178. package/dist/types/raw/user/Users.d.ts +0 -120
  179. package/dist/types/raw/user/Users.js.map +0 -1
  180. package/src/services/data/UserAccountService.ts +0 -176
  181. package/src/services/helper/Extractors.ts +0 -455
  182. package/src/services/helper/Urls.ts +0 -109
  183. package/src/types/graphql/Errors.ts +0 -16
  184. package/src/types/raw/user/Tweets.ts +0 -2847
@@ -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/accounts/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,8 @@
1
1
  import { FetcherService } from "../FetcherService";
2
2
  import { AuthService } from "../AuthService";
3
- import { TweetFilter, Tweet } from "../../types/Tweet";
4
- import { User } from "../../types/UserAccount";
5
- import { CursoredData } from '../../types/Service';
3
+ import { TweetFilter, Tweet } from "../../types/data/Tweet";
4
+ import { User } from "../../types/data/User";
5
+ import { CursoredData } from '../../types/data/Service';
6
6
  /**
7
7
  * A service that deals with fetching of data related to tweets
8
8
  */
@@ -11,7 +11,7 @@ export declare class TweetService extends FetcherService {
11
11
  /**
12
12
  * @returns The list of tweets that match the given filter
13
13
  * @param filter The filter be used for searching the tweets
14
- * @param count The number of tweets to fetch
14
+ * @param count The number of tweets to fetch, must be >= 1 and <= 100
15
15
  * @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched
16
16
  */
17
17
  getTweets(filter: TweetFilter, count: number, cursor: string): Promise<CursoredData<Tweet>>;
@@ -23,14 +23,14 @@ export declare class TweetService extends FetcherService {
23
23
  /**
24
24
  * @returns The list of users who liked the given tweet
25
25
  * @param tweetId The rest id of the target tweet
26
- * @param count The batch size of the list
26
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100
27
27
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched
28
28
  */
29
29
  getTweetLikers(tweetId: string, count: number, cursor: string): Promise<CursoredData<User>>;
30
30
  /**
31
31
  * @returns The list of users who retweeted the given tweet
32
32
  * @param tweetId The rest id of the target tweet
33
- * @param count The batch size of the list
33
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100
34
34
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched
35
35
  */
36
36
  getTweetRetweeters(tweetId: string, count: number, cursor: string): Promise<CursoredData<User>>;
@@ -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 Urls = __importStar(require("../helper/Urls"));
82
+ var TweetUrls = __importStar(require("../helper/urls/Tweets"));
82
83
  // EXTRACTORS
83
- var Extractors = __importStar(require("../helper/Extractors"));
84
+ var TweetExtractors = __importStar(require("../helper/extractors/Tweets"));
84
85
  // DESERIALIZERS
85
- var Deserializers = __importStar(require("../helper/Deserializers"));
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: return [4 /*yield*/, this.request(Urls.tweetsUrl((0, Parser_1.toQueryString)(filter), count, cursor), false).then(function (res) { return res.data; })];
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 = Extractors.extractTweets(res);
118
+ data = TweetExtractors.extractTweets(res);
112
119
  // Caching data
113
120
  this.cacheData(data);
114
- tweets = data.required.map(function (item) { return Deserializers.toTweet(item); });
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
- if (!cachedData) return [3 /*break*/, 2];
136
- return [2 /*return*/, cachedData];
137
- case 2: return [4 /*yield*/, this.request(Urls.tweetDetailsUrl(tweetId), false).then(function (res) { return res.data; })];
138
- case 3:
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 = Extractors.extractTweet(res, tweetId);
149
+ data = TweetExtractors.extractTweet(res, tweetId);
141
150
  // Caching data
142
151
  this.cacheData(data);
143
- tweet = Deserializers.toTweet(data.required[0]);
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
- return [2 /*return*/, { error: new Error('Cannot fetch tweet likes without authentication!') }];
172
+ throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
164
173
  }
165
- return [4 /*yield*/, this.request(Urls.tweetLikesUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
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 = Extractors.extractTweetLikers(res);
181
+ data = TweetExtractors.extractTweetLikers(res);
169
182
  // Caching data
170
183
  this.cacheData(data);
171
- users = data.required.map(function (item) { return Deserializers.toUser(item); });
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
- return [2 /*return*/, { error: new Error('Cannot fetch tweet retweeters without authentication!') }];
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(Urls.tweetRetweetUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
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 = Extractors.extractTweetRetweeters(res);
216
+ data = TweetExtractors.extractTweetRetweeters(res);
200
217
  // Caching data
201
218
  this.cacheData(data);
202
- users = data.required.map(function (item) { return Deserializers.toUser(item); });
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
- return [2 /*return*/, { error: new Error('Cannot fetch tweet replies without authentication!') }];
241
+ throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
225
242
  }
226
- return [4 /*yield*/, this.request(Urls.tweetRepliesUrl(tweetId, cursor)).then(function (res) { return res.data; })];
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 = Extractors.extractTweetReplies(res, tweetId);
246
+ data = TweetExtractors.extractTweetReplies(res, tweetId);
230
247
  // Caching data
231
248
  this.cacheData(data);
232
- tweets = data.required.map(function (item) { return Deserializers.toTweet(item); });
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":"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"}
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 batch size of the list
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 batch size of the list
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 batch size of the list
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
- 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:
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 batch size of the list
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 batch size of the list
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
- return [4 /*yield*/, this.request(Urls.userFollowersUrl(userId, (count > 20) ? (count - 20) : count, cursor)).then(function (res) { return res.data; })];
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 batch size of the list
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":"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"}
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
+ }