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.
- package/.openapi-generator/FILES +29 -4
- package/LICENSE +31 -0
- package/{LICENSE.txt → LICENSE.AGPL} +3 -3
- package/README.md +2 -2
- package/dist/apis/DefaultApi.d.ts.map +1 -1
- package/dist/apis/DefaultApi.js +87 -19
- package/dist/apis/DefaultApi.js.map +1 -1
- package/dist/apis/OtherApi.d.ts.map +1 -1
- package/dist/apis/OtherApi.js +44 -10
- package/dist/apis/OtherApi.js.map +1 -1
- package/dist/apis/PostApi.d.ts.map +1 -1
- package/dist/apis/PostApi.js +265 -61
- package/dist/apis/PostApi.js.map +1 -1
- package/dist/apis/TweetApi.d.ts +1 -2
- package/dist/apis/TweetApi.d.ts.map +1 -1
- package/dist/apis/TweetApi.js +480 -112
- package/dist/apis/TweetApi.js.map +1 -1
- package/dist/apis/UserApi.d.ts +1 -0
- package/dist/apis/UserApi.d.ts.map +1 -1
- package/dist/apis/UserApi.js +93 -19
- package/dist/apis/UserApi.js.map +1 -1
- package/dist/apis/UserListApi.d.ts +0 -1
- package/dist/apis/UserListApi.d.ts.map +1 -1
- package/dist/apis/UserListApi.js +216 -52
- package/dist/apis/UserListApi.js.map +1 -1
- package/dist/apis/UsersApi.d.ts.map +1 -1
- package/dist/apis/UsersApi.js +44 -10
- package/dist/apis/UsersApi.js.map +1 -1
- package/dist/apis/V11GetApi.d.ts.map +1 -1
- package/dist/apis/V11GetApi.js +87 -19
- package/dist/apis/V11GetApi.js.map +1 -1
- package/dist/apis/V11PostApi.d.ts.map +1 -1
- package/dist/apis/V11PostApi.js +73 -7
- package/dist/apis/V11PostApi.js.map +1 -1
- package/dist/apis/V20GetApi.d.ts.map +1 -1
- package/dist/apis/V20GetApi.js +44 -10
- package/dist/apis/V20GetApi.js.map +1 -1
- package/dist/models/AdditionalMediaInfo.d.ts +32 -0
- package/dist/models/AdditionalMediaInfo.d.ts.map +1 -0
- package/dist/models/AdditionalMediaInfo.js +51 -0
- package/dist/models/AdditionalMediaInfo.js.map +1 -0
- package/dist/models/Callback.d.ts +32 -0
- package/dist/models/Callback.d.ts.map +1 -0
- package/dist/models/Callback.js +51 -0
- package/dist/models/Callback.js.map +1 -0
- package/dist/models/ClientEventInfo.d.ts +46 -0
- package/dist/models/ClientEventInfo.d.ts.map +1 -0
- package/dist/models/ClientEventInfo.js +55 -0
- package/dist/models/ClientEventInfo.js.map +1 -0
- package/dist/models/ContentEntryType.d.ts +1 -1
- package/dist/models/ContentEntryType.d.ts.map +1 -1
- package/dist/models/ContentItemType.d.ts +1 -1
- package/dist/models/ContentItemType.d.ts.map +1 -1
- package/dist/models/ContentUnion.d.ts +1 -1
- package/dist/models/ContentUnion.d.ts.map +1 -1
- package/dist/models/CoverCta.d.ts +66 -0
- package/dist/models/CoverCta.d.ts.map +1 -0
- package/dist/models/CoverCta.js +71 -0
- package/dist/models/CoverCta.js.map +1 -0
- package/dist/models/CtaClientEventInfo.d.ts +39 -0
- package/dist/models/CtaClientEventInfo.d.ts.map +1 -0
- package/dist/models/CtaClientEventInfo.js +57 -0
- package/dist/models/CtaClientEventInfo.js.map +1 -0
- package/dist/models/CursorType.d.ts +1 -1
- package/dist/models/CursorType.d.ts.map +1 -1
- package/dist/models/DeleteRetweet.d.ts +33 -0
- package/dist/models/DeleteRetweet.d.ts.map +1 -0
- package/dist/models/DeleteRetweet.js +52 -0
- package/dist/models/DeleteRetweet.js.map +1 -0
- package/dist/models/DeleteRetweetResponseResult.d.ts +33 -0
- package/dist/models/DeleteRetweetResponseResult.d.ts.map +1 -0
- package/dist/models/DeleteRetweetResponseResult.js +52 -0
- package/dist/models/DeleteRetweetResponseResult.js.map +1 -0
- package/dist/models/ErrorResponse.d.ts +33 -0
- package/dist/models/ErrorResponse.d.ts.map +1 -0
- package/dist/models/ErrorResponse.js +52 -0
- package/dist/models/ErrorResponse.js.map +1 -0
- package/dist/models/ExtMediaAvailability.d.ts +39 -0
- package/dist/models/ExtMediaAvailability.d.ts.map +1 -0
- package/dist/models/ExtMediaAvailability.js +57 -0
- package/dist/models/ExtMediaAvailability.js.map +1 -0
- package/dist/models/ExtendedEntities.d.ts +3 -3
- package/dist/models/ExtendedEntities.d.ts.map +1 -1
- package/dist/models/ExtendedEntities.js +3 -3
- package/dist/models/ExtendedEntities.js.map +1 -1
- package/dist/models/Extensions.d.ts +57 -0
- package/dist/models/Extensions.d.ts.map +1 -0
- package/dist/models/Extensions.js +64 -0
- package/dist/models/Extensions.js.map +1 -0
- package/dist/models/GetBookmarks200Response.d.ts +1 -1
- package/dist/models/GetBookmarks200Response.d.ts.map +1 -1
- package/dist/models/GetFavoriters200Response.d.ts +1 -1
- package/dist/models/GetFavoriters200Response.d.ts.map +1 -1
- package/dist/models/GetFollowers200Response.d.ts +1 -1
- package/dist/models/GetFollowers200Response.d.ts.map +1 -1
- package/dist/models/GetHomeLatestTimeline200Response.d.ts +1 -1
- package/dist/models/GetHomeLatestTimeline200Response.d.ts.map +1 -1
- package/dist/models/GetLikes200Response.d.ts +1 -1
- package/dist/models/GetLikes200Response.d.ts.map +1 -1
- package/dist/models/GetListLatestTweetsTimeline200Response.d.ts +1 -1
- package/dist/models/GetListLatestTweetsTimeline200Response.d.ts.map +1 -1
- package/dist/models/GetProfileSpotlightsQuery200Response.d.ts +1 -1
- package/dist/models/GetProfileSpotlightsQuery200Response.d.ts.map +1 -1
- package/dist/models/GetRetweeters200Response.d.ts +1 -1
- package/dist/models/GetRetweeters200Response.d.ts.map +1 -1
- package/dist/models/GetSearchTimeline200Response.d.ts +1 -1
- package/dist/models/GetSearchTimeline200Response.d.ts.map +1 -1
- package/dist/models/GetTweetDetail200Response.d.ts +1 -1
- package/dist/models/GetTweetDetail200Response.d.ts.map +1 -1
- package/dist/models/GetTweetResultByRestId200Response.d.ts +1 -1
- package/dist/models/GetTweetResultByRestId200Response.d.ts.map +1 -1
- package/dist/models/GetUserByRestId200Response.d.ts +1 -1
- package/dist/models/GetUserByRestId200Response.d.ts.map +1 -1
- package/dist/models/GetUserHighlightsTweets200Response.d.ts +1 -1
- package/dist/models/GetUserHighlightsTweets200Response.d.ts.map +1 -1
- package/dist/models/GetUsersByRestIds200Response.d.ts +1 -1
- package/dist/models/GetUsersByRestIds200Response.d.ts.map +1 -1
- package/dist/models/InstructionType.d.ts +2 -1
- package/dist/models/InstructionType.d.ts.map +1 -1
- package/dist/models/InstructionType.js +2 -1
- package/dist/models/InstructionType.js.map +1 -1
- package/dist/models/InstructionUnion.d.ts +4 -1
- package/dist/models/InstructionUnion.d.ts.map +1 -1
- package/dist/models/InstructionUnion.js +5 -0
- package/dist/models/InstructionUnion.js.map +1 -1
- package/dist/models/ItemContentUnion.d.ts +1 -1
- package/dist/models/ItemContentUnion.d.ts.map +1 -1
- package/dist/models/ItemResult.d.ts +1 -1
- package/dist/models/ItemResult.d.ts.map +1 -1
- package/dist/models/ItemResult.js +1 -2
- package/dist/models/ItemResult.js.map +1 -1
- package/dist/models/ListTweetsTimeline.d.ts +1 -1
- package/dist/models/ListTweetsTimeline.d.ts.map +1 -1
- package/dist/models/ListTweetsTimeline.js +2 -2
- package/dist/models/ListTweetsTimeline.js.map +1 -1
- package/dist/models/Media.d.ts +15 -15
- package/dist/models/Media.d.ts.map +1 -1
- package/dist/models/Media.js +14 -7
- package/dist/models/Media.js.map +1 -1
- package/dist/models/MediaExtended.d.ts +131 -0
- package/dist/models/MediaExtended.d.ts.map +1 -0
- package/dist/models/MediaExtended.js +103 -0
- package/dist/models/MediaExtended.js.map +1 -0
- package/dist/models/MediaOriginalInfo.d.ts +5 -6
- package/dist/models/MediaOriginalInfo.d.ts.map +1 -1
- package/dist/models/MediaOriginalInfo.js +7 -4
- package/dist/models/MediaOriginalInfo.js.map +1 -1
- package/dist/models/MediaOriginalInfoFocusRect.d.ts +50 -0
- package/dist/models/MediaOriginalInfoFocusRect.d.ts.map +1 -0
- package/dist/models/MediaOriginalInfoFocusRect.js +60 -0
- package/dist/models/MediaOriginalInfoFocusRect.js.map +1 -0
- package/dist/models/MediaSize.d.ts +52 -0
- package/dist/models/MediaSize.d.ts.map +1 -0
- package/dist/models/MediaSize.js +64 -0
- package/dist/models/MediaSize.js.map +1 -0
- package/dist/models/MediaSizes.d.ts +51 -0
- package/dist/models/MediaSizes.d.ts.map +1 -0
- package/dist/models/MediaSizes.js +61 -0
- package/dist/models/MediaSizes.js.map +1 -0
- package/dist/models/MediaStats.d.ts +32 -0
- package/dist/models/MediaStats.d.ts.map +1 -0
- package/dist/models/MediaStats.js +51 -0
- package/dist/models/MediaStats.js.map +1 -0
- package/dist/models/MediaVideoInfo.d.ts +45 -0
- package/dist/models/MediaVideoInfo.d.ts.map +1 -0
- package/dist/models/MediaVideoInfo.js +58 -0
- package/dist/models/MediaVideoInfo.js.map +1 -0
- package/dist/models/MediaVideoInfoVariant.d.ts +44 -0
- package/dist/models/MediaVideoInfoVariant.d.ts.map +1 -0
- package/dist/models/MediaVideoInfoVariant.js +57 -0
- package/dist/models/MediaVideoInfoVariant.js.map +1 -0
- package/dist/models/ModuleEntry.d.ts +3 -4
- package/dist/models/ModuleEntry.d.ts.map +1 -1
- package/dist/models/ModuleEntry.js +3 -2
- package/dist/models/ModuleEntry.js.map +1 -1
- package/dist/models/Other200Response.d.ts +1 -1
- package/dist/models/Other200Response.d.ts.map +1 -1
- package/dist/models/PostCreateRetweet200Response.d.ts +1 -1
- package/dist/models/PostCreateRetweet200Response.d.ts.map +1 -1
- package/dist/models/PostCreateTweet200Response.d.ts +1 -1
- package/dist/models/PostCreateTweet200Response.d.ts.map +1 -1
- package/dist/models/PostCreateTweetRequestFeatures.d.ts +9 -15
- package/dist/models/PostCreateTweetRequestFeatures.d.ts.map +1 -1
- package/dist/models/PostCreateTweetRequestFeatures.js +9 -12
- package/dist/models/PostCreateTweetRequestFeatures.js.map +1 -1
- package/dist/models/PostCreateTweetRequestVariablesMedia.d.ts +3 -2
- package/dist/models/PostCreateTweetRequestVariablesMedia.d.ts.map +1 -1
- package/dist/models/PostCreateTweetRequestVariablesMedia.js +3 -2
- package/dist/models/PostCreateTweetRequestVariablesMedia.js.map +1 -1
- package/dist/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.d.ts +38 -0
- package/dist/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.d.ts.map +1 -0
- package/dist/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.js +54 -0
- package/dist/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.js.map +1 -0
- package/dist/models/PostDeleteRetweet200Response.d.ts +1 -1
- package/dist/models/PostDeleteRetweet200Response.d.ts.map +1 -1
- package/dist/models/PostDeleteTweet200Response.d.ts +1 -1
- package/dist/models/PostDeleteTweet200Response.d.ts.map +1 -1
- package/dist/models/PostFavoriteTweet200Response.d.ts +1 -1
- package/dist/models/PostFavoriteTweet200Response.d.ts.map +1 -1
- package/dist/models/PostUnfavoriteTweet200Response.d.ts +1 -1
- package/dist/models/PostUnfavoriteTweet200Response.d.ts.map +1 -1
- package/dist/models/SelfThread.d.ts +32 -0
- package/dist/models/SelfThread.d.ts.map +1 -0
- package/dist/models/SelfThread.js +51 -0
- package/dist/models/SelfThread.js.map +1 -0
- package/dist/models/Session.d.ts +8 -1
- package/dist/models/Session.d.ts.map +1 -1
- package/dist/models/Session.js +7 -1
- package/dist/models/Session.js.map +1 -1
- package/dist/models/Text.d.ts +39 -0
- package/dist/models/Text.d.ts.map +1 -0
- package/dist/models/Text.js +55 -0
- package/dist/models/Text.js.map +1 -0
- package/dist/models/TextEntity.d.ts +45 -0
- package/dist/models/TextEntity.d.ts.map +1 -0
- package/dist/models/TextEntity.js +58 -0
- package/dist/models/TextEntity.js.map +1 -0
- package/dist/models/TextEntityRef.d.ts +58 -0
- package/dist/models/TextEntityRef.d.ts.map +1 -0
- package/dist/models/TextEntityRef.js +69 -0
- package/dist/models/TextEntityRef.js.map +1 -0
- package/dist/models/TimelineCoverBehavior.d.ts +39 -0
- package/dist/models/TimelineCoverBehavior.d.ts.map +1 -0
- package/dist/models/TimelineCoverBehavior.js +57 -0
- package/dist/models/TimelineCoverBehavior.js.map +1 -0
- package/dist/models/TimelineHalfCover.d.ts +85 -0
- package/dist/models/TimelineHalfCover.d.ts.map +1 -0
- package/dist/models/TimelineHalfCover.js +84 -0
- package/dist/models/TimelineHalfCover.js.map +1 -0
- package/dist/models/TimelineShowAlert.d.ts +2 -2
- package/dist/models/TimelineShowAlert.d.ts.map +1 -1
- package/dist/models/TimelineShowCover.d.ts +47 -0
- package/dist/models/TimelineShowCover.d.ts.map +1 -0
- package/dist/models/TimelineShowCover.js +60 -0
- package/dist/models/TimelineShowCover.js.map +1 -0
- package/dist/models/TimelineTerminateTimeline.d.ts +1 -1
- package/dist/models/TimelineTerminateTimeline.d.ts.map +1 -1
- package/dist/models/TimelineTimelineItem.d.ts +3 -4
- package/dist/models/TimelineTimelineItem.d.ts.map +1 -1
- package/dist/models/TimelineTimelineItem.js +3 -2
- package/dist/models/TimelineTimelineItem.js.map +1 -1
- package/dist/models/TimelineTimelineModule.d.ts +9 -1
- package/dist/models/TimelineTimelineModule.d.ts.map +1 -1
- package/dist/models/TimelineTimelineModule.js +8 -1
- package/dist/models/TimelineTimelineModule.js.map +1 -1
- package/dist/models/TimelineUser.d.ts +10 -1
- package/dist/models/TimelineUser.d.ts.map +1 -1
- package/dist/models/TimelineUser.js +9 -1
- package/dist/models/TimelineUser.js.map +1 -1
- package/dist/models/Tweet.d.ts +11 -5
- package/dist/models/Tweet.d.ts.map +1 -1
- package/dist/models/Tweet.js +7 -7
- package/dist/models/Tweet.js.map +1 -1
- package/dist/models/TweetCardLegacy.d.ts +3 -3
- package/dist/models/TweetCardLegacy.d.ts.map +1 -1
- package/dist/models/TweetCardLegacy.js +3 -3
- package/dist/models/TweetCardLegacy.js.map +1 -1
- package/dist/models/TweetCardLegacyBindingValue.d.ts +39 -0
- package/dist/models/TweetCardLegacyBindingValue.d.ts.map +1 -0
- package/dist/models/TweetCardLegacyBindingValue.js +55 -0
- package/dist/models/TweetCardLegacyBindingValue.js.map +1 -0
- package/dist/models/TweetCardLegacyBindingValueData.d.ts +50 -0
- package/dist/models/TweetCardLegacyBindingValueData.d.ts.map +1 -0
- package/dist/models/{TweetCardLegacyBindingValuesInnerValue.js → TweetCardLegacyBindingValueData.js} +12 -12
- package/dist/models/TweetCardLegacyBindingValueData.js.map +1 -0
- package/dist/models/TweetEditControl.d.ts +13 -0
- package/dist/models/TweetEditControl.d.ts.map +1 -1
- package/dist/models/TweetEditControl.js +5 -0
- package/dist/models/TweetEditControl.js.map +1 -1
- package/dist/models/TweetEditControlInitial.d.ts +50 -0
- package/dist/models/TweetEditControlInitial.d.ts.map +1 -0
- package/dist/models/TweetEditControlInitial.js +60 -0
- package/dist/models/TweetEditControlInitial.js.map +1 -0
- package/dist/models/TweetLegacy.d.ts +3 -3
- package/dist/models/TweetLegacy.d.ts.map +1 -1
- package/dist/models/TweetLegacy.js +3 -3
- package/dist/models/TweetLegacy.js.map +1 -1
- package/dist/models/TweetUnion.d.ts +1 -1
- package/dist/models/TweetUnion.d.ts.map +1 -1
- package/dist/models/TweetView.d.ts +45 -0
- package/dist/models/TweetView.d.ts.map +1 -0
- package/dist/models/{TweetViews.js → TweetView.js} +20 -13
- package/dist/models/TweetView.js.map +1 -0
- package/dist/models/TypeName.d.ts +2 -1
- package/dist/models/TypeName.d.ts.map +1 -1
- package/dist/models/TypeName.js +1 -0
- package/dist/models/TypeName.js.map +1 -1
- package/dist/models/UserResults.d.ts +1 -1
- package/dist/models/UserResults.d.ts.map +1 -1
- package/dist/models/UserResults.js +2 -2
- package/dist/models/UserResults.js.map +1 -1
- package/dist/models/UserUnion.d.ts +1 -1
- package/dist/models/UserUnion.d.ts.map +1 -1
- package/dist/models/index.d.ts +29 -4
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +29 -4
- package/dist/models/index.js.map +1 -1
- package/dist/runtime.d.ts +9 -9
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1 -1
- package/package.json +2 -2
- package/src/apis/DefaultApi.ts +94 -6
- package/src/apis/OtherApi.ts +47 -3
- package/src/apis/PostApi.ts +282 -18
- package/src/apis/TweetApi.ts +526 -51
- package/src/apis/UserApi.ts +103 -6
- package/src/apis/UserListApi.ts +235 -24
- package/src/apis/UsersApi.ts +47 -3
- package/src/apis/V11GetApi.ts +94 -6
- package/src/apis/V11PostApi.ts +94 -6
- package/src/apis/V20GetApi.ts +47 -3
- package/src/models/AdditionalMediaInfo.ts +66 -0
- package/src/models/Callback.ts +66 -0
- package/src/models/ClientEventInfo.ts +81 -0
- package/src/models/CoverCta.ts +129 -0
- package/src/models/CtaClientEventInfo.ts +76 -0
- package/src/models/DeleteRetweet.ts +73 -0
- package/src/models/DeleteRetweetResponseResult.ts +72 -0
- package/src/models/ErrorResponse.ts +73 -0
- package/src/models/ExtMediaAvailability.ts +75 -0
- package/src/models/ExtendedEntities.ts +9 -9
- package/src/models/Extensions.ts +109 -0
- package/src/models/InstructionType.ts +2 -1
- package/src/models/InstructionUnion.ts +12 -1
- package/src/models/ItemResult.ts +2 -3
- package/src/models/ListTweetsTimeline.ts +2 -3
- package/src/models/Media.ts +27 -17
- package/src/models/MediaExtended.ts +236 -0
- package/src/models/MediaOriginalInfo.ts +17 -8
- package/src/models/MediaOriginalInfoFocusRect.ts +93 -0
- package/src/models/MediaSize.ts +95 -0
- package/src/models/MediaSizes.ts +100 -0
- package/src/models/MediaStats.ts +66 -0
- package/src/models/MediaVideoInfo.ts +90 -0
- package/src/models/MediaVideoInfoVariant.ts +83 -0
- package/src/models/ModuleEntry.ts +10 -4
- package/src/models/PostCreateTweetRequestFeatures.ts +18 -27
- package/src/models/PostCreateTweetRequestVariablesMedia.ts +11 -4
- package/src/models/PostCreateTweetRequestVariablesMediaMediaEntitiesInner.ts +75 -0
- package/src/models/{TweetLegacySelfThread.ts → SelfThread.ts} +9 -9
- package/src/models/Session.ts +11 -1
- package/src/models/Text.ts +82 -0
- package/src/models/TextEntity.ts +91 -0
- package/src/models/TextEntityRef.ts +102 -0
- package/src/models/TimelineCoverBehavior.ts +76 -0
- package/src/models/TimelineHalfCover.ts +157 -0
- package/src/models/TimelineShowCover.ts +103 -0
- package/src/models/TimelineTimelineItem.ts +10 -4
- package/src/models/TimelineTimelineModule.ts +12 -1
- package/src/models/TimelineUser.ts +13 -1
- package/src/models/Tweet.ts +21 -15
- package/src/models/TweetCardLegacy.ts +9 -9
- package/src/models/TweetCardLegacyBindingValue.ts +82 -0
- package/src/models/{TweetCardLegacyBindingValuesInnerValue.ts → TweetCardLegacyBindingValueData.ts} +12 -12
- package/src/models/TweetEditControl.ts +23 -0
- package/src/models/TweetEditControlInitial.ts +93 -0
- package/src/models/TweetLegacy.ts +9 -9
- package/src/models/{TweetViews.ts → TweetView.ts} +23 -12
- package/src/models/TypeName.ts +1 -0
- package/src/models/UserResults.ts +2 -3
- package/src/models/index.ts +29 -4
- package/tools/openapi-generator-config.yaml +1 -1
- package/tools/win/replace.py +1 -1
- package/twitter-openapi/.vscode/launch.json +8 -0
- package/twitter-openapi/.vscode/tasks.json +3 -0
- package/twitter-openapi/LICENSE +31 -0
- package/twitter-openapi/{LICENSE.txt → LICENSE.AGPL} +3 -3
- package/twitter-openapi/README.md +4 -1
- package/twitter-openapi/dist/compatible/openapi-3.0.yaml +5019 -36
- package/twitter-openapi/dist/docs/openapi-3.0.yaml +6817 -36
- package/twitter-openapi/src/config/component/security_schemes.yaml +148 -0
- package/twitter-openapi/src/config/placeholder.json +145 -112
- package/twitter-openapi/src/openapi/openapi-3.0.yaml +2 -2
- package/twitter-openapi/src/openapi/paths/other.yaml +2 -1
- package/twitter-openapi/src/openapi/paths/timeline.yaml +0 -2
- package/twitter-openapi/src/openapi/schemas/content.yaml +20 -8
- package/twitter-openapi/src/openapi/schemas/general.yaml +2 -2
- package/twitter-openapi/src/openapi/schemas/instruction.yaml +133 -0
- package/twitter-openapi/src/openapi/schemas/tweet.yaml +306 -107
- package/twitter-openapi/src/openapi/schemas/typename.yaml +1 -0
- package/twitter-openapi/src/openapi/schemas/user.yaml +0 -2
- package/twitter-openapi/test/python/replace.py +23 -0
- package/twitter-openapi/test/python/test_serialize.py +191 -91
- package/twitter-openapi/tools/__pycache__/build_config.cpython-310.pyc +0 -0
- package/twitter-openapi/tools/__pycache__/hooks.cpython-310.pyc +0 -0
- package/twitter-openapi/tools/build.py +35 -31
- package/twitter-openapi/tools/build_config.py +7 -10
- package/dist/models/TweetCardLegacyBindingValuesInner.d.ts +0 -39
- package/dist/models/TweetCardLegacyBindingValuesInner.d.ts.map +0 -1
- package/dist/models/TweetCardLegacyBindingValuesInner.js +0 -55
- package/dist/models/TweetCardLegacyBindingValuesInner.js.map +0 -1
- package/dist/models/TweetCardLegacyBindingValuesInnerValue.d.ts +0 -50
- package/dist/models/TweetCardLegacyBindingValuesInnerValue.d.ts.map +0 -1
- package/dist/models/TweetCardLegacyBindingValuesInnerValue.js.map +0 -1
- package/dist/models/TweetLegacySelfThread.d.ts +0 -32
- package/dist/models/TweetLegacySelfThread.d.ts.map +0 -1
- package/dist/models/TweetLegacySelfThread.js +0 -51
- package/dist/models/TweetLegacySelfThread.js.map +0 -1
- package/dist/models/TweetViews.d.ts +0 -38
- package/dist/models/TweetViews.d.ts.map +0 -1
- package/dist/models/TweetViews.js.map +0 -1
- package/src/models/TweetCardLegacyBindingValuesInner.ts +0 -82
- package/twitter-openapi/dist/compatible/paths/bookmarks.yaml +0 -107
- package/twitter-openapi/dist/compatible/paths/follow.yaml +0 -301
- package/twitter-openapi/dist/compatible/paths/other.yaml +0 -97
- package/twitter-openapi/dist/compatible/paths/post.yaml +0 -714
- package/twitter-openapi/dist/compatible/paths/profile.yaml +0 -126
- package/twitter-openapi/dist/compatible/paths/timeline.yaml +0 -416
- package/twitter-openapi/dist/compatible/paths/tweet.yaml +0 -397
- package/twitter-openapi/dist/compatible/paths/user.yaml +0 -233
- package/twitter-openapi/dist/compatible/paths/usertweets.yaml +0 -504
- package/twitter-openapi/dist/compatible/paths/v1.1-get.yaml +0 -242
- package/twitter-openapi/dist/compatible/paths/v1.1-post.yaml +0 -237
- package/twitter-openapi/dist/compatible/paths/v2.0-get.yaml +0 -302
- package/twitter-openapi/dist/compatible/resources/parameters.yaml +0 -13
- package/twitter-openapi/dist/compatible/response/error.yaml +0 -90
- package/twitter-openapi/dist/compatible/schemas/content.yaml +0 -201
- package/twitter-openapi/dist/compatible/schemas/error.yaml +0 -94
- package/twitter-openapi/dist/compatible/schemas/general.yaml +0 -13
- package/twitter-openapi/dist/compatible/schemas/instruction.yaml +0 -156
- package/twitter-openapi/dist/compatible/schemas/timeline.yaml +0 -27
- package/twitter-openapi/dist/compatible/schemas/tweet.yaml +0 -323
- package/twitter-openapi/dist/compatible/schemas/typename.yaml +0 -22
- package/twitter-openapi/dist/compatible/schemas/user.yaml +0 -222
- package/twitter-openapi/dist/docs/paths/bookmarks.yaml +0 -201
- package/twitter-openapi/dist/docs/paths/follow.yaml +0 -587
- package/twitter-openapi/dist/docs/paths/other.yaml +0 -97
- package/twitter-openapi/dist/docs/paths/post.yaml +0 -692
- package/twitter-openapi/dist/docs/paths/profile.yaml +0 -134
- package/twitter-openapi/dist/docs/paths/timeline.yaml +0 -811
- package/twitter-openapi/dist/docs/paths/tweet.yaml +0 -797
- package/twitter-openapi/dist/docs/paths/user.yaml +0 -338
- package/twitter-openapi/dist/docs/paths/usertweets.yaml +0 -1046
- package/twitter-openapi/dist/docs/paths/v1.1-get.yaml +0 -242
- package/twitter-openapi/dist/docs/paths/v1.1-post.yaml +0 -237
- package/twitter-openapi/dist/docs/paths/v2.0-get.yaml +0 -302
- package/twitter-openapi/dist/docs/resources/parameters.yaml +0 -13
- package/twitter-openapi/dist/docs/response/error.yaml +0 -90
- package/twitter-openapi/dist/docs/schemas/content.yaml +0 -201
- package/twitter-openapi/dist/docs/schemas/error.yaml +0 -94
- package/twitter-openapi/dist/docs/schemas/general.yaml +0 -13
- package/twitter-openapi/dist/docs/schemas/instruction.yaml +0 -156
- package/twitter-openapi/dist/docs/schemas/timeline.yaml +0 -27
- package/twitter-openapi/dist/docs/schemas/tweet.yaml +0 -323
- package/twitter-openapi/dist/docs/schemas/typename.yaml +0 -22
- 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
|
-
|
|
89
|
-
|
|
90
|
-
"
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
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)
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
+
paths.update({key: {}})
|
|
48
|
+
paths[key].update({method: value})
|
|
47
49
|
|
|
48
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
72
|
-
|
|
69
|
+
|
|
70
|
+
# OpenapiHookBase hook
|
|
73
71
|
for hook in profile["openapi"]:
|
|
74
72
|
hook: OpenapiHookBase
|
|
75
73
|
openapi = hook.hook(openapi)
|
|
76
|
-
|
|
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
|
-
|
|
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"}
|