@book000/twitterts 0.57.55 → 0.58.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/dist/converter.d.ts +48 -0
  2. package/dist/converter.d.ts.map +1 -1
  3. package/dist/converter.js +94 -17
  4. package/dist/converter.js.map +1 -1
  5. package/dist/generate-types/custom-types-generator.d.ts +60 -1
  6. package/dist/generate-types/custom-types-generator.d.ts.map +1 -1
  7. package/dist/generate-types/custom-types-generator.js +213 -24
  8. package/dist/generate-types/custom-types-generator.js.map +1 -1
  9. package/dist/generate-types/endpoint-type-generator.d.ts +59 -5
  10. package/dist/generate-types/endpoint-type-generator.d.ts.map +1 -1
  11. package/dist/generate-types/endpoint-type-generator.js +63 -9
  12. package/dist/generate-types/endpoint-type-generator.js.map +1 -1
  13. package/dist/generate-types/types-generator.d.ts +42 -1
  14. package/dist/generate-types/types-generator.d.ts.map +1 -1
  15. package/dist/generate-types/types-generator.js +28 -6
  16. package/dist/generate-types/types-generator.js.map +1 -1
  17. package/dist/generate-types/utils.d.ts +39 -0
  18. package/dist/generate-types/utils.d.ts.map +1 -1
  19. package/dist/generate-types/utils.js +39 -0
  20. package/dist/generate-types/utils.js.map +1 -1
  21. package/dist/generate-types.js +65 -23
  22. package/dist/generate-types.js.map +1 -1
  23. package/dist/migrate-saved-response.js +24 -4
  24. package/dist/migrate-saved-response.js.map +1 -1
  25. package/dist/models/exceptions.d.ts +33 -0
  26. package/dist/models/exceptions.d.ts.map +1 -1
  27. package/dist/models/exceptions.js +33 -0
  28. package/dist/models/exceptions.js.map +1 -1
  29. package/dist/models/responses/custom/custom-entity-video-info-object.d.ts +11 -0
  30. package/dist/models/responses/custom/custom-entity-video-info-object.d.ts.map +1 -0
  31. package/dist/models/responses/custom/custom-entity-video-info-object.js +4 -0
  32. package/dist/models/responses/custom/custom-entity-video-info-object.js.map +1 -0
  33. package/dist/models/responses/custom/custom-graph-qltimeline-success-response.d.ts +11372 -3028
  34. package/dist/models/responses/custom/custom-graph-qltimeline-success-response.d.ts.map +1 -1
  35. package/dist/models/responses/custom/custom-graph-qltimeline-success-response.js +1 -0
  36. package/dist/models/responses/custom/custom-graph-qltimeline-success-response.js.map +1 -1
  37. package/dist/models/responses/custom/custom-search-timeline-entry.d.ts +2225 -316
  38. package/dist/models/responses/custom/custom-search-timeline-entry.d.ts.map +1 -1
  39. package/dist/models/responses/custom/custom-search-timeline-entry.js +1 -0
  40. package/dist/models/responses/custom/custom-search-timeline-entry.js.map +1 -1
  41. package/dist/models/responses/custom/custom-timeline-tweet-entry.d.ts +9410 -3511
  42. package/dist/models/responses/custom/custom-timeline-tweet-entry.d.ts.map +1 -1
  43. package/dist/models/responses/custom/custom-timeline-tweet-entry.js +1 -0
  44. package/dist/models/responses/custom/custom-timeline-tweet-entry.js.map +1 -1
  45. package/dist/models/responses/custom/custom-tweet-legacy-object.d.ts +4409 -1115
  46. package/dist/models/responses/custom/custom-tweet-legacy-object.d.ts.map +1 -1
  47. package/dist/models/responses/custom/custom-tweet-legacy-object.js +1 -0
  48. package/dist/models/responses/custom/custom-tweet-legacy-object.js.map +1 -1
  49. package/dist/models/responses/custom/custom-tweet-object.d.ts +10845 -2154
  50. package/dist/models/responses/custom/custom-tweet-object.d.ts.map +1 -1
  51. package/dist/models/responses/custom/custom-tweet-object.js +1 -0
  52. package/dist/models/responses/custom/custom-tweet-object.js.map +1 -1
  53. package/dist/models/responses/custom/custom-user-legacy-object.d.ts +9 -8
  54. package/dist/models/responses/custom/custom-user-legacy-object.d.ts.map +1 -1
  55. package/dist/models/responses/custom/custom-user-legacy-object.js +1 -0
  56. package/dist/models/responses/custom/custom-user-legacy-object.js.map +1 -1
  57. package/dist/models/responses/custom/custom-user-like-tweet-entry.d.ts +1483 -1224
  58. package/dist/models/responses/custom/custom-user-like-tweet-entry.d.ts.map +1 -1
  59. package/dist/models/responses/custom/custom-user-like-tweet-entry.js +1 -0
  60. package/dist/models/responses/custom/custom-user-like-tweet-entry.js.map +1 -1
  61. package/dist/models/responses/custom/custom-user-tweet-entry.d.ts +10995 -2446
  62. package/dist/models/responses/custom/custom-user-tweet-entry.d.ts.map +1 -1
  63. package/dist/models/responses/custom/custom-user-tweet-entry.js +1 -0
  64. package/dist/models/responses/custom/custom-user-tweet-entry.js.map +1 -1
  65. package/dist/models/responses/endpoints.d.ts +61 -36
  66. package/dist/models/responses/endpoints.d.ts.map +1 -1
  67. package/dist/models/responses/graphql/get/article-nudge-domains-error.d.ts +1 -0
  68. package/dist/models/responses/graphql/get/article-nudge-domains-error.d.ts.map +1 -1
  69. package/dist/models/responses/graphql/get/article-nudge-domains-error.js +1 -0
  70. package/dist/models/responses/graphql/get/article-nudge-domains-error.js.map +1 -1
  71. package/dist/models/responses/graphql/get/article-nudge-domains-success.d.ts +1 -0
  72. package/dist/models/responses/graphql/get/article-nudge-domains-success.d.ts.map +1 -1
  73. package/dist/models/responses/graphql/get/article-nudge-domains-success.js +1 -0
  74. package/dist/models/responses/graphql/get/article-nudge-domains-success.js.map +1 -1
  75. package/dist/models/responses/graphql/get/audio-space-by-id-success.d.ts +1446 -32
  76. package/dist/models/responses/graphql/get/audio-space-by-id-success.d.ts.map +1 -1
  77. package/dist/models/responses/graphql/get/audio-space-by-id-success.js +1 -0
  78. package/dist/models/responses/graphql/get/audio-space-by-id-success.js.map +1 -1
  79. package/dist/models/responses/graphql/get/authenticated-user-tflists-success.d.ts +1 -0
  80. package/dist/models/responses/graphql/get/authenticated-user-tflists-success.d.ts.map +1 -1
  81. package/dist/models/responses/graphql/get/authenticated-user-tflists-success.js +1 -0
  82. package/dist/models/responses/graphql/get/authenticated-user-tflists-success.js.map +1 -1
  83. package/dist/models/responses/graphql/get/bookmarks-success.d.ts +1 -0
  84. package/dist/models/responses/graphql/get/bookmarks-success.d.ts.map +1 -1
  85. package/dist/models/responses/graphql/get/bookmarks-success.js +1 -0
  86. package/dist/models/responses/graphql/get/bookmarks-success.js.map +1 -1
  87. package/dist/models/responses/graphql/get/communities-tab-bar-item-query-error.d.ts +8 -0
  88. package/dist/models/responses/graphql/get/communities-tab-bar-item-query-error.d.ts.map +1 -0
  89. package/dist/models/responses/graphql/get/communities-tab-bar-item-query-error.js +4 -0
  90. package/dist/models/responses/graphql/get/communities-tab-bar-item-query-error.js.map +1 -0
  91. package/dist/models/responses/graphql/get/communities-tab-bar-item-query-success.d.ts +7 -1
  92. package/dist/models/responses/graphql/get/communities-tab-bar-item-query-success.d.ts.map +1 -1
  93. package/dist/models/responses/graphql/get/communities-tab-bar-item-query-success.js +1 -0
  94. package/dist/models/responses/graphql/get/communities-tab-bar-item-query-success.js.map +1 -1
  95. package/dist/models/responses/graphql/get/connect-tab-timeline-success.d.ts +1 -0
  96. package/dist/models/responses/graphql/get/connect-tab-timeline-success.d.ts.map +1 -1
  97. package/dist/models/responses/graphql/get/connect-tab-timeline-success.js +1 -0
  98. package/dist/models/responses/graphql/get/connect-tab-timeline-success.js.map +1 -1
  99. package/dist/models/responses/graphql/get/data-saver-mode-error.d.ts +1 -0
  100. package/dist/models/responses/graphql/get/data-saver-mode-error.d.ts.map +1 -1
  101. package/dist/models/responses/graphql/get/data-saver-mode-error.js +1 -0
  102. package/dist/models/responses/graphql/get/data-saver-mode-error.js.map +1 -1
  103. package/dist/models/responses/graphql/get/data-saver-mode-success.d.ts +1 -0
  104. package/dist/models/responses/graphql/get/data-saver-mode-success.d.ts.map +1 -1
  105. package/dist/models/responses/graphql/get/data-saver-mode-success.js +1 -0
  106. package/dist/models/responses/graphql/get/data-saver-mode-success.js.map +1 -1
  107. package/dist/models/responses/graphql/get/dmpinned-inbox-query-success.d.ts +1 -0
  108. package/dist/models/responses/graphql/get/dmpinned-inbox-query-success.d.ts.map +1 -1
  109. package/dist/models/responses/graphql/get/dmpinned-inbox-query-success.js +1 -0
  110. package/dist/models/responses/graphql/get/dmpinned-inbox-query-success.js.map +1 -1
  111. package/dist/models/responses/graphql/get/follow-host-button-query-success.d.ts +1 -0
  112. package/dist/models/responses/graphql/get/follow-host-button-query-success.d.ts.map +1 -1
  113. package/dist/models/responses/graphql/get/follow-host-button-query-success.js +1 -0
  114. package/dist/models/responses/graphql/get/follow-host-button-query-success.js.map +1 -1
  115. package/dist/models/responses/graphql/get/get-alt-text-prompt-preference-error.d.ts +1 -0
  116. package/dist/models/responses/graphql/get/get-alt-text-prompt-preference-error.d.ts.map +1 -1
  117. package/dist/models/responses/graphql/get/get-alt-text-prompt-preference-error.js +1 -0
  118. package/dist/models/responses/graphql/get/get-alt-text-prompt-preference-error.js.map +1 -1
  119. package/dist/models/responses/graphql/get/get-alt-text-prompt-preference-success.d.ts +1 -0
  120. package/dist/models/responses/graphql/get/get-alt-text-prompt-preference-success.d.ts.map +1 -1
  121. package/dist/models/responses/graphql/get/get-alt-text-prompt-preference-success.js +1 -0
  122. package/dist/models/responses/graphql/get/get-alt-text-prompt-preference-success.js.map +1 -1
  123. package/dist/models/responses/graphql/get/get-user-claims-error.d.ts +1 -0
  124. package/dist/models/responses/graphql/get/get-user-claims-error.d.ts.map +1 -1
  125. package/dist/models/responses/graphql/get/get-user-claims-error.js +1 -0
  126. package/dist/models/responses/graphql/get/get-user-claims-error.js.map +1 -1
  127. package/dist/models/responses/graphql/get/get-user-claims-success.d.ts +1 -0
  128. package/dist/models/responses/graphql/get/get-user-claims-success.d.ts.map +1 -1
  129. package/dist/models/responses/graphql/get/get-user-claims-success.js +1 -0
  130. package/dist/models/responses/graphql/get/get-user-claims-success.js.map +1 -1
  131. package/dist/models/responses/graphql/get/home-latest-timeline-error.d.ts +8 -0
  132. package/dist/models/responses/graphql/get/home-latest-timeline-error.d.ts.map +1 -0
  133. package/dist/models/responses/graphql/get/home-latest-timeline-error.js +4 -0
  134. package/dist/models/responses/graphql/get/home-latest-timeline-error.js.map +1 -0
  135. package/dist/models/responses/graphql/get/home-latest-timeline-success.d.ts +7278 -2237
  136. package/dist/models/responses/graphql/get/home-latest-timeline-success.d.ts.map +1 -1
  137. package/dist/models/responses/graphql/get/home-latest-timeline-success.js +1 -0
  138. package/dist/models/responses/graphql/get/home-latest-timeline-success.js.map +1 -1
  139. package/dist/models/responses/graphql/get/home-timeline-success.d.ts +11757 -2587
  140. package/dist/models/responses/graphql/get/home-timeline-success.d.ts.map +1 -1
  141. package/dist/models/responses/graphql/get/home-timeline-success.js +1 -0
  142. package/dist/models/responses/graphql/get/home-timeline-success.js.map +1 -1
  143. package/dist/models/responses/graphql/get/likes-error.d.ts +1 -0
  144. package/dist/models/responses/graphql/get/likes-error.d.ts.map +1 -1
  145. package/dist/models/responses/graphql/get/likes-error.js +1 -0
  146. package/dist/models/responses/graphql/get/likes-error.js.map +1 -1
  147. package/dist/models/responses/graphql/get/likes-success.d.ts +1496 -1220
  148. package/dist/models/responses/graphql/get/likes-success.d.ts.map +1 -1
  149. package/dist/models/responses/graphql/get/likes-success.js +1 -0
  150. package/dist/models/responses/graphql/get/likes-success.js.map +1 -1
  151. package/dist/models/responses/graphql/get/list-latest-tweets-timeline-success.d.ts +3375 -1587
  152. package/dist/models/responses/graphql/get/list-latest-tweets-timeline-success.d.ts.map +1 -1
  153. package/dist/models/responses/graphql/get/list-latest-tweets-timeline-success.js +1 -0
  154. package/dist/models/responses/graphql/get/list-latest-tweets-timeline-success.js.map +1 -1
  155. package/dist/models/responses/graphql/get/list-pins-error.d.ts +1 -0
  156. package/dist/models/responses/graphql/get/list-pins-error.d.ts.map +1 -1
  157. package/dist/models/responses/graphql/get/list-pins-error.js +1 -0
  158. package/dist/models/responses/graphql/get/list-pins-error.js.map +1 -1
  159. package/dist/models/responses/graphql/get/list-pins-success.d.ts +4 -3
  160. package/dist/models/responses/graphql/get/list-pins-success.d.ts.map +1 -1
  161. package/dist/models/responses/graphql/get/list-pins-success.js +1 -0
  162. package/dist/models/responses/graphql/get/list-pins-success.js.map +1 -1
  163. package/dist/models/responses/graphql/get/lists-management-page-timeline-success.d.ts +1 -0
  164. package/dist/models/responses/graphql/get/lists-management-page-timeline-success.d.ts.map +1 -1
  165. package/dist/models/responses/graphql/get/lists-management-page-timeline-success.js +1 -0
  166. package/dist/models/responses/graphql/get/lists-management-page-timeline-success.js.map +1 -1
  167. package/dist/models/responses/graphql/get/pinned-timelines-error.d.ts +8 -0
  168. package/dist/models/responses/graphql/get/pinned-timelines-error.d.ts.map +1 -0
  169. package/dist/models/responses/graphql/get/pinned-timelines-error.js +4 -0
  170. package/dist/models/responses/graphql/get/pinned-timelines-error.js.map +1 -0
  171. package/dist/models/responses/graphql/get/pinned-timelines-success.d.ts +168 -0
  172. package/dist/models/responses/graphql/get/pinned-timelines-success.d.ts.map +1 -0
  173. package/dist/models/responses/graphql/get/pinned-timelines-success.js +4 -0
  174. package/dist/models/responses/graphql/get/pinned-timelines-success.js.map +1 -0
  175. package/dist/models/responses/graphql/get/profile-spotlights-query-error.d.ts +2 -1
  176. package/dist/models/responses/graphql/get/profile-spotlights-query-error.d.ts.map +1 -1
  177. package/dist/models/responses/graphql/get/profile-spotlights-query-error.js +1 -0
  178. package/dist/models/responses/graphql/get/profile-spotlights-query-error.js.map +1 -1
  179. package/dist/models/responses/graphql/get/profile-spotlights-query-success.d.ts +171 -1
  180. package/dist/models/responses/graphql/get/profile-spotlights-query-success.d.ts.map +1 -1
  181. package/dist/models/responses/graphql/get/profile-spotlights-query-success.js +1 -0
  182. package/dist/models/responses/graphql/get/profile-spotlights-query-success.js.map +1 -1
  183. package/dist/models/responses/graphql/get/quick-promote-eligibility-success.d.ts +1 -0
  184. package/dist/models/responses/graphql/get/quick-promote-eligibility-success.d.ts.map +1 -1
  185. package/dist/models/responses/graphql/get/quick-promote-eligibility-success.js +1 -0
  186. package/dist/models/responses/graphql/get/quick-promote-eligibility-success.js.map +1 -1
  187. package/dist/models/responses/graphql/get/search-timeline-error.d.ts +8 -0
  188. package/dist/models/responses/graphql/get/search-timeline-error.d.ts.map +1 -0
  189. package/dist/models/responses/graphql/get/search-timeline-error.js +4 -0
  190. package/dist/models/responses/graphql/get/search-timeline-error.js.map +1 -0
  191. package/dist/models/responses/graphql/get/search-timeline-success.d.ts +2244 -242
  192. package/dist/models/responses/graphql/get/search-timeline-success.d.ts.map +1 -1
  193. package/dist/models/responses/graphql/get/search-timeline-success.js +1 -0
  194. package/dist/models/responses/graphql/get/search-timeline-success.js.map +1 -1
  195. package/dist/models/responses/graphql/get/tweet-detail-error.d.ts +1 -0
  196. package/dist/models/responses/graphql/get/tweet-detail-error.d.ts.map +1 -1
  197. package/dist/models/responses/graphql/get/tweet-detail-error.js +1 -0
  198. package/dist/models/responses/graphql/get/tweet-detail-error.js.map +1 -1
  199. package/dist/models/responses/graphql/get/tweet-detail-success.d.ts +7359 -435
  200. package/dist/models/responses/graphql/get/tweet-detail-success.d.ts.map +1 -1
  201. package/dist/models/responses/graphql/get/tweet-detail-success.js +1 -0
  202. package/dist/models/responses/graphql/get/tweet-detail-success.js.map +1 -1
  203. package/dist/models/responses/graphql/get/tweet-result-by-rest-id-success.d.ts +1964 -0
  204. package/dist/models/responses/graphql/get/tweet-result-by-rest-id-success.d.ts.map +1 -0
  205. package/dist/models/responses/graphql/get/tweet-result-by-rest-id-success.js +4 -0
  206. package/dist/models/responses/graphql/get/tweet-result-by-rest-id-success.js.map +1 -0
  207. package/dist/models/responses/graphql/get/use-fetch-profile-blocks-profile-exists-query-error.d.ts +8 -0
  208. package/dist/models/responses/graphql/get/use-fetch-profile-blocks-profile-exists-query-error.d.ts.map +1 -0
  209. package/dist/models/responses/graphql/get/use-fetch-profile-blocks-profile-exists-query-error.js +4 -0
  210. package/dist/models/responses/graphql/get/use-fetch-profile-blocks-profile-exists-query-error.js.map +1 -0
  211. package/dist/models/responses/graphql/get/use-fetch-profile-blocks-profile-exists-query-success.d.ts +14 -0
  212. package/dist/models/responses/graphql/get/use-fetch-profile-blocks-profile-exists-query-success.d.ts.map +1 -0
  213. package/dist/models/responses/graphql/get/use-fetch-profile-blocks-profile-exists-query-success.js +4 -0
  214. package/dist/models/responses/graphql/get/use-fetch-profile-blocks-profile-exists-query-success.js.map +1 -0
  215. package/dist/models/responses/graphql/get/user-by-rest-id-error.d.ts +8 -0
  216. package/dist/models/responses/graphql/get/user-by-rest-id-error.d.ts.map +1 -0
  217. package/dist/models/responses/graphql/get/user-by-rest-id-error.js +4 -0
  218. package/dist/models/responses/graphql/get/user-by-rest-id-error.js.map +1 -0
  219. package/dist/models/responses/graphql/get/user-by-rest-id-success.d.ts +49 -6
  220. package/dist/models/responses/graphql/get/user-by-rest-id-success.d.ts.map +1 -1
  221. package/dist/models/responses/graphql/get/user-by-rest-id-success.js +1 -0
  222. package/dist/models/responses/graphql/get/user-by-rest-id-success.js.map +1 -1
  223. package/dist/models/responses/graphql/get/user-by-screen-name-error.d.ts +1 -0
  224. package/dist/models/responses/graphql/get/user-by-screen-name-error.d.ts.map +1 -1
  225. package/dist/models/responses/graphql/get/user-by-screen-name-error.js +1 -0
  226. package/dist/models/responses/graphql/get/user-by-screen-name-error.js.map +1 -1
  227. package/dist/models/responses/graphql/get/user-by-screen-name-success.d.ts +44 -19
  228. package/dist/models/responses/graphql/get/user-by-screen-name-success.d.ts.map +1 -1
  229. package/dist/models/responses/graphql/get/user-by-screen-name-success.js +1 -0
  230. package/dist/models/responses/graphql/get/user-by-screen-name-success.js.map +1 -1
  231. package/dist/models/responses/graphql/get/user-media-success.d.ts +1 -0
  232. package/dist/models/responses/graphql/get/user-media-success.d.ts.map +1 -1
  233. package/dist/models/responses/graphql/get/user-media-success.js +1 -0
  234. package/dist/models/responses/graphql/get/user-media-success.js.map +1 -1
  235. package/dist/models/responses/graphql/get/user-tweets-and-replies-success.d.ts +1 -0
  236. package/dist/models/responses/graphql/get/user-tweets-and-replies-success.d.ts.map +1 -1
  237. package/dist/models/responses/graphql/get/user-tweets-and-replies-success.js +1 -0
  238. package/dist/models/responses/graphql/get/user-tweets-and-replies-success.js.map +1 -1
  239. package/dist/models/responses/graphql/get/user-tweets-error.d.ts +1 -0
  240. package/dist/models/responses/graphql/get/user-tweets-error.d.ts.map +1 -1
  241. package/dist/models/responses/graphql/get/user-tweets-error.js +1 -0
  242. package/dist/models/responses/graphql/get/user-tweets-error.js.map +1 -1
  243. package/dist/models/responses/graphql/get/user-tweets-success.d.ts +18299 -3027
  244. package/dist/models/responses/graphql/get/user-tweets-success.d.ts.map +1 -1
  245. package/dist/models/responses/graphql/get/user-tweets-success.js +1 -0
  246. package/dist/models/responses/graphql/get/user-tweets-success.js.map +1 -1
  247. package/dist/models/responses/graphql/get/users-by-rest-ids-success.d.ts +1 -0
  248. package/dist/models/responses/graphql/get/users-by-rest-ids-success.d.ts.map +1 -1
  249. package/dist/models/responses/graphql/get/users-by-rest-ids-success.js +1 -0
  250. package/dist/models/responses/graphql/get/users-by-rest-ids-success.js.map +1 -1
  251. package/dist/models/responses/graphql/get/users-verified-avatars-success.d.ts +1 -0
  252. package/dist/models/responses/graphql/get/users-verified-avatars-success.d.ts.map +1 -1
  253. package/dist/models/responses/graphql/get/users-verified-avatars-success.js +1 -0
  254. package/dist/models/responses/graphql/get/users-verified-avatars-success.js.map +1 -1
  255. package/dist/models/responses/graphql/get/viewer-error.d.ts +8 -0
  256. package/dist/models/responses/graphql/get/viewer-error.d.ts.map +1 -0
  257. package/dist/models/responses/graphql/get/viewer-error.js +4 -0
  258. package/dist/models/responses/graphql/get/viewer-error.js.map +1 -0
  259. package/dist/models/responses/graphql/get/viewer-success.d.ts +76 -26
  260. package/dist/models/responses/graphql/get/viewer-success.d.ts.map +1 -1
  261. package/dist/models/responses/graphql/get/viewer-success.js +1 -0
  262. package/dist/models/responses/graphql/get/viewer-success.js.map +1 -1
  263. package/dist/models/responses/graphql/post/create-retweet-success.d.ts +1 -0
  264. package/dist/models/responses/graphql/post/create-retweet-success.d.ts.map +1 -1
  265. package/dist/models/responses/graphql/post/create-retweet-success.js +1 -0
  266. package/dist/models/responses/graphql/post/create-retweet-success.js.map +1 -1
  267. package/dist/models/responses/graphql/post/delete-retweet-success.d.ts +1 -0
  268. package/dist/models/responses/graphql/post/delete-retweet-success.d.ts.map +1 -1
  269. package/dist/models/responses/graphql/post/delete-retweet-success.js +1 -0
  270. package/dist/models/responses/graphql/post/delete-retweet-success.js.map +1 -1
  271. package/dist/models/responses/graphql/post/favorite-tweet-success.d.ts +1 -0
  272. package/dist/models/responses/graphql/post/favorite-tweet-success.d.ts.map +1 -1
  273. package/dist/models/responses/graphql/post/favorite-tweet-success.js +1 -0
  274. package/dist/models/responses/graphql/post/favorite-tweet-success.js.map +1 -1
  275. package/dist/models/responses/graphql/post/home-latest-timeline-error.d.ts +1 -0
  276. package/dist/models/responses/graphql/post/home-latest-timeline-error.d.ts.map +1 -1
  277. package/dist/models/responses/graphql/post/home-latest-timeline-error.js +1 -0
  278. package/dist/models/responses/graphql/post/home-latest-timeline-error.js.map +1 -1
  279. package/dist/models/responses/graphql/post/home-latest-timeline-success.d.ts +8155 -2720
  280. package/dist/models/responses/graphql/post/home-latest-timeline-success.d.ts.map +1 -1
  281. package/dist/models/responses/graphql/post/home-latest-timeline-success.js +1 -0
  282. package/dist/models/responses/graphql/post/home-latest-timeline-success.js.map +1 -1
  283. package/dist/models/responses/graphql/post/home-timeline-success.d.ts +10471 -2451
  284. package/dist/models/responses/graphql/post/home-timeline-success.d.ts.map +1 -1
  285. package/dist/models/responses/graphql/post/home-timeline-success.js +1 -0
  286. package/dist/models/responses/graphql/post/home-timeline-success.js.map +1 -1
  287. package/dist/models/responses/graphql/post/put-client-education-flag-success.d.ts +1 -0
  288. package/dist/models/responses/graphql/post/put-client-education-flag-success.d.ts.map +1 -1
  289. package/dist/models/responses/graphql/post/put-client-education-flag-success.js +1 -0
  290. package/dist/models/responses/graphql/post/put-client-education-flag-success.js.map +1 -1
  291. package/dist/models/responses/graphql/post/unfavorite-tweet-success.d.ts +1 -0
  292. package/dist/models/responses/graphql/post/unfavorite-tweet-success.d.ts.map +1 -1
  293. package/dist/models/responses/graphql/post/unfavorite-tweet-success.js +1 -0
  294. package/dist/models/responses/graphql/post/unfavorite-tweet-success.js.map +1 -1
  295. package/dist/options.d.ts +72 -0
  296. package/dist/options.d.ts.map +1 -1
  297. package/dist/options.js +14 -0
  298. package/dist/options.js.map +1 -1
  299. package/dist/parser/base.d.ts +6 -0
  300. package/dist/parser/base.d.ts.map +1 -1
  301. package/dist/parser/base.js +6 -0
  302. package/dist/parser/base.js.map +1 -1
  303. package/dist/parser/home-timeline-parser.d.ts +11 -0
  304. package/dist/parser/home-timeline-parser.d.ts.map +1 -1
  305. package/dist/parser/home-timeline-parser.js +14 -0
  306. package/dist/parser/home-timeline-parser.js.map +1 -1
  307. package/dist/parser/search-timeline.d.ts +11 -0
  308. package/dist/parser/search-timeline.d.ts.map +1 -1
  309. package/dist/parser/search-timeline.js +14 -0
  310. package/dist/parser/search-timeline.js.map +1 -1
  311. package/dist/parser/user-like-tweets.d.ts +11 -0
  312. package/dist/parser/user-like-tweets.d.ts.map +1 -1
  313. package/dist/parser/user-like-tweets.js +11 -0
  314. package/dist/parser/user-like-tweets.js.map +1 -1
  315. package/dist/parser/user-tweets.d.ts +11 -0
  316. package/dist/parser/user-tweets.d.ts.map +1 -1
  317. package/dist/parser/user-tweets.js +11 -0
  318. package/dist/parser/user-tweets.js.map +1 -1
  319. package/dist/save-responses.js +11 -0
  320. package/dist/save-responses.js.map +1 -1
  321. package/dist/saving-responses/index.d.ts +81 -0
  322. package/dist/saving-responses/index.d.ts.map +1 -1
  323. package/dist/saving-responses/index.js +105 -4
  324. package/dist/saving-responses/index.js.map +1 -1
  325. package/dist/scraper.d.ts +247 -0
  326. package/dist/scraper.d.ts.map +1 -1
  327. package/dist/scraper.js +144 -0
  328. package/dist/scraper.js.map +1 -1
  329. package/dist/tsconfig.build.tsbuildinfo +1 -1
  330. package/dist/twitter.d.ts +119 -0
  331. package/dist/twitter.d.ts.map +1 -1
  332. package/dist/twitter.js +163 -1
  333. package/dist/twitter.js.map +1 -1
  334. package/package.json +2 -2
  335. package/dist/parser/parser.test.d.ts +0 -2
  336. package/dist/parser/parser.test.d.ts.map +0 -1
  337. package/dist/parser/parser.test.js +0 -92
  338. package/dist/parser/parser.test.js.map +0 -1
package/dist/scraper.js CHANGED
@@ -9,6 +9,9 @@ const otplib_1 = require("otplib");
9
9
  const exceptions_1 = require("./models/exceptions");
10
10
  const promises_1 = require("node:timers/promises");
11
11
  const saving_responses_1 = require("./saving-responses");
12
+ /**
13
+ * レスポンスの URL として対象とする URL の定義
14
+ */
12
15
  const targetUrls = [
13
16
  {
14
17
  type: 'GRAPHQL',
@@ -63,6 +66,8 @@ function getEndpoint(url) {
63
66
  if (!part) {
64
67
  break;
65
68
  }
69
+ // 以降の値を結合。但し拡張子は除く
70
+ // 例: blocks/create.json -> blocks/create
66
71
  name = pathnameParts
67
72
  .slice(index)
68
73
  .join('/')
@@ -83,6 +88,13 @@ function getEndpoint(url) {
83
88
  }
84
89
  return null;
85
90
  }
91
+ /**
92
+ * 取得したレスポンスのチェックを行い、詳細を返します。
93
+ * レスポンスのチェックに失敗した場合は null を返します。
94
+ *
95
+ * @param response チェックし、詳細を返したいレスポンス
96
+ * @returns レスポンスの詳細。チェックに失敗した場合は null
97
+ */
86
98
  async function getResponseDetails(response) {
87
99
  if (response.request().method() === 'OPTIONS') {
88
100
  return null;
@@ -100,9 +112,12 @@ async function getResponseDetails(response) {
100
112
  }
101
113
  const method = response.request().method();
102
114
  const type = endpoint.type;
115
+ // name に / がある場合は、その次の文字を大文字にする
116
+ // name に _ がある場合は、その次の文字を大文字にする
103
117
  let name = endpoint.name.replaceAll(/[/_](.)/g, (_, p1) => p1.toLocaleUpperCase());
104
118
  const overrideName = endpoint.overrideName;
105
119
  if (overrideName) {
120
+ // overrideName で <NAME> より前に文字列がある場合は、name の先頭文字列を大文字にする
106
121
  if (overrideName.indexOf('<NAME>') > 0) {
107
122
  name = name.replace(/^(.)/, (_, p1) => p1.toLocaleUpperCase());
108
123
  }
@@ -121,16 +136,41 @@ async function getResponseDetails(response) {
121
136
  text,
122
137
  };
123
138
  }
139
+ /**
140
+ * レスポンスのキーを作成・取得します。
141
+ *
142
+ * @param input レスポンスのキーを作成・取得したいレスポンス
143
+ * @param input.method レスポンスの HTTP メソッド
144
+ * @param input.type レスポンスの種別
145
+ * @param input.name リクエストの名前
146
+ */
124
147
  function getResponseKey(input) {
125
148
  return `${input.type}_${input.method}_${input.name}`.toLocaleUpperCase();
126
149
  }
150
+ /**
151
+ * Twitter スクレイピング ページクラス
152
+ */
127
153
  class TwitterScraperPage {
154
+ /**
155
+ * @param page Puppeteer のページ
156
+ */
128
157
  constructor(page) {
158
+ /**
159
+ * レスポンスの保持オブジェクト
160
+ */
129
161
  this.responses = {};
130
162
  this.page = page;
131
163
  this.setRetentionResponse(page);
132
164
  }
165
+ /**
166
+ * 条件に一致するレスポンスをひとつのみ取得します。
167
+ * 指定した timeout 値 (ミリ秒) でタイムアウトします。指定しない場合は 30 秒でタイムアウトします。
168
+ *
169
+ * @param options レスポンス取得オプション
170
+ * @returns レスポンス
171
+ */
133
172
  async waitSingleResponse(url, method, type, name, timeout) {
173
+ // レスポンスを待つ
134
174
  const promise = new Promise((resolve, reject) => {
135
175
  const abortController = new AbortController();
136
176
  (0, promises_1.setTimeout)(timeout || 30000, null, {
@@ -140,6 +180,7 @@ class TwitterScraperPage {
140
180
  reject(new exceptions_1.TwitterTimeoutError('Response timeout.'));
141
181
  })
142
182
  .catch((error) => {
183
+ // ignore abort error
143
184
  if (abortController.signal.aborted) {
144
185
  return;
145
186
  }
@@ -170,11 +211,19 @@ class TwitterScraperPage {
170
211
  }
171
212
  }, 500);
172
213
  });
214
+ // ページ遷移
173
215
  if (url) {
174
216
  await this.page.goto(url);
175
217
  }
176
218
  return await promise;
177
219
  }
220
+ /**
221
+ * 条件に一致するレスポンスをひとつ取得します。繰り返し呼び出すことで複数のレスポンスを取得できます。
222
+ * waitSingleResponse と異なり、レスポンス待ちを行わず、ページ遷移もしません(goto メソッドによるページ遷移が必要です)。
223
+ *
224
+ * @param options レスポンス取得オプション
225
+ * @returns レスポンス。一致するレスポンスがない場合は null
226
+ */
178
227
  shiftResponse(method, type, name) {
179
228
  const key = getResponseKey({
180
229
  method,
@@ -198,11 +247,22 @@ class TwitterScraperPage {
198
247
  }
199
248
  return JSON.parse(response);
200
249
  }
250
+ /**
251
+ * 指定した URL に遷移します。
252
+ *
253
+ * @param url 遷移先 URL
254
+ */
201
255
  async goto(url) {
202
256
  await this.page.goto(url, {
203
257
  waitUntil: ['load', 'networkidle2'],
204
258
  });
205
259
  }
260
+ /**
261
+ * 要素を探し、描画範囲内に表示されるようにスクロールしたあと、クリックします。
262
+ * 要素が検索処理は、指定した timeout 値 (ミリ秒) でタイムアウトします。指定しない場合は 30 秒でタイムアウトします。
263
+ *
264
+ * @param selector 要素のセレクタ
265
+ */
206
266
  async waitAndClick(selector, isEvaluate = false, timeout) {
207
267
  const element = await this.page
208
268
  .waitForSelector(selector, {
@@ -217,11 +277,18 @@ class TwitterScraperPage {
217
277
  ? this.page.evaluate((selector) => {
218
278
  const element = document.querySelector(selector);
219
279
  if (element) {
280
+ // @ts-ignore
220
281
  element.click();
221
282
  }
222
283
  }, selector)
223
284
  : element.click());
224
285
  }
286
+ /**
287
+ * リダイレクトを待ち、リダイレクト先の URL を返します。
288
+ *
289
+ * @param sourceUrl リダイレクト前の URL
290
+ * @returns リダイレクト先の URL
291
+ */
225
292
  async getRedirectTo(sourceUrl, timeout = 30000) {
226
293
  return new Promise((resolve, reject) => {
227
294
  const abortController = new AbortController();
@@ -233,6 +300,7 @@ class TwitterScraperPage {
233
300
  reject(new exceptions_1.TwitterTimeoutError('Redirect timeout.'));
234
301
  })
235
302
  .catch((error) => {
303
+ // ignore abort error
236
304
  if (abortController.signal.aborted) {
237
305
  return;
238
306
  }
@@ -249,6 +317,9 @@ class TwitterScraperPage {
249
317
  }, 500);
250
318
  });
251
319
  }
320
+ /**
321
+ * ページの最下部までスクロールします。
322
+ */
252
323
  async scrollToBottom() {
253
324
  await this.page.evaluate(() => {
254
325
  const scrollHeight = document.documentElement.scrollHeight;
@@ -259,9 +330,17 @@ class TwitterScraperPage {
259
330
  });
260
331
  await (0, promises_1.setTimeout)(1000);
261
332
  }
333
+ /**
334
+ * ページを閉じます。
335
+ */
262
336
  async close() {
263
337
  await this.page.close();
264
338
  }
339
+ /**
340
+ * レスポンスを保持するようにハンドラを設定します。
341
+ *
342
+ * @param page Puppeteer ページインスタンス
343
+ */
265
344
  setRetentionResponse(page) {
266
345
  page.on('response', async (response) => {
267
346
  const details = await getResponseDetails(response);
@@ -275,7 +354,13 @@ class TwitterScraperPage {
275
354
  }
276
355
  }
277
356
  exports.TwitterScraperPage = TwitterScraperPage;
357
+ /**
358
+ * Twitter スクレイピングクラス
359
+ */
278
360
  class TwitterScraper {
361
+ /**
362
+ * @param options Twitter スクレイピングオプション
363
+ */
279
364
  constructor(options) {
280
365
  this.options = options;
281
366
  try {
@@ -286,9 +371,15 @@ class TwitterScraper {
286
371
  this.responseDatabase = null;
287
372
  }
288
373
  }
374
+ /**
375
+ * Twitter にログインします。
376
+ */
289
377
  async login() {
378
+ // データベース初期化
290
379
  await this.initDatabase();
380
+ // ブラウザ作成
291
381
  this.browser = await this.createBrowser();
382
+ // ログイン処理
292
383
  const loginPage = await this.newPage();
293
384
  await loginPage.goto('https://twitter.com', {
294
385
  waitUntil: ['load', 'networkidle2'],
@@ -306,19 +397,23 @@ class TwitterScraper {
306
397
  .waitForSelector('input[autocomplete="username"]')
307
398
  .then((element) => element?.type(username, { delay: 100 }))
308
399
  .catch((error) => new exceptions_1.TwitterOperationError('Username input not found.', error));
400
+ // next button
309
401
  await loginPage
310
402
  .waitForSelector('div[role="button"]:not([data-testid])')
311
403
  .then((element) => element?.click())
312
404
  .catch((error) => new exceptions_1.TwitterOperationError('Next button not found.', error));
313
405
  const password = this.options.password;
406
+ // password
314
407
  await loginPage
315
408
  .waitForSelector('input[autocomplete="current-password"]')
316
409
  .then((element) => element?.type(password, { delay: 100 }))
317
410
  .catch((error) => new exceptions_1.TwitterOperationError('Password input not found.', error));
411
+ // login button
318
412
  await loginPage
319
413
  .waitForSelector('div[role="button"][data-testid="LoginForm_Login_Button"]')
320
414
  .then((element) => element?.click())
321
415
  .catch((error) => new exceptions_1.TwitterOperationError('Login button not found.', error));
416
+ // need auth code ?
322
417
  const authCodeInput = await this.getElement(loginPage, 'input[data-testid="ocfEnterTextTextInput"]', 3000);
323
418
  if (authCodeInput) {
324
419
  const authCodeSecret = this.options.otpSecret;
@@ -340,6 +435,7 @@ class TwitterScraper {
340
435
  reject(new exceptions_1.TwitterTimeoutError('Login timeout.'));
341
436
  })
342
437
  .catch((error) => {
438
+ // ignore abort error
343
439
  if (abortController.signal.aborted) {
344
440
  return;
345
441
  }
@@ -357,10 +453,18 @@ class TwitterScraper {
357
453
  await loginPage.close();
358
454
  }
359
455
  }
456
+ /**
457
+ * TwitterScraperPage インスタンスを作成します。
458
+ *
459
+ * @returns TwitterScraperPage インスタンス
460
+ */
360
461
  async getScraperPage() {
361
462
  const page = await this.newPage();
362
463
  return new TwitterScraperPage(page);
363
464
  }
465
+ /**
466
+ * ブラウザを閉じます。
467
+ */
364
468
  async close() {
365
469
  if (this.browser) {
366
470
  await this.browser.close();
@@ -372,6 +476,11 @@ class TwitterScraper {
372
476
  getBrowser() {
373
477
  return this.browser;
374
478
  }
479
+ /**
480
+ * Puppeteer ブラウザインスタンスを作成します。
481
+ *
482
+ * @returns Puppeteer ブラウザインスタンス
483
+ */
375
484
  async createBrowser() {
376
485
  const width = this.options.puppeteerOptions?.defaultViewport?.width || 600;
377
486
  const height = this.options.puppeteerOptions?.defaultViewport?.height || 1000;
@@ -412,6 +521,9 @@ class TwitterScraper {
412
521
  });
413
522
  return browser;
414
523
  }
524
+ /**
525
+ * 新しいページを作成します。
526
+ */
415
527
  async newPage() {
416
528
  if (!this.browser) {
417
529
  throw new exceptions_1.TwitterOperationError('Failed to create page. Browser is not initialized.');
@@ -419,7 +531,11 @@ class TwitterScraper {
419
531
  const page = await this.browser.newPage();
420
532
  page.setDefaultNavigationTimeout(120 * 1000);
421
533
  await page.evaluateOnNewDocument(() => {
534
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
422
535
  Object.defineProperty(navigator, 'webdriver', () => { });
536
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
537
+ // @ts-ignore
538
+ // eslint-disable-next-line no-proto
423
539
  delete navigator.__proto__.webdriver;
424
540
  });
425
541
  if (this.options.puppeteerOptions?.proxy &&
@@ -433,6 +549,11 @@ class TwitterScraper {
433
549
  this.setAutoSaveResponse(page);
434
550
  return page;
435
551
  }
552
+ /**
553
+ * レスポンスを自動保存するハンドラを設定します。
554
+ *
555
+ * @param page Puppeteer ページインスタンス
556
+ */
436
557
  setAutoSaveResponse(page) {
437
558
  if (!this.options.debugOptions?.outputResponse?.enable) {
438
559
  return;
@@ -477,6 +598,12 @@ class TwitterScraper {
477
598
  });
478
599
  });
479
600
  }
601
+ /**
602
+ * 引数の値がJSONとしてパースできるかどうかを返します。
603
+ *
604
+ * @param value パースしたい値
605
+ * @returns パースできるかどうか
606
+ */
480
607
  isJSON(value) {
481
608
  try {
482
609
  JSON.parse(value);
@@ -486,6 +613,9 @@ class TwitterScraper {
486
613
  return false;
487
614
  }
488
615
  }
616
+ /**
617
+ * データベースを初期化します。
618
+ */
489
619
  async initDatabase() {
490
620
  if (!this.responseDatabase) {
491
621
  return;
@@ -500,6 +630,14 @@ class TwitterScraper {
500
630
  saving_responses_1.ResponseDatabase.printDebug('Sync responses database');
501
631
  await this.responseDatabase.sync();
502
632
  }
633
+ /**
634
+ * 指定したセレクタの要素を取得します。
635
+ *
636
+ * @param page Puppeteer ページインスタンス
637
+ * @param selector セレクタ
638
+ * @param timeout タイムアウトミリ秒
639
+ * @returns 要素。見つからなかった場合は null
640
+ */
503
641
  async getElement(page, selector, timeout = 3000) {
504
642
  try {
505
643
  return await page.waitForSelector(selector, { timeout });
@@ -508,6 +646,12 @@ class TwitterScraper {
508
646
  return null;
509
647
  }
510
648
  }
649
+ /**
650
+ * シークレットをもとに OTP を生成します。
651
+ *
652
+ * @param secret シークレット
653
+ * @returns OTP コード
654
+ */
511
655
  getOneTimePassword(secret) {
512
656
  return otplib_1.authenticator.generate(secret);
513
657
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}