twitter-openapi-typescript-generated 0.0.10 → 0.0.12

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 (446) hide show
  1. package/.openapi-generator/FILES +29 -4
  2. package/LICENSE +31 -0
  3. package/{LICENSE.txt → LICENSE.AGPL} +3 -3
  4. package/README.md +2 -2
  5. package/dist/apis/DefaultApi.d.ts.map +1 -1
  6. package/dist/apis/DefaultApi.js +87 -19
  7. package/dist/apis/DefaultApi.js.map +1 -1
  8. package/dist/apis/OtherApi.d.ts.map +1 -1
  9. package/dist/apis/OtherApi.js +44 -10
  10. package/dist/apis/OtherApi.js.map +1 -1
  11. package/dist/apis/PostApi.d.ts.map +1 -1
  12. package/dist/apis/PostApi.js +265 -61
  13. package/dist/apis/PostApi.js.map +1 -1
  14. package/dist/apis/TweetApi.d.ts +1 -2
  15. package/dist/apis/TweetApi.d.ts.map +1 -1
  16. package/dist/apis/TweetApi.js +480 -112
  17. package/dist/apis/TweetApi.js.map +1 -1
  18. package/dist/apis/UserApi.d.ts +1 -0
  19. package/dist/apis/UserApi.d.ts.map +1 -1
  20. package/dist/apis/UserApi.js +93 -19
  21. package/dist/apis/UserApi.js.map +1 -1
  22. package/dist/apis/UserListApi.d.ts +0 -1
  23. package/dist/apis/UserListApi.d.ts.map +1 -1
  24. package/dist/apis/UserListApi.js +216 -52
  25. package/dist/apis/UserListApi.js.map +1 -1
  26. package/dist/apis/UsersApi.d.ts.map +1 -1
  27. package/dist/apis/UsersApi.js +44 -10
  28. package/dist/apis/UsersApi.js.map +1 -1
  29. package/dist/apis/V11GetApi.d.ts.map +1 -1
  30. package/dist/apis/V11GetApi.js +87 -19
  31. package/dist/apis/V11GetApi.js.map +1 -1
  32. package/dist/apis/V11PostApi.d.ts.map +1 -1
  33. package/dist/apis/V11PostApi.js +73 -7
  34. package/dist/apis/V11PostApi.js.map +1 -1
  35. package/dist/apis/V20GetApi.d.ts.map +1 -1
  36. package/dist/apis/V20GetApi.js +44 -10
  37. package/dist/apis/V20GetApi.js.map +1 -1
  38. package/dist/models/AdditionalMediaInfo.d.ts +32 -0
  39. package/dist/models/AdditionalMediaInfo.d.ts.map +1 -0
  40. package/dist/models/AdditionalMediaInfo.js +51 -0
  41. package/dist/models/AdditionalMediaInfo.js.map +1 -0
  42. package/dist/models/Callback.d.ts +32 -0
  43. package/dist/models/Callback.d.ts.map +1 -0
  44. package/dist/models/Callback.js +51 -0
  45. package/dist/models/Callback.js.map +1 -0
  46. package/dist/models/ClientEventInfo.d.ts +46 -0
  47. package/dist/models/ClientEventInfo.d.ts.map +1 -0
  48. package/dist/models/ClientEventInfo.js +55 -0
  49. package/dist/models/ClientEventInfo.js.map +1 -0
  50. package/dist/models/ContentEntryType.d.ts +1 -1
  51. package/dist/models/ContentEntryType.d.ts.map +1 -1
  52. package/dist/models/ContentItemType.d.ts +1 -1
  53. package/dist/models/ContentItemType.d.ts.map +1 -1
  54. package/dist/models/ContentUnion.d.ts +1 -1
  55. package/dist/models/ContentUnion.d.ts.map +1 -1
  56. package/dist/models/CoverCta.d.ts +66 -0
  57. package/dist/models/CoverCta.d.ts.map +1 -0
  58. package/dist/models/CoverCta.js +71 -0
  59. package/dist/models/CoverCta.js.map +1 -0
  60. package/dist/models/CtaClientEventInfo.d.ts +39 -0
  61. package/dist/models/CtaClientEventInfo.d.ts.map +1 -0
  62. package/dist/models/CtaClientEventInfo.js +57 -0
  63. package/dist/models/CtaClientEventInfo.js.map +1 -0
  64. package/dist/models/CursorType.d.ts +1 -1
  65. package/dist/models/CursorType.d.ts.map +1 -1
  66. package/dist/models/DeleteRetweet.d.ts +33 -0
  67. package/dist/models/DeleteRetweet.d.ts.map +1 -0
  68. package/dist/models/DeleteRetweet.js +52 -0
  69. package/dist/models/DeleteRetweet.js.map +1 -0
  70. package/dist/models/DeleteRetweetResponseResult.d.ts +33 -0
  71. package/dist/models/DeleteRetweetResponseResult.d.ts.map +1 -0
  72. package/dist/models/DeleteRetweetResponseResult.js +52 -0
  73. package/dist/models/DeleteRetweetResponseResult.js.map +1 -0
  74. package/dist/models/ErrorResponse.d.ts +33 -0
  75. package/dist/models/ErrorResponse.d.ts.map +1 -0
  76. package/dist/models/ErrorResponse.js +52 -0
  77. package/dist/models/ErrorResponse.js.map +1 -0
  78. package/dist/models/ExtMediaAvailability.d.ts +39 -0
  79. package/dist/models/ExtMediaAvailability.d.ts.map +1 -0
  80. package/dist/models/ExtMediaAvailability.js +57 -0
  81. package/dist/models/ExtMediaAvailability.js.map +1 -0
  82. package/dist/models/ExtendedEntities.d.ts +3 -3
  83. package/dist/models/ExtendedEntities.d.ts.map +1 -1
  84. package/dist/models/ExtendedEntities.js +3 -3
  85. package/dist/models/ExtendedEntities.js.map +1 -1
  86. package/dist/models/Extensions.d.ts +57 -0
  87. package/dist/models/Extensions.d.ts.map +1 -0
  88. package/dist/models/Extensions.js +64 -0
  89. package/dist/models/Extensions.js.map +1 -0
  90. package/dist/models/GetBookmarks200Response.d.ts +1 -1
  91. package/dist/models/GetBookmarks200Response.d.ts.map +1 -1
  92. package/dist/models/GetFavoriters200Response.d.ts +1 -1
  93. package/dist/models/GetFavoriters200Response.d.ts.map +1 -1
  94. package/dist/models/GetFollowers200Response.d.ts +1 -1
  95. package/dist/models/GetFollowers200Response.d.ts.map +1 -1
  96. package/dist/models/GetHomeLatestTimeline200Response.d.ts +1 -1
  97. package/dist/models/GetHomeLatestTimeline200Response.d.ts.map +1 -1
  98. package/dist/models/GetLikes200Response.d.ts +1 -1
  99. package/dist/models/GetLikes200Response.d.ts.map +1 -1
  100. package/dist/models/GetListLatestTweetsTimeline200Response.d.ts +1 -1
  101. package/dist/models/GetListLatestTweetsTimeline200Response.d.ts.map +1 -1
  102. package/dist/models/GetProfileSpotlightsQuery200Response.d.ts +1 -1
  103. package/dist/models/GetProfileSpotlightsQuery200Response.d.ts.map +1 -1
  104. package/dist/models/GetRetweeters200Response.d.ts +1 -1
  105. package/dist/models/GetRetweeters200Response.d.ts.map +1 -1
  106. package/dist/models/GetSearchTimeline200Response.d.ts +1 -1
  107. package/dist/models/GetSearchTimeline200Response.d.ts.map +1 -1
  108. package/dist/models/GetTweetDetail200Response.d.ts +1 -1
  109. package/dist/models/GetTweetDetail200Response.d.ts.map +1 -1
  110. package/dist/models/GetTweetResultByRestId200Response.d.ts +1 -1
  111. package/dist/models/GetTweetResultByRestId200Response.d.ts.map +1 -1
  112. package/dist/models/GetUserByRestId200Response.d.ts +1 -1
  113. package/dist/models/GetUserByRestId200Response.d.ts.map +1 -1
  114. package/dist/models/GetUserHighlightsTweets200Response.d.ts +1 -1
  115. package/dist/models/GetUserHighlightsTweets200Response.d.ts.map +1 -1
  116. package/dist/models/GetUsersByRestIds200Response.d.ts +1 -1
  117. package/dist/models/GetUsersByRestIds200Response.d.ts.map +1 -1
  118. package/dist/models/InstructionType.d.ts +2 -1
  119. package/dist/models/InstructionType.d.ts.map +1 -1
  120. package/dist/models/InstructionType.js +2 -1
  121. package/dist/models/InstructionType.js.map +1 -1
  122. package/dist/models/InstructionUnion.d.ts +4 -1
  123. package/dist/models/InstructionUnion.d.ts.map +1 -1
  124. package/dist/models/InstructionUnion.js +5 -0
  125. package/dist/models/InstructionUnion.js.map +1 -1
  126. package/dist/models/ItemContentUnion.d.ts +1 -1
  127. package/dist/models/ItemContentUnion.d.ts.map +1 -1
  128. package/dist/models/ItemResult.d.ts +1 -1
  129. package/dist/models/ItemResult.d.ts.map +1 -1
  130. package/dist/models/ItemResult.js +1 -2
  131. package/dist/models/ItemResult.js.map +1 -1
  132. package/dist/models/ListTweetsTimeline.d.ts +1 -1
  133. package/dist/models/ListTweetsTimeline.d.ts.map +1 -1
  134. package/dist/models/ListTweetsTimeline.js +2 -2
  135. package/dist/models/ListTweetsTimeline.js.map +1 -1
  136. package/dist/models/Media.d.ts +15 -15
  137. package/dist/models/Media.d.ts.map +1 -1
  138. package/dist/models/Media.js +14 -7
  139. package/dist/models/Media.js.map +1 -1
  140. package/dist/models/MediaExtended.d.ts +131 -0
  141. package/dist/models/MediaExtended.d.ts.map +1 -0
  142. package/dist/models/MediaExtended.js +103 -0
  143. package/dist/models/MediaExtended.js.map +1 -0
  144. package/dist/models/MediaOriginalInfo.d.ts +5 -6
  145. package/dist/models/MediaOriginalInfo.d.ts.map +1 -1
  146. package/dist/models/MediaOriginalInfo.js +7 -4
  147. package/dist/models/MediaOriginalInfo.js.map +1 -1
  148. package/dist/models/MediaOriginalInfoFocusRect.d.ts +50 -0
  149. package/dist/models/MediaOriginalInfoFocusRect.d.ts.map +1 -0
  150. package/dist/models/MediaOriginalInfoFocusRect.js +60 -0
  151. package/dist/models/MediaOriginalInfoFocusRect.js.map +1 -0
  152. package/dist/models/MediaSize.d.ts +52 -0
  153. package/dist/models/MediaSize.d.ts.map +1 -0
  154. package/dist/models/MediaSize.js +64 -0
  155. package/dist/models/MediaSize.js.map +1 -0
  156. package/dist/models/MediaSizes.d.ts +51 -0
  157. package/dist/models/MediaSizes.d.ts.map +1 -0
  158. package/dist/models/MediaSizes.js +61 -0
  159. package/dist/models/MediaSizes.js.map +1 -0
  160. package/dist/models/MediaStats.d.ts +32 -0
  161. package/dist/models/MediaStats.d.ts.map +1 -0
  162. package/dist/models/MediaStats.js +51 -0
  163. package/dist/models/MediaStats.js.map +1 -0
  164. package/dist/models/MediaVideoInfo.d.ts +45 -0
  165. package/dist/models/MediaVideoInfo.d.ts.map +1 -0
  166. package/dist/models/MediaVideoInfo.js +58 -0
  167. package/dist/models/MediaVideoInfo.js.map +1 -0
  168. package/dist/models/MediaVideoInfoVariant.d.ts +44 -0
  169. package/dist/models/MediaVideoInfoVariant.d.ts.map +1 -0
  170. package/dist/models/MediaVideoInfoVariant.js +57 -0
  171. package/dist/models/MediaVideoInfoVariant.js.map +1 -0
  172. package/dist/models/ModuleEntry.d.ts +3 -4
  173. package/dist/models/ModuleEntry.d.ts.map +1 -1
  174. package/dist/models/ModuleEntry.js +3 -2
  175. package/dist/models/ModuleEntry.js.map +1 -1
  176. package/dist/models/Other200Response.d.ts +1 -1
  177. package/dist/models/Other200Response.d.ts.map +1 -1
  178. package/dist/models/PostCreateRetweet200Response.d.ts +1 -1
  179. package/dist/models/PostCreateRetweet200Response.d.ts.map +1 -1
  180. package/dist/models/PostCreateTweet200Response.d.ts +1 -1
  181. package/dist/models/PostCreateTweet200Response.d.ts.map +1 -1
  182. package/dist/models/PostCreateTweetRequestFeatures.d.ts +9 -15
  183. package/dist/models/PostCreateTweetRequestFeatures.d.ts.map +1 -1
  184. package/dist/models/PostCreateTweetRequestFeatures.js +9 -12
  185. package/dist/models/PostCreateTweetRequestFeatures.js.map +1 -1
  186. package/dist/models/PostCreateTweetRequestVariablesMedia.d.ts +3 -2
  187. package/dist/models/PostCreateTweetRequestVariablesMedia.d.ts.map +1 -1
  188. package/dist/models/PostCreateTweetRequestVariablesMedia.js +3 -2
  189. package/dist/models/PostCreateTweetRequestVariablesMedia.js.map +1 -1
  190. package/dist/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.d.ts +38 -0
  191. package/dist/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.d.ts.map +1 -0
  192. package/dist/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.js +54 -0
  193. package/dist/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.js.map +1 -0
  194. package/dist/models/PostDeleteRetweet200Response.d.ts +1 -1
  195. package/dist/models/PostDeleteRetweet200Response.d.ts.map +1 -1
  196. package/dist/models/PostDeleteTweet200Response.d.ts +1 -1
  197. package/dist/models/PostDeleteTweet200Response.d.ts.map +1 -1
  198. package/dist/models/PostFavoriteTweet200Response.d.ts +1 -1
  199. package/dist/models/PostFavoriteTweet200Response.d.ts.map +1 -1
  200. package/dist/models/PostUnfavoriteTweet200Response.d.ts +1 -1
  201. package/dist/models/PostUnfavoriteTweet200Response.d.ts.map +1 -1
  202. package/dist/models/SelfThread.d.ts +32 -0
  203. package/dist/models/SelfThread.d.ts.map +1 -0
  204. package/dist/models/SelfThread.js +51 -0
  205. package/dist/models/SelfThread.js.map +1 -0
  206. package/dist/models/Session.d.ts +8 -1
  207. package/dist/models/Session.d.ts.map +1 -1
  208. package/dist/models/Session.js +7 -1
  209. package/dist/models/Session.js.map +1 -1
  210. package/dist/models/Text.d.ts +39 -0
  211. package/dist/models/Text.d.ts.map +1 -0
  212. package/dist/models/Text.js +55 -0
  213. package/dist/models/Text.js.map +1 -0
  214. package/dist/models/TextEntity.d.ts +45 -0
  215. package/dist/models/TextEntity.d.ts.map +1 -0
  216. package/dist/models/TextEntity.js +58 -0
  217. package/dist/models/TextEntity.js.map +1 -0
  218. package/dist/models/TextEntityRef.d.ts +58 -0
  219. package/dist/models/TextEntityRef.d.ts.map +1 -0
  220. package/dist/models/TextEntityRef.js +69 -0
  221. package/dist/models/TextEntityRef.js.map +1 -0
  222. package/dist/models/TimelineCoverBehavior.d.ts +39 -0
  223. package/dist/models/TimelineCoverBehavior.d.ts.map +1 -0
  224. package/dist/models/TimelineCoverBehavior.js +57 -0
  225. package/dist/models/TimelineCoverBehavior.js.map +1 -0
  226. package/dist/models/TimelineHalfCover.d.ts +85 -0
  227. package/dist/models/TimelineHalfCover.d.ts.map +1 -0
  228. package/dist/models/TimelineHalfCover.js +84 -0
  229. package/dist/models/TimelineHalfCover.js.map +1 -0
  230. package/dist/models/TimelineShowAlert.d.ts +2 -2
  231. package/dist/models/TimelineShowAlert.d.ts.map +1 -1
  232. package/dist/models/TimelineShowCover.d.ts +47 -0
  233. package/dist/models/TimelineShowCover.d.ts.map +1 -0
  234. package/dist/models/TimelineShowCover.js +60 -0
  235. package/dist/models/TimelineShowCover.js.map +1 -0
  236. package/dist/models/TimelineTerminateTimeline.d.ts +1 -1
  237. package/dist/models/TimelineTerminateTimeline.d.ts.map +1 -1
  238. package/dist/models/TimelineTimelineItem.d.ts +3 -4
  239. package/dist/models/TimelineTimelineItem.d.ts.map +1 -1
  240. package/dist/models/TimelineTimelineItem.js +3 -2
  241. package/dist/models/TimelineTimelineItem.js.map +1 -1
  242. package/dist/models/TimelineTimelineModule.d.ts +9 -1
  243. package/dist/models/TimelineTimelineModule.d.ts.map +1 -1
  244. package/dist/models/TimelineTimelineModule.js +8 -1
  245. package/dist/models/TimelineTimelineModule.js.map +1 -1
  246. package/dist/models/TimelineUser.d.ts +10 -1
  247. package/dist/models/TimelineUser.d.ts.map +1 -1
  248. package/dist/models/TimelineUser.js +9 -1
  249. package/dist/models/TimelineUser.js.map +1 -1
  250. package/dist/models/Tweet.d.ts +11 -5
  251. package/dist/models/Tweet.d.ts.map +1 -1
  252. package/dist/models/Tweet.js +7 -7
  253. package/dist/models/Tweet.js.map +1 -1
  254. package/dist/models/TweetCardLegacy.d.ts +3 -3
  255. package/dist/models/TweetCardLegacy.d.ts.map +1 -1
  256. package/dist/models/TweetCardLegacy.js +3 -3
  257. package/dist/models/TweetCardLegacy.js.map +1 -1
  258. package/dist/models/TweetCardLegacyBindingValue.d.ts +39 -0
  259. package/dist/models/TweetCardLegacyBindingValue.d.ts.map +1 -0
  260. package/dist/models/TweetCardLegacyBindingValue.js +55 -0
  261. package/dist/models/TweetCardLegacyBindingValue.js.map +1 -0
  262. package/dist/models/TweetCardLegacyBindingValueData.d.ts +50 -0
  263. package/dist/models/TweetCardLegacyBindingValueData.d.ts.map +1 -0
  264. package/dist/models/{TweetCardLegacyBindingValuesInnerValue.js → TweetCardLegacyBindingValueData.js} +12 -12
  265. package/dist/models/TweetCardLegacyBindingValueData.js.map +1 -0
  266. package/dist/models/TweetEditControl.d.ts +13 -0
  267. package/dist/models/TweetEditControl.d.ts.map +1 -1
  268. package/dist/models/TweetEditControl.js +5 -0
  269. package/dist/models/TweetEditControl.js.map +1 -1
  270. package/dist/models/TweetEditControlInitial.d.ts +50 -0
  271. package/dist/models/TweetEditControlInitial.d.ts.map +1 -0
  272. package/dist/models/TweetEditControlInitial.js +60 -0
  273. package/dist/models/TweetEditControlInitial.js.map +1 -0
  274. package/dist/models/TweetLegacy.d.ts +3 -3
  275. package/dist/models/TweetLegacy.d.ts.map +1 -1
  276. package/dist/models/TweetLegacy.js +3 -3
  277. package/dist/models/TweetLegacy.js.map +1 -1
  278. package/dist/models/TweetUnion.d.ts +1 -1
  279. package/dist/models/TweetUnion.d.ts.map +1 -1
  280. package/dist/models/TweetView.d.ts +45 -0
  281. package/dist/models/TweetView.d.ts.map +1 -0
  282. package/dist/models/{TweetViews.js → TweetView.js} +20 -13
  283. package/dist/models/TweetView.js.map +1 -0
  284. package/dist/models/TypeName.d.ts +2 -1
  285. package/dist/models/TypeName.d.ts.map +1 -1
  286. package/dist/models/TypeName.js +1 -0
  287. package/dist/models/TypeName.js.map +1 -1
  288. package/dist/models/UserResults.d.ts +1 -1
  289. package/dist/models/UserResults.d.ts.map +1 -1
  290. package/dist/models/UserResults.js +2 -2
  291. package/dist/models/UserResults.js.map +1 -1
  292. package/dist/models/UserUnion.d.ts +1 -1
  293. package/dist/models/UserUnion.d.ts.map +1 -1
  294. package/dist/models/index.d.ts +29 -4
  295. package/dist/models/index.d.ts.map +1 -1
  296. package/dist/models/index.js +29 -4
  297. package/dist/models/index.js.map +1 -1
  298. package/dist/runtime.d.ts +9 -9
  299. package/dist/runtime.d.ts.map +1 -1
  300. package/dist/runtime.js +1 -1
  301. package/package.json +2 -2
  302. package/src/apis/DefaultApi.ts +94 -6
  303. package/src/apis/OtherApi.ts +47 -3
  304. package/src/apis/PostApi.ts +282 -18
  305. package/src/apis/TweetApi.ts +526 -51
  306. package/src/apis/UserApi.ts +103 -6
  307. package/src/apis/UserListApi.ts +235 -24
  308. package/src/apis/UsersApi.ts +47 -3
  309. package/src/apis/V11GetApi.ts +94 -6
  310. package/src/apis/V11PostApi.ts +94 -6
  311. package/src/apis/V20GetApi.ts +47 -3
  312. package/src/models/AdditionalMediaInfo.ts +66 -0
  313. package/src/models/Callback.ts +66 -0
  314. package/src/models/ClientEventInfo.ts +81 -0
  315. package/src/models/CoverCta.ts +129 -0
  316. package/src/models/CtaClientEventInfo.ts +76 -0
  317. package/src/models/DeleteRetweet.ts +73 -0
  318. package/src/models/DeleteRetweetResponseResult.ts +72 -0
  319. package/src/models/ErrorResponse.ts +73 -0
  320. package/src/models/ExtMediaAvailability.ts +75 -0
  321. package/src/models/ExtendedEntities.ts +9 -9
  322. package/src/models/Extensions.ts +109 -0
  323. package/src/models/InstructionType.ts +2 -1
  324. package/src/models/InstructionUnion.ts +12 -1
  325. package/src/models/ItemResult.ts +2 -3
  326. package/src/models/ListTweetsTimeline.ts +2 -3
  327. package/src/models/Media.ts +27 -17
  328. package/src/models/MediaExtended.ts +236 -0
  329. package/src/models/MediaOriginalInfo.ts +17 -8
  330. package/src/models/MediaOriginalInfoFocusRect.ts +93 -0
  331. package/src/models/MediaSize.ts +95 -0
  332. package/src/models/MediaSizes.ts +100 -0
  333. package/src/models/MediaStats.ts +66 -0
  334. package/src/models/MediaVideoInfo.ts +90 -0
  335. package/src/models/MediaVideoInfoVariant.ts +83 -0
  336. package/src/models/ModuleEntry.ts +10 -4
  337. package/src/models/PostCreateTweetRequestFeatures.ts +18 -27
  338. package/src/models/PostCreateTweetRequestVariablesMedia.ts +11 -4
  339. package/src/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.ts +75 -0
  340. package/src/models/{TweetLegacySelfThread.ts → SelfThread.ts} +9 -9
  341. package/src/models/Session.ts +11 -1
  342. package/src/models/Text.ts +82 -0
  343. package/src/models/TextEntity.ts +91 -0
  344. package/src/models/TextEntityRef.ts +102 -0
  345. package/src/models/TimelineCoverBehavior.ts +76 -0
  346. package/src/models/TimelineHalfCover.ts +157 -0
  347. package/src/models/TimelineShowCover.ts +103 -0
  348. package/src/models/TimelineTimelineItem.ts +10 -4
  349. package/src/models/TimelineTimelineModule.ts +12 -1
  350. package/src/models/TimelineUser.ts +13 -1
  351. package/src/models/Tweet.ts +21 -15
  352. package/src/models/TweetCardLegacy.ts +9 -9
  353. package/src/models/TweetCardLegacyBindingValue.ts +82 -0
  354. package/src/models/{TweetCardLegacyBindingValuesInnerValue.ts → TweetCardLegacyBindingValueData.ts} +12 -12
  355. package/src/models/TweetEditControl.ts +23 -0
  356. package/src/models/TweetEditControlInitial.ts +93 -0
  357. package/src/models/TweetLegacy.ts +9 -9
  358. package/src/models/{TweetViews.ts → TweetView.ts} +23 -12
  359. package/src/models/TypeName.ts +1 -0
  360. package/src/models/UserResults.ts +2 -3
  361. package/src/models/index.ts +29 -4
  362. package/tools/openapi-generator-config.yaml +1 -1
  363. package/tools/win/replace.py +1 -1
  364. package/twitter-openapi/.vscode/launch.json +8 -0
  365. package/twitter-openapi/.vscode/tasks.json +3 -0
  366. package/twitter-openapi/LICENSE +31 -0
  367. package/twitter-openapi/{LICENSE.txt → LICENSE.AGPL} +3 -3
  368. package/twitter-openapi/README.md +4 -1
  369. package/twitter-openapi/dist/compatible/openapi-3.0.yaml +5019 -36
  370. package/twitter-openapi/dist/docs/openapi-3.0.yaml +6817 -36
  371. package/twitter-openapi/src/config/component/security_schemes.yaml +148 -0
  372. package/twitter-openapi/src/config/placeholder.json +145 -112
  373. package/twitter-openapi/src/openapi/openapi-3.0.yaml +2 -2
  374. package/twitter-openapi/src/openapi/paths/other.yaml +2 -1
  375. package/twitter-openapi/src/openapi/paths/timeline.yaml +0 -2
  376. package/twitter-openapi/src/openapi/schemas/content.yaml +20 -8
  377. package/twitter-openapi/src/openapi/schemas/general.yaml +2 -2
  378. package/twitter-openapi/src/openapi/schemas/instruction.yaml +133 -0
  379. package/twitter-openapi/src/openapi/schemas/tweet.yaml +306 -107
  380. package/twitter-openapi/src/openapi/schemas/typename.yaml +1 -0
  381. package/twitter-openapi/src/openapi/schemas/user.yaml +0 -2
  382. package/twitter-openapi/test/python/replace.py +23 -0
  383. package/twitter-openapi/test/python/test_serialize.py +191 -91
  384. package/twitter-openapi/tools/__pycache__/build_config.cpython-310.pyc +0 -0
  385. package/twitter-openapi/tools/__pycache__/hooks.cpython-310.pyc +0 -0
  386. package/twitter-openapi/tools/build.py +35 -31
  387. package/twitter-openapi/tools/build_config.py +7 -10
  388. package/dist/models/TweetCardLegacyBindingValuesInner.d.ts +0 -39
  389. package/dist/models/TweetCardLegacyBindingValuesInner.d.ts.map +0 -1
  390. package/dist/models/TweetCardLegacyBindingValuesInner.js +0 -55
  391. package/dist/models/TweetCardLegacyBindingValuesInner.js.map +0 -1
  392. package/dist/models/TweetCardLegacyBindingValuesInnerValue.d.ts +0 -50
  393. package/dist/models/TweetCardLegacyBindingValuesInnerValue.d.ts.map +0 -1
  394. package/dist/models/TweetCardLegacyBindingValuesInnerValue.js.map +0 -1
  395. package/dist/models/TweetLegacySelfThread.d.ts +0 -32
  396. package/dist/models/TweetLegacySelfThread.d.ts.map +0 -1
  397. package/dist/models/TweetLegacySelfThread.js +0 -51
  398. package/dist/models/TweetLegacySelfThread.js.map +0 -1
  399. package/dist/models/TweetViews.d.ts +0 -38
  400. package/dist/models/TweetViews.d.ts.map +0 -1
  401. package/dist/models/TweetViews.js.map +0 -1
  402. package/src/models/TweetCardLegacyBindingValuesInner.ts +0 -82
  403. package/twitter-openapi/dist/compatible/paths/bookmarks.yaml +0 -107
  404. package/twitter-openapi/dist/compatible/paths/follow.yaml +0 -301
  405. package/twitter-openapi/dist/compatible/paths/other.yaml +0 -97
  406. package/twitter-openapi/dist/compatible/paths/post.yaml +0 -714
  407. package/twitter-openapi/dist/compatible/paths/profile.yaml +0 -126
  408. package/twitter-openapi/dist/compatible/paths/timeline.yaml +0 -416
  409. package/twitter-openapi/dist/compatible/paths/tweet.yaml +0 -397
  410. package/twitter-openapi/dist/compatible/paths/user.yaml +0 -233
  411. package/twitter-openapi/dist/compatible/paths/usertweets.yaml +0 -504
  412. package/twitter-openapi/dist/compatible/paths/v1.1-get.yaml +0 -242
  413. package/twitter-openapi/dist/compatible/paths/v1.1-post.yaml +0 -237
  414. package/twitter-openapi/dist/compatible/paths/v2.0-get.yaml +0 -302
  415. package/twitter-openapi/dist/compatible/resources/parameters.yaml +0 -13
  416. package/twitter-openapi/dist/compatible/response/error.yaml +0 -90
  417. package/twitter-openapi/dist/compatible/schemas/content.yaml +0 -201
  418. package/twitter-openapi/dist/compatible/schemas/error.yaml +0 -94
  419. package/twitter-openapi/dist/compatible/schemas/general.yaml +0 -13
  420. package/twitter-openapi/dist/compatible/schemas/instruction.yaml +0 -156
  421. package/twitter-openapi/dist/compatible/schemas/timeline.yaml +0 -27
  422. package/twitter-openapi/dist/compatible/schemas/tweet.yaml +0 -323
  423. package/twitter-openapi/dist/compatible/schemas/typename.yaml +0 -22
  424. package/twitter-openapi/dist/compatible/schemas/user.yaml +0 -222
  425. package/twitter-openapi/dist/docs/paths/bookmarks.yaml +0 -201
  426. package/twitter-openapi/dist/docs/paths/follow.yaml +0 -587
  427. package/twitter-openapi/dist/docs/paths/other.yaml +0 -97
  428. package/twitter-openapi/dist/docs/paths/post.yaml +0 -692
  429. package/twitter-openapi/dist/docs/paths/profile.yaml +0 -134
  430. package/twitter-openapi/dist/docs/paths/timeline.yaml +0 -811
  431. package/twitter-openapi/dist/docs/paths/tweet.yaml +0 -797
  432. package/twitter-openapi/dist/docs/paths/user.yaml +0 -338
  433. package/twitter-openapi/dist/docs/paths/usertweets.yaml +0 -1046
  434. package/twitter-openapi/dist/docs/paths/v1.1-get.yaml +0 -242
  435. package/twitter-openapi/dist/docs/paths/v1.1-post.yaml +0 -237
  436. package/twitter-openapi/dist/docs/paths/v2.0-get.yaml +0 -302
  437. package/twitter-openapi/dist/docs/resources/parameters.yaml +0 -13
  438. package/twitter-openapi/dist/docs/response/error.yaml +0 -90
  439. package/twitter-openapi/dist/docs/schemas/content.yaml +0 -201
  440. package/twitter-openapi/dist/docs/schemas/error.yaml +0 -94
  441. package/twitter-openapi/dist/docs/schemas/general.yaml +0 -13
  442. package/twitter-openapi/dist/docs/schemas/instruction.yaml +0 -156
  443. package/twitter-openapi/dist/docs/schemas/timeline.yaml +0 -27
  444. package/twitter-openapi/dist/docs/schemas/tweet.yaml +0 -323
  445. package/twitter-openapi/dist/docs/schemas/typename.yaml +0 -22
  446. package/twitter-openapi/dist/docs/schemas/user.yaml +0 -222
@@ -5,6 +5,10 @@ import base64
5
5
  import openapi_client as pt
6
6
  from pathlib import Path
7
7
  import time
8
+ import glob
9
+ import aenum
10
+ import concurrent.futures
11
+ import traceback
8
12
 
9
13
 
10
14
  logging.basicConfig(level=logging.DEBUG, format="%(asctime)s %(levelname)s %(message)s")
@@ -14,23 +18,7 @@ TWITTER_SESSION = os.environ.get("TWITTER_SESSION", None)
14
18
  ERROR_UNCATCHED = os.environ.get("ERROR_UNCATCHED", "false").lower() == "true"
15
19
  SLEEP_TIME = float(os.environ.get("SLEEP", "0"))
16
20
  CUESOR_TEST_COUNT = int(os.environ.get("CUESOR_TEST_COUNT", "3"))
17
-
18
-
19
- if Path("cookie.json").exists():
20
- with open("cookie.json", "r") as f:
21
- cookies = json.load(f)
22
- elif TWITTER_SESSION is not None:
23
- data = base64.b64decode(TWITTER_SESSION).decode("utf-8")
24
- cookies = json.loads(data)
25
- else:
26
- commands = ["python -m pip install tweepy_authlib", "python tools/login.py"]
27
- raise Exception(f'cookie.json not found. Please run `{"; ".join(commands)}` first.')
28
-
29
- cookies_str = "; ".join([f"{k}={v}" for k, v in cookies.items()])
30
-
31
-
32
- with open("src/config/placeholder.json", "r") as f:
33
- placeholder = json.load(f)
21
+ STRICT_MODE = os.environ.get("STRICT_MODE", "false").lower() == "true"
34
22
 
35
23
 
36
24
  def get_key(snake_str):
@@ -74,10 +62,68 @@ def get_kwargs(key, additional):
74
62
  return kwargs
75
63
 
76
64
 
65
+ def match_rate_zero(key):
66
+ if STRICT_MODE:
67
+ raise Exception(f"Strict mode: {key}")
68
+ return 0
69
+
70
+
71
+ def match_rate(a, b, key=""):
72
+ if isinstance(a, aenum.Enum):
73
+ a = a.value
74
+ if isinstance(b, aenum.Enum):
75
+ b = b.value
76
+ if a is None and b is False:
77
+ return 1
78
+ if a is False and b is None:
79
+ return 1
80
+ if type(a) != type(b):
81
+ return match_rate_zero(key)
82
+ if type(a) == dict and type(b) == dict:
83
+ if len(a) == 0 and len(b) == 0:
84
+ return 1
85
+ if len(a) == 0 or len(b) == 0:
86
+ return match_rate_zero(key)
87
+
88
+ data = [match_rate(a.get(k), b.get(k), key=f"{key}.{k}") for k in a.keys()]
89
+
90
+ return sum(data) / len(a)
91
+ if type(a) == list and type(b) == list:
92
+ if len(a) == 0 and len(b) == 0:
93
+ return 1
94
+ if len(a) != len(b):
95
+ return match_rate_zero(a, b, key=key)
96
+ data = [match_rate(a[i], b[i], key=f"{key}[{i}]") for i in range(len(a))]
97
+ return sum(data) / len(a)
98
+ if a == b:
99
+ return 1
100
+ return match_rate_zero(a, b, key=key)
101
+
102
+
103
+ def save_cache(data):
104
+ rand = time.time_ns()
105
+ os.makedirs("cache", exist_ok=True)
106
+ with open(f"cache/{rand}.json", "w+") as f:
107
+ json.dump(data, f, indent=4)
108
+
109
+
110
+ def task_callback(file, thread=True):
111
+ try:
112
+ with open(file, "r") as f:
113
+ cache = json.load(f)
114
+ data = pt.__dict__[cache["type"]].from_json(cache["raw"])
115
+ rate = match_rate(data.to_dict(), json.loads(cache["raw"]))
116
+ return rate, file
117
+ except Exception as e:
118
+ if thread:
119
+ return 0, file
120
+ else:
121
+ raise
122
+
123
+
77
124
  def error_dump(e):
78
125
  if ERROR_UNCATCHED:
79
126
  raise
80
- import traceback
81
127
 
82
128
  logger.error("==========[STACK TRACE]==========")
83
129
  for trace in traceback.format_exc().split("\n"):
@@ -85,76 +131,130 @@ def error_dump(e):
85
131
  logger.info("================================")
86
132
 
87
133
 
88
- api_conf = pt.Configuration(
89
- api_key={
90
- "ClientLanguage": "en",
91
- "ActiveUser": "yes",
92
- "AuthType": "OAuth2Session",
93
- "CsrfToken": cookies["ct0"],
94
- },
95
- )
96
-
97
- api_conf.access_token = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
98
-
99
- api_client = pt.ApiClient(configuration=api_conf, cookie=cookies_str)
100
- api_client.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
101
-
102
- error_count = 0
103
-
104
- for x in [pt.DefaultApi, pt.TweetApi, pt.UserApi, pt.UsersApi, pt.UserListApi]:
105
- for props, fn in x.__dict__.items():
106
- if not callable(fn):
107
- continue
108
- if props.startswith("__") or props.endswith("_with_http_info"):
109
- continue
110
-
111
- key = get_key(props)
112
- cursor_list = set([None])
113
- cursor_history = set()
114
-
115
- try:
116
- for _ in range(CUESOR_TEST_COUNT):
117
- cursor = cursor_list.pop()
118
- cursor_history.add(cursor)
119
- logger.info(f"Try: {key} {cursor}")
120
-
121
- kwargs = get_kwargs(key, {} if cursor is None else {"cursor": cursor})
122
- res: dict = getattr(x(api_client), props)(**kwargs).to_dict()
123
-
124
- new_cursor = set(get_cursor(res, find_cursor)) - cursor_history
125
- cursor_list.update(new_cursor)
126
- # logger.info(f"Find cursor: {len(new_cursor)}")
127
-
128
- if res.get("errors") is not None:
129
- logger.error(res)
130
- error_count += 1
131
-
132
- if len(cursor_list) == 0:
133
- break
134
- time.sleep(SLEEP_TIME)
135
-
136
- except Exception as e:
137
- error_dump(e)
138
- error_count += 1
139
-
140
-
141
- try:
142
- logger.info(f"Try: Self UserByScreenName Test")
143
- kwargs = get_kwargs("UserByScreenName", {"screen_name": "a810810931931"})
144
- res = pt.UserApi(api_client).get_user_by_screen_name(**kwargs).to_dict()
145
- if not res["data"]["user"]["result"]["legacy"]["screen_name"] == "a810810931931":
146
- raise Exception("UserByScreenName failed")
147
- except Exception as e:
148
- error_dump(e)
149
- error_count += 1
150
-
151
- try:
152
- logger.info(f"Try: Self UserTweets Test")
153
- kwargs = get_kwargs("UserTweets", {"userId": "1180389371481976833"})
154
- pt.TweetApi(api_client).get_user_tweets(**kwargs)
155
- except Exception as e:
156
- error_dump(e)
157
- error_count += 1
158
-
159
- if error_count > 0:
160
- exit(1)
134
+ if __name__ == "__main__":
135
+ if Path("cookie.json").exists():
136
+ with open("cookie.json", "r") as f:
137
+ cookies = json.load(f)
138
+ elif TWITTER_SESSION is not None:
139
+ data = base64.b64decode(TWITTER_SESSION).decode("utf-8")
140
+ cookies = json.loads(data)
141
+ else:
142
+ commands = ["python -m pip install tweepy_authlib", "python tools/login.py"]
143
+ raise Exception(
144
+ f'cookie.json not found. Please run `{"; ".join(commands)}` first.'
145
+ )
146
+
147
+ cookies_str = "; ".join([f"{k}={v}" for k, v in cookies.items()])
148
+
149
+ with open("src/config/placeholder.json", "r") as f:
150
+ placeholder = json.load(f)
151
+
152
+ fail = []
153
+ with concurrent.futures.ProcessPoolExecutor() as executor:
154
+ tasks = [executor.submit(task_callback, x) for x in glob.glob("cache/*.json")]
155
+ for task in concurrent.futures.as_completed(tasks):
156
+ rate, file = task.result()
157
+ if rate < 1:
158
+ fail.append(file)
159
+ logger.info(f"Match rate: {rate}")
160
+
161
+ logger.info(f"Fail: {len(fail)} / {len(glob.glob('cache/*.json'))}")
162
+
163
+ for file in fail:
164
+ task_callback(file, thread=False)
165
+ logger.info(f"Match rate: {rate}")
166
+
167
+ api_conf = pt.Configuration(
168
+ api_key={
169
+ "ClientLanguage": "en",
170
+ "ActiveUser": "yes",
171
+ "AuthType": "OAuth2Session",
172
+ "CsrfToken": cookies["ct0"],
173
+ },
174
+ )
175
+
176
+ api_conf.access_token = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
177
+
178
+ api_client = pt.ApiClient(configuration=api_conf, cookie=cookies_str)
179
+ api_client.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
180
+
181
+ error_count = 0
182
+
183
+ for x in [pt.DefaultApi, pt.TweetApi, pt.UserApi, pt.UsersApi, pt.UserListApi]:
184
+ for props, fn in x.__dict__.items():
185
+ if not callable(fn):
186
+ continue
187
+ if props.startswith("__") or not props.endswith("_with_http_info"):
188
+ continue
189
+
190
+ key = get_key(props[:-15])
191
+ cursor_list = set([None])
192
+ cursor_history = set()
193
+
194
+ try:
195
+ for _ in range(CUESOR_TEST_COUNT):
196
+ cursor = cursor_list.pop()
197
+ cursor_history.add(cursor)
198
+ logger.info(f"Try: {key} {cursor}")
199
+
200
+ kwargs = get_kwargs(
201
+ key, {} if cursor is None else {"cursor": cursor}
202
+ )
203
+ res: pt.ApiResponse = getattr(x(api_client), props)(**kwargs)
204
+ data = res.data.to_dict()
205
+
206
+ save_cache(
207
+ {
208
+ "raw": res.raw_data,
209
+ "type": res.data.__class__.__name__,
210
+ }
211
+ )
212
+
213
+ new_cursor = set(get_cursor(data, find_cursor)) - cursor_history
214
+ cursor_list.update(new_cursor)
215
+
216
+ rate = match_rate(data, json.loads(res.raw_data))
217
+ logger.info(f"Match rate: {rate}")
218
+
219
+ if data.get("errors") is not None:
220
+ logger.error(data)
221
+ error_count += 1
222
+
223
+ if len(cursor_list) == 0:
224
+ break
225
+ time.sleep(SLEEP_TIME)
226
+
227
+ except Exception as e:
228
+ error_dump(e)
229
+ error_count += 1
230
+
231
+ try:
232
+ logger.info(f"Try: Self UserByScreenName Test")
233
+ kwargs = get_kwargs("UserByScreenName", {"screen_name": "a810810931931"})
234
+ res = pt.UserApi(api_client).get_user_by_screen_name_with_http_info(**kwargs)
235
+ data = res.data.to_dict()
236
+
237
+ rate = match_rate(data, json.loads(res.raw_data))
238
+ logger.info(f"Match rate: {rate}")
239
+ screen_name = data["data"]["user"]["result"]["legacy"]["screen_name"]
240
+ if not screen_name == "a810810931931":
241
+ raise Exception("UserByScreenName failed")
242
+ except Exception as e:
243
+ error_dump(e)
244
+ error_count += 1
245
+
246
+ try:
247
+ logger.info(f"Try: Self UserTweets Test")
248
+ kwargs = get_kwargs("UserTweets", {"userId": "1180389371481976833"})
249
+ res = pt.TweetApi(api_client).get_user_tweets_with_http_info(**kwargs)
250
+ data = res.data.to_dict()
251
+
252
+ rate = match_rate(data, json.loads(res.raw_data))
253
+ logger.info(f"Match rate: {rate}")
254
+
255
+ except Exception as e:
256
+ error_dump(e)
257
+ error_count += 1
258
+
259
+ if error_count > 0:
260
+ exit(1)
@@ -1,79 +1,83 @@
1
1
  import os
2
2
  import glob
3
- import json
4
3
  import yaml
5
4
  import shutil
6
- import copy
7
- import re
8
5
  from build_config import Config
9
- from hooks import OpenapiHookBase, RequestHookBase, SchemasHookBase,OtherHookBase
6
+ from hooks import OpenapiHookBase, RequestHookBase, SchemasHookBase, OtherHookBase
10
7
  from tqdm import tqdm
11
8
 
12
9
 
10
+ def replace_ref(x):
11
+ if isinstance(x, dict):
12
+ return {
13
+ key: "#" + value.split("#")[-1] if key == "$ref" else replace_ref(value)
14
+ for key, value in x.items()
15
+ }
16
+ elif isinstance(x, list):
17
+ return [replace_ref(value) for value in x]
18
+ return x
19
+
20
+
13
21
  print("=== Build Start ===")
14
22
 
15
23
 
16
24
  config = Config()
17
25
 
18
26
 
19
- try:
20
- shutil.rmtree("dist")
21
- except:
22
- pass
23
-
24
- for lang, profile in tqdm(config.main().items(), leave=False):
25
- dist_replace = lambda x: x.replace(
26
- config.INPUT_DIR, config.OUTPUT_DIR.format(lang), 1
27
- )
27
+ shutil.rmtree("dist", ignore_errors=True)
28
28
 
29
- for dir in glob.glob(os.path.join(config.INPUT_DIR, "**/")):
30
- os.makedirs(dist_replace(dir), exist_ok=True)
31
29
 
30
+ for lang, profile in tqdm(config.main().items(), leave=False):
32
31
  paths = {}
32
+ schemas = {}
33
33
  files = glob.glob(os.path.join(config.INPUT_DIR, "**/*.yaml"))
34
34
  for file in tqdm(files, leave=False):
35
35
  file = file.replace(os.path.sep, "/")
36
36
  with open(file, mode="r", encoding="utf-8") as f:
37
37
  load = yaml.safe_load(f)
38
+
39
+ # RequestHookBase hook
38
40
  for path in list(load["paths"]):
39
41
  for method in list(load["paths"][path]):
42
+ key, value = path, load["paths"][path][method]
40
43
  for tag in list(load["paths"][path][method].get("tags", ["default"])):
41
- key, value = path, load["paths"][path][method]
42
44
  for hook in profile["request"][tag]:
43
45
  hook: RequestHookBase
44
46
  key, value = hook.hook(key, value)
45
- load["paths"][path][method] = value
46
- load["paths"][key] = load["paths"].pop(path)
47
+ paths.update({key: {}})
48
+ paths[key].update({method: value})
47
49
 
48
- escape = key.replace("/", "~1")
49
- relative = file.replace(config.INPUT_DIR, "", 1)
50
- paths.update({key: {"$ref": f".{relative}#/paths/{escape}"}})
50
+ # SchemasHookBase hook
51
51
  for name in list(load.get("components", {}).get("schemas", {})):
52
52
  value = load["components"]["schemas"][name]
53
53
  for hook in profile["schemas"]:
54
54
  hook: SchemasHookBase
55
55
  value = hook.hook(value)
56
- load["components"]["schemas"][name] = value
56
+ schemas.update({name: value})
57
+
58
+ # OtherHookBase hook
57
59
  if file == "src/openapi/paths/other.yaml":
58
60
  for hook in profile["other"]:
59
61
  hook: OtherHookBase
60
62
  key, value = hook.hook()
61
- load["components"]["schemas"][key] = value
62
- load["components"]["schemas"]["OtherResponse"]["properties"][key] = {
63
- "$ref": f"#/components/schemas/{key}"
64
- }
65
- with open(dist_replace(file), mode="w+", encoding="utf-8") as f:
66
- f.write(yaml.dump(load))
63
+ schemas["OtherResponse"]["properties"].append({key: value})
67
64
 
68
65
  file = "src/openapi/openapi-3.0.yaml"
66
+
69
67
  with open(file, mode="r", encoding="utf-8") as f:
70
68
  openapi = yaml.safe_load(f)
71
- for path in paths:
72
- openapi["paths"] = paths
69
+
70
+ # OpenapiHookBase hook
73
71
  for hook in profile["openapi"]:
74
72
  hook: OpenapiHookBase
75
73
  openapi = hook.hook(openapi)
76
- with open(dist_replace(file), mode="w+", encoding="utf-8") as f:
74
+
75
+ openapi["paths"] = replace_ref(paths)
76
+ openapi["components"]["schemas"] = replace_ref(schemas)
77
+ output = config.OUTPUT_DIR.format(lang)
78
+ os.makedirs(output, exist_ok=True)
79
+
80
+ with open(output + "/openapi-3.0.yaml", mode="w+", encoding="utf-8") as f:
77
81
  f.write(yaml.dump(openapi))
78
82
 
79
83
  print("=== Build End ===")
@@ -8,26 +8,19 @@ class Config:
8
8
  def hooks_generator(self, queryParameterJson=True):
9
9
  # https://stackoverflow.com/questions/34820064/defining-an-api-with-swagger-get-call-that-uses-json-in-parameters/45223964
10
10
  if queryParameterJson:
11
+ # ["parameters"][0]["content"]["application/json"]["schema"]
11
12
  getParamHook = AddParametersOnContent(
12
13
  split=-1,
13
14
  contentType="application/json",
14
15
  ignoreKeys=["queryId"],
15
16
  )
16
- postParamHook = AddParametersOnParameters(
17
- split=-1,
18
- schemaType=None,
19
- )
20
17
  else:
18
+ # ["parameters"][0]["schema"]
21
19
  getParamHook = AddParametersOnParameters(
22
20
  split=-1,
23
21
  schemaType="string",
24
22
  ignoreKeys=["queryId"],
25
23
  )
26
- postParamHook = AddParametersOnBody(
27
- split=-1,
28
- schemaType=None,
29
- contentType="application/json",
30
- )
31
24
 
32
25
  return {
33
26
  "openapi": [AddSecuritySchemesOnSecuritySchemes()],
@@ -45,7 +38,11 @@ class Config:
45
38
  key: [
46
39
  SetResponsesHeader(suffix=None),
47
40
  AddPathQueryIdOnParameters(split=-1),
48
- postParamHook,
41
+ AddParametersOnBody(
42
+ split=-1,
43
+ schemaType=None,
44
+ contentType="application/json",
45
+ ),
49
46
  ]
50
47
  for key in ["post"]
51
48
  }
@@ -1,39 +0,0 @@
1
- /**
2
- * Twitter OpenAPI
3
- * Twitter OpenAPI(Swagger) specification
4
- *
5
- * The version of the OpenAPI document: 0.0.1
6
- * Contact: yuki@yuki0311.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- import type { TweetCardLegacyBindingValuesInnerValue } from './TweetCardLegacyBindingValuesInnerValue';
13
- /**
14
- *
15
- * @export
16
- * @interface TweetCardLegacyBindingValuesInner
17
- */
18
- export interface TweetCardLegacyBindingValuesInner {
19
- /**
20
- *
21
- * @type {string}
22
- * @memberof TweetCardLegacyBindingValuesInner
23
- */
24
- key: string;
25
- /**
26
- *
27
- * @type {TweetCardLegacyBindingValuesInnerValue}
28
- * @memberof TweetCardLegacyBindingValuesInner
29
- */
30
- value: TweetCardLegacyBindingValuesInnerValue;
31
- }
32
- /**
33
- * Check if a given object implements the TweetCardLegacyBindingValuesInner interface.
34
- */
35
- export declare function instanceOfTweetCardLegacyBindingValuesInner(value: object): boolean;
36
- export declare function TweetCardLegacyBindingValuesInnerFromJSON(json: any): TweetCardLegacyBindingValuesInner;
37
- export declare function TweetCardLegacyBindingValuesInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): TweetCardLegacyBindingValuesInner;
38
- export declare function TweetCardLegacyBindingValuesInnerToJSON(value?: TweetCardLegacyBindingValuesInner | null): any;
39
- //# sourceMappingURL=TweetCardLegacyBindingValuesInner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TweetCardLegacyBindingValuesInner.d.ts","sourceRoot":"","sources":["../../src/models/TweetCardLegacyBindingValuesInner.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAOvG;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IAC9C;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,KAAK,EAAE,sCAAsC,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,2CAA2C,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMlF;AAED,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,GAAG,GAAG,iCAAiC,CAEtG;AAED,wBAAgB,8CAA8C,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,iCAAiC,CASzI;AAED,wBAAgB,uCAAuC,CAAC,KAAK,CAAC,EAAE,iCAAiC,GAAG,IAAI,GAAG,GAAG,CAY7G"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- /**
5
- * Twitter OpenAPI
6
- * Twitter OpenAPI(Swagger) specification
7
- *
8
- * The version of the OpenAPI document: 0.0.1
9
- * Contact: yuki@yuki0311.com
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.TweetCardLegacyBindingValuesInnerToJSON = exports.TweetCardLegacyBindingValuesInnerFromJSONTyped = exports.TweetCardLegacyBindingValuesInnerFromJSON = exports.instanceOfTweetCardLegacyBindingValuesInner = void 0;
17
- var TweetCardLegacyBindingValuesInnerValue_1 = require("./TweetCardLegacyBindingValuesInnerValue");
18
- /**
19
- * Check if a given object implements the TweetCardLegacyBindingValuesInner interface.
20
- */
21
- function instanceOfTweetCardLegacyBindingValuesInner(value) {
22
- var isInstance = true;
23
- isInstance = isInstance && "key" in value;
24
- isInstance = isInstance && "value" in value;
25
- return isInstance;
26
- }
27
- exports.instanceOfTweetCardLegacyBindingValuesInner = instanceOfTweetCardLegacyBindingValuesInner;
28
- function TweetCardLegacyBindingValuesInnerFromJSON(json) {
29
- return TweetCardLegacyBindingValuesInnerFromJSONTyped(json, false);
30
- }
31
- exports.TweetCardLegacyBindingValuesInnerFromJSON = TweetCardLegacyBindingValuesInnerFromJSON;
32
- function TweetCardLegacyBindingValuesInnerFromJSONTyped(json, ignoreDiscriminator) {
33
- if ((json === undefined) || (json === null)) {
34
- return json;
35
- }
36
- return {
37
- 'key': json['key'],
38
- 'value': (0, TweetCardLegacyBindingValuesInnerValue_1.TweetCardLegacyBindingValuesInnerValueFromJSON)(json['value']),
39
- };
40
- }
41
- exports.TweetCardLegacyBindingValuesInnerFromJSONTyped = TweetCardLegacyBindingValuesInnerFromJSONTyped;
42
- function TweetCardLegacyBindingValuesInnerToJSON(value) {
43
- if (value === undefined) {
44
- return undefined;
45
- }
46
- if (value === null) {
47
- return null;
48
- }
49
- return {
50
- 'key': value.key,
51
- 'value': (0, TweetCardLegacyBindingValuesInnerValue_1.TweetCardLegacyBindingValuesInnerValueToJSON)(value.value),
52
- };
53
- }
54
- exports.TweetCardLegacyBindingValuesInnerToJSON = TweetCardLegacyBindingValuesInnerToJSON;
55
- //# sourceMappingURL=TweetCardLegacyBindingValuesInner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TweetCardLegacyBindingValuesInner.js","sourceRoot":"","sources":["../../src/models/TweetCardLegacyBindingValuesInner.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;;;AAIH,mGAIkD;AAsBlD;;GAEG;AACH,SAAgB,2CAA2C,CAAC,KAAa;IACrE,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,UAAU,GAAG,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC;IAC1C,UAAU,GAAG,UAAU,IAAI,OAAO,IAAI,KAAK,CAAC;IAE5C,OAAO,UAAU,CAAC;AACtB,CAAC;AAND,kGAMC;AAED,SAAgB,yCAAyC,CAAC,IAAS;IAC/D,OAAO,8CAA8C,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC;AAFD,8FAEC;AAED,SAAgB,8CAA8C,CAAC,IAAS,EAAE,mBAA4B;IAClG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;QACzC,OAAO,IAAI,CAAC;KACf;IACD,OAAO;QAEH,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;QAClB,OAAO,EAAE,IAAA,uFAA8C,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACzE,CAAC;AACN,CAAC;AATD,wGASC;AAED,SAAgB,uCAAuC,CAAC,KAAgD;IACpG,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO,SAAS,CAAC;KACpB;IACD,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAC;KACf;IACD,OAAO;QAEH,KAAK,EAAE,KAAK,CAAC,GAAG;QAChB,OAAO,EAAE,IAAA,qFAA4C,EAAC,KAAK,CAAC,KAAK,CAAC;KACrE,CAAC;AACN,CAAC;AAZD,0FAYC"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Twitter OpenAPI
3
- * Twitter OpenAPI(Swagger) specification
4
- *
5
- * The version of the OpenAPI document: 0.0.1
6
- * Contact: yuki@yuki0311.com
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- /**
13
- *
14
- * @export
15
- * @interface TweetCardLegacyBindingValuesInnerValue
16
- */
17
- export interface TweetCardLegacyBindingValuesInnerValue {
18
- /**
19
- *
20
- * @type {boolean}
21
- * @memberof TweetCardLegacyBindingValuesInnerValue
22
- */
23
- booleanValue?: boolean;
24
- /**
25
- *
26
- * @type {string}
27
- * @memberof TweetCardLegacyBindingValuesInnerValue
28
- */
29
- scribeKey?: string;
30
- /**
31
- *
32
- * @type {string}
33
- * @memberof TweetCardLegacyBindingValuesInnerValue
34
- */
35
- stringValue?: string;
36
- /**
37
- *
38
- * @type {string}
39
- * @memberof TweetCardLegacyBindingValuesInnerValue
40
- */
41
- type: string;
42
- }
43
- /**
44
- * Check if a given object implements the TweetCardLegacyBindingValuesInnerValue interface.
45
- */
46
- export declare function instanceOfTweetCardLegacyBindingValuesInnerValue(value: object): boolean;
47
- export declare function TweetCardLegacyBindingValuesInnerValueFromJSON(json: any): TweetCardLegacyBindingValuesInnerValue;
48
- export declare function TweetCardLegacyBindingValuesInnerValueFromJSONTyped(json: any, ignoreDiscriminator: boolean): TweetCardLegacyBindingValuesInnerValue;
49
- export declare function TweetCardLegacyBindingValuesInnerValueToJSON(value?: TweetCardLegacyBindingValuesInnerValue | null): any;
50
- //# sourceMappingURL=TweetCardLegacyBindingValuesInnerValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TweetCardLegacyBindingValuesInnerValue.d.ts","sourceRoot":"","sources":["../../src/models/TweetCardLegacyBindingValuesInnerValue.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH;;;;GAIG;AACH,MAAM,WAAW,sCAAsC;IACnD;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,gDAAgD,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKvF;AAED,wBAAgB,8CAA8C,CAAC,IAAI,EAAE,GAAG,GAAG,sCAAsC,CAEhH;AAED,wBAAgB,mDAAmD,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,sCAAsC,CAWnJ;AAED,wBAAgB,4CAA4C,CAAC,KAAK,CAAC,EAAE,sCAAsC,GAAG,IAAI,GAAG,GAAG,CAcvH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TweetCardLegacyBindingValuesInnerValue.js","sourceRoot":"","sources":["../../src/models/TweetCardLegacyBindingValuesInnerValue.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;;;AAEH,sCAA+C;AAiC/C;;GAEG;AACH,SAAgB,gDAAgD,CAAC,KAAa;IAC1E,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,UAAU,GAAG,UAAU,IAAI,MAAM,IAAI,KAAK,CAAC;IAE3C,OAAO,UAAU,CAAC;AACtB,CAAC;AALD,4GAKC;AAED,SAAgB,8CAA8C,CAAC,IAAS;IACpE,OAAO,mDAAmD,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC;AAFD,wGAEC;AAED,SAAgB,mDAAmD,CAAC,IAAS,EAAE,mBAA4B;IACvG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;QACzC,OAAO,IAAI,CAAC;KACf;IACD,OAAO;QAEH,cAAc,EAAE,CAAC,IAAA,gBAAM,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAClF,WAAW,EAAE,CAAC,IAAA,gBAAM,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACzE,aAAa,EAAE,CAAC,IAAA,gBAAM,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/E,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;KACvB,CAAC;AACN,CAAC;AAXD,kHAWC;AAED,SAAgB,4CAA4C,CAAC,KAAqD;IAC9G,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO,SAAS,CAAC;KACpB;IACD,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,IAAI,CAAC;KACf;IACD,OAAO;QAEH,eAAe,EAAE,KAAK,CAAC,YAAY;QACnC,YAAY,EAAE,KAAK,CAAC,SAAS;QAC7B,cAAc,EAAE,KAAK,CAAC,WAAW;QACjC,MAAM,EAAE,KAAK,CAAC,IAAI;KACrB,CAAC;AACN,CAAC;AAdD,oGAcC"}