@book000/twitterts 0.57.54 → 0.58.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 (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
@@ -14,11 +14,29 @@ export interface AddResponseOptions {
14
14
  responseHeaders: string | null;
15
15
  responseBody: string;
16
16
  }
17
+ /**
18
+ * レスポンスを保存するデータベースのオプション
19
+ */
17
20
  export interface ResponseDatabaseOptions {
21
+ /**
22
+ * ホスト名 (MySQL のみ)
23
+ */
18
24
  hostname?: string;
25
+ /**
26
+ * ポート (MySQL のみ)
27
+ */
19
28
  port?: string;
29
+ /**
30
+ * ユーザー名 (MySQL のみ)
31
+ */
20
32
  username?: string;
33
+ /**
34
+ * パスワード (MySQL のみ)
35
+ */
21
36
  password?: string;
37
+ /**
38
+ * データベース名 (MySQL のみ)
39
+ */
22
40
  database?: string;
23
41
  }
24
42
  export interface ResponseEndPoint {
@@ -34,23 +52,86 @@ interface GetResponseRangeOptions {
34
52
  page?: number;
35
53
  limit?: number;
36
54
  }
55
+ /**
56
+ * レスポンスを保存するデータベース
57
+ */
37
58
  export declare class ResponseDatabase {
38
59
  private dataSource;
39
60
  private partitions;
40
61
  constructor(options?: ResponseDatabaseOptions);
62
+ /**
63
+ * データソースを初期化する
64
+ *
65
+ * @returns 初期化に成功したかどうか
66
+ */
41
67
  init(): Promise<boolean>;
68
+ /**
69
+ * データソースをマイグレーションする
70
+ */
42
71
  migrate(): Promise<void>;
72
+ /**
73
+ * データソーススキーマを同期する
74
+ */
43
75
  sync(): Promise<void>;
76
+ /**
77
+ * レスポンスを追加する
78
+ *
79
+ * @param options レスポンスの追加オプション
80
+ * @returns 追加されたレスポンス
81
+ */
44
82
  addResponse(options: AddResponseOptions): Promise<DBResponse | undefined>;
83
+ /**
84
+ * レスポンスを取得する。但し直近90日間のレスポンスのみ取得可能
85
+ *
86
+ * @param endpoint エンドポイントの情報。指定しない場合はすべてのレスポンスを取得する
87
+ * @param rangeOptions 取得するレスポンスの範囲
88
+ *
89
+ * @returns レスポンスの配列
90
+ */
45
91
  getResponses(endpoint?: ResponseEndPoint | ResponseEndPoint[], rangeOptions?: GetResponseRangeOptions): Promise<DBResponse[]>;
92
+ /**
93
+ * レスポンスの数を取得する。但し直近90日間のレスポンスのみ取得可能
94
+ *
95
+ * @param endpoint エンドポイントの情報。指定しない場合はすべてのレスポンスを取得する
96
+ * @returns レスポンスの数
97
+ */
46
98
  getResponseCount(endpoint?: ResponseEndPoint | ResponseEndPoint[]): Promise<number>;
99
+ /**
100
+ * エンドポイントを取得する。但し直近90日間のレスポンスのみ取得可能
101
+ */
47
102
  getEndpoints(): Promise<ResponseEndPointWithCount[]>;
103
+ /**
104
+ * パーティションを取得する
105
+ *
106
+ * @returns パーティションの配列
107
+ */
48
108
  private getPartitions;
109
+ /**
110
+ * 日付パーティションを追加する
111
+ *
112
+ * @param date 日付
113
+ */
49
114
  addPartition(date: Date): Promise<void>;
115
+ /**
116
+ * 日付パーティションを初期化する
117
+ */
50
118
  initPartition(): Promise<void>;
51
119
  close(): Promise<void>;
52
120
  isInitialized(): boolean;
121
+ /**
122
+ * データソースを取得する
123
+ *
124
+ * @returns データソース
125
+ */
53
126
  getDataSource(): DataSource;
127
+ /**
128
+ * 環境変数で指定されたデータベースのポートをパースする。
129
+ * 数値にパースできない場合と1以上でない場合はエラーを投げる。
130
+ * undefinedの場合は、各データベースのデフォルトポートを使用する
131
+ *
132
+ * @param port データベースのポート
133
+ * @returns パースされたポート
134
+ */
54
135
  private parsePort;
55
136
  static printDebug(text: string, error?: Error): void;
56
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/saving-responses/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,WAAW,CAAA;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAE,MAAM,CAAA;CACrB;AAKD,MAAM,WAAW,uBAAuB;IAItC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAKjB,IAAI,CAAC,EAAE,MAAM,CAAA;IAKb,QAAQ,CAAC,EAAE,MAAM,CAAA;IAKjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAKjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,WAAW,CAAA;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,eAAe,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;CACnB;AACD,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5E,UAAU,uBAAuB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAKD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAe;gBAErB,OAAO,GAAE,uBAA4B;IAqCpC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,WAAW,CACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAuCrB,YAAY,CACvB,QAAQ,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,EAChD,YAAY,CAAC,EAAE,uBAAuB,GACrC,OAAO,CAAC,UAAU,EAAE,CAAC;IAmDX,gBAAgB,CAC3B,QAAQ,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAC/C,OAAO,CAAC,MAAM,CAAC;IAeL,YAAY,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;YAsBnD,aAAa;IAoBd,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,aAAa,IAAI,OAAO;IASxB,aAAa,IAAI,UAAU;IAYlC,OAAO,CAAC,SAAS;WAaH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;CAe5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/saving-responses/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ const typeorm_naming_strategies_1 = require("typeorm-naming-strategies");
9
9
  const response_entity_1 = require("./response-entity");
10
10
  const exceptions_1 = require("../models/exceptions");
11
11
  const node_crypto_1 = __importDefault(require("node:crypto"));
12
+ /**
13
+ * レスポンスを保存するデータベース
14
+ */
12
15
  class ResponseDatabase {
13
16
  constructor(options = {}) {
14
17
  this.partitions = [];
@@ -19,6 +22,8 @@ class ResponseDatabase {
19
22
  DB_PASSWORD: options.password || process.env.RESPONSE_DB_PASSWORD,
20
23
  DB_DATABASE: options.database || process.env.RESPONSE_DB_DATABASE,
21
24
  };
25
+ // DB_PORTがintパースできない場合はエラー
26
+ // DB_PORTがundefinedの場合はデフォルトポートを使用する
22
27
  const port = this.parsePort(configuration.DB_PORT);
23
28
  this.dataSource = new typeorm_1.DataSource({
24
29
  type: 'mysql',
@@ -38,6 +43,11 @@ class ResponseDatabase {
38
43
  bigNumberStrings: true,
39
44
  });
40
45
  }
46
+ /**
47
+ * データソースを初期化する
48
+ *
49
+ * @returns 初期化に成功したかどうか
50
+ */
41
51
  async init() {
42
52
  if (this.dataSource.isInitialized) {
43
53
  return true;
@@ -52,6 +62,9 @@ class ResponseDatabase {
52
62
  return false;
53
63
  }
54
64
  }
65
+ /**
66
+ * データソースをマイグレーションする
67
+ */
55
68
  async migrate() {
56
69
  if (!this.dataSource.isInitialized) {
57
70
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
@@ -61,16 +74,27 @@ class ResponseDatabase {
61
74
  }
62
75
  await this.dataSource.runMigrations();
63
76
  }
77
+ /**
78
+ * データソーススキーマを同期する
79
+ */
64
80
  async sync() {
65
81
  if (!this.dataSource.isInitialized) {
66
82
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
67
83
  }
68
84
  await this.dataSource.synchronize();
85
+ // 現在のパーティションを取得する
69
86
  this.partitions = await this.getPartitions();
87
+ // パーティションの初期作成 (パーティションがひとつも設定されていない場合)
70
88
  if (this.partitions.length === 0) {
71
89
  await this.initPartition();
72
90
  }
73
91
  }
92
+ /**
93
+ * レスポンスを追加する
94
+ *
95
+ * @param options レスポンスの追加オプション
96
+ * @returns 追加されたレスポンス
97
+ */
74
98
  async addResponse(options) {
75
99
  if (!this.dataSource.isInitialized) {
76
100
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
@@ -95,10 +119,19 @@ class ResponseDatabase {
95
119
  response.createdAt = now;
96
120
  return response.save().catch((error) => {
97
121
  if (error.code === 'ER_DUP_ENTRY') {
122
+ // eslint-disable-next-line unicorn/no-useless-undefined
98
123
  return undefined;
99
124
  }
100
125
  });
101
126
  }
127
+ /**
128
+ * レスポンスを取得する。但し直近90日間のレスポンスのみ取得可能
129
+ *
130
+ * @param endpoint エンドポイントの情報。指定しない場合はすべてのレスポンスを取得する
131
+ * @param rangeOptions 取得するレスポンスの範囲
132
+ *
133
+ * @returns レスポンスの配列
134
+ */
102
135
  async getResponses(endpoint, rangeOptions) {
103
136
  if (!this.dataSource.isInitialized) {
104
137
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
@@ -106,6 +139,8 @@ class ResponseDatabase {
106
139
  const options = rangeOptions || {};
107
140
  const page = options.page;
108
141
  const limit = options.limit;
142
+ // ResponseEndPointWithCountで来る場合があるので、ResponseEndPointに変換する
143
+ // 配列でない場合は配列に変換する
109
144
  const endpoints = endpoint
110
145
  ? Array.isArray(endpoint)
111
146
  ? endpoint.map((v) => ({
@@ -120,9 +155,14 @@ class ResponseDatabase {
120
155
  method: endpoint.method,
121
156
  endpoint: endpoint.endpoint,
122
157
  statusCode: endpoint.statusCode,
158
+ // 90日前以降のレスポンスのみ取得する
159
+ createdAt: (0, typeorm_1.MoreThanOrEqual)(new Date(Date.now() - 1000 * 60 * 60 * 24 * 90)),
123
160
  },
124
161
  ]
125
- : undefined;
162
+ : {
163
+ // 90日前以降のレスポンスのみ取得する
164
+ createdAt: (0, typeorm_1.MoreThanOrEqual)(new Date(Date.now() - 1000 * 60 * 60 * 24 * 90)),
165
+ };
126
166
  if (page === undefined || limit === undefined) {
127
167
  return response_entity_1.DBResponse.find({ where: endpoints, order: { createdAt: 'DESC' } });
128
168
  }
@@ -136,22 +176,53 @@ class ResponseDatabase {
136
176
  take: limit,
137
177
  });
138
178
  }
179
+ /**
180
+ * レスポンスの数を取得する。但し直近90日間のレスポンスのみ取得可能
181
+ *
182
+ * @param endpoint エンドポイントの情報。指定しない場合はすべてのレスポンスを取得する
183
+ * @returns レスポンスの数
184
+ */
139
185
  async getResponseCount(endpoint) {
140
186
  if (!this.dataSource.isInitialized) {
141
187
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
142
188
  }
143
189
  const endpoints = endpoint
144
190
  ? Array.isArray(endpoint)
145
- ? endpoint
146
- : [endpoint]
147
- : undefined;
191
+ ? endpoint.map((v) => ({
192
+ endpointType: v.endpointType,
193
+ method: v.method,
194
+ endpoint: v.endpoint,
195
+ statusCode: v.statusCode,
196
+ createdAt: (0, typeorm_1.MoreThanOrEqual)(new Date(Date.now() - 1000 * 60 * 60 * 24 * 90)),
197
+ }))
198
+ : [
199
+ {
200
+ endpointType: endpoint.endpointType,
201
+ method: endpoint.method,
202
+ endpoint: endpoint.endpoint,
203
+ statusCode: endpoint.statusCode,
204
+ createdAt: (0, typeorm_1.MoreThanOrEqual)(new Date(Date.now() - 1000 * 60 * 60 * 24 * 90)),
205
+ },
206
+ ]
207
+ : {
208
+ // 90日前以降のレスポンスのみ取得する
209
+ createdAt: (0, typeorm_1.MoreThanOrEqual)(new Date(Date.now() - 1000 * 60 * 60 * 24 * 90)),
210
+ };
148
211
  return response_entity_1.DBResponse.count({ where: endpoints });
149
212
  }
213
+ /**
214
+ * エンドポイントを取得する。但し直近90日間のレスポンスのみ取得可能
215
+ */
150
216
  async getEndpoints() {
151
217
  if (!this.dataSource.isInitialized) {
152
218
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
153
219
  }
220
+ // endpointType, endpointの組み合わせを取得する
154
221
  return response_entity_1.DBResponse.createQueryBuilder()
222
+ .where({
223
+ responseType: 'JSON',
224
+ createdAt: (0, typeorm_1.MoreThan)(new Date(Date.now() - 1000 * 60 * 60 * 24 * 90)),
225
+ })
155
226
  .groupBy('endpoint_type, method, endpoint, status_code')
156
227
  .select([
157
228
  'endpoint_type AS endpointType',
@@ -162,6 +233,11 @@ class ResponseDatabase {
162
233
  ])
163
234
  .getRawMany();
164
235
  }
236
+ /**
237
+ * パーティションを取得する
238
+ *
239
+ * @returns パーティションの配列
240
+ */
165
241
  async getPartitions() {
166
242
  if (!this.dataSource.isInitialized) {
167
243
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
@@ -174,14 +250,21 @@ class ResponseDatabase {
174
250
  .filter((v) => v !== null);
175
251
  return partitions;
176
252
  }
253
+ /**
254
+ * 日付パーティションを追加する
255
+ *
256
+ * @param date 日付
257
+ */
177
258
  async addPartition(date) {
178
259
  if (!this.dataSource.isInitialized) {
179
260
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
180
261
  }
262
+ // pYYYYMMの形式でパーティションを作成する
181
263
  const partitionName = `p${date.toISOString().slice(0, 7).replace('-', '')}`;
182
264
  if (this.partitions.includes(partitionName)) {
183
265
  return;
184
266
  }
267
+ // 翌月の1日の日付を取得する
185
268
  const nextMonth = new Date(date.getFullYear(), date.getMonth() + 1, 1);
186
269
  await this.dataSource
187
270
  .query(`ALTER TABLE responses REORGANIZE PARTITION pmax INTO (PARTITION ${partitionName} VALUES LESS THAN (` +
@@ -195,6 +278,9 @@ class ResponseDatabase {
195
278
  });
196
279
  this.partitions.push(partitionName);
197
280
  }
281
+ /**
282
+ * 日付パーティションを初期化する
283
+ */
198
284
  async initPartition() {
199
285
  if (!this.dataSource.isInitialized) {
200
286
  throw new exceptions_1.TwitterTsError('Responses database is not initialized');
@@ -215,9 +301,22 @@ class ResponseDatabase {
215
301
  isInitialized() {
216
302
  return this.dataSource.isInitialized;
217
303
  }
304
+ /**
305
+ * データソースを取得する
306
+ *
307
+ * @returns データソース
308
+ */
218
309
  getDataSource() {
219
310
  return this.dataSource;
220
311
  }
312
+ /**
313
+ * 環境変数で指定されたデータベースのポートをパースする。
314
+ * 数値にパースできない場合と1以上でない場合はエラーを投げる。
315
+ * undefinedの場合は、各データベースのデフォルトポートを使用する
316
+ *
317
+ * @param port データベースのポート
318
+ * @returns パースされたポート
319
+ */
221
320
  parsePort(port) {
222
321
  if (port === undefined) {
223
322
  return 3306;
@@ -234,9 +333,11 @@ class ResponseDatabase {
234
333
  return;
235
334
  }
236
335
  if (error !== undefined) {
336
+ // eslint-disable-next-line no-console
237
337
  console.error(`[TwitterTs@ResponseDatabase] ${text}`, error);
238
338
  return;
239
339
  }
340
+ // eslint-disable-next-line no-console
240
341
  console.debug(`[TwitterTs@ResponseDatabase] ${text}`);
241
342
  }
242
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/saving-responses/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/saving-responses/index.ts"],"names":[],"mappings":"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"}