@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
@@ -7,27 +7,59 @@ exports.EndPointTypeGenerator = void 0;
7
7
  const node_utils_1 = require("@book000/node-utils");
8
8
  const utils_1 = require("./utils");
9
9
  const node_fs_1 = __importDefault(require("node:fs"));
10
+ /**
11
+ * エンドポイントのまとめ型定義(src/models/responses/endpoints.ts)を生成するクラス
12
+ */
10
13
  class EndPointTypeGenerator {
11
- constructor(responseDatabase, typesDirectory) {
12
- this.responseDatabase = responseDatabase;
14
+ /**
15
+ * @param responseDatabase レスポンスを保存するデータベース
16
+ * @param typesDirectory 型定義の出力先ディレクトリ
17
+ */
18
+ constructor(typesDirectory) {
13
19
  this.typesDirectory = typesDirectory;
14
20
  }
21
+ /**
22
+ * TypeScript インポート文群を生成する
23
+ *
24
+ * @param endpoints エンドポイントの配列
25
+ * @returns インポート文群
26
+ */
15
27
  generateImport(endpoints) {
28
+ // import { GraphQLGetUserTweetsResponse } from './graphql/get/user-tweets'
16
29
  return endpoints
17
30
  .map((endpoint) => {
18
31
  const name = utils_1.Utils.getName(endpoint.endpointType, endpoint.endpoint, endpoint.method, endpoint.statusCode.toString());
19
32
  const filename = utils_1.Utils.getFilename(endpoint.endpointType, endpoint.endpoint, endpoint.method, endpoint.statusCode.toString());
33
+ if (!node_fs_1.default.existsSync(`${this.typesDirectory}/${filename}.ts`))
34
+ return null;
20
35
  return `import { ${name} } from './${filename}'`;
21
36
  })
37
+ .filter((value) => value !== null)
22
38
  .filter((value, index, self) => self.indexOf(value) === index)
23
39
  .join('\n');
24
40
  }
41
+ /**
42
+ * メソッド名の配列を取得する
43
+ *
44
+ * @param endpoints エンドポイントの配列
45
+ * @param type エンドポイントの種類
46
+ * @returns メソッド名の配列
47
+ */
25
48
  getMethods(endpoints, type) {
26
49
  return endpoints
27
50
  .filter((endpoint) => endpoint.endpointType.toLowerCase() === type.toLowerCase())
51
+ .filter((endpoint) => node_fs_1.default.existsSync(`${this.typesDirectory}/${utils_1.Utils.getFilename(endpoint.endpointType, endpoint.endpoint, endpoint.method, endpoint.statusCode.toString())}.ts`))
28
52
  .map((endpoint) => endpoint.method)
29
53
  .filter((value, index, self) => self.indexOf(value) === index);
30
54
  }
55
+ /**
56
+ * エンドポイント名群(<TYPE><METHOD>Endpoint)の定義を生成する
57
+ *
58
+ * @param endpoints エンドポイントの配列
59
+ * @param type エンドポイントの種類
60
+ * @param method メソッド名
61
+ * @returns エンドポイント名群の定義
62
+ */
31
63
  generateEndPointType(endpoints, type, method) {
32
64
  const head = `export type ${type}${method}Endpoint =`;
33
65
  const types = endpoints
@@ -43,6 +75,13 @@ class EndPointTypeGenerator {
43
75
  }
44
76
  return `${head}\n${types.join('\n')}`;
45
77
  }
78
+ /**
79
+ * エンドポイント名を元に、成功・失敗のレスポンス型定義をまとめる型定義(<TYPE><METHOD>Response)を生成する。
80
+ *
81
+ * @param endpoints エンドポイントの配列
82
+ * @param type エンドポイントの種類
83
+ * @param method メソッド名
84
+ */
46
85
  generateResponseMergeType(endpoints, type, method) {
47
86
  const names = endpoints
48
87
  .filter((endpoint) => endpoint.endpointType.toLowerCase() === type.toLowerCase())
@@ -74,6 +113,14 @@ class EndPointTypeGenerator {
74
113
  });
75
114
  return types.filter((type) => type !== '').join('\n');
76
115
  }
116
+ /**
117
+ * エンドポイント名を元に、レスポンス型定義を紐づけるような型定義(<TYPE><METHOD>EndPointResponseType)を生成する。
118
+ *
119
+ * @param endpoints エンドポイントの配列
120
+ * @param type エンドポイントの種類
121
+ * @param method メソッド名
122
+ * @returns レスポンス型定義を紐づけるような型定義
123
+ */
77
124
  generateResponseType(endpoints, type, method) {
78
125
  const head = `export type ${type}${method}EndPointResponseType<T extends ${type}${method}Endpoint> =`;
79
126
  const types = endpoints
@@ -87,6 +134,13 @@ class EndPointTypeGenerator {
87
134
  });
88
135
  return `${head}\n${types.join('\n')}\n never`;
89
136
  }
137
+ /**
138
+ * エンドポイントの種類と HTTP メソッドを元に、「レスポンス型定義を紐づけるような型定義」を生成する。
139
+ *
140
+ * @param endpoints エンドポイントの配列
141
+ * @param types エンドポイントの種類の配列
142
+ * @returns レスポンス型定義を紐づけるような型定義
143
+ */
90
144
  generateEndpointResponseType(endpoints, types) {
91
145
  const head = 'export type EndPointResponseType<M extends HttpMethod, T extends RequestType, N extends GraphQLEndpoint> = ';
92
146
  const results = [];
@@ -100,6 +154,7 @@ class EndPointTypeGenerator {
100
154
  }
101
155
  results.push(`T extends '${type.toUpperCase()}' ?`);
102
156
  for (const method of methods) {
157
+ // 最後以外は : をつける
103
158
  if (methods.at(0) !== method) {
104
159
  results.push(':');
105
160
  }
@@ -109,16 +164,15 @@ class EndPointTypeGenerator {
109
164
  }
110
165
  return `${head}\n${results.join('\n')}\n: never`;
111
166
  }
112
- async getEndpoints(types) {
113
- const endpoints = await this.responseDatabase.getEndpoints();
114
- const lowerTypes = new Set(types.map((type) => type.toLowerCase()));
115
- return endpoints.filter((endpoint) => lowerTypes.has(endpoint.endpointType.toLowerCase()));
116
- }
117
- async generate() {
167
+ /**
168
+ * エンドポイントのまとめ型定義(src/models/responses/endpoints.ts)を生成する
169
+ */
170
+ async generate(inputEndpoints) {
118
171
  const logger = node_utils_1.Logger.configure('EndPointTypeGenerator.generate');
119
172
  const types = ['GraphQL'];
120
- const endpoints = await this.getEndpoints(types);
121
173
  const data = [];
174
+ const endpoints = inputEndpoints.filter((endpoint) => types.some((type) => endpoint.endpointType.toLowerCase() === type.toLowerCase()));
175
+ logger.info(`🔍 Filtered ${endpoints.length} endpoints`);
122
176
  const imports = this.generateImport(endpoints);
123
177
  data.push(imports, "import { HttpMethod, RequestType } from '../../scraper'");
124
178
  for (const type of types) {
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-type-generator.js","sourceRoot":"","sources":["../../src/generate-types/endpoint-type-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-type-generator.js","sourceRoot":"","sources":["../../src/generate-types/endpoint-type-generator.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,56 @@
1
- import { ResponseDatabase } from '../saving-responses';
1
+ import { ResponseDatabase, ResponseEndPointWithCount } from '../saving-responses';
2
+ /**
3
+ * 複数型定義生成オプション(TwitterGenerateTypes.generateTypes)
4
+ */
2
5
  interface GenerateTypesOptions {
6
+ /**
7
+ * 保存先ディレクトリパス設定
8
+ */
3
9
  directory: {
10
+ /**
11
+ * スキーマファイルのディレクトリパス
12
+ */
4
13
  schema: string;
14
+ /**
15
+ * 型定義ファイルのディレクトリパス
16
+ */
5
17
  types: string;
6
18
  };
19
+ /** 並列処理をするかどうか */
7
20
  parallel: boolean;
21
+ /**
22
+ * 1ページあたりのレスポンス数
23
+ */
24
+ limit: number;
25
+ /**
26
+ * エンドポイントの配列
27
+ */
28
+ endpoints: ResponseEndPointWithCount[];
8
29
  }
30
+ /**
31
+ * 型定義生成クラス
32
+ */
9
33
  export declare class TwitterTypesGenerator {
34
+ /**
35
+ * レスポンスを保存するデータベース
36
+ */
10
37
  private readonly responseDatabase;
38
+ /**
39
+ * @param responseDatabase レスポンスを保存するデータベース
40
+ */
11
41
  constructor(responseDatabase: ResponseDatabase);
42
+ /**
43
+ * エンドポイントの型定義を生成する
44
+ *
45
+ * @param options 単一の型定義生成オプション
46
+ * @param endpoint エンドポイントの情報
47
+ */
12
48
  private generateType;
49
+ /**
50
+ * 保存されたデバッグレスポンスを元に、全てのエンドポイントの型定義を生成する。
51
+ *
52
+ * @param options 型定義生成オプション
53
+ */
13
54
  generateTypes(options: GenerateTypesOptions): Promise<void>;
14
55
  }
15
56
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types-generator.d.ts","sourceRoot":"","sources":["../../src/generate-types/types-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAEjB,MAAM,qBAAqB,CAAA;AAwC5B,UAAU,oBAAoB;IAI5B,SAAS,EAAE;QAIT,MAAM,EAAE,MAAM,CAAA;QAKd,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IAED,QAAQ,EAAE,OAAO,CAAA;CAClB;AAKD,qBAAa,qBAAqB;IAIhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;gBAKvC,gBAAgB,EAAE,gBAAgB;YAUhC,YAAY;IAyEb,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAiDzE"}
1
+ {"version":3,"file":"types-generator.d.ts","sourceRoot":"","sources":["../../src/generate-types/types-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AA0C5B;;GAEG;AACH,UAAU,oBAAoB;IAC5B;;OAEG;IACH,SAAS,EAAE;QACT;;WAEG;QACH,MAAM,EAAE,MAAM,CAAA;QAEd;;WAEG;QACH,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,kBAAkB;IAClB,QAAQ,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,SAAS,EAAE,yBAAyB,EAAE,CAAA;CACvC;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IAEnD;;OAEG;gBACS,gBAAgB,EAAE,gBAAgB;IAI9C;;;;;OAKG;YACW,YAAY;IAqE1B;;;;OAIG;IACU,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsDzE"}
@@ -10,14 +10,26 @@ const json_schema_to_typescript_1 = require("json-schema-to-typescript");
10
10
  const node_path_1 = require("node:path");
11
11
  const node_fs_1 = __importDefault(require("node:fs"));
12
12
  const utils_1 = require("./utils");
13
+ /**
14
+ * 型定義生成クラス
15
+ */
13
16
  class TwitterTypesGenerator {
17
+ /**
18
+ * @param responseDatabase レスポンスを保存するデータベース
19
+ */
14
20
  constructor(responseDatabase) {
15
21
  this.responseDatabase = responseDatabase;
16
22
  }
23
+ /**
24
+ * エンドポイントの型定義を生成する
25
+ *
26
+ * @param options 単一の型定義生成オプション
27
+ * @param endpoint エンドポイントの情報
28
+ */
17
29
  async generateType(options, endpoint) {
18
30
  const logger = node_utils_1.Logger.configure('TwitterGenerateTypes.generateType');
19
31
  logger.info(`🔍 Generating: ${options.name}`);
20
- const limit = 100;
32
+ const limit = options.limit;
21
33
  const count = endpoint.count;
22
34
  const maxPage = Math.ceil(count / limit) + 1;
23
35
  let schema;
@@ -38,7 +50,7 @@ class TwitterTypesGenerator {
38
50
  if (!options.ignoreError && responseBodyErrors.length > 0) {
39
51
  const uniqueErrors = responseBodyErrors.filter((error, index, self) => self.indexOf(error) === index);
40
52
  for (const error of uniqueErrors) {
41
- logger.error(`⚠️ ${options.path}: ${error}`);
53
+ logger.error(`⚠️ ${options.name}: ${error}`);
42
54
  }
43
55
  responseBodys = responseBodys.filter((responseBody) => !('errors' in responseBody && responseBody.errors.length > 0));
44
56
  }
@@ -46,7 +58,8 @@ class TwitterTypesGenerator {
46
58
  schema = schema ? (0, dist_1.mergeSchemas)([schema, pageSchema]) : pageSchema;
47
59
  }
48
60
  if (!schema) {
49
- throw new Error('No schema found');
61
+ logger.warn(`⚠️ ${options.name}: No responses`);
62
+ return;
50
63
  }
51
64
  node_fs_1.default.mkdirSync((0, node_path_1.dirname)(options.path.schema), { recursive: true });
52
65
  node_fs_1.default.writeFileSync(options.path.schema, JSON.stringify(schema, null, 2));
@@ -55,11 +68,18 @@ class TwitterTypesGenerator {
55
68
  node_fs_1.default.writeFileSync(options.path.types, types);
56
69
  logger.info(`📝 Successful: ${options.name} (from ${count} responses)`);
57
70
  }
71
+ /**
72
+ * 保存されたデバッグレスポンスを元に、全てのエンドポイントの型定義を生成する。
73
+ *
74
+ * @param options 型定義生成オプション
75
+ */
58
76
  async generateTypes(options) {
59
- const responseDatabase = this.responseDatabase;
60
- const endpoints = await responseDatabase.getEndpoints();
77
+ const logger = node_utils_1.Logger.configure('TwitterGenerateTypes.generateTypes');
78
+ const endpoints = options.endpoints;
61
79
  const generators = [];
80
+ let endpointCount = 0;
62
81
  for (const endpoint of endpoints) {
82
+ endpointCount++;
63
83
  const name = utils_1.Utils.getName(endpoint.endpointType, endpoint.endpoint, endpoint.method, endpoint.statusCode.toString());
64
84
  const filename = utils_1.Utils.getFilename(endpoint.endpointType, endpoint.endpoint, endpoint.method, endpoint.statusCode.toString());
65
85
  const schemaPath = `${options.directory.schema}/${filename}.json`;
@@ -69,6 +89,7 @@ class TwitterTypesGenerator {
69
89
  : null;
70
90
  if (!type)
71
91
  continue;
92
+ logger.info(`🔧 Creating generator: ${name} (StatusCode: ${endpoint.statusCode}) [${endpointCount}/${endpoints.length}]`);
72
93
  const generator = this.generateType({
73
94
  path: {
74
95
  schema: schemaPath,
@@ -76,7 +97,8 @@ class TwitterTypesGenerator {
76
97
  },
77
98
  name,
78
99
  tsDocument: `${type} ${endpoint.method} ${endpoint.endpoint} ${endpoint.statusCode.toString().startsWith('2') ? '成功' : '失敗'}レスポンスモデル`,
79
- ignoreError: endpoint.statusCode.toString().startsWith('2'),
100
+ ignoreError: !endpoint.statusCode.toString().startsWith('2'),
101
+ limit: options.limit,
80
102
  }, endpoint);
81
103
  if (options.parallel) {
82
104
  generators.push(generator);
@@ -1 +1 @@
1
- {"version":3,"file":"types-generator.js","sourceRoot":"","sources":["../../src/generate-types/types-generator.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4C;AAC5C,yCAAmE;AACnE,yEAAmD;AACnD,yCAAmC;AACnC,sDAAwB;AACxB,mCAA+B;AAkE/B,MAAa,qBAAqB;IAShC,YAAY,gBAAkC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC1C,CAAC;IAQO,KAAK,CAAC,YAAY,CACxB,OAA4B,EAC5B,QAAmC;QAEnC,MAAM,MAAM,GAAG,mBAAM,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAA;QAEpE,MAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QAE7C,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QAE5C,IAAI,MAAM,CAAA;QACV,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CACT,gBAAgB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,WAAW,IAAI,IAAI,OAAO,GAAG,CAClF,CAAA;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACnE,IAAI;gBACJ,KAAK;aACN,CAAC,CAAA;YAEF,IAAI,aAAa,GAAG,SAAS;iBAC1B,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,KAAK,MAAM,CAAC;iBACtD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;iBACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YAElC,MAAM,kBAAkB,GAAG,aAAa;iBACrC,MAAM,CACL,CAAC,YAAY,EAAE,EAAE,CACf,QAAQ,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAC7D;iBACA,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAC5C,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CACtD,CAAA;gBACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;oBACjC,MAAM,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAA;gBAC9C,CAAC;gBAED,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,YAAY,EAAE,EAAE,CACf,CAAC,CAAC,QAAQ,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAA;YACH,CAAC;YAED,MAAM,UAAU,GAAG,IAAA,2BAAoB,EAAC,aAAa,CAAC,CAAA;YACtD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,mBAAY,EAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;QACnE,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;QAED,iBAAE,CAAC,SAAS,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,iBAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAEtE,iBAAE,CAAC,SAAS,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9D,MAAM,KAAK,GAAG,MAAM,IAAA,mCAAO,EACzB,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,aAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAC5C,CAAA;QACD,iBAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC3C,MAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,UAAU,KAAK,aAAa,CAAC,CAAA;IACzE,CAAC;IAOM,KAAK,CAAC,aAAa,CAAC,OAA6B;QACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAE9C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAA;QAEvD,MAAM,UAAU,GAAG,EAAE,CAAA;QACrB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,aAAK,CAAC,OAAO,CACxB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC/B,CAAA;YACD,MAAM,QAAQ,GAAG,aAAK,CAAC,WAAW,CAChC,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC/B,CAAA;YACD,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,OAAO,CAAA;YACjE,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,QAAQ,KAAK,CAAA;YAC7D,MAAM,IAAI,GACR,QAAQ,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,SAAS;gBACrD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAA;YACV,IAAI,CAAC,IAAI;gBAAE,SAAQ;YAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CACjC;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,SAAS;iBACjB;gBACD,IAAI;gBACJ,UAAU,EAAE,GAAG,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,IACzD,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAC1D,UAAU;gBACV,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;aAC5D,EACD,QAAQ,CACT,CAAA;YACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,CAAA;YACjB,CAAC;QACH,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,CAAC;CACF;AA7ID,sDA6IC"}
1
+ {"version":3,"file":"types-generator.js","sourceRoot":"","sources":["../../src/generate-types/types-generator.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,48 @@
1
1
  import { Options } from 'json-schema-to-typescript';
2
+ /**
3
+ * ユーティリティ
4
+ */
2
5
  export declare const Utils: {
6
+ /**
7
+ * レスポンスの型定義名を取得する
8
+ *
9
+ * @param rawType リクエストの種別(graphql または rest)
10
+ * @param rawName レスポンスの名前
11
+ * @param rawMethod レスポンスの HTTP メソッド
12
+ * @param rawStatus レスポンスのステータスコード
13
+ * @returns 型定義名
14
+ */
3
15
  getName(rawType: string, rawName: string, rawMethod: string, rawStatus: string | null): string;
16
+ /**
17
+ * キャメルケースに変換する
18
+ *
19
+ * @param string 変換する文字列
20
+ * @returns キャメルケース変換後の文字列
21
+ */
4
22
  toCamelCase(string: string): string;
23
+ /**
24
+ * 先頭文字を大文字に変換する
25
+ *
26
+ * @param string 変換する文字列
27
+ * @returns 変換後の文字列
28
+ */
5
29
  capitalize(string: string): string;
30
+ /**
31
+ * ファイル名を取得する
32
+ *
33
+ * @param rawType リクエストの種別(graphql または rest)
34
+ * @param rawName レスポンスの名前
35
+ * @param rawMethod レスポンスの HTTP メソッド
36
+ * @param rawStatus レスポンスのステータスコード
37
+ * @returns ファイル名
38
+ */
6
39
  getFilename(rawType: string, rawName: string, rawMethod: string, rawStatus: string): string;
40
+ /**
41
+ * json-schema-to-typescript のコンパイルオプションを作成・取得する
42
+ *
43
+ * @param tsDocument コンパイル結果の先頭に追加する tsdoc
44
+ * @returns コンパイルオプション
45
+ */
7
46
  getCompileOptions(tsDocument?: string): Partial<Options>;
8
47
  };
9
48
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/generate-types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAKnD,eAAO,MAAM,KAAK;qBAWL,MAAM,WACN,MAAM,aACJ,MAAM,aACN,MAAM,GAAG,IAAI,GACvB,MAAM;wBAwBW,MAAM,GAAG,MAAM;uBAUhB,MAAM,GAAG,MAAM;yBAcvB,MAAM,WACN,MAAM,aACJ,MAAM,aACN,MAAM,GAChB,MAAM;mCAesB,MAAM,GAAG,QAAQ,OAAO,CAAC;CAiBzD,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/generate-types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;;;OAQG;qBAEQ,MAAM,WACN,MAAM,aACJ,MAAM,aACN,MAAM,GAAG,IAAI,GACvB,MAAM;IAkBT;;;;;OAKG;wBACiB,MAAM,GAAG,MAAM;IAInC;;;;;OAKG;uBACgB,MAAM,GAAG,MAAM;IAIlC;;;;;;;;OAQG;yBAEQ,MAAM,WACN,MAAM,aACJ,MAAM,aACN,MAAM,GAChB,MAAM;IAST;;;;;OAKG;mCAC4B,MAAM,GAAG,QAAQ,OAAO,CAAC;CAiBzD,CAAA"}
@@ -1,7 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Utils = void 0;
4
+ /**
5
+ * ユーティリティ
6
+ */
4
7
  exports.Utils = {
8
+ /**
9
+ * レスポンスの型定義名を取得する
10
+ *
11
+ * @param rawType リクエストの種別(graphql または rest)
12
+ * @param rawName レスポンスの名前
13
+ * @param rawMethod レスポンスの HTTP メソッド
14
+ * @param rawStatus レスポンスのステータスコード
15
+ * @returns 型定義名
16
+ */
5
17
  getName(rawType, rawName, rawMethod, rawStatus) {
6
18
  const type = rawType.toLocaleLowerCase() === 'graphql'
7
19
  ? 'GraphQL'
@@ -16,12 +28,33 @@ exports.Utils = {
16
28
  const status = rawStatus === null ? '' : rawStatus.startsWith('2') ? 'Success' : 'Error';
17
29
  return `${type}${method}${name}${status}Response`;
18
30
  },
31
+ /**
32
+ * キャメルケースに変換する
33
+ *
34
+ * @param string 変換する文字列
35
+ * @returns キャメルケース変換後の文字列
36
+ */
19
37
  toCamelCase(string) {
20
38
  return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
21
39
  },
40
+ /**
41
+ * 先頭文字を大文字に変換する
42
+ *
43
+ * @param string 変換する文字列
44
+ * @returns 変換後の文字列
45
+ */
22
46
  capitalize(string) {
23
47
  return string.charAt(0).toUpperCase() + string.slice(1);
24
48
  },
49
+ /**
50
+ * ファイル名を取得する
51
+ *
52
+ * @param rawType リクエストの種別(graphql または rest)
53
+ * @param rawName レスポンスの名前
54
+ * @param rawMethod レスポンスの HTTP メソッド
55
+ * @param rawStatus レスポンスのステータスコード
56
+ * @returns ファイル名
57
+ */
25
58
  getFilename(rawType, rawName, rawMethod, rawStatus) {
26
59
  const type = rawType.toLowerCase();
27
60
  const method = rawMethod.toLowerCase();
@@ -29,6 +62,12 @@ exports.Utils = {
29
62
  const status = rawStatus.startsWith('2') ? '-success' : '-error';
30
63
  return `${type}/${method}/${name}${status}`;
31
64
  },
65
+ /**
66
+ * json-schema-to-typescript のコンパイルオプションを作成・取得する
67
+ *
68
+ * @param tsDocument コンパイル結果の先頭に追加する tsdoc
69
+ * @returns コンパイルオプション
70
+ */
32
71
  getCompileOptions(tsDocument) {
33
72
  const compileOptions = {
34
73
  bannerComment: '/* eslint-disable @typescript-eslint/ban-types */',
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/generate-types/utils.ts"],"names":[],"mappings":";;;AAKa,QAAA,KAAK,GAAG;IAUnB,OAAO,CACL,OAAe,EACf,OAAe,EACf,SAAiB,EACjB,SAAwB;QAExB,MAAM,IAAI,GACR,OAAO,CAAC,iBAAiB,EAAE,KAAK,SAAS;YACvC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,MAAM;gBACtC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,CAAA;QACZ,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,MAAM,GACV,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;QAE3E,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,UAAU,CAAA;IACnD,CAAC;IAQD,WAAW,CAAC,MAAc;QACxB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvE,CAAC;IAQD,UAAU,CAAC,MAAc;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IAWD,WAAW,CACT,OAAe,EACf,OAAe,EACf,SAAiB,EACjB,SAAiB;QAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QACzE,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAA;QAEhE,OAAO,GAAG,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,MAAM,EAAE,CAAA;IAC7C,CAAC;IAQD,iBAAiB,CAAC,UAAmB;QACnC,MAAM,cAAc,GAAqB;YACvC,aAAa,EAAE,mDAAmD;YAClE,oBAAoB,EAAE,KAAK;YAC3B,gBAAgB,EAAE,IAAI;YACtB,qBAAqB,EAAE,IAAI;YAC3B,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,IAAI;aAClB;YACD,UAAU,EAAE,IAAI;SACjB,CAAA;QACD,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,CAAC,aAAa,GAAG,GAAG,cAAc,CAAC,aAAa,WAAW,UAAU,KAAK,CAAA;QAC1F,CAAC;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/generate-types/utils.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,KAAK,GAAG;IACnB;;;;;;;;OAQG;IACH,OAAO,CACL,OAAe,EACf,OAAe,EACf,SAAiB,EACjB,SAAwB;QAExB,MAAM,IAAI,GACR,OAAO,CAAC,iBAAiB,EAAE,KAAK,SAAS;YACvC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,MAAM;gBACtC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,IAAI,CAAA;QACZ,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,MAAM,GACV,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;QAE3E,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,UAAU,CAAA;IACnD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,MAAc;QACxB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvE,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,MAAc;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CACT,OAAe,EACf,OAAe,EACf,SAAiB,EACjB,SAAiB;QAEjB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;QACzE,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAA;QAEhE,OAAO,GAAG,IAAI,IAAI,MAAM,IAAI,IAAI,GAAG,MAAM,EAAE,CAAA;IAC7C,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,UAAmB;QACnC,MAAM,cAAc,GAAqB;YACvC,aAAa,EAAE,mDAAmD;YAClE,oBAAoB,EAAE,KAAK;YAC3B,gBAAgB,EAAE,IAAI;YACtB,qBAAqB,EAAE,IAAI;YAC3B,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,IAAI;aAClB;YACD,UAAU,EAAE,IAAI;SACjB,CAAA;QACD,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,CAAC,aAAa,GAAG,GAAG,cAAc,CAAC,aAAa,WAAW,UAAU,KAAK,CAAA;QAC1F,CAAC;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;CACF,CAAA"}
@@ -1,75 +1,117 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const node_utils_1 = require("@book000/node-utils");
4
- const types_generator_1 = require("./generate-types/types-generator");
5
- const custom_types_generator_1 = require("./generate-types/custom-types-generator");
6
4
  const endpoint_type_generator_1 = require("./generate-types/endpoint-type-generator");
7
5
  const saving_responses_1 = require("./saving-responses");
6
+ const custom_types_generator_1 = require("./generate-types/custom-types-generator");
7
+ const types_generator_1 = require("./generate-types/types-generator");
8
8
  class GenerateTypes {
9
- calculateTime(name, runner) {
10
- const logger = node_utils_1.Logger.configure('GenerateTypes:calculateTime');
11
- const startTime = Date.now();
12
- const result = runner();
13
- const endTime = Date.now();
14
- const time = endTime - startTime;
15
- logger.info(`🕐 ${name}: ${time}ms`);
16
- return result;
9
+ formatTime(time) {
10
+ const millisecond = time % 1000;
11
+ const second = Math.floor(time / 1000) % 60;
12
+ const minute = Math.floor(time / 1000 / 60) % 60;
13
+ const hour = Math.floor(time / 1000 / 60 / 60);
14
+ const millisecondString = millisecond.toString().padStart(3, '0');
15
+ const secondString = second.toString().padStart(2, '0');
16
+ const minuteString = minute.toString().padStart(2, '0');
17
+ const hourString = hour.toString().padStart(2, '0');
18
+ if (hour > 0) {
19
+ return `${hourString}:${minuteString}:${secondString}.${millisecondString}`;
20
+ }
21
+ if (minute > 0) {
22
+ return `${minuteString}:${secondString}.${millisecondString}`;
23
+ }
24
+ if (second > 0) {
25
+ return `${secondString}.${millisecondString}`;
26
+ }
27
+ return `0.${millisecondString}`;
17
28
  }
18
- async awaitCalculateTime(name, runner) {
19
- const logger = node_utils_1.Logger.configure('GenerateTypes:awaitCalculateTime');
29
+ async calculateTime(name, runner) {
30
+ const logger = node_utils_1.Logger.configure('GenerateTypes:calculateTime');
20
31
  const startTime = Date.now();
21
32
  const result = await runner();
22
33
  const endTime = Date.now();
23
34
  const time = endTime - startTime;
24
- logger.info(`🕐 ${name}: ${time}ms`);
35
+ const timeString = this.formatTime(time);
36
+ logger.info(`🕐 ${name}: ${timeString}ms`);
25
37
  return result;
26
38
  }
39
+ formatSize(size) {
40
+ const kiloByte = size % 1024;
41
+ const megaByte = Math.floor(size / 1024) % 1024;
42
+ const gigaByte = Math.floor(size / 1024 / 1024) % 1024;
43
+ const teraByte = Math.floor(size / 1024 / 1024 / 1024);
44
+ const kiloByteString = kiloByte.toString().padStart(3, '0');
45
+ const megaByteString = megaByte.toString().padStart(3, '0');
46
+ const gigaByteString = gigaByte.toString().padStart(3, '0');
47
+ const teraByteString = teraByte.toString().padStart(3, '0');
48
+ if (teraByte > 0) {
49
+ return `${teraByteString}.${gigaByteString}GB`;
50
+ }
51
+ if (gigaByte > 0) {
52
+ return `${gigaByteString}.${megaByteString}MB`;
53
+ }
54
+ if (megaByte > 0) {
55
+ return `${megaByteString}.${kiloByteString}KB`;
56
+ }
57
+ return `${kiloByteString}B`;
58
+ }
27
59
  async run() {
28
60
  const logger = node_utils_1.Logger.configure('GenerateTypes:run');
29
- const debugOutputDirectory = process.env.DEBUG_OUTPUT_DIRECTORY || './data/responses';
30
61
  const schemaDirectory = process.env.SCHEMA_DIRECTORY || './data/schema';
31
62
  const typesDirectory = process.env.TYPES_DIRECTORY || './src/models/responses';
32
63
  const isAllParallel = process.env.IS_ALL_PARALLEL === 'true';
33
64
  const isTypesGenerateParallel = isAllParallel || process.env.IS_TYPES_GENERATE_PARALLEL === 'true';
34
65
  const isCustomTypeGenerateParallel = isAllParallel || process.env.IS_CUSTOM_TYPE_GENERATE_PARALLEL === 'true';
66
+ const pageLimit = process.env.PAGE_LIMIT
67
+ ? Number(process.env.PAGE_LIMIT)
68
+ : 100;
35
69
  logger.info('📁 Directories');
36
- logger.info(` 📂 Debug output: ${debugOutputDirectory}`);
37
70
  logger.info(` 📂 Schema: ${schemaDirectory}`);
38
71
  logger.info(` 📂 Types: ${typesDirectory}`);
39
72
  logger.info('🔧 Options');
40
73
  logger.info(` 📌 All parallel: ${isAllParallel}`);
41
74
  logger.info(` 📌 Types generate parallel: ${isTypesGenerateParallel}`);
42
75
  logger.info(` 📌 Custom type generate parallel: ${isCustomTypeGenerateParallel}`);
76
+ logger.info(` 📌 Page limit: ${pageLimit}`);
77
+ const responseDatabase = new saving_responses_1.ResponseDatabase();
43
78
  try {
44
- const responseDatabase = new saving_responses_1.ResponseDatabase();
45
- logger.info('Initialize responses database');
79
+ logger.info('🚀 Initialize responses database');
46
80
  const result = await responseDatabase.init();
47
81
  if (!result) {
48
82
  return;
49
83
  }
50
- logger.info('Migrate responses database');
84
+ logger.info('🚀 Migrate responses database');
51
85
  await responseDatabase.migrate();
52
- logger.info('Sync responses database');
86
+ logger.info('🚀 Sync responses database');
53
87
  await responseDatabase.sync();
54
- await this.awaitCalculateTime('TwitterTypesGenerator', () => new types_generator_1.TwitterTypesGenerator(responseDatabase).generateTypes({
88
+ logger.info('🔍 Getting endpoints...');
89
+ const rawEndpoints = await this.calculateTime('GetEndpoints', () => responseDatabase.getEndpoints());
90
+ const endpoints = rawEndpoints.filter((endpoint) => endpoint.count > 0 && endpoint.endpointType === 'GRAPHQL');
91
+ logger.info(`🔍 Found ${endpoints.length} endpoints`);
92
+ // msで計測
93
+ await this.calculateTime('TwitterTypesGenerator', async () => await new types_generator_1.TwitterTypesGenerator(responseDatabase).generateTypes({
55
94
  directory: {
56
95
  schema: schemaDirectory,
57
96
  types: typesDirectory,
58
97
  },
59
98
  parallel: isTypesGenerateParallel,
99
+ limit: pageLimit,
100
+ endpoints,
60
101
  }));
61
- await this.awaitCalculateTime('CustomTypesGenerator', () => new custom_types_generator_1.CustomTypesGenerator(responseDatabase, schemaDirectory, typesDirectory).generate(isCustomTypeGenerateParallel));
62
- await this.calculateTime('EndPointTypeGenerator', () => new endpoint_type_generator_1.EndPointTypeGenerator(responseDatabase, typesDirectory).generate());
102
+ await this.calculateTime('CustomTypesGenerator', async () => await new custom_types_generator_1.CustomTypesGenerator(responseDatabase, schemaDirectory, typesDirectory, pageLimit).generate(isCustomTypeGenerateParallel));
103
+ await this.calculateTime('EndPointTypeGenerator', async () => await new endpoint_type_generator_1.EndPointTypeGenerator(typesDirectory).generate(endpoints));
63
104
  await responseDatabase.close();
64
105
  logger.info('🎉 All done!');
65
106
  }
66
107
  catch (error) {
67
108
  logger.error('An error occurred while generating types', error);
109
+ await responseDatabase.close();
68
110
  }
69
111
  }
70
112
  }
71
113
  ;
72
114
  (async () => {
73
- new GenerateTypes().run();
115
+ await new GenerateTypes().run();
74
116
  })();
75
117
  //# sourceMappingURL=generate-types.js.map