rettiwt-api 1.0.6 → 1.0.8

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 (177) hide show
  1. package/dist/{queries → graphql/queries}/RootQuery.d.ts +0 -0
  2. package/dist/{queries → graphql/queries}/RootQuery.js +4 -3
  3. package/dist/graphql/queries/RootQuery.js.map +1 -0
  4. package/dist/{resolvers → graphql/resolvers}/AccountResolver.d.ts +1 -1
  5. package/dist/{resolvers → graphql/resolvers}/AccountResolver.js +0 -0
  6. package/dist/graphql/resolvers/AccountResolver.js.map +1 -0
  7. package/dist/{resolvers → graphql/resolvers}/ResolverBase.d.ts +1 -1
  8. package/dist/{resolvers → graphql/resolvers}/ResolverBase.js +0 -0
  9. package/dist/graphql/resolvers/ResolverBase.js.map +1 -0
  10. package/dist/{resolvers → graphql/resolvers}/TweetResolver.d.ts +10 -18
  11. package/dist/{resolvers → graphql/resolvers}/TweetResolver.js +51 -83
  12. package/dist/graphql/resolvers/TweetResolver.js.map +1 -0
  13. package/dist/{resolvers → graphql/resolvers}/UserResolver.d.ts +5 -4
  14. package/dist/{resolvers → graphql/resolvers}/UserResolver.js +51 -35
  15. package/dist/graphql/resolvers/UserResolver.js.map +1 -0
  16. package/dist/{models/graphql → graphql/types}/Global.d.ts +0 -0
  17. package/dist/{models/graphql → graphql/types}/Global.js +0 -0
  18. package/dist/graphql/types/Global.js.map +1 -0
  19. package/dist/graphql/types/TweetTypes.d.ts +4 -0
  20. package/dist/{models/graphql → graphql/types}/TweetTypes.js +17 -13
  21. package/dist/graphql/types/TweetTypes.js.map +1 -0
  22. package/dist/graphql/types/UserTypes.d.ts +3 -0
  23. package/dist/{models/graphql → graphql/types}/UserTypes.js +9 -11
  24. package/dist/graphql/types/UserTypes.js.map +1 -0
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.js +2 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/server.js +3 -3
  29. package/dist/server.js.map +1 -1
  30. package/dist/services/AuthService.js +2 -2
  31. package/dist/services/AuthService.js.map +1 -1
  32. package/dist/services/CacheService.d.ts +3 -3
  33. package/dist/services/CacheService.js +22 -75
  34. package/dist/services/CacheService.js.map +1 -1
  35. package/dist/services/FetcherService.d.ts +3 -2
  36. package/dist/services/FetcherService.js +11 -29
  37. package/dist/services/FetcherService.js.map +1 -1
  38. package/dist/services/data/TweetService.d.ts +15 -16
  39. package/dist/services/data/TweetService.js +71 -50
  40. package/dist/services/data/TweetService.js.map +1 -1
  41. package/dist/services/data/UserAccountService.d.ts +3 -3
  42. package/dist/services/data/UserAccountService.js +22 -8
  43. package/dist/services/data/UserAccountService.js.map +1 -1
  44. package/dist/services/data/UserService.d.ts +42 -0
  45. package/dist/services/data/UserService.js +255 -0
  46. package/dist/services/data/UserService.js.map +1 -0
  47. package/dist/services/helper/Extractors.js +1 -1
  48. package/dist/services/helper/Extractors.js.map +1 -1
  49. package/dist/services/helper/Parser.d.ts +1 -1
  50. package/dist/services/helper/Parser.js +4 -3
  51. package/dist/services/helper/Parser.js.map +1 -1
  52. package/dist/services/helper/Urls.d.ts +2 -2
  53. package/dist/services/helper/Urls.js +19 -3
  54. package/dist/services/helper/Urls.js.map +1 -1
  55. package/dist/services/helper/deserializers/Tweets.d.ts +12 -0
  56. package/dist/services/helper/deserializers/Tweets.js +92 -0
  57. package/dist/services/helper/deserializers/Tweets.js.map +1 -0
  58. package/dist/services/{accounting/Flows.d.ts → helper/deserializers/User.d.ts} +0 -0
  59. package/dist/services/helper/deserializers/User.js +2 -0
  60. package/dist/services/helper/deserializers/User.js.map +1 -0
  61. package/dist/services/helper/deserializers/Users.d.ts +7 -0
  62. package/dist/services/helper/deserializers/Users.js +27 -0
  63. package/dist/services/helper/deserializers/Users.js.map +1 -0
  64. package/dist/services/helper/extractors/TweetExtractors.d.ts +0 -0
  65. package/dist/services/helper/extractors/TweetExtractors.js +2 -0
  66. package/dist/services/helper/extractors/TweetExtractors.js.map +1 -0
  67. package/dist/services/helper/extractors/Tweets.d.ts +34 -0
  68. package/dist/services/helper/extractors/Tweets.js +266 -0
  69. package/dist/services/helper/extractors/Tweets.js.map +1 -0
  70. package/dist/services/helper/extractors/UserExtractors.d.ts +45 -0
  71. package/dist/services/helper/extractors/UserExtractors.js +176 -0
  72. package/dist/services/helper/extractors/UserExtractors.js.map +1 -0
  73. package/dist/services/helper/extractors/Users.d.ts +23 -0
  74. package/dist/services/helper/extractors/Users.js +154 -0
  75. package/dist/services/helper/extractors/Users.js.map +1 -0
  76. package/dist/services/helper/urls/Authentication.d.ts +4 -0
  77. package/dist/services/helper/urls/Authentication.js +11 -0
  78. package/dist/services/helper/urls/Authentication.js.map +1 -0
  79. package/dist/services/helper/urls/Tweets.d.ts +32 -0
  80. package/dist/services/helper/urls/Tweets.js +51 -0
  81. package/dist/services/helper/urls/Tweets.js.map +1 -0
  82. package/dist/services/helper/urls/Urls.d.ts +4 -0
  83. package/dist/services/helper/urls/Urls.js +11 -0
  84. package/dist/services/helper/urls/Urls.js.map +1 -0
  85. package/dist/services/helper/urls/Users.d.ts +31 -0
  86. package/dist/services/helper/urls/Users.js +66 -0
  87. package/dist/services/helper/urls/Users.js.map +1 -0
  88. package/dist/types/{graphql/Errors.d.ts → Errors.d.ts} +0 -0
  89. package/dist/types/{graphql/Errors.js → Errors.js} +0 -0
  90. package/dist/types/Errors.js.map +1 -0
  91. package/dist/types/Resolvers.d.ts +9 -0
  92. package/dist/types/Resolvers.js +3 -0
  93. package/dist/types/Resolvers.js.map +1 -0
  94. package/dist/types/Tweet.d.ts +1 -0
  95. package/dist/types/Tweet.js.map +1 -1
  96. package/dist/types/User.d.ts +19 -0
  97. package/dist/types/User.js +4 -0
  98. package/dist/types/User.js.map +1 -0
  99. package/dist/types/data/Errors.d.ts +27 -0
  100. package/dist/types/data/Errors.js +35 -0
  101. package/dist/types/data/Errors.js.map +1 -0
  102. package/dist/types/data/Service.d.ts +29 -0
  103. package/dist/types/data/Service.js +19 -0
  104. package/dist/types/data/Service.js.map +1 -0
  105. package/dist/types/data/Tweet.d.ts +41 -0
  106. package/dist/types/data/Tweet.js +5 -0
  107. package/dist/types/data/Tweet.js.map +1 -0
  108. package/dist/types/data/User.d.ts +19 -0
  109. package/dist/types/data/User.js +4 -0
  110. package/dist/types/data/User.js.map +1 -0
  111. package/dist/types/raw/http/Error.d.ts +34 -0
  112. package/dist/types/raw/{user/Users.js → http/Error.js} +1 -1
  113. package/dist/types/raw/http/Error.js.map +1 -0
  114. package/dist/types/raw/http/Response.d.ts +34 -0
  115. package/dist/types/raw/http/Response.js +3 -0
  116. package/dist/types/raw/http/Response.js.map +1 -0
  117. package/package.json +1 -1
  118. package/src/{queries → graphql/queries}/RootQuery.ts +5 -4
  119. package/src/{resolvers → graphql/resolvers}/AccountResolver.ts +21 -21
  120. package/src/{resolvers → graphql/resolvers}/ResolverBase.ts +1 -1
  121. package/src/{resolvers → graphql/resolvers}/TweetResolver.ts +48 -30
  122. package/src/{resolvers → graphql/resolvers}/UserResolver.ts +41 -27
  123. package/src/{models/graphql → graphql/types}/Global.ts +0 -0
  124. package/src/{models/graphql → graphql/types}/TweetTypes.ts +16 -12
  125. package/src/{models/graphql → graphql/types}/UserTypes.ts +13 -15
  126. package/src/index.ts +2 -2
  127. package/src/server.ts +3 -3
  128. package/src/services/AuthService.ts +1 -1
  129. package/src/services/CacheService.ts +6 -8
  130. package/src/services/FetcherService.ts +11 -14
  131. package/src/services/data/TweetService.ts +58 -37
  132. package/src/services/data/UserService.ts +187 -0
  133. package/src/services/helper/Parser.ts +6 -4
  134. package/src/services/helper/{Deserializers.ts → deserializers/Tweets.ts} +3 -28
  135. package/src/services/helper/deserializers/Users.ts +26 -0
  136. package/src/services/helper/extractors/Tweets.ts +252 -0
  137. package/src/services/helper/extractors/Users.ts +137 -0
  138. package/src/services/helper/urls/Authentication.ts +6 -0
  139. package/src/services/helper/urls/Tweets.ts +46 -0
  140. package/src/services/helper/urls/Users.ts +62 -0
  141. package/src/types/Resolvers.ts +9 -0
  142. package/src/types/data/Errors.ts +28 -0
  143. package/src/types/{Service.ts → data/Service.ts} +4 -5
  144. package/src/types/{Tweet.ts → data/Tweet.ts} +1 -0
  145. package/src/types/{UserAccount.ts → data/User.ts} +0 -0
  146. package/tsconfig.json +2 -2
  147. package/dist/models/graphql/Global.js.map +0 -1
  148. package/dist/models/graphql/TweetTypes.d.ts +0 -6
  149. package/dist/models/graphql/TweetTypes.js.map +0 -1
  150. package/dist/models/graphql/UserTypes.d.ts +0 -3
  151. package/dist/models/graphql/UserTypes.js.map +0 -1
  152. package/dist/queries/RootQuery.js.map +0 -1
  153. package/dist/resolvers/AccountResolver.js.map +0 -1
  154. package/dist/resolvers/ResolverBase.js.map +0 -1
  155. package/dist/resolvers/TweetResolver.js.map +0 -1
  156. package/dist/resolvers/UserResolver.js.map +0 -1
  157. package/dist/services/AccountsService.d.ts +0 -17
  158. package/dist/services/AccountsService.js +0 -171
  159. package/dist/services/AccountsService.js.map +0 -1
  160. package/dist/services/accounting/AccountsService.d.ts +0 -20
  161. package/dist/services/accounting/AccountsService.js +0 -147
  162. package/dist/services/accounting/AccountsService.js.map +0 -1
  163. package/dist/services/accounting/Flows.js +0 -2
  164. package/dist/services/accounting/Flows.js.map +0 -1
  165. package/dist/services/accounting/LoginFlows.d.ts +0 -20
  166. package/dist/services/accounting/LoginFlows.js +0 -70
  167. package/dist/services/accounting/LoginFlows.js.map +0 -1
  168. package/dist/test/Test.js +0 -2
  169. package/dist/test/Test.js.map +0 -1
  170. package/dist/types/graphql/Errors.js.map +0 -1
  171. package/dist/types/raw/user/Users.d.ts +0 -120
  172. package/dist/types/raw/user/Users.js.map +0 -1
  173. package/src/services/data/UserAccountService.ts +0 -176
  174. package/src/services/helper/Extractors.ts +0 -455
  175. package/src/services/helper/Urls.ts +0 -109
  176. package/src/types/graphql/Errors.ts +0 -16
  177. package/src/types/raw/user/Tweets.ts +0 -2847
@@ -22,42 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (_) try {
41
- 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;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
62
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
63
27
  };
@@ -82,20 +46,12 @@ var CacheService = /** @class */ (function () {
82
46
  * @returns The current working instance of CacheService
83
47
  */
84
48
  CacheService.getInstance = function () {
85
- return __awaiter(this, void 0, void 0, function () {
86
- return __generator(this, function (_a) {
87
- // If an instance doesnt exists already
88
- if (!this.instance) {
89
- this.instance = new CacheService();
90
- return [2 /*return*/, this.instance];
91
- }
92
- // If an instance already exists, returning it
93
- else {
94
- return [2 /*return*/, this.instance];
95
- }
96
- return [2 /*return*/];
97
- });
98
- });
49
+ // If an instance doesnt exists already
50
+ if (!this.instance) {
51
+ this.instance = new CacheService();
52
+ }
53
+ // Returning the current instance
54
+ return this.instance;
99
55
  };
100
56
  /**
101
57
  * @summary Stores the input data into the cache.
@@ -103,37 +59,28 @@ var CacheService = /** @class */ (function () {
103
59
  * @param data The input data to store
104
60
  */
105
61
  CacheService.prototype.write = function (data) {
106
- return __awaiter(this, void 0, void 0, function () {
107
- var _i, data_1, item, cached;
108
- return __generator(this, function (_a) {
109
- // Converting the data to a list of data
110
- data = Parsers.dataToList(data);
111
- // Iterating over the list of data
112
- for (_i = 0, data_1 = data; _i < data_1.length; _i++) {
113
- item = data_1[_i];
114
- cached = this.client.has(Parsers.findJSONKey(item, 'id'));
115
- // If data does not already exist in cache
116
- if (!cached) {
117
- // Adding data to cache
118
- this.client.set(Parsers.findJSONKey(item, 'id'), item);
119
- }
120
- }
121
- return [2 /*return*/];
122
- });
123
- });
62
+ // Converting the data to a list of data
63
+ data = Parsers.dataToList(data);
64
+ // Iterating over the list of data
65
+ for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
66
+ var item = data_1[_i];
67
+ // Storing whether data is already cached or not
68
+ var cached = this.client.has(Parsers.findJSONKey(item, 'id'));
69
+ // If data does not already exist in cache
70
+ if (!cached) {
71
+ // Adding data to cache
72
+ this.client.set(Parsers.findJSONKey(item, 'id'), item);
73
+ }
74
+ }
124
75
  };
125
76
  /**
126
77
  * @returns The data with the given id/rest id from cache
127
78
  * @param id The id/rest id of the data to be fetched from cache
128
79
  */
129
80
  CacheService.prototype.read = function (id) {
130
- return __awaiter(this, void 0, void 0, function () {
131
- var res;
132
- return __generator(this, function (_a) {
133
- res = this.client.get(id);
134
- return [2 /*return*/, res];
135
- });
136
- });
81
+ // Getting data from cache
82
+ var res = this.client.get(id);
83
+ return res;
137
84
  };
138
85
  return CacheService;
139
86
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../../src/services/CacheService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,0DAAmC;AAEnC,UAAU;AACV,uDAA2C;AAE3C;;;;GAIG;AACH;IAKI,iBAAiB;IACjB;QACI,yBAAyB;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAS,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACU,wBAAW,GAAxB;;;gBACI,uCAAuC;gBACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;oBACnC,sBAAO,IAAI,CAAC,QAAQ,EAAC;iBACxB;gBACD,8CAA8C;qBACzC;oBACD,sBAAO,IAAI,CAAC,QAAQ,EAAC;iBACxB;;;;KACJ;IAED;;;;OAIG;IACG,4BAAK,GAAX,UAAY,IAAS;;;;gBACjB,wCAAwC;gBACxC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAEhC,kCAAkC;gBAClC,WAAqB,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;oBAAd,IAAI;oBAEL,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBAE9D,0CAA0C;oBAC1C,IAAG,CAAC,MAAM,EAAE;wBACR,uBAAuB;wBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;qBAC1D;iBACJ;;;;KACJ;IAED;;;OAGG;IACG,2BAAI,GAAV,UAAW,EAAU;;;;gBAEb,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAE9B,sBAAO,GAAG,EAAC;;;KACd;IACL,mBAAC;AAAD,CAAC,AA1DD,IA0DC;AA1DY,oCAAY"}
1
+ {"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../../src/services/CacheService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,0DAAmC;AAEnC,UAAU;AACV,uDAA2C;AAE3C;;;;GAIG;AACH;IAKI,iBAAiB;IACjB;QACI,yBAAyB;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAS,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,wBAAW,GAAlB;QACI,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;SACtC;QAED,iCAAiC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACI,4BAAK,GAAZ,UAAa,IAAS;QAClB,wCAAwC;QACxC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEhC,kCAAkC;QAClC,KAAiB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;YAAlB,IAAI,IAAI,aAAA;YACT,gDAAgD;YAChD,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAE9D,0CAA0C;YAC1C,IAAG,CAAC,MAAM,EAAE;gBACR,uBAAuB;gBACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;aAC1D;SACJ;IACL,CAAC;IAED;;;OAGG;IACI,2BAAI,GAAX,UAAY,EAAU;QAClB,0BAA0B;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE9B,OAAO,GAAG,CAAC;IACf,CAAC;IACL,mBAAC;AAAD,CAAC,AAxDD,IAwDC;AAxDY,oCAAY"}
@@ -12,6 +12,7 @@ export declare enum HttpMethods {
12
12
  */
13
13
  export declare class FetcherService {
14
14
  private auth;
15
+ private cache;
15
16
  protected isAuthenticated: boolean;
16
17
  constructor(auth: AuthService);
17
18
  /**
@@ -31,10 +32,10 @@ export declare class FetcherService {
31
32
  * @summary Caches the extracted data
32
33
  * @param data The extracted data to be cached
33
34
  */
34
- protected cacheData(data: any): Promise<void>;
35
+ protected cacheData(data: any): void;
35
36
  /**
36
37
  * @returns The data with the given id (if it exists in cache)
37
38
  * @param id The id of the data to be read from cache
38
39
  */
39
- protected readData(id: string): Promise<any>;
40
+ protected readData(id: string): any;
40
41
  }
@@ -78,7 +78,8 @@ var CacheService_1 = require("./CacheService");
78
78
  var HTTP_1 = require("../types/HTTP");
79
79
  // HELPERS
80
80
  var Headers = __importStar(require("./helper/Headers"));
81
- var Deserializers = __importStar(require("./helper/Deserializers"));
81
+ var UserDeserializers = __importStar(require("./helper/deserializers/Users"));
82
+ var TweetDeserializers = __importStar(require("./helper/deserializers/Tweets"));
82
83
  /**
83
84
  * @summary Stores all the different type of http requests
84
85
  */
@@ -95,6 +96,7 @@ var FetcherService = /** @class */ (function () {
95
96
  // MEMBER METHODS
96
97
  function FetcherService(auth) {
97
98
  this.auth = auth;
99
+ this.cache = CacheService_1.CacheService.getInstance();
98
100
  this.isAuthenticated = this.auth.isAuthenticated;
99
101
  }
100
102
  /**
@@ -155,40 +157,20 @@ var FetcherService = /** @class */ (function () {
155
157
  * @param data The extracted data to be cached
156
158
  */
157
159
  FetcherService.prototype.cacheData = function (data) {
158
- return __awaiter(this, void 0, void 0, function () {
159
- var cache, users, tweets;
160
- return __generator(this, function (_a) {
161
- switch (_a.label) {
162
- case 0: return [4 /*yield*/, CacheService_1.CacheService.getInstance()];
163
- case 1:
164
- cache = _a.sent();
165
- users = data.users.map(function (user) { return Deserializers.toUser(user); });
166
- tweets = data.tweets.map(function (tweet) { return Deserializers.toTweet(tweet); });
167
- // Caching the data
168
- cache.write(users);
169
- cache.write(tweets);
170
- return [2 /*return*/];
171
- }
172
- });
173
- });
160
+ // Parsing the extracted data
161
+ var users = data.users.map(function (user) { return UserDeserializers.toUser(user); });
162
+ var tweets = data.tweets.map(function (tweet) { return TweetDeserializers.toTweet(tweet); });
163
+ // Caching the data
164
+ this.cache.write(users);
165
+ this.cache.write(tweets);
174
166
  };
175
167
  /**
176
168
  * @returns The data with the given id (if it exists in cache)
177
169
  * @param id The id of the data to be read from cache
178
170
  */
179
171
  FetcherService.prototype.readData = function (id) {
180
- return __awaiter(this, void 0, void 0, function () {
181
- var cache;
182
- return __generator(this, function (_a) {
183
- switch (_a.label) {
184
- case 0: return [4 /*yield*/, CacheService_1.CacheService.getInstance()];
185
- case 1:
186
- cache = _a.sent();
187
- // Reading data from cache
188
- return [2 /*return*/, cache.read(id)];
189
- }
190
- });
191
- });
172
+ // Reading data from cache
173
+ return this.cache.read(id);
192
174
  };
193
175
  return FetcherService;
194
176
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"FetcherService.js","sourceRoot":"","sources":["../../src/services/FetcherService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FetcherService.js","sourceRoot":"","sources":["../../src/services/FetcherService.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,42 @@
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
  */
9
9
  export declare class TweetService extends FetcherService {
10
10
  constructor(auth: AuthService);
11
11
  /**
12
- * @returns The list of tweets that match the given filter
13
12
  * @param filter The filter be used for searching the tweets
14
- * @param count The number of tweets to fetch
13
+ * @param count The number of tweets to fetch, must be >= 1 and <= 100
15
14
  * @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched
15
+ * @returns The list of tweets that match the given filter
16
16
  */
17
17
  getTweets(filter: TweetFilter, count: number, cursor: string): Promise<CursoredData<Tweet>>;
18
18
  /**
19
- * @returns The details of a single tweet with the given tweet id
20
19
  * @param tweetId The rest id of the target tweet
20
+ * @returns The details of a single tweet with the given tweet id
21
21
  */
22
22
  getTweetById(tweetId: string): Promise<Tweet>;
23
23
  /**
24
- * @returns The list of users who liked the given tweet
24
+ * @param tweetIds The list of tweet ids whose details are to be fetched
25
+ * @returns The list of details of the tweets with the give ids
26
+ */
27
+ getTweetsById(tweetIds: string[]): Promise<Tweet[]>;
28
+ /**
25
29
  * @param tweetId The rest id of the target tweet
26
- * @param count The batch size of the list
30
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100
27
31
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched
32
+ * @returns The list of users who liked the given tweet
28
33
  */
29
34
  getTweetLikers(tweetId: string, count: number, cursor: string): Promise<CursoredData<User>>;
30
35
  /**
31
- * @returns The list of users who retweeted the given tweet
32
36
  * @param tweetId The rest id of the target tweet
33
- * @param count The batch size of the list
37
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100
34
38
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched
39
+ * @returns The list of users who retweeted the given tweet
35
40
  */
36
41
  getTweetRetweeters(tweetId: string, count: number, cursor: string): Promise<CursoredData<User>>;
37
- /**
38
- * @returns The list of replies to the given tweet
39
- * @param tweetId The rest id of the target tweet
40
- * @param cursor The cursor to the next batch of replies. If blank, first batch is fetched
41
- */
42
- getTweetReplies(tweetId: string, cursor: string): Promise<CursoredData<Tweet>>;
43
42
  }
@@ -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
  /**
@@ -95,23 +97,28 @@ var TweetService = /** @class */ (function (_super) {
95
97
  return _super.call(this, auth) || this;
96
98
  }
97
99
  /**
98
- * @returns The list of tweets that match the given filter
99
100
  * @param filter The filter be used for searching the tweets
100
- * @param count The number of tweets to fetch
101
+ * @param count The number of tweets to fetch, must be >= 1 and <= 100
101
102
  * @param cursor The cursor to the next batch of tweets. If blank, first batch is fetched
103
+ * @returns The list of tweets that match the given filter
102
104
  */
103
105
  TweetService.prototype.getTweets = function (filter, count, cursor) {
104
106
  return __awaiter(this, void 0, void 0, function () {
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 }
@@ -121,8 +128,8 @@ var TweetService = /** @class */ (function (_super) {
121
128
  });
122
129
  };
123
130
  /**
124
- * @returns The details of a single tweet with the given tweet id
125
131
  * @param tweetId The rest id of the target tweet
132
+ * @returns The details of a single tweet with the given tweet id
126
133
  */
127
134
  TweetService.prototype.getTweetById = function (tweetId) {
128
135
  return __awaiter(this, void 0, void 0, function () {
@@ -132,58 +139,63 @@ 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
  });
147
156
  });
148
157
  };
149
158
  /**
150
- * @returns The list of users who liked the given tweet
151
- * @param tweetId The rest id of the target tweet
152
- * @param count The batch size of the list
153
- * @param cursor The cursor to the next batch of users. If blank, first batch is fetched
159
+ * @param tweetIds The list of tweet ids whose details are to be fetched
160
+ * @returns The list of details of the tweets with the give ids
154
161
  */
155
- TweetService.prototype.getTweetLikers = function (tweetId, count, cursor) {
162
+ TweetService.prototype.getTweetsById = function (tweetIds) {
156
163
  return __awaiter(this, void 0, void 0, function () {
157
- var res, data, users;
164
+ var tweets, _i, tweetIds_1, tweetId, tweet;
158
165
  return __generator(this, function (_a) {
159
166
  switch (_a.label) {
160
167
  case 0:
161
- // If user is not authenticated, abort
162
- if (!this.isAuthenticated) {
163
- return [2 /*return*/, { error: new Error('Cannot fetch tweet likes without authentication!') }];
168
+ tweets = [];
169
+ // If no id is provided
170
+ if (!tweetIds.length) {
171
+ throw new Error(Errors.ValidationErrors.InvalidTweetIdCount);
164
172
  }
165
- return [4 /*yield*/, this.request(Urls.tweetLikesUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
173
+ _i = 0, tweetIds_1 = tweetIds;
174
+ _a.label = 1;
166
175
  case 1:
167
- res = _a.sent();
168
- data = Extractors.extractTweetLikers(res);
169
- // Caching data
170
- this.cacheData(data);
171
- users = data.required.map(function (item) { return Deserializers.toUser(item); });
172
- return [2 /*return*/, {
173
- list: users,
174
- next: { value: data.cursor }
175
- }];
176
+ if (!(_i < tweetIds_1.length)) return [3 /*break*/, 4];
177
+ tweetId = tweetIds_1[_i];
178
+ return [4 /*yield*/, this.getTweetById(tweetId)];
179
+ case 2:
180
+ tweet = _a.sent();
181
+ // Adding the details to the list of tweets
182
+ tweets = tweets.concat(tweet);
183
+ _a.label = 3;
184
+ case 3:
185
+ _i++;
186
+ return [3 /*break*/, 1];
187
+ case 4: return [2 /*return*/, tweets];
176
188
  }
177
189
  });
178
190
  });
179
191
  };
180
192
  /**
181
- * @returns The list of users who retweeted the given tweet
182
193
  * @param tweetId The rest id of the target tweet
183
- * @param count The batch size of the list
194
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100
184
195
  * @param cursor The cursor to the next batch of users. If blank, first batch is fetched
196
+ * @returns The list of users who liked the given tweet
185
197
  */
186
- TweetService.prototype.getTweetRetweeters = function (tweetId, count, cursor) {
198
+ TweetService.prototype.getTweetLikers = function (tweetId, count, cursor) {
187
199
  return __awaiter(this, void 0, void 0, function () {
188
200
  var res, data, users;
189
201
  return __generator(this, function (_a) {
@@ -191,15 +203,19 @@ var TweetService = /** @class */ (function (_super) {
191
203
  case 0:
192
204
  // If user is not authenticated, abort
193
205
  if (!this.isAuthenticated) {
194
- return [2 /*return*/, { error: new Error('Cannot fetch tweet retweeters without authentication!') }];
206
+ throw new Error(Errors.AuthenticationErrors.NotAuthenticated);
195
207
  }
196
- return [4 /*yield*/, this.request(Urls.tweetRetweetUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
208
+ // If invalid count provided
209
+ if (count < 10 && !cursor) {
210
+ throw new Error(Errors.ValidationErrors.InvalidCount);
211
+ }
212
+ return [4 /*yield*/, this.request(TweetUrls.tweetLikesUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
197
213
  case 1:
198
214
  res = _a.sent();
199
- data = Extractors.extractTweetRetweeters(res);
215
+ data = TweetExtractors.extractTweetLikers(res, tweetId);
200
216
  // Caching data
201
217
  this.cacheData(data);
202
- users = data.required.map(function (item) { return Deserializers.toUser(item); });
218
+ users = data.required.map(function (item) { return UserDeserializers.toUser(item); });
203
219
  return [2 /*return*/, {
204
220
  list: users,
205
221
  next: { value: data.cursor }
@@ -209,29 +225,34 @@ var TweetService = /** @class */ (function (_super) {
209
225
  });
210
226
  };
211
227
  /**
212
- * @returns The list of replies to the given tweet
213
228
  * @param tweetId The rest id of the target tweet
214
- * @param cursor The cursor to the next batch of replies. If blank, first batch is fetched
229
+ * @param count The batch size of the list, must be >= 10 (when no cursor is provided) and <= 100
230
+ * @param cursor The cursor to the next batch of users. If blank, first batch is fetched
231
+ * @returns The list of users who retweeted the given tweet
215
232
  */
216
- TweetService.prototype.getTweetReplies = function (tweetId, cursor) {
233
+ TweetService.prototype.getTweetRetweeters = function (tweetId, count, cursor) {
217
234
  return __awaiter(this, void 0, void 0, function () {
218
- var res, data, tweets;
235
+ var res, data, users;
219
236
  return __generator(this, function (_a) {
220
237
  switch (_a.label) {
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);
242
+ }
243
+ // If invalid count provided
244
+ if (count < 10 && !cursor) {
245
+ throw new Error(Errors.ValidationErrors.InvalidCount);
225
246
  }
226
- return [4 /*yield*/, this.request(Urls.tweetRepliesUrl(tweetId, cursor)).then(function (res) { return res.data; })];
247
+ return [4 /*yield*/, this.request(TweetUrls.tweetRetweetUrl(tweetId, count, cursor)).then(function (res) { return res.data; })];
227
248
  case 1:
228
249
  res = _a.sent();
229
- data = Extractors.extractTweetReplies(res, tweetId);
250
+ data = TweetExtractors.extractTweetRetweeters(res, tweetId);
230
251
  // Caching data
231
252
  this.cacheData(data);
232
- tweets = data.required.map(function (item) { return Deserializers.toTweet(item); });
253
+ users = data.required.map(function (item) { return UserDeserializers.toUser(item); });
233
254
  return [2 /*return*/, {
234
- list: tweets,
255
+ list: users,
235
256
  next: { value: data.cursor }
236
257
  }];
237
258
  }
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,oDAAmD;AAYnD,8DAAkD;AAElD,OAAO;AACP,+DAAmD;AAEnD,aAAa;AACb,2EAA+D;AAE/D,gBAAgB;AAChB,+EAAmE;AACnE,iFAAqE;AAErE,UAAU;AACV,2CAAiD;AAEjD;;GAEG;AACH;IAAkC,gCAAc;IAC5C,iBAAiB;IACjB,sBAAY,IAAiB;eACzB,kBAAM,IAAI,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACG,gCAAS,GAAf,UAAgB,MAAmB,EAAE,KAAa,EAAE,MAAc;;;;;;wBAC9D,4BAA4B;wBAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;4BACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;yBACzD;wBAGS,qBAAM,IAAI,CAAC,OAAO,CAAY,SAAS,CAAC,SAAS,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,EAAA;;wBAA3H,GAAG,GAAG,SAAqH;wBAG3H,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAE9C,eAAe;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAGjB,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAe,IAAK,OAAA,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAhC,CAAgC,CAAC,CAAC;wBAEtF,sBAAO;gCACH,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;6BAC/B,EAAC;;;;KACL;IAED;;;OAGG;IACG,mCAAY,GAAlB,UAAmB,OAAe;;;;;4BAEb,qBAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;wBAAzC,UAAU,GAAG,SAA4B;wBAE7C,0BAA0B;wBAC1B,IAAI,UAAU,EAAE;4BACZ,sBAAO,UAAU,EAAC;yBACrB;wBAGS,qBAAM,IAAI,CAAC,OAAO,CAAW,SAAS,CAAC,eAAe,CAAC,OAAO,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,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAEtD,eAAe;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAGjB,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAEzD,sBAAO,KAAK,EAAC;;;;KAChB;IAED;;;OAGG;IACG,oCAAa,GAAnB,UAAoB,QAAkB;;;;;;wBAC9B,MAAM,GAAY,EAAE,CAAC;wBAEzB,uBAAuB;wBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;4BAClB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;yBAChE;8BAG2B,EAAR,qBAAQ;;;6BAAR,CAAA,sBAAQ,CAAA;wBAAnB,OAAO;wBAEO,qBAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAA;;wBAA/C,KAAK,GAAU,SAAgC;wBAEnD,2CAA2C;wBAC3C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;;wBALd,IAAQ,CAAA;;4BAQ5B,sBAAO,MAAM,EAAC;;;;KACjB;IAED;;;;;OAKG;IACG,qCAAc,GAApB,UAAqB,OAAe,EAAE,KAAa,EAAE,MAAc;;;;;;wBAC/D,sCAAsC;wBACtC,IAAG,CAAC,IAAI,CAAC,eAAe,EAAE;4BACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;yBACjE;wBAED,4BAA4B;wBAC5B,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;4BACvB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;yBACzD;wBAGS,qBAAM,IAAI,CAAC,OAAO,CAAY,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,EAAA;;wBAA1G,GAAG,GAAG,SAAoG;wBAG1G,IAAI,GAAG,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAE5D,eAAe;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAGjB,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAc,IAAK,OAAA,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;wBAElF,sBAAO;gCACH,IAAI,EAAE,KAAK;gCACX,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;6BAC/B,EAAC;;;;KACL;IAED;;;;;OAKG;IACG,yCAAkB,GAAxB,UAAyB,OAAe,EAAE,KAAa,EAAE,MAAc;;;;;;wBACnE,sCAAsC;wBACtC,IAAG,CAAC,IAAI,CAAC,eAAe,EAAE;4BACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;yBACjE;wBAED,4BAA4B;wBAC5B,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;4BACvB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;yBACzD;wBAGS,qBAAM,IAAI,CAAC,OAAO,CAAgB,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,EAAA;;wBAAhH,GAAG,GAAG,SAA0G;wBAGhH,IAAI,GAAG,eAAe,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBAEhE,eAAe;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAGjB,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAc,IAAK,OAAA,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;wBAElF,sBAAO;gCACH,IAAI,EAAE,KAAK;gCACX,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;6BAC/B,EAAC;;;;KACL;IAmCL,mBAAC;AAAD,CAAC,AA/LD,CAAkC,+BAAc,GA+L/C;AA/LY,oCAAY"}
@@ -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>>;