rettiwt-api 1.1.7 → 1.2.0

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 (456) hide show
  1. package/.github/workflows/build-docs.yml +22 -21
  2. package/.github/workflows/publish-to-npm.yml +29 -0
  3. package/README.md +52 -40
  4. package/dist/config/env.d.ts +5 -5
  5. package/dist/config/env.js +8 -8
  6. package/dist/enums/Errors.d.ts +20 -20
  7. package/dist/enums/Errors.js +27 -27
  8. package/dist/enums/HTTP.d.ts +17 -17
  9. package/dist/enums/HTTP.js +22 -22
  10. package/dist/graphql/enums/Errors.d.ts +21 -21
  11. package/dist/graphql/enums/Errors.js +28 -28
  12. package/dist/graphql/queries/RootQuery.d.ts +4 -4
  13. package/dist/graphql/queries/RootQuery.js +77 -77
  14. package/dist/graphql/resolvers/AccountResolver.d.ts +12 -12
  15. package/dist/graphql/resolvers/AccountResolver.js +83 -83
  16. package/dist/graphql/resolvers/ResolverBase.d.ts +16 -16
  17. package/dist/graphql/resolvers/ResolverBase.js +22 -22
  18. package/dist/graphql/resolvers/TweetResolver.d.ts +46 -46
  19. package/dist/graphql/resolvers/TweetResolver.js +311 -311
  20. package/dist/graphql/resolvers/UserResolver.d.ts +48 -48
  21. package/dist/graphql/resolvers/UserResolver.js +333 -333
  22. package/dist/graphql/resolvers/UserResolver.js.map +1 -1
  23. package/dist/graphql/types/Global.d.ts +4 -4
  24. package/dist/graphql/types/Global.js +12 -12
  25. package/dist/graphql/types/TweetTypes.d.ts +4 -4
  26. package/dist/graphql/types/TweetTypes.js +159 -159
  27. package/dist/graphql/types/UserTypes.d.ts +3 -3
  28. package/dist/graphql/types/UserTypes.js +136 -136
  29. package/dist/graphql/types/UserTypes.js.map +1 -1
  30. package/dist/index.d.ts +43 -43
  31. package/dist/index.js +70 -70
  32. package/dist/models/args/TweetFilter.d.ts +65 -59
  33. package/dist/models/args/TweetFilter.js +120 -100
  34. package/dist/models/args/TweetFilter.js.map +1 -1
  35. package/dist/models/args/TweetListArgs.d.ts +21 -21
  36. package/dist/models/args/TweetListArgs.js +53 -53
  37. package/dist/models/args/UserListArgs.d.ts +21 -21
  38. package/dist/models/args/UserListArgs.js +53 -53
  39. package/dist/models/auth/AuthCookie.d.ts +21 -21
  40. package/dist/models/auth/AuthCookie.js +32 -32
  41. package/dist/models/data/CursoredData.d.ts +34 -34
  42. package/dist/models/data/CursoredData.js +41 -41
  43. package/dist/models/data/Tweet.d.ts +53 -53
  44. package/dist/models/data/Tweet.js +103 -103
  45. package/dist/models/data/User.d.ts +41 -41
  46. package/dist/models/data/User.js +31 -31
  47. package/dist/models/errors/DataValidationError.d.ts +20 -20
  48. package/dist/models/errors/DataValidationError.js +22 -22
  49. package/dist/server.d.ts +1 -1
  50. package/dist/server.js +75 -75
  51. package/dist/services/auth/AccountService.d.ts +83 -88
  52. package/dist/services/auth/AccountService.js +411 -391
  53. package/dist/services/auth/AccountService.js.map +1 -1
  54. package/dist/services/auth/AuthService.d.ts +31 -31
  55. package/dist/services/auth/AuthService.js +117 -117
  56. package/dist/services/data/TweetService.d.ts +60 -74
  57. package/dist/services/data/TweetService.js +251 -254
  58. package/dist/services/data/TweetService.js.map +1 -1
  59. package/dist/services/data/UserService.d.ts +71 -87
  60. package/dist/services/data/UserService.js +287 -296
  61. package/dist/services/data/UserService.js.map +1 -1
  62. package/dist/services/helper/Headers.d.ts +19 -19
  63. package/dist/services/helper/Headers.js +61 -61
  64. package/dist/services/helper/Parser.d.ts +22 -28
  65. package/dist/services/helper/Parser.js +83 -104
  66. package/dist/services/helper/Parser.js.map +1 -1
  67. package/dist/services/helper/extractors/Tweets.d.ts +32 -32
  68. package/dist/services/helper/extractors/Tweets.js +263 -263
  69. package/dist/services/helper/extractors/Users.d.ts +26 -26
  70. package/dist/services/helper/extractors/Users.js +202 -202
  71. package/dist/services/helper/payloads/LoginFlows.d.ts +77 -77
  72. package/dist/services/helper/payloads/LoginFlows.js +91 -91
  73. package/dist/services/helper/urls/Authentication.d.ts +4 -4
  74. package/dist/services/helper/urls/Authentication.js +10 -10
  75. package/dist/services/util/CacheService.d.ts +33 -33
  76. package/dist/services/util/CacheService.js +95 -95
  77. package/dist/services/util/FetcherService.d.ts +65 -65
  78. package/dist/services/util/FetcherService.js +213 -213
  79. package/dist/twitter/Url.d.ts +22 -0
  80. package/dist/twitter/Url.js +32 -0
  81. package/dist/twitter/Url.js.map +1 -0
  82. package/dist/twitter/enums/Resources.d.ts +15 -0
  83. package/dist/twitter/enums/Resources.js +21 -0
  84. package/dist/twitter/enums/Resources.js.map +1 -0
  85. package/dist/twitter/params/Query.d.ts +67 -0
  86. package/dist/twitter/params/Query.js +64 -0
  87. package/dist/twitter/params/Query.js.map +1 -0
  88. package/dist/twitter/payloads/Args.d.ts +16 -0
  89. package/dist/twitter/payloads/Args.js +16 -0
  90. package/dist/twitter/payloads/Args.js.map +1 -0
  91. package/dist/{types/raw/query/tweet/Engagements.d.ts → twitter/payloads/Features.d.ts} +28 -29
  92. package/dist/twitter/payloads/Features.js +37 -0
  93. package/dist/twitter/payloads/Features.js.map +1 -0
  94. package/dist/twitter/payloads/Variables.d.ts +41 -0
  95. package/dist/twitter/payloads/Variables.js +64 -0
  96. package/dist/twitter/payloads/Variables.js.map +1 -0
  97. package/dist/{types → twitter/types/request}/Query.d.ts +86 -80
  98. package/dist/{types/data/Tweet.js → twitter/types/request/Query.js} +4 -4
  99. package/dist/twitter/types/request/Query.js.map +1 -0
  100. package/dist/{types/raw/data → twitter/types}/tweet/Favouriters.d.ts +164 -164
  101. package/dist/twitter/types/tweet/Favouriters.js +3 -0
  102. package/dist/twitter/types/tweet/Favouriters.js.map +1 -0
  103. package/dist/{types/raw → twitter/types}/tweet/Retweeters.d.ts +171 -171
  104. package/dist/{types/Trends.js → twitter/types/tweet/Retweeters.js} +3 -3
  105. package/dist/twitter/types/tweet/Retweeters.js.map +1 -0
  106. package/dist/{types/raw/data → twitter/types}/tweet/Tweet.d.ts +746 -746
  107. package/dist/{types/data/User.js → twitter/types/tweet/Tweet.js} +3 -3
  108. package/dist/twitter/types/tweet/Tweet.js.map +1 -0
  109. package/dist/{types/raw → twitter/types}/tweet/Tweets.d.ts +386 -386
  110. package/dist/{types/raw/user/User.js → twitter/types/tweet/Tweets.js} +3 -3
  111. package/dist/twitter/types/tweet/Tweets.js.map +1 -0
  112. package/dist/{types/raw → twitter/types}/user/Followers.d.ts +176 -176
  113. package/dist/{types/interfaces/Rettiwt.js → twitter/types/user/Followers.js} +3 -3
  114. package/dist/twitter/types/user/Followers.js.map +1 -0
  115. package/dist/{types/raw → twitter/types}/user/Following.d.ts +176 -176
  116. package/dist/{types/Query.js → twitter/types/user/Following.js} +3 -3
  117. package/dist/twitter/types/user/Following.js.map +1 -0
  118. package/dist/{types/raw/data → twitter/types}/user/Likes.d.ts +1059 -1059
  119. package/dist/{types/interfaces/User.js → twitter/types/user/Likes.js} +3 -3
  120. package/dist/twitter/types/user/Likes.js.map +1 -0
  121. package/dist/{types/raw → twitter/types}/user/Tweets.d.ts +1512 -1512
  122. package/dist/twitter/types/user/Tweets.js +3 -0
  123. package/dist/twitter/types/user/Tweets.js.map +1 -0
  124. package/dist/{types/raw → twitter/types}/user/User.d.ts +117 -117
  125. package/dist/{types/raw/data → twitter/types}/user/User.js +2 -2
  126. package/dist/{types/data → twitter/types/user}/User.js.map +1 -1
  127. package/dist/types/Args.d.ts +38 -38
  128. package/dist/types/Args.js +4 -4
  129. package/dist/types/Authentication.d.ts +55 -55
  130. package/dist/types/Authentication.js +5 -5
  131. package/dist/types/Resolvers.d.ts +15 -15
  132. package/dist/types/Resolvers.js +2 -2
  133. package/dist/types/Rettiwt.d.ts +16 -16
  134. package/dist/types/Rettiwt.js +2 -2
  135. package/dist/types/Service.d.ts +22 -22
  136. package/dist/types/Service.js +4 -4
  137. package/dist/types/Tweet.d.ts +46 -46
  138. package/dist/types/Tweet.js +2 -2
  139. package/dist/types/User.d.ts +35 -35
  140. package/dist/types/User.js +2 -2
  141. package/docs/.nojekyll +1 -0
  142. package/docs/assets/highlight.css +64 -0
  143. package/docs/assets/main.js +58 -0
  144. package/docs/assets/search.js +1 -0
  145. package/docs/assets/style.css +1280 -0
  146. package/docs/classes/AccountService.html +286 -0
  147. package/docs/classes/AuthCookie.html +146 -0
  148. package/docs/classes/AuthService.html +147 -0
  149. package/docs/classes/CacheService.html +157 -0
  150. package/docs/classes/Cursor.html +102 -0
  151. package/docs/classes/CursoredData.html +126 -0
  152. package/docs/classes/DataValidationError.html +119 -0
  153. package/docs/classes/FetcherService.html +225 -0
  154. package/docs/classes/Tweet.html +210 -0
  155. package/docs/classes/TweetEntities.html +128 -0
  156. package/docs/classes/TweetFilter.html +221 -0
  157. package/docs/classes/TweetListArgs.html +118 -0
  158. package/docs/classes/TweetService.html +319 -0
  159. package/docs/classes/User.html +230 -0
  160. package/docs/classes/UserListArgs.html +118 -0
  161. package/docs/classes/UserService.html +355 -0
  162. package/docs/enums/HttpMethods.html +74 -0
  163. package/docs/functions/Rettiwt.html +99 -0
  164. package/docs/index.html +158 -0
  165. package/docs/interfaces/IAuthCookie.html +104 -0
  166. package/docs/interfaces/ICursor.html +77 -0
  167. package/docs/interfaces/ICursoredData.html +93 -0
  168. package/docs/interfaces/IDataContext.html +91 -0
  169. package/docs/interfaces/IListArgs.html +87 -0
  170. package/docs/interfaces/ITweet.html +176 -0
  171. package/docs/interfaces/ITweetEntities.html +104 -0
  172. package/docs/interfaces/ITweetFilter.html +158 -0
  173. package/docs/interfaces/IUser.html +194 -0
  174. package/docs/modules.html +109 -0
  175. package/package.json +2 -2
  176. package/src/graphql/resolvers/UserResolver.ts +4 -4
  177. package/src/graphql/types/UserTypes.ts +1 -1
  178. package/src/models/args/TweetFilter.ts +25 -4
  179. package/src/models/data/Tweet.ts +1 -1
  180. package/src/models/data/User.ts +1 -1
  181. package/src/services/auth/AccountService.ts +79 -53
  182. package/src/services/data/TweetService.ts +35 -65
  183. package/src/services/data/UserService.ts +42 -48
  184. package/src/services/helper/Parser.ts +3 -24
  185. package/src/services/helper/extractors/Tweets.ts +4 -4
  186. package/src/services/helper/extractors/Users.ts +5 -5
  187. package/src/services/util/FetcherService.ts +4 -4
  188. package/src/twitter/Url.ts +37 -0
  189. package/src/twitter/enums/Resources.ts +15 -0
  190. package/src/twitter/params/Query.ts +100 -0
  191. package/src/twitter/payloads/Args.ts +21 -0
  192. package/src/twitter/payloads/Features.ts +33 -0
  193. package/src/twitter/payloads/Variables.ts +73 -0
  194. package/src/twitter/types/request/Query.ts +91 -0
  195. package/src/{types/raw → twitter/types}/user/Tweets.ts +1747 -1747
  196. package/src/types/Args.ts +1 -1
  197. package/dist/Test.d.ts +0 -0
  198. package/dist/Test.js +0 -2
  199. package/dist/Test.js.map +0 -1
  200. package/dist/endpoints/Endpoints.d.ts +0 -14
  201. package/dist/endpoints/Endpoints.js +0 -20
  202. package/dist/endpoints/Endpoints.js.map +0 -1
  203. package/dist/endpoints/Url.d.ts +0 -5
  204. package/dist/endpoints/Url.js +0 -12
  205. package/dist/endpoints/Url.js.map +0 -1
  206. package/dist/enums/Endpoints.d.ts +0 -25
  207. package/dist/enums/Endpoints.js +0 -31
  208. package/dist/enums/Endpoints.js.map +0 -1
  209. package/dist/graphql/types/Errors.d.ts +0 -20
  210. package/dist/graphql/types/Errors.js +0 -28
  211. package/dist/graphql/types/Errors.js.map +0 -1
  212. package/dist/middlewares/Authentication.d.ts +0 -0
  213. package/dist/middlewares/Authentication.js +0 -2
  214. package/dist/middlewares/Authentication.js.map +0 -1
  215. package/dist/models/data/DataValidationError.d.ts +0 -18
  216. package/dist/models/data/DataValidationError.js +0 -21
  217. package/dist/models/data/DataValidationError.js.map +0 -1
  218. package/dist/models/data/Errors.d.ts +0 -18
  219. package/dist/models/data/Errors.js +0 -21
  220. package/dist/models/data/Errors.js.map +0 -1
  221. package/dist/models/data/Service.d.ts +0 -33
  222. package/dist/models/data/Service.js +0 -41
  223. package/dist/models/data/Service.js.map +0 -1
  224. package/dist/models/graphql/Global.d.ts +0 -4
  225. package/dist/models/graphql/Global.js +0 -13
  226. package/dist/models/graphql/Global.js.map +0 -1
  227. package/dist/models/graphql/TweetTypes.d.ts +0 -6
  228. package/dist/models/graphql/TweetTypes.js +0 -156
  229. package/dist/models/graphql/TweetTypes.js.map +0 -1
  230. package/dist/models/graphql/UserTypes.d.ts +0 -3
  231. package/dist/models/graphql/UserTypes.js +0 -139
  232. package/dist/models/graphql/UserTypes.js.map +0 -1
  233. package/dist/models/query/Variables.d.ts +0 -2
  234. package/dist/models/query/Variables.js +0 -10
  235. package/dist/models/query/Variables.js.map +0 -1
  236. package/dist/queries/RootQuery.d.ts +0 -4
  237. package/dist/queries/RootQuery.js +0 -70
  238. package/dist/queries/RootQuery.js.map +0 -1
  239. package/dist/requests/Url.d.ts +0 -5
  240. package/dist/requests/Url.js +0 -12
  241. package/dist/requests/Url.js.map +0 -1
  242. package/dist/requests/payloads/Variables.d.ts +0 -23
  243. package/dist/requests/payloads/Variables.js +0 -24
  244. package/dist/requests/payloads/Variables.js.map +0 -1
  245. package/dist/resolvers/AccountResolver.d.ts +0 -12
  246. package/dist/resolvers/AccountResolver.js +0 -84
  247. package/dist/resolvers/AccountResolver.js.map +0 -1
  248. package/dist/resolvers/ResolverBase.d.ts +0 -5
  249. package/dist/resolvers/ResolverBase.js +0 -11
  250. package/dist/resolvers/ResolverBase.js.map +0 -1
  251. package/dist/resolvers/TweetResolver.d.ts +0 -54
  252. package/dist/resolvers/TweetResolver.js +0 -332
  253. package/dist/resolvers/TweetResolver.js.map +0 -1
  254. package/dist/resolvers/UserResolver.d.ts +0 -38
  255. package/dist/resolvers/UserResolver.js +0 -253
  256. package/dist/resolvers/UserResolver.js.map +0 -1
  257. package/dist/services/AuthService.d.ts +0 -22
  258. package/dist/services/AuthService.js +0 -106
  259. package/dist/services/AuthService.js.map +0 -1
  260. package/dist/services/CacheService.d.ts +0 -30
  261. package/dist/services/CacheService.js +0 -93
  262. package/dist/services/CacheService.js.map +0 -1
  263. package/dist/services/FetcherService.d.ts +0 -61
  264. package/dist/services/FetcherService.js +0 -209
  265. package/dist/services/FetcherService.js.map +0 -1
  266. package/dist/services/accounts/AccountService.d.ts +0 -65
  267. package/dist/services/accounts/AccountService.js +0 -336
  268. package/dist/services/accounts/AccountService.js.map +0 -1
  269. package/dist/services/accounts/LoginFlows.d.ts +0 -77
  270. package/dist/services/accounts/LoginFlows.js +0 -92
  271. package/dist/services/accounts/LoginFlows.js.map +0 -1
  272. package/dist/services/auth/LoginFlows.d.ts +0 -77
  273. package/dist/services/auth/LoginFlows.js +0 -92
  274. package/dist/services/auth/LoginFlows.js.map +0 -1
  275. package/dist/services/data/TrendService.d.ts +0 -17
  276. package/dist/services/data/TrendService.js +0 -116
  277. package/dist/services/data/TrendService.js.map +0 -1
  278. package/dist/services/data/UserAccountService.d.ts +0 -42
  279. package/dist/services/data/UserAccountService.js +0 -239
  280. package/dist/services/data/UserAccountService.js.map +0 -1
  281. package/dist/services/helper/Deserializers.d.ts +0 -19
  282. package/dist/services/helper/Deserializers.js +0 -115
  283. package/dist/services/helper/Deserializers.js.map +0 -1
  284. package/dist/services/helper/Extractors.d.ts +0 -104
  285. package/dist/services/helper/Extractors.js +0 -432
  286. package/dist/services/helper/Extractors.js.map +0 -1
  287. package/dist/services/helper/Urls.d.ts +0 -85
  288. package/dist/services/helper/Urls.js +0 -130
  289. package/dist/services/helper/Urls.js.map +0 -1
  290. package/dist/services/helper/deserializers/Tweets.d.ts +0 -12
  291. package/dist/services/helper/deserializers/Tweets.js +0 -92
  292. package/dist/services/helper/deserializers/Tweets.js.map +0 -1
  293. package/dist/services/helper/deserializers/Users.d.ts +0 -7
  294. package/dist/services/helper/deserializers/Users.js +0 -27
  295. package/dist/services/helper/deserializers/Users.js.map +0 -1
  296. package/dist/services/helper/extractors/Trends.d.ts +0 -3
  297. package/dist/services/helper/extractors/Trends.js +0 -51
  298. package/dist/services/helper/extractors/Trends.js.map +0 -1
  299. package/dist/services/helper/urls/Trends.d.ts +0 -7
  300. package/dist/services/helper/urls/Trends.js +0 -13
  301. package/dist/services/helper/urls/Trends.js.map +0 -1
  302. package/dist/services/helper/urls/Tweets.d.ts +0 -32
  303. package/dist/services/helper/urls/Tweets.js +0 -51
  304. package/dist/services/helper/urls/Tweets.js.map +0 -1
  305. package/dist/services/helper/urls/Users.d.ts +0 -38
  306. package/dist/services/helper/urls/Users.js +0 -76
  307. package/dist/services/helper/urls/Users.js.map +0 -1
  308. package/dist/types/HTTP.d.ts +0 -17
  309. package/dist/types/HTTP.js +0 -23
  310. package/dist/types/HTTP.js.map +0 -1
  311. package/dist/types/Query.js.map +0 -1
  312. package/dist/types/Trends.d.ts +0 -50
  313. package/dist/types/Trends.js.map +0 -1
  314. package/dist/types/UserAccount.d.ts +0 -19
  315. package/dist/types/UserAccount.js +0 -4
  316. package/dist/types/UserAccount.js.map +0 -1
  317. package/dist/types/args/TweetFilter.d.ts +0 -54
  318. package/dist/types/args/TweetFilter.js +0 -96
  319. package/dist/types/args/TweetFilter.js.map +0 -1
  320. package/dist/types/args/TweetListArg.d.ts +0 -10
  321. package/dist/types/args/TweetListArg.js +0 -42
  322. package/dist/types/args/TweetListArg.js.map +0 -1
  323. package/dist/types/args/TweetListArgs.d.ts +0 -20
  324. package/dist/types/args/TweetListArgs.js +0 -52
  325. package/dist/types/args/TweetListArgs.js.map +0 -1
  326. package/dist/types/args/UserListArgs.d.ts +0 -16
  327. package/dist/types/args/UserListArgs.js +0 -48
  328. package/dist/types/args/UserListArgs.js.map +0 -1
  329. package/dist/types/data/Errors.d.ts +0 -35
  330. package/dist/types/data/Errors.js +0 -45
  331. package/dist/types/data/Errors.js.map +0 -1
  332. package/dist/types/data/Service.d.ts +0 -43
  333. package/dist/types/data/Service.js +0 -22
  334. package/dist/types/data/Service.js.map +0 -1
  335. package/dist/types/data/Tweet.d.ts +0 -98
  336. package/dist/types/data/Tweet.js.map +0 -1
  337. package/dist/types/data/TweetFilter.d.ts +0 -49
  338. package/dist/types/data/TweetFilter.js +0 -63
  339. package/dist/types/data/TweetFilter.js.map +0 -1
  340. package/dist/types/data/User.d.ts +0 -38
  341. package/dist/types/graphql/Errors.d.ts +0 -15
  342. package/dist/types/graphql/Errors.js +0 -23
  343. package/dist/types/graphql/Errors.js.map +0 -1
  344. package/dist/types/interfaces/Args.d.ts +0 -38
  345. package/dist/types/interfaces/Args.js +0 -5
  346. package/dist/types/interfaces/Args.js.map +0 -1
  347. package/dist/types/interfaces/Authentication.d.ts +0 -40
  348. package/dist/types/interfaces/Authentication.js +0 -5
  349. package/dist/types/interfaces/Authentication.js.map +0 -1
  350. package/dist/types/interfaces/Resolvers.d.ts +0 -14
  351. package/dist/types/interfaces/Resolvers.js +0 -3
  352. package/dist/types/interfaces/Resolvers.js.map +0 -1
  353. package/dist/types/interfaces/Rettiwt.d.ts +0 -16
  354. package/dist/types/interfaces/Rettiwt.js.map +0 -1
  355. package/dist/types/interfaces/Service.d.ts +0 -13
  356. package/dist/types/interfaces/Service.js +0 -3
  357. package/dist/types/interfaces/Service.js.map +0 -1
  358. package/dist/types/interfaces/Services.d.ts +0 -13
  359. package/dist/types/interfaces/Services.js +0 -3
  360. package/dist/types/interfaces/Services.js.map +0 -1
  361. package/dist/types/interfaces/Tweet.d.ts +0 -46
  362. package/dist/types/interfaces/Tweet.js +0 -3
  363. package/dist/types/interfaces/Tweet.js.map +0 -1
  364. package/dist/types/interfaces/TweetFilter.d.ts +0 -0
  365. package/dist/types/interfaces/TweetFilter.js +0 -2
  366. package/dist/types/interfaces/TweetFilter.js.map +0 -1
  367. package/dist/types/interfaces/User.d.ts +0 -35
  368. package/dist/types/interfaces/User.js.map +0 -1
  369. package/dist/types/raw/auth/Cookie.d.ts +0 -16
  370. package/dist/types/raw/auth/Cookie.js +0 -3
  371. package/dist/types/raw/auth/Cookie.js.map +0 -1
  372. package/dist/types/raw/data/tweet/Favouriters.js +0 -3
  373. package/dist/types/raw/data/tweet/Favouriters.js.map +0 -1
  374. package/dist/types/raw/data/tweet/Retweeters.d.ts +0 -171
  375. package/dist/types/raw/data/tweet/Retweeters.js +0 -3
  376. package/dist/types/raw/data/tweet/Retweeters.js.map +0 -1
  377. package/dist/types/raw/data/tweet/Tweet.js +0 -3
  378. package/dist/types/raw/data/tweet/Tweet.js.map +0 -1
  379. package/dist/types/raw/data/tweet/Tweets.d.ts +0 -386
  380. package/dist/types/raw/data/tweet/Tweets.js +0 -3
  381. package/dist/types/raw/data/tweet/Tweets.js.map +0 -1
  382. package/dist/types/raw/data/user/Followers.d.ts +0 -176
  383. package/dist/types/raw/data/user/Followers.js +0 -3
  384. package/dist/types/raw/data/user/Followers.js.map +0 -1
  385. package/dist/types/raw/data/user/Following.d.ts +0 -176
  386. package/dist/types/raw/data/user/Following.js +0 -3
  387. package/dist/types/raw/data/user/Following.js.map +0 -1
  388. package/dist/types/raw/data/user/Likes.js +0 -3
  389. package/dist/types/raw/data/user/Likes.js.map +0 -1
  390. package/dist/types/raw/data/user/User.d.ts +0 -117
  391. package/dist/types/raw/data/user/User.js.map +0 -1
  392. package/dist/types/raw/general/Trends.d.ts +0 -324
  393. package/dist/types/raw/general/Trends.js +0 -3
  394. package/dist/types/raw/general/Trends.js.map +0 -1
  395. package/dist/types/raw/query/tweet/Details.d.ts +0 -80
  396. package/dist/types/raw/query/tweet/Details.js +0 -5
  397. package/dist/types/raw/query/tweet/Details.js.map +0 -1
  398. package/dist/types/raw/query/tweet/Engagements.js +0 -3
  399. package/dist/types/raw/query/tweet/Engagements.js.map +0 -1
  400. package/dist/types/raw/query/tweet/Likes.d.ts +0 -29
  401. package/dist/types/raw/query/tweet/Likes.js +0 -3
  402. package/dist/types/raw/query/tweet/Likes.js.map +0 -1
  403. package/dist/types/raw/query/tweet/Retweets.d.ts +0 -29
  404. package/dist/types/raw/query/tweet/Retweets.js +0 -3
  405. package/dist/types/raw/query/tweet/Retweets.js.map +0 -1
  406. package/dist/types/raw/query/tweet/Search.d.ts +0 -40
  407. package/dist/types/raw/query/tweet/Search.js +0 -3
  408. package/dist/types/raw/query/tweet/Search.js.map +0 -1
  409. package/dist/types/raw/query/tweet/TweetDetails.d.ts +0 -34
  410. package/dist/types/raw/query/tweet/TweetDetails.js +0 -5
  411. package/dist/types/raw/query/tweet/TweetDetails.js.map +0 -1
  412. package/dist/types/raw/query/tweet/TweetLike.d.ts +0 -29
  413. package/dist/types/raw/query/tweet/TweetLike.js +0 -3
  414. package/dist/types/raw/query/tweet/TweetLike.js.map +0 -1
  415. package/dist/types/raw/query/tweet/TweetLikes.d.ts +0 -29
  416. package/dist/types/raw/query/tweet/TweetLikes.js +0 -3
  417. package/dist/types/raw/query/tweet/TweetLikes.js.map +0 -1
  418. package/dist/types/raw/query/tweet/TweetRetweets.d.ts +0 -0
  419. package/dist/types/raw/query/tweet/TweetRetweets.js +0 -2
  420. package/dist/types/raw/query/tweet/TweetRetweets.js.map +0 -1
  421. package/dist/types/raw/query/user/Details.d.ts +0 -34
  422. package/dist/types/raw/query/user/Details.js +0 -3
  423. package/dist/types/raw/query/user/Details.js.map +0 -1
  424. package/dist/types/raw/tweet/Favouriters.d.ts +0 -164
  425. package/dist/types/raw/tweet/Favouriters.js +0 -3
  426. package/dist/types/raw/tweet/Favouriters.js.map +0 -1
  427. package/dist/types/raw/tweet/Retweeters.js +0 -3
  428. package/dist/types/raw/tweet/Retweeters.js.map +0 -1
  429. package/dist/types/raw/tweet/Tweet.d.ts +0 -746
  430. package/dist/types/raw/tweet/Tweet.js +0 -3
  431. package/dist/types/raw/tweet/Tweet.js.map +0 -1
  432. package/dist/types/raw/tweet/Tweets.js +0 -3
  433. package/dist/types/raw/tweet/Tweets.js.map +0 -1
  434. package/dist/types/raw/user/Followers.js +0 -3
  435. package/dist/types/raw/user/Followers.js.map +0 -1
  436. package/dist/types/raw/user/Following.js +0 -3
  437. package/dist/types/raw/user/Following.js.map +0 -1
  438. package/dist/types/raw/user/Likes.d.ts +0 -1059
  439. package/dist/types/raw/user/Likes.js +0 -3
  440. package/dist/types/raw/user/Likes.js.map +0 -1
  441. package/dist/types/raw/user/Tweets.js +0 -3
  442. package/dist/types/raw/user/Tweets.js.map +0 -1
  443. package/dist/types/raw/user/User.js.map +0 -1
  444. package/dist/types/services/args/TweetFilter.d.ts +0 -50
  445. package/dist/types/services/args/TweetFilter.js +0 -76
  446. package/dist/types/services/args/TweetFilter.js.map +0 -1
  447. package/src/services/helper/urls/Tweets.ts +0 -46
  448. package/src/services/helper/urls/Users.ts +0 -78
  449. /package/src/{types/raw → twitter/types}/tweet/Favouriters.ts +0 -0
  450. /package/src/{types/raw → twitter/types}/tweet/Retweeters.ts +0 -0
  451. /package/src/{types/raw → twitter/types}/tweet/Tweet.ts +0 -0
  452. /package/src/{types/raw → twitter/types}/tweet/Tweets.ts +0 -0
  453. /package/src/{types/raw → twitter/types}/user/Followers.ts +0 -0
  454. /package/src/{types/raw → twitter/types}/user/Following.ts +0 -0
  455. /package/src/{types/raw → twitter/types}/user/Likes.ts +0 -0
  456. /package/src/{types/raw → twitter/types}/user/User.ts +0 -0
@@ -1,22 +0,0 @@
1
- import { GuestCredentials, AuthCredentials } from '../types/Authentication';
2
- /**
3
- * Handles authentication of http requests and other authentication related tasks.
4
- * @internal
5
- */
6
- export declare class AuthService {
7
- /** The common bearer token for authentication. */
8
- private authToken;
9
- /** The current authentication credentials. */
10
- private credentials;
11
- /** Whether instance has been authenticated or not. */
12
- isAuthenticated: boolean;
13
- constructor(cookie?: string);
14
- /**
15
- * @returns The current authentication credentials. A different credential is returned each time this is invoked
16
- */
17
- getAuthCredentials(): Promise<AuthCredentials>;
18
- /**
19
- * @returns The guest credentials fetched from twitter.
20
- */
21
- getGuestCredentials(): Promise<GuestCredentials>;
22
- }
@@ -1,106 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- exports.__esModule = true;
42
- exports.AuthService = void 0;
43
- // PACKAGE
44
- var axios_1 = __importDefault(require("axios"));
45
- // URLS
46
- var Authentication_1 = require("./helper/urls/Authentication");
47
- // CONFIGS
48
- var env_1 = require("../config/env");
49
- /**
50
- * Handles authentication of http requests and other authentication related tasks.
51
- * @internal
52
- */
53
- var AuthService = /** @class */ (function () {
54
- // MEMBER METHODS
55
- function AuthService(cookie) {
56
- if (cookie === void 0) { cookie = ''; }
57
- // Reading the auth token from the config, since it's always the same
58
- this.authToken = env_1.config.twitter_auth_token;
59
- // Setting authentication status
60
- this.isAuthenticated = cookie != '';
61
- // Setting up the authenticated credentials
62
- /**
63
- * The following regex pattern is used to extract the csrfToken from the cookie string.
64
- * This is done by matching any string between the characters 'ct0=' and nearest enclosing ';'.
65
- * (?<=pattern) starts matching after the given pattern.
66
- * (?=pattern) stops matching just before the pattern.
67
- */
68
- this.credentials = { authToken: this.authToken, csrfToken: cookie.match(/(?<=ct0=).+?(?=;)/) + '', cookie: cookie };
69
- }
70
- /**
71
- * @returns The current authentication credentials. A different credential is returned each time this is invoked
72
- */
73
- AuthService.prototype.getAuthCredentials = function () {
74
- return __awaiter(this, void 0, void 0, function () {
75
- return __generator(this, function (_a) {
76
- return [2 /*return*/, this.credentials];
77
- });
78
- });
79
- };
80
- /**
81
- * @returns The guest credentials fetched from twitter.
82
- */
83
- AuthService.prototype.getGuestCredentials = function () {
84
- return __awaiter(this, void 0, void 0, function () {
85
- var _this = this;
86
- return __generator(this, function (_a) {
87
- switch (_a.label) {
88
- case 0: return [4 /*yield*/, axios_1["default"].post((0, Authentication_1.guestTokenUrl)(), null, {
89
- headers: {
90
- 'Authorization': this.authToken
91
- }
92
- }).then(function (res) { return ({
93
- authToken: _this.authToken,
94
- guestToken: res.data.guest_token
95
- }); })];
96
- case 1:
97
- // Getting the guest credentials from twitter
98
- return [2 /*return*/, _a.sent()];
99
- }
100
- });
101
- });
102
- };
103
- return AuthService;
104
- }());
105
- exports.AuthService = AuthService;
106
- //# sourceMappingURL=AuthService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../src/services/AuthService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,UAAU;AACV,gDAA0B;AAE1B,OAAO;AACP,+DAA6D;AAK7D,UAAU;AACV,qCAAuC;AAEvC;;;GAGG;AACH;IAWI,iBAAiB;IACjB,qBAAY,MAAmB;QAAnB,uBAAA,EAAA,WAAmB;QAC3B,qEAAqE;QACrE,IAAI,CAAC,SAAS,GAAG,YAAM,CAAC,kBAAkB,CAAC;QAE3C,gCAAgC;QAChC,IAAI,CAAC,eAAe,GAAG,MAAM,IAAI,EAAE,CAAC;QAEpC,2CAA2C;QAC3C;;;;;WAKG;QACH,IAAI,CAAC,WAAW,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;IAEvH,CAAC;IAED;;OAEG;IACG,wCAAkB,GAAxB;;;gBACI,sBAAO,IAAI,CAAC,WAAW,EAAC;;;KAC3B;IAED;;OAEG;IACG,yCAAmB,GAAzB;;;;;4BAEW,qBAAM,kBAAK,CAAC,IAAI,CAA0B,IAAA,8BAAa,GAAE,EAAE,IAAI,EAAE;4BACpE,OAAO,EAAE;gCACL,eAAe,EAAE,IAAI,CAAC,SAAS;6BAClC;yBACJ,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC;4BACZ,SAAS,EAAE,KAAI,CAAC,SAAS;4BACzB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW;yBACnC,CAAC,EAHa,CAGb,CAAC,EAAA;;oBARH,6CAA6C;oBAC7C,sBAAO,SAOJ,EAAC;;;;KACP;IACL,kBAAC;AAAD,CAAC,AAnDD,IAmDC;AAnDY,kCAAW"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Handles reading and writing of data from and to cache.
3
- *
4
- * This services uses a local node-cache instance to cache data, since the data to be cached has no real purpose outside of the server session.
5
- * This serivce follows a singleton pattern, where at any point, only a single instance of this class exists.
6
- * This is done so that all the data is cached in a single instance, which makes sharing of cached data between different endpoints possible.
7
- * @internal
8
- */
9
- export declare class CacheService {
10
- private static instance;
11
- private client;
12
- private constructor();
13
- /**
14
- * @returns The current working instance of CacheService
15
- */
16
- static getInstance(): CacheService;
17
- /**
18
- * Stores the input data in the cache.
19
- *
20
- * @param data The input data to store.
21
- * @returns Whether writing to cache was successful or not.
22
- * @remarks In order to cache data, the data to be cached must have a unique 'id' field.
23
- */
24
- write(data: any): void;
25
- /**
26
- * @param id The id id of the data to be fetched from cache.
27
- * @returns The data with the given id.
28
- */
29
- read(id: string): any;
30
- }
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- exports.__esModule = true;
29
- exports.CacheService = void 0;
30
- // PACKAGES
31
- var node_cache_1 = __importDefault(require("node-cache"));
32
- // PARSERS
33
- var Parsers = __importStar(require("./helper/Parser"));
34
- /**
35
- * Handles reading and writing of data from and to cache.
36
- *
37
- * This services uses a local node-cache instance to cache data, since the data to be cached has no real purpose outside of the server session.
38
- * This serivce follows a singleton pattern, where at any point, only a single instance of this class exists.
39
- * This is done so that all the data is cached in a single instance, which makes sharing of cached data between different endpoints possible.
40
- * @internal
41
- */
42
- var CacheService = /** @class */ (function () {
43
- // MEMBER METHODS
44
- function CacheService() {
45
- // Initializing new cache
46
- this.client = new node_cache_1["default"]();
47
- }
48
- /**
49
- * @returns The current working instance of CacheService
50
- */
51
- CacheService.getInstance = function () {
52
- // If an instance doesnt exists already
53
- if (!this.instance) {
54
- this.instance = new CacheService();
55
- }
56
- // Returning the current instance
57
- return this.instance;
58
- };
59
- /**
60
- * Stores the input data in the cache.
61
- *
62
- * @param data The input data to store.
63
- * @returns Whether writing to cache was successful or not.
64
- * @remarks In order to cache data, the data to be cached must have a unique 'id' field.
65
- */
66
- CacheService.prototype.write = function (data) {
67
- // Converting the data to a list of data
68
- data = Parsers.dataToList(data);
69
- // Iterating over the list of data
70
- for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
71
- var item = data_1[_i];
72
- // Storing whether data is already cached or not
73
- var cached = this.client.has(Parsers.findJSONKey(item, 'id'));
74
- // If data does not already exist in cache
75
- if (!cached) {
76
- // Adding data to cache
77
- this.client.set(Parsers.findJSONKey(item, 'id'), item);
78
- }
79
- }
80
- };
81
- /**
82
- * @param id The id id of the data to be fetched from cache.
83
- * @returns The data with the given id.
84
- */
85
- CacheService.prototype.read = function (id) {
86
- // Getting data from cache
87
- var res = this.client.get(id);
88
- return res;
89
- };
90
- return CacheService;
91
- }());
92
- exports.CacheService = CacheService;
93
- //# sourceMappingURL=CacheService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../../src/services/CacheService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,0DAAmC;AAEnC,UAAU;AACV,uDAA2C;AAE3C;;;;;;;GAOG;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;;;;;;OAMG;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,AA1DD,IA0DC;AA1DY,oCAAY"}
@@ -1,61 +0,0 @@
1
- import { CurlyResult } from 'node-libcurl';
2
- import { AuthService } from './AuthService';
3
- /**
4
- * The different types of http requests.
5
- */
6
- export declare enum HttpMethods {
7
- POST = "POST",
8
- GET = "GET"
9
- }
10
- /**
11
- * Handles all HTTP requests.
12
- * @internal
13
- *
14
- * This serves as the base service from which all other data services derive their behaviour.
15
- */
16
- export declare class FetcherService {
17
- /** The authentication service instance. */
18
- private auth;
19
- /** The caching service instance. */
20
- private cache;
21
- /** Whether instance has been authenticated or not. */
22
- protected isAuthenticated: boolean;
23
- /**
24
- * @param auth The AuthService instance to use for authentication.
25
- */
26
- constructor(auth: AuthService);
27
- /**
28
- * The middleware for handling any HTTP error.
29
- *
30
- * @param res The response object received.
31
- * @throws {@link HttpStatus}.
32
- * @returns The received response, if no HTTP errors are found.
33
- */
34
- private handleHTTPError;
35
- /**
36
- * Creates an HTTP request according to the given parameters.
37
- *
38
- * This method internally uses node-libcurl library to make curl requests to the URL, instead of node-fetch.
39
- * This has been done since that way it better mimics the HTTP requests made from browser.
40
- *
41
- * @param url The url to fetch data from.
42
- * @param authenticate Whether to authenticate requests or not.
43
- * @param method The HTTP method (from {@link HttpMethods}) to use.
44
- * @param data The data to be sent along with the request (for POST request).
45
- * @returns The {@link CurlyResult} received.
46
- */
47
- protected request<DataType>(url: string, authenticate?: boolean, method?: HttpMethods, data?: any): Promise<CurlyResult<DataType>>;
48
- /**
49
- * Caches the extracted data into the {@link CacheService} instance.
50
- *
51
- * @param data The extracted data to be cached
52
- */
53
- protected cacheData(data: any): void;
54
- /**
55
- * Fetches the data with the given id from the cache.
56
- *
57
- * @param id The id of the data to be read from cache.
58
- * @returns The data with the given id. If does not exists, returns undefined.
59
- */
60
- protected readData(id: string): any;
61
- }
@@ -1,209 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __generator = (this && this.__generator) || function (thisArg, body) {
46
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (_) try {
52
- 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;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
66
- }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
- }
71
- };
72
- exports.__esModule = true;
73
- exports.FetcherService = exports.HttpMethods = void 0;
74
- // PACKAGES
75
- var node_libcurl_1 = require("node-libcurl");
76
- var CacheService_1 = require("./CacheService");
77
- // TYPES
78
- var HTTP_1 = require("../types/HTTP");
79
- // HELPERS
80
- var Headers = __importStar(require("./helper/Headers"));
81
- var UserDeserializers = __importStar(require("./helper/deserializers/Users"));
82
- var TweetDeserializers = __importStar(require("./helper/deserializers/Tweets"));
83
- /**
84
- * The different types of http requests.
85
- */
86
- var HttpMethods;
87
- (function (HttpMethods) {
88
- HttpMethods["POST"] = "POST";
89
- HttpMethods["GET"] = "GET";
90
- })(HttpMethods = exports.HttpMethods || (exports.HttpMethods = {}));
91
- ;
92
- /**
93
- * Handles all HTTP requests.
94
- * @internal
95
- *
96
- * This serves as the base service from which all other data services derive their behaviour.
97
- */
98
- var FetcherService = /** @class */ (function () {
99
- // MEMBER METHODS
100
- /**
101
- * @param auth The AuthService instance to use for authentication.
102
- */
103
- function FetcherService(auth) {
104
- this.auth = auth;
105
- this.cache = CacheService_1.CacheService.getInstance();
106
- this.isAuthenticated = this.auth.isAuthenticated;
107
- }
108
- /**
109
- * The middleware for handling any HTTP error.
110
- *
111
- * @param res The response object received.
112
- * @throws {@link HttpStatus}.
113
- * @returns The received response, if no HTTP errors are found.
114
- */
115
- FetcherService.prototype.handleHTTPError = function (res) {
116
- /**
117
- * If the status code is not 200 => the HTTP request was not successful. hence throwing error
118
- */
119
- if (res.statusCode != 200 && res.statusCode in HTTP_1.HttpStatus) {
120
- throw new Error(HTTP_1.HttpStatus[res.statusCode]);
121
- }
122
- return res;
123
- };
124
- /**
125
- * Creates an HTTP request according to the given parameters.
126
- *
127
- * This method internally uses node-libcurl library to make curl requests to the URL, instead of node-fetch.
128
- * This has been done since that way it better mimics the HTTP requests made from browser.
129
- *
130
- * @param url The url to fetch data from.
131
- * @param authenticate Whether to authenticate requests or not.
132
- * @param method The HTTP method (from {@link HttpMethods}) to use.
133
- * @param data The data to be sent along with the request (for POST request).
134
- * @returns The {@link CurlyResult} received.
135
- */
136
- FetcherService.prototype.request = function (url, authenticate, method, data) {
137
- if (authenticate === void 0) { authenticate = true; }
138
- if (method === void 0) { method = HttpMethods.GET; }
139
- return __awaiter(this, void 0, void 0, function () {
140
- var config, _a, _b, _c, _d, _e;
141
- var _f;
142
- var _this = this;
143
- return __generator(this, function (_g) {
144
- switch (_g.label) {
145
- case 0:
146
- _f = {};
147
- if (!authenticate) return [3 /*break*/, 2];
148
- _c = (_b = Headers).authorizedHeader;
149
- return [4 /*yield*/, this.auth.getAuthCredentials()];
150
- case 1:
151
- _a = _c.apply(_b, [_g.sent()]);
152
- return [3 /*break*/, 4];
153
- case 2:
154
- _e = (_d = Headers).guestHeader;
155
- return [4 /*yield*/, this.auth.getGuestCredentials()];
156
- case 3:
157
- _a = _e.apply(_d, [_g.sent()]);
158
- _g.label = 4;
159
- case 4:
160
- config = (
161
- /**
162
- * If authorization is required, using the authenticated header, using the authentication credentiials.
163
- * Else, using the guest header, using the guest credentials.
164
- */
165
- _f.httpHeader = _a,
166
- /**
167
- * Disabling SSL peer verification because verification causes Error 404 (only while fetching tweets), likely because peer verification fails.
168
- */
169
- _f.sslVerifyPeer = false,
170
- _f);
171
- if (!(method == HttpMethods.POST)) return [3 /*break*/, 6];
172
- return [4 /*yield*/, node_libcurl_1.curly.post(url, __assign(__assign({}, config), { postFields: JSON.stringify(data) })).then(function (res) { return _this.handleHTTPError(res); })];
173
- case 5: return [2 /*return*/, _g.sent()];
174
- case 6: return [4 /*yield*/, node_libcurl_1.curly.get(url, config).then(function (res) { return _this.handleHTTPError(res); })];
175
- case 7: return [2 /*return*/, _g.sent()];
176
- }
177
- });
178
- });
179
- };
180
- /**
181
- * Caches the extracted data into the {@link CacheService} instance.
182
- *
183
- * @param data The extracted data to be cached
184
- */
185
- FetcherService.prototype.cacheData = function (data) {
186
- /**
187
- * The extracted data is in raw form.
188
- * This raw data is deserialized into the respective known types.
189
- */
190
- var users = data.users.map(function (user) { return UserDeserializers.toUser(user); });
191
- var tweets = data.tweets.map(function (tweet) { return TweetDeserializers.toTweet(tweet); });
192
- // Caching the data
193
- this.cache.write(users);
194
- this.cache.write(tweets);
195
- };
196
- /**
197
- * Fetches the data with the given id from the cache.
198
- *
199
- * @param id The id of the data to be read from cache.
200
- * @returns The data with the given id. If does not exists, returns undefined.
201
- */
202
- FetcherService.prototype.readData = function (id) {
203
- // Reading data from cache
204
- return this.cache.read(id);
205
- };
206
- return FetcherService;
207
- }());
208
- exports.FetcherService = FetcherService;
209
- //# sourceMappingURL=FetcherService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FetcherService.js","sourceRoot":"","sources":["../../src/services/FetcherService.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Handles all operations related to a user's account, such as loggin in, managing account, etc
3
- * @public
4
- */
5
- export declare class AccountService {
6
- /** The AuthService instance to use for authentication. */
7
- private auth;
8
- /** The current guest credentials to use. */
9
- private guestCreds;
10
- /** The cookies received from Twitter after logging in. */
11
- private cookies;
12
- /** The flow token received after execution of current flow. */
13
- private flowToken;
14
- constructor();
15
- /**
16
- * @returns The current guest credentials to use. If if does not exists, then a new one is created
17
- */
18
- private getGuestCredentials;
19
- /**
20
- * Step 1: Initiates login
21
- * @internal
22
- */
23
- private initiateLogin;
24
- /**
25
- * Step 2: Does something
26
- * @internal
27
- */
28
- private jsInstrumentationSubtask;
29
- /**
30
- * Step 3: Takes the email for login
31
- * @internal
32
- *
33
- * @throws {@link AuthenticationErrors.InvalidEmail}, if email does not exist.
34
- */
35
- private enterUserIdentifier;
36
- /**
37
- * Step 4: Takes the username for login
38
- * @internal
39
- *
40
- * @throws {@link AuthenticationErrors.InvalidUsername}, if wrong username entered.
41
- */
42
- private enterAlternateUserIdentifier;
43
- /**
44
- * Step 5: Takes the password for login
45
- * @internal
46
- *
47
- * @throws {@link AuthenticationErrors.InvalidPassword}, incorrect password entered.
48
- */
49
- private enterPassword;
50
- /**
51
- * Step 6: Gets the actual cookies
52
- * @internal
53
- */
54
- private accountDuplicationCheck;
55
- /**
56
- * Login to Twitter using the given credentials and get back the cookies.
57
- * @public
58
- *
59
- * @param email The email of the account to be logged into
60
- * @param userName The username associated with the given account
61
- * @param password The password to the account
62
- * @returns The cookies for authenticating with the given account
63
- */
64
- login(email: string, userName: string, password: string): Promise<string>;
65
- }