@youmind-openlab/rettiwt-api 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +8 -0
- package/.eslintrc.js +167 -0
- package/.gitattributes +3 -0
- package/.github/FUNDING.yml +4 -0
- package/.github/ISSUE_TEMPLATE/bug-report.yml +57 -0
- package/.github/ISSUE_TEMPLATE/feature-request.yml +20 -0
- package/.github/ISSUE_TEMPLATE/question.yml +15 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +32 -0
- package/.github/workflows/ci.yml +33 -0
- package/.github/workflows/documentation.yml +49 -0
- package/.github/workflows/publish-alpha.yml +26 -0
- package/.github/workflows/publish.yml +26 -0
- package/.nvmrc +1 -0
- package/.prettierignore +3 -0
- package/.prettierrc +13 -0
- package/LICENSE +21 -0
- package/README.md +528 -0
- package/dist/Rettiwt.d.ts +74 -0
- package/dist/Rettiwt.js +91 -0
- package/dist/Rettiwt.js.map +1 -0
- package/dist/browser/RettiwtBrowser.d.ts +138 -0
- package/dist/browser/RettiwtBrowser.js +169 -0
- package/dist/browser/RettiwtBrowser.js.map +1 -0
- package/dist/browser/adapters/Base64Adapter.d.ts +24 -0
- package/dist/browser/adapters/Base64Adapter.js +33 -0
- package/dist/browser/adapters/Base64Adapter.js.map +1 -0
- package/dist/browser/adapters/CookieProvider.d.ts +42 -0
- package/dist/browser/adapters/CookieProvider.js +54 -0
- package/dist/browser/adapters/CookieProvider.js.map +1 -0
- package/dist/browser/adapters/DomAdapter.d.ts +16 -0
- package/dist/browser/adapters/DomAdapter.js +24 -0
- package/dist/browser/adapters/DomAdapter.js.map +1 -0
- package/dist/browser/browser/RettiwtBrowser.d.ts +138 -0
- package/dist/browser/browser/RettiwtBrowser.js +165 -0
- package/dist/browser/browser/RettiwtBrowser.js.map +1 -0
- package/dist/browser/browser/adapters/Base64Adapter.d.ts +24 -0
- package/dist/browser/browser/adapters/Base64Adapter.js +29 -0
- package/dist/browser/browser/adapters/Base64Adapter.js.map +1 -0
- package/dist/browser/browser/adapters/CookieProvider.d.ts +42 -0
- package/dist/browser/browser/adapters/CookieProvider.js +50 -0
- package/dist/browser/browser/adapters/CookieProvider.js.map +1 -0
- package/dist/browser/browser/adapters/DomAdapter.d.ts +16 -0
- package/dist/browser/browser/adapters/DomAdapter.js +20 -0
- package/dist/browser/browser/adapters/DomAdapter.js.map +1 -0
- package/dist/browser/browser/config/BrowserRettiwtConfig.d.ts +103 -0
- package/dist/browser/browser/config/BrowserRettiwtConfig.js +122 -0
- package/dist/browser/browser/config/BrowserRettiwtConfig.js.map +1 -0
- package/dist/browser/browser/index.d.ts +87 -0
- package/dist/browser/browser/index.js +88 -0
- package/dist/browser/browser/index.js.map +1 -0
- package/dist/browser/browser/services/BrowserAuthService.d.ts +77 -0
- package/dist/browser/browser/services/BrowserAuthService.js +135 -0
- package/dist/browser/browser/services/BrowserAuthService.js.map +1 -0
- package/dist/browser/browser/services/BrowserDirectMessageService.d.ts +37 -0
- package/dist/browser/browser/services/BrowserDirectMessageService.js +59 -0
- package/dist/browser/browser/services/BrowserDirectMessageService.js.map +1 -0
- package/dist/browser/browser/services/BrowserFetcherService.d.ts +91 -0
- package/dist/browser/browser/services/BrowserFetcherService.js +290 -0
- package/dist/browser/browser/services/BrowserFetcherService.js.map +1 -0
- package/dist/browser/browser/services/BrowserListService.d.ts +59 -0
- package/dist/browser/browser/services/BrowserListService.js +100 -0
- package/dist/browser/browser/services/BrowserListService.js.map +1 -0
- package/dist/browser/browser/services/BrowserTweetService.d.ts +139 -0
- package/dist/browser/browser/services/BrowserTweetService.js +247 -0
- package/dist/browser/browser/services/BrowserTweetService.js.map +1 -0
- package/dist/browser/browser/services/BrowserUserService.d.ts +104 -0
- package/dist/browser/browser/services/BrowserUserService.js +193 -0
- package/dist/browser/browser/services/BrowserUserService.js.map +1 -0
- package/dist/browser/collections/Extractors.d.ts +116 -0
- package/dist/browser/collections/Extractors.js +70 -0
- package/dist/browser/collections/Extractors.js.map +1 -0
- package/dist/browser/collections/Groups.d.ts +19 -0
- package/dist/browser/collections/Groups.js +79 -0
- package/dist/browser/collections/Groups.js.map +1 -0
- package/dist/browser/collections/Requests.d.ts +12 -0
- package/dist/browser/collections/Requests.js +69 -0
- package/dist/browser/collections/Requests.js.map +1 -0
- package/dist/browser/collections/Tweet.d.ts +10 -0
- package/dist/browser/collections/Tweet.js +14 -0
- package/dist/browser/collections/Tweet.js.map +1 -0
- package/dist/browser/config/BrowserRettiwtConfig.d.ts +103 -0
- package/dist/browser/config/BrowserRettiwtConfig.js +126 -0
- package/dist/browser/config/BrowserRettiwtConfig.js.map +1 -0
- package/dist/browser/enums/Api.d.ts +10 -0
- package/dist/browser/enums/Api.js +12 -0
- package/dist/browser/enums/Api.js.map +1 -0
- package/dist/browser/enums/Authentication.d.ts +10 -0
- package/dist/browser/enums/Authentication.js +12 -0
- package/dist/browser/enums/Authentication.js.map +1 -0
- package/dist/browser/enums/Data.d.ts +13 -0
- package/dist/browser/enums/Data.js +15 -0
- package/dist/browser/enums/Data.js.map +1 -0
- package/dist/browser/enums/Logging.d.ts +14 -0
- package/dist/browser/enums/Logging.js +16 -0
- package/dist/browser/enums/Logging.js.map +1 -0
- package/dist/browser/enums/Media.d.ts +10 -0
- package/dist/browser/enums/Media.js +12 -0
- package/dist/browser/enums/Media.js.map +1 -0
- package/dist/browser/enums/Notification.d.ts +12 -0
- package/dist/browser/enums/Notification.js +14 -0
- package/dist/browser/enums/Notification.js.map +1 -0
- package/dist/browser/enums/Resource.d.ts +60 -0
- package/dist/browser/enums/Resource.js +67 -0
- package/dist/browser/enums/Resource.js.map +1 -0
- package/dist/browser/enums/Tweet.d.ts +8 -0
- package/dist/browser/enums/Tweet.js +10 -0
- package/dist/browser/enums/Tweet.js.map +1 -0
- package/dist/browser/enums/raw/Analytics.d.ts +31 -0
- package/dist/browser/enums/raw/Analytics.js +34 -0
- package/dist/browser/enums/raw/Analytics.js.map +1 -0
- package/dist/browser/enums/raw/Media.d.ts +10 -0
- package/dist/browser/enums/raw/Media.js +12 -0
- package/dist/browser/enums/raw/Media.js.map +1 -0
- package/dist/browser/enums/raw/Notification.d.ts +11 -0
- package/dist/browser/enums/raw/Notification.js +13 -0
- package/dist/browser/enums/raw/Notification.js.map +1 -0
- package/dist/browser/enums/raw/Tweet.d.ts +19 -0
- package/dist/browser/enums/raw/Tweet.js +22 -0
- package/dist/browser/enums/raw/Tweet.js.map +1 -0
- package/dist/browser/helper/JsonUtils.d.ts +21 -0
- package/dist/browser/helper/JsonUtils.js +66 -0
- package/dist/browser/helper/JsonUtils.js.map +1 -0
- package/dist/browser/index.d.ts +87 -0
- package/dist/browser/index.js +126 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/models/RettiwtConfig.d.ts +51 -0
- package/dist/browser/models/RettiwtConfig.js +84 -0
- package/dist/browser/models/RettiwtConfig.js.map +1 -0
- package/dist/browser/models/args/FetchArgs.d.ts +74 -0
- package/dist/browser/models/args/FetchArgs.js +149 -0
- package/dist/browser/models/args/FetchArgs.js.map +1 -0
- package/dist/browser/models/args/PostArgs.d.ts +64 -0
- package/dist/browser/models/args/PostArgs.js +84 -0
- package/dist/browser/models/args/PostArgs.js.map +1 -0
- package/dist/browser/models/args/ProfileArgs.d.ts +16 -0
- package/dist/browser/models/args/ProfileArgs.js +59 -0
- package/dist/browser/models/args/ProfileArgs.js.map +1 -0
- package/dist/browser/models/auth/AuthCookie.d.ts +21 -0
- package/dist/browser/models/auth/AuthCookie.js +51 -0
- package/dist/browser/models/auth/AuthCookie.js.map +1 -0
- package/dist/browser/models/auth/AuthCredential.d.ts +30 -0
- package/dist/browser/models/auth/AuthCredential.js +74 -0
- package/dist/browser/models/auth/AuthCredential.js.map +1 -0
- package/dist/browser/models/data/Analytics.d.ts +43 -0
- package/dist/browser/models/data/Analytics.js +88 -0
- package/dist/browser/models/data/Analytics.js.map +1 -0
- package/dist/browser/models/data/BookmarkFolder.d.ts +31 -0
- package/dist/browser/models/data/BookmarkFolder.js +60 -0
- package/dist/browser/models/data/BookmarkFolder.js.map +1 -0
- package/dist/browser/models/data/Conversation.d.ts +93 -0
- package/dist/browser/models/data/Conversation.js +289 -0
- package/dist/browser/models/data/Conversation.js.map +1 -0
- package/dist/browser/models/data/CursoredData.d.ts +27 -0
- package/dist/browser/models/data/CursoredData.js +59 -0
- package/dist/browser/models/data/CursoredData.js.map +1 -0
- package/dist/browser/models/data/DirectMessage.d.ts +105 -0
- package/dist/browser/models/data/DirectMessage.js +280 -0
- package/dist/browser/models/data/DirectMessage.js.map +1 -0
- package/dist/browser/models/data/Inbox.d.ts +44 -0
- package/dist/browser/models/data/Inbox.js +102 -0
- package/dist/browser/models/data/Inbox.js.map +1 -0
- package/dist/browser/models/data/List.d.ts +48 -0
- package/dist/browser/models/data/List.js +97 -0
- package/dist/browser/models/data/List.js.map +1 -0
- package/dist/browser/models/data/Notification.d.ts +36 -0
- package/dist/browser/models/data/Notification.js +72 -0
- package/dist/browser/models/data/Notification.js.map +1 -0
- package/dist/browser/models/data/Tweet.d.ts +129 -0
- package/dist/browser/models/data/Tweet.js +338 -0
- package/dist/browser/models/data/Tweet.js.map +1 -0
- package/dist/browser/models/data/User.d.ts +62 -0
- package/dist/browser/models/data/User.js +167 -0
- package/dist/browser/models/data/User.js.map +1 -0
- package/dist/browser/models/errors/TwitterError.d.ts +37 -0
- package/dist/browser/models/errors/TwitterError.js +55 -0
- package/dist/browser/models/errors/TwitterError.js.map +1 -0
- package/dist/browser/models/params/Variables.d.ts +41 -0
- package/dist/browser/models/params/Variables.js +55 -0
- package/dist/browser/models/params/Variables.js.map +1 -0
- package/dist/browser/requests/DirectMessage.d.ts +28 -0
- package/dist/browser/requests/DirectMessage.js +142 -0
- package/dist/browser/requests/DirectMessage.js.map +1 -0
- package/dist/browser/requests/List.d.ts +34 -0
- package/dist/browser/requests/List.js +196 -0
- package/dist/browser/requests/List.js.map +1 -0
- package/dist/browser/requests/Media.d.ts +21 -0
- package/dist/browser/requests/Media.js +75 -0
- package/dist/browser/requests/Media.js.map +1 -0
- package/dist/browser/requests/Tweet.d.ts +84 -0
- package/dist/browser/requests/Tweet.js +593 -0
- package/dist/browser/requests/Tweet.js.map +1 -0
- package/dist/browser/requests/User.d.ts +143 -0
- package/dist/browser/requests/User.js +1175 -0
- package/dist/browser/requests/User.js.map +1 -0
- package/dist/browser/services/BrowserAuthService.d.ts +77 -0
- package/dist/browser/services/BrowserAuthService.js +143 -0
- package/dist/browser/services/BrowserAuthService.js.map +1 -0
- package/dist/browser/services/BrowserDirectMessageService.d.ts +37 -0
- package/dist/browser/services/BrowserDirectMessageService.js +63 -0
- package/dist/browser/services/BrowserDirectMessageService.js.map +1 -0
- package/dist/browser/services/BrowserFetcherService.d.ts +91 -0
- package/dist/browser/services/BrowserFetcherService.js +327 -0
- package/dist/browser/services/BrowserFetcherService.js.map +1 -0
- package/dist/browser/services/BrowserListService.d.ts +59 -0
- package/dist/browser/services/BrowserListService.js +104 -0
- package/dist/browser/services/BrowserListService.js.map +1 -0
- package/dist/browser/services/BrowserTweetService.d.ts +139 -0
- package/dist/browser/services/BrowserTweetService.js +251 -0
- package/dist/browser/services/BrowserTweetService.js.map +1 -0
- package/dist/browser/services/BrowserUserService.d.ts +104 -0
- package/dist/browser/services/BrowserUserService.js +197 -0
- package/dist/browser/services/BrowserUserService.js.map +1 -0
- package/dist/browser/services/internal/AuthService.d.ts +60 -0
- package/dist/browser/services/internal/AuthService.js +98 -0
- package/dist/browser/services/internal/AuthService.js.map +1 -0
- package/dist/browser/services/internal/ErrorService.d.ts +24 -0
- package/dist/browser/services/internal/ErrorService.js +37 -0
- package/dist/browser/services/internal/ErrorService.js.map +1 -0
- package/dist/browser/services/internal/LogService.d.ts +18 -0
- package/dist/browser/services/internal/LogService.js +30 -0
- package/dist/browser/services/internal/LogService.js.map +1 -0
- package/dist/browser/types/ErrorHandler.d.ts +13 -0
- package/dist/browser/types/ErrorHandler.js +2 -0
- package/dist/browser/types/ErrorHandler.js.map +1 -0
- package/dist/browser/types/RettiwtConfig.d.ts +42 -0
- package/dist/browser/types/RettiwtConfig.js +2 -0
- package/dist/browser/types/RettiwtConfig.js.map +1 -0
- package/dist/browser/types/args/FetchArgs.d.ts +196 -0
- package/dist/browser/types/args/FetchArgs.js +2 -0
- package/dist/browser/types/args/FetchArgs.js.map +1 -0
- package/dist/browser/types/args/PostArgs.d.ts +129 -0
- package/dist/browser/types/args/PostArgs.js +2 -0
- package/dist/browser/types/args/PostArgs.js.map +1 -0
- package/dist/browser/types/args/ProfileArgs.d.ts +30 -0
- package/dist/browser/types/args/ProfileArgs.js +2 -0
- package/dist/browser/types/args/ProfileArgs.js.map +1 -0
- package/dist/browser/types/auth/AuthCookie.d.ts +15 -0
- package/dist/browser/types/auth/AuthCookie.js +2 -0
- package/dist/browser/types/auth/AuthCookie.js.map +1 -0
- package/dist/browser/types/auth/AuthCredential.d.ts +23 -0
- package/dist/browser/types/auth/AuthCredential.js +2 -0
- package/dist/browser/types/auth/AuthCredential.js.map +1 -0
- package/dist/browser/types/auth/TransactionHeader.d.ts +6 -0
- package/dist/browser/types/auth/TransactionHeader.js +3 -0
- package/dist/browser/types/auth/TransactionHeader.js.map +1 -0
- package/dist/browser/types/data/Analytics.d.ts +42 -0
- package/dist/browser/types/data/Analytics.js +2 -0
- package/dist/browser/types/data/Analytics.js.map +1 -0
- package/dist/browser/types/data/BookmarkFolder.d.ts +11 -0
- package/dist/browser/types/data/BookmarkFolder.js +2 -0
- package/dist/browser/types/data/BookmarkFolder.js.map +1 -0
- package/dist/browser/types/data/Conversation.d.ts +32 -0
- package/dist/browser/types/data/Conversation.js +2 -0
- package/dist/browser/types/data/Conversation.js.map +1 -0
- package/dist/browser/types/data/CursoredData.d.ts +20 -0
- package/dist/browser/types/data/CursoredData.js +2 -0
- package/dist/browser/types/data/CursoredData.js.map +1 -0
- package/dist/browser/types/data/DirectMessage.d.ts +25 -0
- package/dist/browser/types/data/DirectMessage.js +2 -0
- package/dist/browser/types/data/DirectMessage.js.map +1 -0
- package/dist/browser/types/data/Inbox.d.ts +18 -0
- package/dist/browser/types/data/Inbox.js +2 -0
- package/dist/browser/types/data/Inbox.js.map +1 -0
- package/dist/browser/types/data/List.d.ts +25 -0
- package/dist/browser/types/data/List.js +2 -0
- package/dist/browser/types/data/List.js.map +1 -0
- package/dist/browser/types/data/Notification.d.ts +20 -0
- package/dist/browser/types/data/Notification.js +2 -0
- package/dist/browser/types/data/Notification.js.map +1 -0
- package/dist/browser/types/data/Tweet.d.ts +73 -0
- package/dist/browser/types/data/Tweet.js +2 -0
- package/dist/browser/types/data/Tweet.js.map +1 -0
- package/dist/browser/types/data/User.d.ts +39 -0
- package/dist/browser/types/data/User.js +2 -0
- package/dist/browser/types/data/User.js.map +1 -0
- package/dist/browser/types/errors/TwitterError.d.ts +30 -0
- package/dist/browser/types/errors/TwitterError.js +2 -0
- package/dist/browser/types/errors/TwitterError.js.map +1 -0
- package/dist/browser/types/params/Variables.d.ts +27 -0
- package/dist/browser/types/params/Variables.js +2 -0
- package/dist/browser/types/params/Variables.js.map +1 -0
- package/dist/browser/types/raw/base/Analytic.d.ts +26 -0
- package/dist/browser/types/raw/base/Analytic.js +3 -0
- package/dist/browser/types/raw/base/Analytic.js.map +1 -0
- package/dist/browser/types/raw/base/BookmarkFolder.d.ts +11 -0
- package/dist/browser/types/raw/base/BookmarkFolder.js +2 -0
- package/dist/browser/types/raw/base/BookmarkFolder.js.map +1 -0
- package/dist/browser/types/raw/base/Cursor.d.ts +11 -0
- package/dist/browser/types/raw/base/Cursor.js +3 -0
- package/dist/browser/types/raw/base/Cursor.js.map +1 -0
- package/dist/browser/types/raw/base/Error.d.ts +33 -0
- package/dist/browser/types/raw/base/Error.js +3 -0
- package/dist/browser/types/raw/base/Error.js.map +1 -0
- package/dist/browser/types/raw/base/LimitedVisibilityTweet.d.ts +32 -0
- package/dist/browser/types/raw/base/LimitedVisibilityTweet.js +3 -0
- package/dist/browser/types/raw/base/LimitedVisibilityTweet.js.map +1 -0
- package/dist/browser/types/raw/base/List.d.ts +43 -0
- package/dist/browser/types/raw/base/List.js +3 -0
- package/dist/browser/types/raw/base/List.js.map +1 -0
- package/dist/browser/types/raw/base/Media.d.ts +43 -0
- package/dist/browser/types/raw/base/Media.js +3 -0
- package/dist/browser/types/raw/base/Media.js.map +1 -0
- package/dist/browser/types/raw/base/Message.d.ts +16 -0
- package/dist/browser/types/raw/base/Message.js +3 -0
- package/dist/browser/types/raw/base/Message.js.map +1 -0
- package/dist/browser/types/raw/base/Notification.d.ts +55 -0
- package/dist/browser/types/raw/base/Notification.js +3 -0
- package/dist/browser/types/raw/base/Notification.js.map +1 -0
- package/dist/browser/types/raw/base/Space.d.ts +32 -0
- package/dist/browser/types/raw/base/Space.js +3 -0
- package/dist/browser/types/raw/base/Space.js.map +1 -0
- package/dist/browser/types/raw/base/Tweet.d.ts +119 -0
- package/dist/browser/types/raw/base/Tweet.js +3 -0
- package/dist/browser/types/raw/base/Tweet.js.map +1 -0
- package/dist/browser/types/raw/base/User.d.ts +155 -0
- package/dist/browser/types/raw/base/User.js +3 -0
- package/dist/browser/types/raw/base/User.js.map +1 -0
- package/dist/browser/types/raw/composite/DataResult.d.ts +8 -0
- package/dist/browser/types/raw/composite/DataResult.js +2 -0
- package/dist/browser/types/raw/composite/DataResult.js.map +1 -0
- package/dist/browser/types/raw/composite/TimelineList.d.ts +9 -0
- package/dist/browser/types/raw/composite/TimelineList.js +2 -0
- package/dist/browser/types/raw/composite/TimelineList.js.map +1 -0
- package/dist/browser/types/raw/composite/TimelineTweet.d.ts +11 -0
- package/dist/browser/types/raw/composite/TimelineTweet.js +3 -0
- package/dist/browser/types/raw/composite/TimelineTweet.js.map +1 -0
- package/dist/browser/types/raw/composite/TimelineUser.d.ts +10 -0
- package/dist/browser/types/raw/composite/TimelineUser.js +3 -0
- package/dist/browser/types/raw/composite/TimelineUser.js.map +1 -0
- package/dist/browser/types/raw/dm/Conversation.d.ts +55 -0
- package/dist/browser/types/raw/dm/Conversation.js +3 -0
- package/dist/browser/types/raw/dm/Conversation.js.map +1 -0
- package/dist/browser/types/raw/dm/InboxInitial.d.ts +137 -0
- package/dist/browser/types/raw/dm/InboxInitial.js +3 -0
- package/dist/browser/types/raw/dm/InboxInitial.js.map +1 -0
- package/dist/browser/types/raw/dm/InboxTimeline.d.ts +287 -0
- package/dist/browser/types/raw/dm/InboxTimeline.js +3 -0
- package/dist/browser/types/raw/dm/InboxTimeline.js.map +1 -0
- package/dist/browser/types/raw/dm/UserUpdates.d.ts +41 -0
- package/dist/browser/types/raw/dm/UserUpdates.js +3 -0
- package/dist/browser/types/raw/dm/UserUpdates.js.map +1 -0
- package/dist/browser/types/raw/generic/Response.d.ts +10 -0
- package/dist/browser/types/raw/generic/Response.js +2 -0
- package/dist/browser/types/raw/generic/Response.js.map +1 -0
- package/dist/browser/types/raw/list/AddMember.d.ts +151 -0
- package/dist/browser/types/raw/list/AddMember.js +3 -0
- package/dist/browser/types/raw/list/AddMember.js.map +1 -0
- package/dist/browser/types/raw/list/Details.d.ts +153 -0
- package/dist/browser/types/raw/list/Details.js +3 -0
- package/dist/browser/types/raw/list/Details.js.map +1 -0
- package/dist/browser/types/raw/list/Members.d.ts +134 -0
- package/dist/browser/types/raw/list/Members.js +3 -0
- package/dist/browser/types/raw/list/Members.js.map +1 -0
- package/dist/browser/types/raw/list/RemoveMember.d.ts +150 -0
- package/dist/browser/types/raw/list/RemoveMember.js +3 -0
- package/dist/browser/types/raw/list/RemoveMember.js.map +1 -0
- package/dist/browser/types/raw/list/Tweets.d.ts +1968 -0
- package/dist/browser/types/raw/list/Tweets.js +3 -0
- package/dist/browser/types/raw/list/Tweets.js.map +1 -0
- package/dist/browser/types/raw/media/FinalizeUpload.d.ts +18 -0
- package/dist/browser/types/raw/media/FinalizeUpload.js +3 -0
- package/dist/browser/types/raw/media/FinalizeUpload.js.map +1 -0
- package/dist/browser/types/raw/media/InitalizeUpload.d.ts +10 -0
- package/dist/browser/types/raw/media/InitalizeUpload.js +3 -0
- package/dist/browser/types/raw/media/InitalizeUpload.js.map +1 -0
- package/dist/browser/types/raw/media/LiveVideoStream.d.ts +19 -0
- package/dist/browser/types/raw/media/LiveVideoStream.js +3 -0
- package/dist/browser/types/raw/media/LiveVideoStream.js.map +1 -0
- package/dist/browser/types/raw/space/Details.d.ts +315 -0
- package/dist/browser/types/raw/space/Details.js +3 -0
- package/dist/browser/types/raw/space/Details.js.map +1 -0
- package/dist/browser/types/raw/tweet/Bookmark.d.ts +12 -0
- package/dist/browser/types/raw/tweet/Bookmark.js +3 -0
- package/dist/browser/types/raw/tweet/Bookmark.js.map +1 -0
- package/dist/browser/types/raw/tweet/Details.d.ts +183 -0
- package/dist/browser/types/raw/tweet/Details.js +3 -0
- package/dist/browser/types/raw/tweet/Details.js.map +1 -0
- package/dist/browser/types/raw/tweet/DetailsBulk.d.ts +288 -0
- package/dist/browser/types/raw/tweet/DetailsBulk.js +3 -0
- package/dist/browser/types/raw/tweet/DetailsBulk.js.map +1 -0
- package/dist/browser/types/raw/tweet/Like.d.ts +12 -0
- package/dist/browser/types/raw/tweet/Like.js +3 -0
- package/dist/browser/types/raw/tweet/Like.js.map +1 -0
- package/dist/browser/types/raw/tweet/Likers.d.ts +170 -0
- package/dist/browser/types/raw/tweet/Likers.js +3 -0
- package/dist/browser/types/raw/tweet/Likers.js.map +1 -0
- package/dist/browser/types/raw/tweet/Post.d.ts +133 -0
- package/dist/browser/types/raw/tweet/Post.js +3 -0
- package/dist/browser/types/raw/tweet/Post.js.map +1 -0
- package/dist/browser/types/raw/tweet/Replies.d.ts +465 -0
- package/dist/browser/types/raw/tweet/Replies.js +3 -0
- package/dist/browser/types/raw/tweet/Replies.js.map +1 -0
- package/dist/browser/types/raw/tweet/Retweet.d.ts +25 -0
- package/dist/browser/types/raw/tweet/Retweet.js +3 -0
- package/dist/browser/types/raw/tweet/Retweet.js.map +1 -0
- package/dist/browser/types/raw/tweet/Retweeters.d.ts +177 -0
- package/dist/browser/types/raw/tweet/Retweeters.js +3 -0
- package/dist/browser/types/raw/tweet/Retweeters.js.map +1 -0
- package/dist/browser/types/raw/tweet/Schedule.d.ts +15 -0
- package/dist/browser/types/raw/tweet/Schedule.js +3 -0
- package/dist/browser/types/raw/tweet/Schedule.js.map +1 -0
- package/dist/browser/types/raw/tweet/Search.d.ts +518 -0
- package/dist/browser/types/raw/tweet/Search.js +3 -0
- package/dist/browser/types/raw/tweet/Search.js.map +1 -0
- package/dist/browser/types/raw/tweet/Unbookmark.d.ts +11 -0
- package/dist/browser/types/raw/tweet/Unbookmark.js +3 -0
- package/dist/browser/types/raw/tweet/Unbookmark.js.map +1 -0
- package/dist/browser/types/raw/tweet/Unlike.d.ts +12 -0
- package/dist/browser/types/raw/tweet/Unlike.js +3 -0
- package/dist/browser/types/raw/tweet/Unlike.js.map +1 -0
- package/dist/browser/types/raw/tweet/Unpost.d.ts +17 -0
- package/dist/browser/types/raw/tweet/Unpost.js +3 -0
- package/dist/browser/types/raw/tweet/Unpost.js.map +1 -0
- package/dist/browser/types/raw/tweet/Unretweet.d.ts +25 -0
- package/dist/browser/types/raw/tweet/Unretweet.js +3 -0
- package/dist/browser/types/raw/tweet/Unretweet.js.map +1 -0
- package/dist/browser/types/raw/tweet/Unschedule.d.ts +12 -0
- package/dist/browser/types/raw/tweet/Unschedule.js +3 -0
- package/dist/browser/types/raw/tweet/Unschedule.js.map +1 -0
- package/dist/browser/types/raw/user/Affiliates.d.ts +154 -0
- package/dist/browser/types/raw/user/Affiliates.js +3 -0
- package/dist/browser/types/raw/user/Affiliates.js.map +1 -0
- package/dist/browser/types/raw/user/Analytics.d.ts +20 -0
- package/dist/browser/types/raw/user/Analytics.js +2 -0
- package/dist/browser/types/raw/user/Analytics.js.map +1 -0
- package/dist/browser/types/raw/user/BookmarkFolderTweets.d.ts +44 -0
- package/dist/browser/types/raw/user/BookmarkFolderTweets.js +3 -0
- package/dist/browser/types/raw/user/BookmarkFolderTweets.js.map +1 -0
- package/dist/browser/types/raw/user/BookmarkFolders.d.ts +33 -0
- package/dist/browser/types/raw/user/BookmarkFolders.js +3 -0
- package/dist/browser/types/raw/user/BookmarkFolders.js.map +1 -0
- package/dist/browser/types/raw/user/Bookmarks.d.ts +550 -0
- package/dist/browser/types/raw/user/Bookmarks.js +3 -0
- package/dist/browser/types/raw/user/Bookmarks.js.map +1 -0
- package/dist/browser/types/raw/user/Details.d.ts +157 -0
- package/dist/browser/types/raw/user/Details.js +3 -0
- package/dist/browser/types/raw/user/Details.js.map +1 -0
- package/dist/browser/types/raw/user/DetailsBulk.d.ts +91 -0
- package/dist/browser/types/raw/user/DetailsBulk.js +3 -0
- package/dist/browser/types/raw/user/DetailsBulk.js.map +1 -0
- package/dist/browser/types/raw/user/Follow.d.ts +248 -0
- package/dist/browser/types/raw/user/Follow.js +3 -0
- package/dist/browser/types/raw/user/Follow.js.map +1 -0
- package/dist/browser/types/raw/user/Followed.d.ts +1666 -0
- package/dist/browser/types/raw/user/Followed.js +3 -0
- package/dist/browser/types/raw/user/Followed.js.map +1 -0
- package/dist/browser/types/raw/user/Followers.d.ts +182 -0
- package/dist/browser/types/raw/user/Followers.js +3 -0
- package/dist/browser/types/raw/user/Followers.js.map +1 -0
- package/dist/browser/types/raw/user/Following.d.ts +182 -0
- package/dist/browser/types/raw/user/Following.js +3 -0
- package/dist/browser/types/raw/user/Following.js.map +1 -0
- package/dist/browser/types/raw/user/Highlights.d.ts +1106 -0
- package/dist/browser/types/raw/user/Highlights.js +3 -0
- package/dist/browser/types/raw/user/Highlights.js.map +1 -0
- package/dist/browser/types/raw/user/Likes.d.ts +1065 -0
- package/dist/browser/types/raw/user/Likes.js +3 -0
- package/dist/browser/types/raw/user/Likes.js.map +1 -0
- package/dist/browser/types/raw/user/Lists.d.ts +319 -0
- package/dist/browser/types/raw/user/Lists.js +3 -0
- package/dist/browser/types/raw/user/Lists.js.map +1 -0
- package/dist/browser/types/raw/user/Media.d.ts +1492 -0
- package/dist/browser/types/raw/user/Media.js +3 -0
- package/dist/browser/types/raw/user/Media.js.map +1 -0
- package/dist/browser/types/raw/user/Notifications.d.ts +428 -0
- package/dist/browser/types/raw/user/Notifications.js +3 -0
- package/dist/browser/types/raw/user/Notifications.js.map +1 -0
- package/dist/browser/types/raw/user/ProfileUpdate.d.ts +75 -0
- package/dist/browser/types/raw/user/ProfileUpdate.js +3 -0
- package/dist/browser/types/raw/user/ProfileUpdate.js.map +1 -0
- package/dist/browser/types/raw/user/Recommended.d.ts +1991 -0
- package/dist/browser/types/raw/user/Recommended.js +3 -0
- package/dist/browser/types/raw/user/Recommended.js.map +1 -0
- package/dist/browser/types/raw/user/Scheduled.d.ts +31 -0
- package/dist/browser/types/raw/user/Scheduled.js +3 -0
- package/dist/browser/types/raw/user/Scheduled.js.map +1 -0
- package/dist/browser/types/raw/user/Search.d.ts +194 -0
- package/dist/browser/types/raw/user/Search.js +3 -0
- package/dist/browser/types/raw/user/Search.js.map +1 -0
- package/dist/browser/types/raw/user/Subscriptions.d.ts +151 -0
- package/dist/browser/types/raw/user/Subscriptions.js +3 -0
- package/dist/browser/types/raw/user/Subscriptions.js.map +1 -0
- package/dist/browser/types/raw/user/Tweets.d.ts +1065 -0
- package/dist/browser/types/raw/user/Tweets.js +3 -0
- package/dist/browser/types/raw/user/Tweets.js.map +1 -0
- package/dist/browser/types/raw/user/TweetsAndReplies.d.ts +1065 -0
- package/dist/browser/types/raw/user/TweetsAndReplies.js +3 -0
- package/dist/browser/types/raw/user/TweetsAndReplies.js.map +1 -0
- package/dist/browser/types/raw/user/Unfollow.d.ts +248 -0
- package/dist/browser/types/raw/user/Unfollow.js +3 -0
- package/dist/browser/types/raw/user/Unfollow.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +43 -0
- package/dist/cli.js.map +1 -0
- package/dist/collections/Extractors.d.ts +116 -0
- package/dist/collections/Extractors.js +73 -0
- package/dist/collections/Extractors.js.map +1 -0
- package/dist/collections/Groups.d.ts +19 -0
- package/dist/collections/Groups.js +82 -0
- package/dist/collections/Groups.js.map +1 -0
- package/dist/collections/Requests.d.ts +12 -0
- package/dist/collections/Requests.js +72 -0
- package/dist/collections/Requests.js.map +1 -0
- package/dist/collections/Tweet.d.ts +10 -0
- package/dist/collections/Tweet.js +17 -0
- package/dist/collections/Tweet.js.map +1 -0
- package/dist/commands/DirectMessage.d.ts +10 -0
- package/dist/commands/DirectMessage.js +57 -0
- package/dist/commands/DirectMessage.js.map +1 -0
- package/dist/commands/List.d.ts +10 -0
- package/dist/commands/List.js +88 -0
- package/dist/commands/List.js.map +1 -0
- package/dist/commands/Tweet.d.ts +10 -0
- package/dist/commands/Tweet.js +407 -0
- package/dist/commands/Tweet.js.map +1 -0
- package/dist/commands/User.d.ts +10 -0
- package/dist/commands/User.js +324 -0
- package/dist/commands/User.js.map +1 -0
- package/dist/enums/Api.d.ts +10 -0
- package/dist/enums/Api.js +15 -0
- package/dist/enums/Api.js.map +1 -0
- package/dist/enums/Authentication.d.ts +10 -0
- package/dist/enums/Authentication.js +15 -0
- package/dist/enums/Authentication.js.map +1 -0
- package/dist/enums/Data.d.ts +13 -0
- package/dist/enums/Data.js +18 -0
- package/dist/enums/Data.js.map +1 -0
- package/dist/enums/Logging.d.ts +14 -0
- package/dist/enums/Logging.js +19 -0
- package/dist/enums/Logging.js.map +1 -0
- package/dist/enums/Media.d.ts +10 -0
- package/dist/enums/Media.js +15 -0
- package/dist/enums/Media.js.map +1 -0
- package/dist/enums/Notification.d.ts +12 -0
- package/dist/enums/Notification.js +17 -0
- package/dist/enums/Notification.js.map +1 -0
- package/dist/enums/Resource.d.ts +60 -0
- package/dist/enums/Resource.js +70 -0
- package/dist/enums/Resource.js.map +1 -0
- package/dist/enums/Tweet.d.ts +8 -0
- package/dist/enums/Tweet.js +13 -0
- package/dist/enums/Tweet.js.map +1 -0
- package/dist/enums/raw/Analytics.d.ts +31 -0
- package/dist/enums/raw/Analytics.js +37 -0
- package/dist/enums/raw/Analytics.js.map +1 -0
- package/dist/enums/raw/Media.d.ts +10 -0
- package/dist/enums/raw/Media.js +15 -0
- package/dist/enums/raw/Media.js.map +1 -0
- package/dist/enums/raw/Notification.d.ts +11 -0
- package/dist/enums/raw/Notification.js +16 -0
- package/dist/enums/raw/Notification.js.map +1 -0
- package/dist/enums/raw/Tweet.d.ts +19 -0
- package/dist/enums/raw/Tweet.js +25 -0
- package/dist/enums/raw/Tweet.js.map +1 -0
- package/dist/helper/CliUtils.d.ts +8 -0
- package/dist/helper/CliUtils.js +21 -0
- package/dist/helper/CliUtils.js.map +1 -0
- package/dist/helper/JsonUtils.d.ts +21 -0
- package/dist/helper/JsonUtils.js +70 -0
- package/dist/helper/JsonUtils.js.map +1 -0
- package/dist/index.d.ts +117 -0
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -0
- package/dist/models/RettiwtConfig.d.ts +51 -0
- package/dist/models/RettiwtConfig.js +88 -0
- package/dist/models/RettiwtConfig.js.map +1 -0
- package/dist/models/args/FetchArgs.d.ts +74 -0
- package/dist/models/args/FetchArgs.js +154 -0
- package/dist/models/args/FetchArgs.js.map +1 -0
- package/dist/models/args/PostArgs.d.ts +64 -0
- package/dist/models/args/PostArgs.js +91 -0
- package/dist/models/args/PostArgs.js.map +1 -0
- package/dist/models/args/ProfileArgs.d.ts +16 -0
- package/dist/models/args/ProfileArgs.js +63 -0
- package/dist/models/args/ProfileArgs.js.map +1 -0
- package/dist/models/auth/AuthCookie.d.ts +21 -0
- package/dist/models/auth/AuthCookie.js +55 -0
- package/dist/models/auth/AuthCookie.js.map +1 -0
- package/dist/models/auth/AuthCredential.d.ts +30 -0
- package/dist/models/auth/AuthCredential.js +78 -0
- package/dist/models/auth/AuthCredential.js.map +1 -0
- package/dist/models/data/Analytics.d.ts +43 -0
- package/dist/models/data/Analytics.js +92 -0
- package/dist/models/data/Analytics.js.map +1 -0
- package/dist/models/data/BookmarkFolder.d.ts +31 -0
- package/dist/models/data/BookmarkFolder.js +64 -0
- package/dist/models/data/BookmarkFolder.js.map +1 -0
- package/dist/models/data/Conversation.d.ts +93 -0
- package/dist/models/data/Conversation.js +293 -0
- package/dist/models/data/Conversation.js.map +1 -0
- package/dist/models/data/CursoredData.d.ts +27 -0
- package/dist/models/data/CursoredData.js +63 -0
- package/dist/models/data/CursoredData.js.map +1 -0
- package/dist/models/data/DirectMessage.d.ts +105 -0
- package/dist/models/data/DirectMessage.js +284 -0
- package/dist/models/data/DirectMessage.js.map +1 -0
- package/dist/models/data/Inbox.d.ts +44 -0
- package/dist/models/data/Inbox.js +106 -0
- package/dist/models/data/Inbox.js.map +1 -0
- package/dist/models/data/List.d.ts +48 -0
- package/dist/models/data/List.js +101 -0
- package/dist/models/data/List.js.map +1 -0
- package/dist/models/data/Notification.d.ts +36 -0
- package/dist/models/data/Notification.js +76 -0
- package/dist/models/data/Notification.js.map +1 -0
- package/dist/models/data/Tweet.d.ts +129 -0
- package/dist/models/data/Tweet.js +344 -0
- package/dist/models/data/Tweet.js.map +1 -0
- package/dist/models/data/User.d.ts +62 -0
- package/dist/models/data/User.js +171 -0
- package/dist/models/data/User.js.map +1 -0
- package/dist/models/errors/TwitterError.d.ts +37 -0
- package/dist/models/errors/TwitterError.js +60 -0
- package/dist/models/errors/TwitterError.js.map +1 -0
- package/dist/models/params/Variables.d.ts +41 -0
- package/dist/models/params/Variables.js +61 -0
- package/dist/models/params/Variables.js.map +1 -0
- package/dist/requests/DirectMessage.d.ts +28 -0
- package/dist/requests/DirectMessage.js +149 -0
- package/dist/requests/DirectMessage.js.map +1 -0
- package/dist/requests/List.d.ts +34 -0
- package/dist/requests/List.js +200 -0
- package/dist/requests/List.js.map +1 -0
- package/dist/requests/Media.d.ts +21 -0
- package/dist/requests/Media.js +82 -0
- package/dist/requests/Media.js.map +1 -0
- package/dist/requests/Tweet.d.ts +84 -0
- package/dist/requests/Tweet.js +597 -0
- package/dist/requests/Tweet.js.map +1 -0
- package/dist/requests/User.d.ts +143 -0
- package/dist/requests/User.js +1182 -0
- package/dist/requests/User.js.map +1 -0
- package/dist/services/internal/AuthService.d.ts +60 -0
- package/dist/services/internal/AuthService.js +105 -0
- package/dist/services/internal/AuthService.js.map +1 -0
- package/dist/services/internal/ErrorService.d.ts +24 -0
- package/dist/services/internal/ErrorService.js +41 -0
- package/dist/services/internal/ErrorService.js.map +1 -0
- package/dist/services/internal/LogService.d.ts +18 -0
- package/dist/services/internal/LogService.js +34 -0
- package/dist/services/internal/LogService.js.map +1 -0
- package/dist/services/public/DirectMessageService.d.ts +100 -0
- package/dist/services/public/DirectMessageService.js +143 -0
- package/dist/services/public/DirectMessageService.js.map +1 -0
- package/dist/services/public/FetcherService.d.ts +95 -0
- package/dist/services/public/FetcherService.js +344 -0
- package/dist/services/public/FetcherService.js.map +1 -0
- package/dist/services/public/ListService.d.ts +158 -0
- package/dist/services/public/ListService.js +213 -0
- package/dist/services/public/ListService.js.map +1 -0
- package/dist/services/public/TweetService.d.ts +586 -0
- package/dist/services/public/TweetService.js +791 -0
- package/dist/services/public/TweetService.js.map +1 -0
- package/dist/services/public/UserService.d.ts +739 -0
- package/dist/services/public/UserService.js +920 -0
- package/dist/services/public/UserService.js.map +1 -0
- package/dist/types/ErrorHandler.d.ts +13 -0
- package/dist/types/ErrorHandler.js +3 -0
- package/dist/types/ErrorHandler.js.map +1 -0
- package/dist/types/RettiwtConfig.d.ts +42 -0
- package/dist/types/RettiwtConfig.js +3 -0
- package/dist/types/RettiwtConfig.js.map +1 -0
- package/dist/types/args/FetchArgs.d.ts +196 -0
- package/dist/types/args/FetchArgs.js +3 -0
- package/dist/types/args/FetchArgs.js.map +1 -0
- package/dist/types/args/PostArgs.d.ts +129 -0
- package/dist/types/args/PostArgs.js +3 -0
- package/dist/types/args/PostArgs.js.map +1 -0
- package/dist/types/args/ProfileArgs.d.ts +30 -0
- package/dist/types/args/ProfileArgs.js +3 -0
- package/dist/types/args/ProfileArgs.js.map +1 -0
- package/dist/types/auth/AuthCookie.d.ts +15 -0
- package/dist/types/auth/AuthCookie.js +3 -0
- package/dist/types/auth/AuthCookie.js.map +1 -0
- package/dist/types/auth/AuthCredential.d.ts +23 -0
- package/dist/types/auth/AuthCredential.js +3 -0
- package/dist/types/auth/AuthCredential.js.map +1 -0
- package/dist/types/auth/TransactionHeader.d.ts +6 -0
- package/dist/types/auth/TransactionHeader.js +4 -0
- package/dist/types/auth/TransactionHeader.js.map +1 -0
- package/dist/types/data/Analytics.d.ts +42 -0
- package/dist/types/data/Analytics.js +3 -0
- package/dist/types/data/Analytics.js.map +1 -0
- package/dist/types/data/BookmarkFolder.d.ts +11 -0
- package/dist/types/data/BookmarkFolder.js +3 -0
- package/dist/types/data/BookmarkFolder.js.map +1 -0
- package/dist/types/data/Conversation.d.ts +32 -0
- package/dist/types/data/Conversation.js +3 -0
- package/dist/types/data/Conversation.js.map +1 -0
- package/dist/types/data/CursoredData.d.ts +20 -0
- package/dist/types/data/CursoredData.js +3 -0
- package/dist/types/data/CursoredData.js.map +1 -0
- package/dist/types/data/DirectMessage.d.ts +25 -0
- package/dist/types/data/DirectMessage.js +3 -0
- package/dist/types/data/DirectMessage.js.map +1 -0
- package/dist/types/data/Inbox.d.ts +18 -0
- package/dist/types/data/Inbox.js +3 -0
- package/dist/types/data/Inbox.js.map +1 -0
- package/dist/types/data/List.d.ts +25 -0
- package/dist/types/data/List.js +3 -0
- package/dist/types/data/List.js.map +1 -0
- package/dist/types/data/Notification.d.ts +20 -0
- package/dist/types/data/Notification.js +3 -0
- package/dist/types/data/Notification.js.map +1 -0
- package/dist/types/data/Tweet.d.ts +73 -0
- package/dist/types/data/Tweet.js +3 -0
- package/dist/types/data/Tweet.js.map +1 -0
- package/dist/types/data/User.d.ts +39 -0
- package/dist/types/data/User.js +3 -0
- package/dist/types/data/User.js.map +1 -0
- package/dist/types/errors/TwitterError.d.ts +30 -0
- package/dist/types/errors/TwitterError.js +3 -0
- package/dist/types/errors/TwitterError.js.map +1 -0
- package/dist/types/params/Variables.d.ts +27 -0
- package/dist/types/params/Variables.js +3 -0
- package/dist/types/params/Variables.js.map +1 -0
- package/dist/types/raw/base/Analytic.d.ts +26 -0
- package/dist/types/raw/base/Analytic.js +4 -0
- package/dist/types/raw/base/Analytic.js.map +1 -0
- package/dist/types/raw/base/BookmarkFolder.d.ts +11 -0
- package/dist/types/raw/base/BookmarkFolder.js +3 -0
- package/dist/types/raw/base/BookmarkFolder.js.map +1 -0
- package/dist/types/raw/base/Cursor.d.ts +11 -0
- package/dist/types/raw/base/Cursor.js +4 -0
- package/dist/types/raw/base/Cursor.js.map +1 -0
- package/dist/types/raw/base/Error.d.ts +33 -0
- package/dist/types/raw/base/Error.js +4 -0
- package/dist/types/raw/base/Error.js.map +1 -0
- package/dist/types/raw/base/LimitedVisibilityTweet.d.ts +32 -0
- package/dist/types/raw/base/LimitedVisibilityTweet.js +4 -0
- package/dist/types/raw/base/LimitedVisibilityTweet.js.map +1 -0
- package/dist/types/raw/base/List.d.ts +43 -0
- package/dist/types/raw/base/List.js +4 -0
- package/dist/types/raw/base/List.js.map +1 -0
- package/dist/types/raw/base/Media.d.ts +43 -0
- package/dist/types/raw/base/Media.js +4 -0
- package/dist/types/raw/base/Media.js.map +1 -0
- package/dist/types/raw/base/Message.d.ts +16 -0
- package/dist/types/raw/base/Message.js +4 -0
- package/dist/types/raw/base/Message.js.map +1 -0
- package/dist/types/raw/base/Notification.d.ts +55 -0
- package/dist/types/raw/base/Notification.js +4 -0
- package/dist/types/raw/base/Notification.js.map +1 -0
- package/dist/types/raw/base/Space.d.ts +32 -0
- package/dist/types/raw/base/Space.js +4 -0
- package/dist/types/raw/base/Space.js.map +1 -0
- package/dist/types/raw/base/Tweet.d.ts +119 -0
- package/dist/types/raw/base/Tweet.js +4 -0
- package/dist/types/raw/base/Tweet.js.map +1 -0
- package/dist/types/raw/base/User.d.ts +155 -0
- package/dist/types/raw/base/User.js +4 -0
- package/dist/types/raw/base/User.js.map +1 -0
- package/dist/types/raw/composite/DataResult.d.ts +8 -0
- package/dist/types/raw/composite/DataResult.js +3 -0
- package/dist/types/raw/composite/DataResult.js.map +1 -0
- package/dist/types/raw/composite/TimelineList.d.ts +9 -0
- package/dist/types/raw/composite/TimelineList.js +3 -0
- package/dist/types/raw/composite/TimelineList.js.map +1 -0
- package/dist/types/raw/composite/TimelineTweet.d.ts +11 -0
- package/dist/types/raw/composite/TimelineTweet.js +4 -0
- package/dist/types/raw/composite/TimelineTweet.js.map +1 -0
- package/dist/types/raw/composite/TimelineUser.d.ts +10 -0
- package/dist/types/raw/composite/TimelineUser.js +4 -0
- package/dist/types/raw/composite/TimelineUser.js.map +1 -0
- package/dist/types/raw/dm/Conversation.d.ts +55 -0
- package/dist/types/raw/dm/Conversation.js +4 -0
- package/dist/types/raw/dm/Conversation.js.map +1 -0
- package/dist/types/raw/dm/InboxInitial.d.ts +137 -0
- package/dist/types/raw/dm/InboxInitial.js +4 -0
- package/dist/types/raw/dm/InboxInitial.js.map +1 -0
- package/dist/types/raw/dm/InboxTimeline.d.ts +287 -0
- package/dist/types/raw/dm/InboxTimeline.js +4 -0
- package/dist/types/raw/dm/InboxTimeline.js.map +1 -0
- package/dist/types/raw/dm/UserUpdates.d.ts +41 -0
- package/dist/types/raw/dm/UserUpdates.js +4 -0
- package/dist/types/raw/dm/UserUpdates.js.map +1 -0
- package/dist/types/raw/generic/Response.d.ts +10 -0
- package/dist/types/raw/generic/Response.js +3 -0
- package/dist/types/raw/generic/Response.js.map +1 -0
- package/dist/types/raw/list/AddMember.d.ts +151 -0
- package/dist/types/raw/list/AddMember.js +4 -0
- package/dist/types/raw/list/AddMember.js.map +1 -0
- package/dist/types/raw/list/Details.d.ts +153 -0
- package/dist/types/raw/list/Details.js +4 -0
- package/dist/types/raw/list/Details.js.map +1 -0
- package/dist/types/raw/list/Members.d.ts +134 -0
- package/dist/types/raw/list/Members.js +4 -0
- package/dist/types/raw/list/Members.js.map +1 -0
- package/dist/types/raw/list/RemoveMember.d.ts +150 -0
- package/dist/types/raw/list/RemoveMember.js +4 -0
- package/dist/types/raw/list/RemoveMember.js.map +1 -0
- package/dist/types/raw/list/Tweets.d.ts +1968 -0
- package/dist/types/raw/list/Tweets.js +4 -0
- package/dist/types/raw/list/Tweets.js.map +1 -0
- package/dist/types/raw/media/FinalizeUpload.d.ts +18 -0
- package/dist/types/raw/media/FinalizeUpload.js +4 -0
- package/dist/types/raw/media/FinalizeUpload.js.map +1 -0
- package/dist/types/raw/media/InitalizeUpload.d.ts +10 -0
- package/dist/types/raw/media/InitalizeUpload.js +4 -0
- package/dist/types/raw/media/InitalizeUpload.js.map +1 -0
- package/dist/types/raw/media/LiveVideoStream.d.ts +19 -0
- package/dist/types/raw/media/LiveVideoStream.js +4 -0
- package/dist/types/raw/media/LiveVideoStream.js.map +1 -0
- package/dist/types/raw/space/Details.d.ts +315 -0
- package/dist/types/raw/space/Details.js +4 -0
- package/dist/types/raw/space/Details.js.map +1 -0
- package/dist/types/raw/tweet/Bookmark.d.ts +12 -0
- package/dist/types/raw/tweet/Bookmark.js +4 -0
- package/dist/types/raw/tweet/Bookmark.js.map +1 -0
- package/dist/types/raw/tweet/Details.d.ts +183 -0
- package/dist/types/raw/tweet/Details.js +4 -0
- package/dist/types/raw/tweet/Details.js.map +1 -0
- package/dist/types/raw/tweet/DetailsBulk.d.ts +288 -0
- package/dist/types/raw/tweet/DetailsBulk.js +4 -0
- package/dist/types/raw/tweet/DetailsBulk.js.map +1 -0
- package/dist/types/raw/tweet/Like.d.ts +12 -0
- package/dist/types/raw/tweet/Like.js +4 -0
- package/dist/types/raw/tweet/Like.js.map +1 -0
- package/dist/types/raw/tweet/Likers.d.ts +170 -0
- package/dist/types/raw/tweet/Likers.js +4 -0
- package/dist/types/raw/tweet/Likers.js.map +1 -0
- package/dist/types/raw/tweet/Post.d.ts +133 -0
- package/dist/types/raw/tweet/Post.js +4 -0
- package/dist/types/raw/tweet/Post.js.map +1 -0
- package/dist/types/raw/tweet/Replies.d.ts +465 -0
- package/dist/types/raw/tweet/Replies.js +4 -0
- package/dist/types/raw/tweet/Replies.js.map +1 -0
- package/dist/types/raw/tweet/Retweet.d.ts +25 -0
- package/dist/types/raw/tweet/Retweet.js +4 -0
- package/dist/types/raw/tweet/Retweet.js.map +1 -0
- package/dist/types/raw/tweet/Retweeters.d.ts +177 -0
- package/dist/types/raw/tweet/Retweeters.js +4 -0
- package/dist/types/raw/tweet/Retweeters.js.map +1 -0
- package/dist/types/raw/tweet/Schedule.d.ts +15 -0
- package/dist/types/raw/tweet/Schedule.js +4 -0
- package/dist/types/raw/tweet/Schedule.js.map +1 -0
- package/dist/types/raw/tweet/Search.d.ts +518 -0
- package/dist/types/raw/tweet/Search.js +4 -0
- package/dist/types/raw/tweet/Search.js.map +1 -0
- package/dist/types/raw/tweet/Unbookmark.d.ts +11 -0
- package/dist/types/raw/tweet/Unbookmark.js +4 -0
- package/dist/types/raw/tweet/Unbookmark.js.map +1 -0
- package/dist/types/raw/tweet/Unlike.d.ts +12 -0
- package/dist/types/raw/tweet/Unlike.js +4 -0
- package/dist/types/raw/tweet/Unlike.js.map +1 -0
- package/dist/types/raw/tweet/Unpost.d.ts +17 -0
- package/dist/types/raw/tweet/Unpost.js +4 -0
- package/dist/types/raw/tweet/Unpost.js.map +1 -0
- package/dist/types/raw/tweet/Unretweet.d.ts +25 -0
- package/dist/types/raw/tweet/Unretweet.js +4 -0
- package/dist/types/raw/tweet/Unretweet.js.map +1 -0
- package/dist/types/raw/tweet/Unschedule.d.ts +12 -0
- package/dist/types/raw/tweet/Unschedule.js +4 -0
- package/dist/types/raw/tweet/Unschedule.js.map +1 -0
- package/dist/types/raw/user/Affiliates.d.ts +154 -0
- package/dist/types/raw/user/Affiliates.js +4 -0
- package/dist/types/raw/user/Affiliates.js.map +1 -0
- package/dist/types/raw/user/Analytics.d.ts +20 -0
- package/dist/types/raw/user/Analytics.js +3 -0
- package/dist/types/raw/user/Analytics.js.map +1 -0
- package/dist/types/raw/user/BookmarkFolderTweets.d.ts +44 -0
- package/dist/types/raw/user/BookmarkFolderTweets.js +4 -0
- package/dist/types/raw/user/BookmarkFolderTweets.js.map +1 -0
- package/dist/types/raw/user/BookmarkFolders.d.ts +33 -0
- package/dist/types/raw/user/BookmarkFolders.js +4 -0
- package/dist/types/raw/user/BookmarkFolders.js.map +1 -0
- package/dist/types/raw/user/Bookmarks.d.ts +550 -0
- package/dist/types/raw/user/Bookmarks.js +4 -0
- package/dist/types/raw/user/Bookmarks.js.map +1 -0
- package/dist/types/raw/user/Details.d.ts +157 -0
- package/dist/types/raw/user/Details.js +4 -0
- package/dist/types/raw/user/Details.js.map +1 -0
- package/dist/types/raw/user/DetailsBulk.d.ts +91 -0
- package/dist/types/raw/user/DetailsBulk.js +4 -0
- package/dist/types/raw/user/DetailsBulk.js.map +1 -0
- package/dist/types/raw/user/Follow.d.ts +248 -0
- package/dist/types/raw/user/Follow.js +4 -0
- package/dist/types/raw/user/Follow.js.map +1 -0
- package/dist/types/raw/user/Followed.d.ts +1666 -0
- package/dist/types/raw/user/Followed.js +4 -0
- package/dist/types/raw/user/Followed.js.map +1 -0
- package/dist/types/raw/user/Followers.d.ts +182 -0
- package/dist/types/raw/user/Followers.js +4 -0
- package/dist/types/raw/user/Followers.js.map +1 -0
- package/dist/types/raw/user/Following.d.ts +182 -0
- package/dist/types/raw/user/Following.js +4 -0
- package/dist/types/raw/user/Following.js.map +1 -0
- package/dist/types/raw/user/Highlights.d.ts +1106 -0
- package/dist/types/raw/user/Highlights.js +4 -0
- package/dist/types/raw/user/Highlights.js.map +1 -0
- package/dist/types/raw/user/Likes.d.ts +1065 -0
- package/dist/types/raw/user/Likes.js +4 -0
- package/dist/types/raw/user/Likes.js.map +1 -0
- package/dist/types/raw/user/Lists.d.ts +319 -0
- package/dist/types/raw/user/Lists.js +4 -0
- package/dist/types/raw/user/Lists.js.map +1 -0
- package/dist/types/raw/user/Media.d.ts +1492 -0
- package/dist/types/raw/user/Media.js +4 -0
- package/dist/types/raw/user/Media.js.map +1 -0
- package/dist/types/raw/user/Notifications.d.ts +428 -0
- package/dist/types/raw/user/Notifications.js +4 -0
- package/dist/types/raw/user/Notifications.js.map +1 -0
- package/dist/types/raw/user/ProfileUpdate.d.ts +75 -0
- package/dist/types/raw/user/ProfileUpdate.js +4 -0
- package/dist/types/raw/user/ProfileUpdate.js.map +1 -0
- package/dist/types/raw/user/Recommended.d.ts +1991 -0
- package/dist/types/raw/user/Recommended.js +4 -0
- package/dist/types/raw/user/Recommended.js.map +1 -0
- package/dist/types/raw/user/Scheduled.d.ts +31 -0
- package/dist/types/raw/user/Scheduled.js +4 -0
- package/dist/types/raw/user/Scheduled.js.map +1 -0
- package/dist/types/raw/user/Search.d.ts +194 -0
- package/dist/types/raw/user/Search.js +4 -0
- package/dist/types/raw/user/Search.js.map +1 -0
- package/dist/types/raw/user/Subscriptions.d.ts +151 -0
- package/dist/types/raw/user/Subscriptions.js +4 -0
- package/dist/types/raw/user/Subscriptions.js.map +1 -0
- package/dist/types/raw/user/Tweets.d.ts +1065 -0
- package/dist/types/raw/user/Tweets.js +4 -0
- package/dist/types/raw/user/Tweets.js.map +1 -0
- package/dist/types/raw/user/TweetsAndReplies.d.ts +1065 -0
- package/dist/types/raw/user/TweetsAndReplies.js +4 -0
- package/dist/types/raw/user/TweetsAndReplies.js.map +1 -0
- package/dist/types/raw/user/Unfollow.d.ts +248 -0
- package/dist/types/raw/user/Unfollow.js +4 -0
- package/dist/types/raw/user/Unfollow.js.map +1 -0
- package/eslint.config.mjs +17 -0
- package/examples/browser-extension/README.md +174 -0
- package/examples/browser-extension/icons/icon128.png +0 -0
- package/examples/browser-extension/icons/icon16.png +0 -0
- package/examples/browser-extension/icons/icon48.png +0 -0
- package/examples/browser-extension/manifest.json +31 -0
- package/examples/browser-extension/package-lock.json +2451 -0
- package/examples/browser-extension/package.json +24 -0
- package/examples/browser-extension/popup.html +412 -0
- package/examples/browser-extension/scripts/generate-icons.js +113 -0
- package/examples/browser-extension/src/popup.ts +333 -0
- package/examples/browser-extension/tsconfig.json +21 -0
- package/examples/browser-extension/webpack.config.js +71 -0
- package/package.json +72 -0
- package/playground/.env.example +1 -0
- package/playground/README.md +53 -0
- package/playground/index.js +15 -0
- package/playground/package.json +15 -0
- package/src/Rettiwt.ts +97 -0
- package/src/browser/RettiwtBrowser.ts +204 -0
- package/src/browser/adapters/Base64Adapter.ts +29 -0
- package/src/browser/adapters/CookieProvider.ts +73 -0
- package/src/browser/adapters/DomAdapter.ts +19 -0
- package/src/browser/config/BrowserRettiwtConfig.ts +167 -0
- package/src/browser/index.ts +107 -0
- package/src/browser/services/BrowserAuthService.ts +158 -0
- package/src/browser/services/BrowserDirectMessageService.ts +78 -0
- package/src/browser/services/BrowserFetcherService.ts +357 -0
- package/src/browser/services/BrowserListService.ts +131 -0
- package/src/browser/services/BrowserTweetService.ts +361 -0
- package/src/browser/services/BrowserUserService.ts +272 -0
- package/src/cli.ts +48 -0
- package/src/collections/Extractors.ts +155 -0
- package/src/collections/Groups.ts +81 -0
- package/src/collections/Requests.ts +90 -0
- package/src/collections/Tweet.ts +17 -0
- package/src/commands/DirectMessage.ts +62 -0
- package/src/commands/List.ts +90 -0
- package/src/commands/Tweet.ts +437 -0
- package/src/commands/User.ts +367 -0
- package/src/enums/Api.ts +10 -0
- package/src/enums/Authentication.ts +10 -0
- package/src/enums/Data.ts +13 -0
- package/src/enums/Logging.ts +14 -0
- package/src/enums/Media.ts +10 -0
- package/src/enums/Notification.ts +12 -0
- package/src/enums/Resource.ts +69 -0
- package/src/enums/Tweet.ts +8 -0
- package/src/enums/raw/Analytics.ts +32 -0
- package/src/enums/raw/Media.ts +10 -0
- package/src/enums/raw/Notification.ts +11 -0
- package/src/enums/raw/Tweet.ts +20 -0
- package/src/helper/CliUtils.ts +17 -0
- package/src/helper/JsonUtils.ts +70 -0
- package/src/index.ts +128 -0
- package/src/models/RettiwtConfig.ts +101 -0
- package/src/models/args/FetchArgs.ts +169 -0
- package/src/models/args/PostArgs.ts +93 -0
- package/src/models/args/ProfileArgs.ts +68 -0
- package/src/models/auth/AuthCookie.ts +58 -0
- package/src/models/auth/AuthCredential.ts +85 -0
- package/src/models/data/Analytics.ts +97 -0
- package/src/models/data/BookmarkFolder.ts +73 -0
- package/src/models/data/Conversation.ts +344 -0
- package/src/models/data/CursoredData.ts +64 -0
- package/src/models/data/DirectMessage.ts +335 -0
- package/src/models/data/Inbox.ts +124 -0
- package/src/models/data/List.ts +113 -0
- package/src/models/data/Notification.ts +84 -0
- package/src/models/data/Tweet.ts +388 -0
- package/src/models/data/User.ts +187 -0
- package/src/models/errors/TwitterError.ts +65 -0
- package/src/models/params/Variables.ts +62 -0
- package/src/requests/DirectMessage.ts +233 -0
- package/src/requests/List.ts +205 -0
- package/src/requests/Media.ts +77 -0
- package/src/requests/Tweet.ts +615 -0
- package/src/requests/User.ts +1212 -0
- package/src/services/internal/AuthService.ts +117 -0
- package/src/services/internal/ErrorService.ts +41 -0
- package/src/services/internal/LogService.ts +34 -0
- package/src/services/public/DirectMessageService.ts +159 -0
- package/src/services/public/FetcherService.ts +372 -0
- package/src/services/public/ListService.ts +241 -0
- package/src/services/public/TweetService.ts +897 -0
- package/src/services/public/UserService.ts +1154 -0
- package/src/types/ErrorHandler.ts +13 -0
- package/src/types/RettiwtConfig.ts +48 -0
- package/src/types/args/FetchArgs.ts +233 -0
- package/src/types/args/PostArgs.ts +145 -0
- package/src/types/args/ProfileArgs.ts +33 -0
- package/src/types/auth/AuthCookie.ts +22 -0
- package/src/types/auth/AuthCredential.ts +28 -0
- package/src/types/auth/TransactionHeader.ts +8 -0
- package/src/types/data/Analytics.ts +58 -0
- package/src/types/data/BookmarkFolder.ts +12 -0
- package/src/types/data/Conversation.ts +44 -0
- package/src/types/data/CursoredData.ts +24 -0
- package/src/types/data/DirectMessage.ts +33 -0
- package/src/types/data/Inbox.ts +23 -0
- package/src/types/data/List.ts +33 -0
- package/src/types/data/Notification.ts +26 -0
- package/src/types/data/Tweet.ts +99 -0
- package/src/types/data/User.ts +54 -0
- package/src/types/errors/TwitterError.ts +37 -0
- package/src/types/params/Variables.ts +41 -0
- package/src/types/raw/base/Analytic.ts +32 -0
- package/src/types/raw/base/BookmarkFolder.ts +12 -0
- package/src/types/raw/base/Cursor.ts +13 -0
- package/src/types/raw/base/Error.ts +38 -0
- package/src/types/raw/base/LimitedVisibilityTweet.ts +40 -0
- package/src/types/raw/base/List.ts +50 -0
- package/src/types/raw/base/Media.ts +53 -0
- package/src/types/raw/base/Message.ts +22 -0
- package/src/types/raw/base/Notification.ts +66 -0
- package/src/types/raw/base/Space.ts +35 -0
- package/src/types/raw/base/Tweet.ts +139 -0
- package/src/types/raw/base/User.ts +182 -0
- package/src/types/raw/composite/DataResult.ts +8 -0
- package/src/types/raw/composite/TimelineList.ts +10 -0
- package/src/types/raw/composite/TimelineTweet.ts +14 -0
- package/src/types/raw/composite/TimelineUser.ts +13 -0
- package/src/types/raw/dm/Conversation.ts +59 -0
- package/src/types/raw/dm/InboxInitial.ts +155 -0
- package/src/types/raw/dm/InboxTimeline.ts +301 -0
- package/src/types/raw/dm/UserUpdates.ts +46 -0
- package/src/types/raw/generic/Response.ts +10 -0
- package/src/types/raw/list/AddMember.ts +175 -0
- package/src/types/raw/list/Details.ts +176 -0
- package/src/types/raw/list/Members.ts +154 -0
- package/src/types/raw/list/RemoveMember.ts +174 -0
- package/src/types/raw/list/Tweets.ts +2296 -0
- package/src/types/raw/media/FinalizeUpload.ts +20 -0
- package/src/types/raw/media/InitalizeUpload.ts +12 -0
- package/src/types/raw/media/LiveVideoStream.ts +21 -0
- package/src/types/raw/space/Details.ts +359 -0
- package/src/types/raw/tweet/Bookmark.ts +14 -0
- package/src/types/raw/tweet/Details.ts +210 -0
- package/src/types/raw/tweet/DetailsBulk.ts +338 -0
- package/src/types/raw/tweet/Like.ts +14 -0
- package/src/types/raw/tweet/Likers.ts +200 -0
- package/src/types/raw/tweet/Post.ts +150 -0
- package/src/types/raw/tweet/Replies.ts +539 -0
- package/src/types/raw/tweet/Retweet.ts +31 -0
- package/src/types/raw/tweet/Retweeters.ts +208 -0
- package/src/types/raw/tweet/Schedule.ts +18 -0
- package/src/types/raw/tweet/Search.ts +597 -0
- package/src/types/raw/tweet/Unbookmark.ts +14 -0
- package/src/types/raw/tweet/Unlike.ts +14 -0
- package/src/types/raw/tweet/Unpost.ts +20 -0
- package/src/types/raw/tweet/Unretweet.ts +31 -0
- package/src/types/raw/tweet/Unschedule.ts +14 -0
- package/src/types/raw/user/Affiliates.ts +179 -0
- package/src/types/raw/user/Analytics.ts +23 -0
- package/src/types/raw/user/BookmarkFolderTweets.ts +53 -0
- package/src/types/raw/user/BookmarkFolders.ts +41 -0
- package/src/types/raw/user/Bookmarks.ts +637 -0
- package/src/types/raw/user/Details.ts +185 -0
- package/src/types/raw/user/DetailsBulk.ts +104 -0
- package/src/types/raw/user/Follow.ts +280 -0
- package/src/types/raw/user/Followed.ts +1942 -0
- package/src/types/raw/user/Followers.ts +215 -0
- package/src/types/raw/user/Following.ts +215 -0
- package/src/types/raw/user/Highlights.ts +1287 -0
- package/src/types/raw/user/Likes.ts +1254 -0
- package/src/types/raw/user/Lists.ts +378 -0
- package/src/types/raw/user/Media.ts +1738 -0
- package/src/types/raw/user/Notifications.ts +499 -0
- package/src/types/raw/user/ProfileUpdate.ts +80 -0
- package/src/types/raw/user/Recommended.ts +2319 -0
- package/src/types/raw/user/Scheduled.ts +37 -0
- package/src/types/raw/user/Search.ts +230 -0
- package/src/types/raw/user/Subscriptions.ts +176 -0
- package/src/types/raw/user/Tweets.ts +1254 -0
- package/src/types/raw/user/TweetsAndReplies.ts +1254 -0
- package/src/types/raw/user/Unfollow.ts +280 -0
- package/tsconfig.browser.json +28 -0
- package/tsconfig.json +97 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { LogActions } from '../../enums/Logging';
|
|
2
|
+
import { MediaType } from '../../enums/Media';
|
|
3
|
+
import { RawMediaType } from '../../enums/raw/Media';
|
|
4
|
+
import { findByFilter } from '../../helper/JsonUtils';
|
|
5
|
+
|
|
6
|
+
import { LogService } from '../../services/internal/LogService';
|
|
7
|
+
|
|
8
|
+
import { ITweet, ITweetEntities, ITweetMedia } from '../../types/data/Tweet';
|
|
9
|
+
import { ILimitedVisibilityTweet } from '../../types/raw/base/LimitedVisibilityTweet';
|
|
10
|
+
import { IExtendedMedia as IRawExtendedMedia } from '../../types/raw/base/Media';
|
|
11
|
+
import { ITweet as IRawTweet, IEntities as IRawTweetEntities } from '../../types/raw/base/Tweet';
|
|
12
|
+
import { ITimelineTweet } from '../../types/raw/composite/TimelineTweet';
|
|
13
|
+
|
|
14
|
+
import { User } from './User';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The details of a single tweet.
|
|
18
|
+
*
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export class Tweet implements ITweet {
|
|
22
|
+
/** The raw tweet details. */
|
|
23
|
+
private readonly _raw: IRawTweet;
|
|
24
|
+
|
|
25
|
+
public bookmarkCount?: number;
|
|
26
|
+
public conversationId: string;
|
|
27
|
+
public createdAt: string;
|
|
28
|
+
public entities: TweetEntities;
|
|
29
|
+
public fullText: string;
|
|
30
|
+
public id: string;
|
|
31
|
+
public lang: string;
|
|
32
|
+
public likeCount?: number;
|
|
33
|
+
public media?: TweetMedia[];
|
|
34
|
+
public quoteCount?: number;
|
|
35
|
+
public quoted?: Tweet;
|
|
36
|
+
public replyCount?: number;
|
|
37
|
+
public replyTo?: string;
|
|
38
|
+
public retweetCount?: number;
|
|
39
|
+
public retweetedTweet?: Tweet;
|
|
40
|
+
public tweetBy: User;
|
|
41
|
+
public url: string;
|
|
42
|
+
public viewCount?: number;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @param tweet - The raw tweet details.
|
|
46
|
+
*/
|
|
47
|
+
public constructor(tweet: IRawTweet) {
|
|
48
|
+
this._raw = { ...tweet };
|
|
49
|
+
this.id = tweet.rest_id;
|
|
50
|
+
this.conversationId = tweet.legacy.conversation_id_str;
|
|
51
|
+
this.createdAt = new Date(tweet.legacy.created_at).toISOString();
|
|
52
|
+
this.tweetBy = new User(tweet.core.user_results.result);
|
|
53
|
+
this.entities = new TweetEntities(tweet.legacy.entities);
|
|
54
|
+
this.media = tweet.legacy.extended_entities?.media?.map((media) => new TweetMedia(media));
|
|
55
|
+
this.quoted = this._getQuotedTweet(tweet);
|
|
56
|
+
this.fullText = tweet.note_tweet?.note_tweet_results?.result?.text
|
|
57
|
+
? tweet.note_tweet.note_tweet_results.result.text
|
|
58
|
+
: tweet.legacy.full_text;
|
|
59
|
+
this.replyTo = tweet.legacy.in_reply_to_status_id_str;
|
|
60
|
+
this.lang = tweet.legacy.lang;
|
|
61
|
+
this.quoteCount = tweet.legacy.quote_count;
|
|
62
|
+
this.replyCount = tweet.legacy.reply_count;
|
|
63
|
+
this.retweetCount = tweet.legacy.retweet_count;
|
|
64
|
+
this.likeCount = tweet.legacy.favorite_count;
|
|
65
|
+
this.viewCount = tweet.views?.count ? parseInt(tweet.views.count) : undefined;
|
|
66
|
+
this.bookmarkCount = tweet.legacy.bookmark_count;
|
|
67
|
+
this.retweetedTweet = this._getRetweetedTweet(tweet);
|
|
68
|
+
this.url = `https://x.com/${this.tweetBy.userName}/status/${this.id}`;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** The raw tweet details. */
|
|
72
|
+
public get raw(): IRawTweet {
|
|
73
|
+
return { ...this._raw };
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Extract and deserialize the original quoted tweet from the given raw tweet.
|
|
78
|
+
*
|
|
79
|
+
* @param tweet - The raw tweet.
|
|
80
|
+
*
|
|
81
|
+
* @returns - The deserialized original quoted tweet.
|
|
82
|
+
*/
|
|
83
|
+
private _getQuotedTweet(tweet: IRawTweet): Tweet | undefined {
|
|
84
|
+
// If tweet with limited visibility
|
|
85
|
+
if (
|
|
86
|
+
tweet.quoted_status_result &&
|
|
87
|
+
tweet.quoted_status_result?.result?.__typename == 'TweetWithVisibilityResults' &&
|
|
88
|
+
(tweet.quoted_status_result.result as ILimitedVisibilityTweet)?.tweet?.legacy
|
|
89
|
+
) {
|
|
90
|
+
return new Tweet((tweet.quoted_status_result.result as ILimitedVisibilityTweet).tweet);
|
|
91
|
+
}
|
|
92
|
+
// If normal tweet
|
|
93
|
+
else if ((tweet.quoted_status_result?.result as IRawTweet)?.rest_id) {
|
|
94
|
+
return new Tweet(tweet.quoted_status_result.result as IRawTweet);
|
|
95
|
+
}
|
|
96
|
+
// Else, skip
|
|
97
|
+
else {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Extract and deserialize the original retweeted tweet from the given raw tweet.
|
|
104
|
+
*
|
|
105
|
+
* @param tweet - The raw tweet.
|
|
106
|
+
*
|
|
107
|
+
* @returns - The deserialized original retweeted tweet.
|
|
108
|
+
*/
|
|
109
|
+
private _getRetweetedTweet(tweet: IRawTweet): Tweet | undefined {
|
|
110
|
+
// If retweet with limited visibility
|
|
111
|
+
if (
|
|
112
|
+
tweet.legacy?.retweeted_status_result &&
|
|
113
|
+
tweet.legacy?.retweeted_status_result?.result?.__typename == 'TweetWithVisibilityResults' &&
|
|
114
|
+
(tweet.legacy?.retweeted_status_result?.result as ILimitedVisibilityTweet)?.tweet?.legacy
|
|
115
|
+
) {
|
|
116
|
+
return new Tweet((tweet.legacy.retweeted_status_result.result as ILimitedVisibilityTweet).tweet);
|
|
117
|
+
}
|
|
118
|
+
// If normal tweet
|
|
119
|
+
else if ((tweet.legacy?.retweeted_status_result?.result as IRawTweet)?.rest_id) {
|
|
120
|
+
return new Tweet(tweet.legacy.retweeted_status_result.result as IRawTweet);
|
|
121
|
+
}
|
|
122
|
+
// Else, skip
|
|
123
|
+
else {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Extracts and deserializes multiple target tweets from the given raw response data.
|
|
130
|
+
*
|
|
131
|
+
* @param response - The raw response data.
|
|
132
|
+
* @param ids - The ids of the target tweets.
|
|
133
|
+
*
|
|
134
|
+
* @returns The target deserialized tweets.
|
|
135
|
+
*/
|
|
136
|
+
public static multiple(response: NonNullable<unknown>, ids: string[]): Tweet[] {
|
|
137
|
+
let tweets: Tweet[] = [];
|
|
138
|
+
|
|
139
|
+
// Extracting the matching data
|
|
140
|
+
const extract = findByFilter<IRawTweet>(response, '__typename', 'Tweet');
|
|
141
|
+
|
|
142
|
+
// Deserializing valid data
|
|
143
|
+
for (const item of extract) {
|
|
144
|
+
if (item.legacy) {
|
|
145
|
+
// Logging
|
|
146
|
+
LogService.log(LogActions.DESERIALIZE, { id: item.rest_id });
|
|
147
|
+
|
|
148
|
+
tweets.push(new Tweet(item));
|
|
149
|
+
} else {
|
|
150
|
+
// Logging
|
|
151
|
+
LogService.log(LogActions.WARNING, {
|
|
152
|
+
action: LogActions.DESERIALIZE,
|
|
153
|
+
message: `Tweet not found, skipping`,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Filtering only required tweets, if required
|
|
159
|
+
if (ids && ids.length) {
|
|
160
|
+
tweets = tweets.filter((tweet) => ids.includes(tweet.id));
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return tweets;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Extracts and deserializes a single target tweet from the given raw response data.
|
|
168
|
+
*
|
|
169
|
+
* @param response - The raw response data.
|
|
170
|
+
* @param id - The id of the target tweet.
|
|
171
|
+
*
|
|
172
|
+
* @returns The target deserialized tweet.
|
|
173
|
+
*/
|
|
174
|
+
public static single(response: NonNullable<unknown>, id: string): Tweet | undefined {
|
|
175
|
+
const tweets: Tweet[] = [];
|
|
176
|
+
|
|
177
|
+
// Extracting the matching data
|
|
178
|
+
const extract = findByFilter<IRawTweet>(response, 'rest_id', id);
|
|
179
|
+
|
|
180
|
+
// Deserializing valid data
|
|
181
|
+
for (const item of extract) {
|
|
182
|
+
if (item.legacy) {
|
|
183
|
+
// Logging
|
|
184
|
+
LogService.log(LogActions.DESERIALIZE, { id: item.rest_id });
|
|
185
|
+
|
|
186
|
+
tweets.push(new Tweet(item));
|
|
187
|
+
} else {
|
|
188
|
+
// Logging
|
|
189
|
+
LogService.log(LogActions.WARNING, {
|
|
190
|
+
action: LogActions.DESERIALIZE,
|
|
191
|
+
message: `Tweet not found, skipping`,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return tweets.length ? tweets[0] : undefined;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Extracts and deserializes the timeline of tweets from the given raw response data.
|
|
201
|
+
*
|
|
202
|
+
* @param response - The raw response data.
|
|
203
|
+
* @param ids - The IDs of specific tweets that need to be extracted.
|
|
204
|
+
*
|
|
205
|
+
* @returns The deserialized timeline of tweets.
|
|
206
|
+
*/
|
|
207
|
+
public static timeline(response: NonNullable<unknown>): Tweet[] {
|
|
208
|
+
const tweets: Tweet[] = [];
|
|
209
|
+
|
|
210
|
+
// Extracting the matching data
|
|
211
|
+
const extract = findByFilter<ITimelineTweet>(response, '__typename', 'TimelineTweet');
|
|
212
|
+
|
|
213
|
+
// Deserializing valid data
|
|
214
|
+
for (const item of extract) {
|
|
215
|
+
// If tweet with limited visibility
|
|
216
|
+
if (
|
|
217
|
+
item.tweet_results?.result &&
|
|
218
|
+
item.tweet_results?.result?.__typename == 'TweetWithVisibilityResults' &&
|
|
219
|
+
(item.tweet_results?.result as ILimitedVisibilityTweet)?.tweet?.legacy
|
|
220
|
+
) {
|
|
221
|
+
tweets.push(new Tweet((item.tweet_results.result as ILimitedVisibilityTweet).tweet));
|
|
222
|
+
}
|
|
223
|
+
// If normal tweet
|
|
224
|
+
else if ((item.tweet_results?.result as IRawTweet)?.legacy) {
|
|
225
|
+
// Logging
|
|
226
|
+
LogService.log(LogActions.DESERIALIZE, { id: (item.tweet_results.result as IRawTweet).rest_id });
|
|
227
|
+
|
|
228
|
+
tweets.push(new Tweet(item.tweet_results.result as IRawTweet));
|
|
229
|
+
}
|
|
230
|
+
// If invalid/unrecognized tweet
|
|
231
|
+
else {
|
|
232
|
+
// Logging
|
|
233
|
+
LogService.log(LogActions.WARNING, {
|
|
234
|
+
action: LogActions.DESERIALIZE,
|
|
235
|
+
message: `Tweet not found, skipping`,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return tweets;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* @returns A serializable JSON representation of `this` object.
|
|
245
|
+
*/
|
|
246
|
+
public toJSON(): ITweet {
|
|
247
|
+
return {
|
|
248
|
+
bookmarkCount: this.bookmarkCount,
|
|
249
|
+
conversationId: this.conversationId,
|
|
250
|
+
createdAt: this.createdAt,
|
|
251
|
+
entities: this.entities.toJSON(),
|
|
252
|
+
fullText: this.fullText,
|
|
253
|
+
id: this.id,
|
|
254
|
+
lang: this.lang,
|
|
255
|
+
likeCount: this.likeCount,
|
|
256
|
+
media: this.media?.map((item) => item.toJSON()),
|
|
257
|
+
quoteCount: this.quoteCount,
|
|
258
|
+
quoted: this.quoted?.toJSON(),
|
|
259
|
+
replyCount: this.replyCount,
|
|
260
|
+
replyTo: this.replyTo,
|
|
261
|
+
retweetCount: this.retweetCount,
|
|
262
|
+
retweetedTweet: this.retweetedTweet?.toJSON(),
|
|
263
|
+
tweetBy: this.tweetBy.toJSON(),
|
|
264
|
+
url: this.url,
|
|
265
|
+
viewCount: this.viewCount,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* The different types parsed entities like urls, media, mentions, hashtags, etc.
|
|
272
|
+
*
|
|
273
|
+
* @public
|
|
274
|
+
*/
|
|
275
|
+
export class TweetEntities implements ITweetEntities {
|
|
276
|
+
/** The list of hashtags mentioned in the tweet. */
|
|
277
|
+
public hashtags: string[] = [];
|
|
278
|
+
|
|
279
|
+
/** The list of IDs of users mentioned in the tweet. */
|
|
280
|
+
public mentionedUsers: string[] = [];
|
|
281
|
+
|
|
282
|
+
/** The list of urls mentioned in the tweet. */
|
|
283
|
+
public urls: string[] = [];
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* @param entities - The raw tweet entities.
|
|
287
|
+
*/
|
|
288
|
+
public constructor(entities: IRawTweetEntities) {
|
|
289
|
+
// Extracting user mentions
|
|
290
|
+
if (entities.user_mentions) {
|
|
291
|
+
for (const user of entities.user_mentions) {
|
|
292
|
+
this.mentionedUsers.push(user.screen_name);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// Extracting urls
|
|
297
|
+
if (entities.urls) {
|
|
298
|
+
for (const url of entities.urls) {
|
|
299
|
+
this.urls.push(url.expanded_url);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// Extracting hashtags
|
|
304
|
+
if (entities.hashtags) {
|
|
305
|
+
for (const hashtag of entities.hashtags) {
|
|
306
|
+
this.hashtags.push(hashtag.text);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* @returns A serializable JSON representation of `this` object.
|
|
313
|
+
*/
|
|
314
|
+
public toJSON(): ITweetEntities {
|
|
315
|
+
return {
|
|
316
|
+
hashtags: this.hashtags,
|
|
317
|
+
mentionedUsers: this.mentionedUsers,
|
|
318
|
+
urls: this.urls,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* The details of a single media content included in a tweet.
|
|
325
|
+
*
|
|
326
|
+
* @public
|
|
327
|
+
*/
|
|
328
|
+
export class TweetMedia implements ITweetMedia {
|
|
329
|
+
/** The ID of the media. */
|
|
330
|
+
public id: string;
|
|
331
|
+
|
|
332
|
+
/** The thumbnail URL for the video content of the tweet. */
|
|
333
|
+
public thumbnailUrl?: string;
|
|
334
|
+
|
|
335
|
+
/** The type of media. */
|
|
336
|
+
public type: MediaType;
|
|
337
|
+
|
|
338
|
+
/** The direct URL to the media. */
|
|
339
|
+
public url = '';
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* @param media - The raw media details.
|
|
343
|
+
*/
|
|
344
|
+
public constructor(media: IRawExtendedMedia) {
|
|
345
|
+
this.id = media.id_str;
|
|
346
|
+
|
|
347
|
+
// If the media is a photo
|
|
348
|
+
if (media.type == RawMediaType.PHOTO) {
|
|
349
|
+
this.type = MediaType.PHOTO;
|
|
350
|
+
this.url = media.media_url_https;
|
|
351
|
+
}
|
|
352
|
+
// If the media is a gif
|
|
353
|
+
else if (media.type == RawMediaType.GIF) {
|
|
354
|
+
this.type = MediaType.GIF;
|
|
355
|
+
this.url = media.video_info?.variants[0].url as string;
|
|
356
|
+
}
|
|
357
|
+
// If the media is a video
|
|
358
|
+
else {
|
|
359
|
+
this.type = MediaType.VIDEO;
|
|
360
|
+
this.thumbnailUrl = media.media_url_https;
|
|
361
|
+
|
|
362
|
+
/** The highest bitrate of all variants. */
|
|
363
|
+
let highestRate = 0;
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Selecting the URL of the video variant with the highest bitrate.
|
|
367
|
+
*/
|
|
368
|
+
media.video_info?.variants.forEach((variant) => {
|
|
369
|
+
if (variant.bitrate > highestRate) {
|
|
370
|
+
highestRate = variant.bitrate;
|
|
371
|
+
this.url = variant.url;
|
|
372
|
+
}
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* @returns A serializable JSON representation of `this` object.
|
|
379
|
+
*/
|
|
380
|
+
public toJSON(): ITweetMedia {
|
|
381
|
+
return {
|
|
382
|
+
id: this.id,
|
|
383
|
+
thumbnailUrl: this.thumbnailUrl,
|
|
384
|
+
type: this.type,
|
|
385
|
+
url: this.url,
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { LogActions } from '../../enums/Logging';
|
|
2
|
+
import { findByFilter } from '../../helper/JsonUtils';
|
|
3
|
+
import { LogService } from '../../services/internal/LogService';
|
|
4
|
+
import { IUser } from '../../types/data/User';
|
|
5
|
+
import { IUser as IRawUser } from '../../types/raw/base/User';
|
|
6
|
+
import { ITimelineUser as IRawTimelineUser } from '../../types/raw/composite/TimelineUser';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The details of a single user.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export class User implements IUser {
|
|
14
|
+
/** The raw user details. */
|
|
15
|
+
private readonly _raw: IRawUser;
|
|
16
|
+
|
|
17
|
+
public createdAt: string;
|
|
18
|
+
public description?: string;
|
|
19
|
+
public followersCount: number;
|
|
20
|
+
public followingsCount: number;
|
|
21
|
+
public fullName: string;
|
|
22
|
+
public id: string;
|
|
23
|
+
public isFollowed?: boolean;
|
|
24
|
+
public isFollowing?: boolean;
|
|
25
|
+
public isVerified: boolean;
|
|
26
|
+
public likeCount: number;
|
|
27
|
+
public location?: string;
|
|
28
|
+
public pinnedTweet?: string;
|
|
29
|
+
public profileBanner?: string;
|
|
30
|
+
public profileImage: string;
|
|
31
|
+
public statusesCount: number;
|
|
32
|
+
public userName: string;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @param user - The raw user details.
|
|
36
|
+
*/
|
|
37
|
+
public constructor(user: IRawUser) {
|
|
38
|
+
this._raw = { ...user };
|
|
39
|
+
this.id = user.rest_id;
|
|
40
|
+
this.userName = user.core?.screen_name ?? user.legacy.screen_name ?? '';
|
|
41
|
+
this.fullName = user.core?.name ?? user.legacy.name ?? '';
|
|
42
|
+
this.createdAt = new Date(user.core?.created_at ?? user.legacy.created_at ?? 0).toISOString();
|
|
43
|
+
this.description = user.legacy.description.length ? user.legacy.description : undefined;
|
|
44
|
+
this.isFollowed = user.legacy.following;
|
|
45
|
+
this.isFollowing = user.legacy.followed_by;
|
|
46
|
+
this.isVerified = user.is_blue_verified;
|
|
47
|
+
this.likeCount = user.legacy.favourites_count;
|
|
48
|
+
this.followersCount = user.legacy.followers_count;
|
|
49
|
+
this.followingsCount = user.legacy.friends_count;
|
|
50
|
+
this.statusesCount = user.legacy.statuses_count;
|
|
51
|
+
this.location = user.location?.location ?? user.legacy.location ?? undefined;
|
|
52
|
+
this.pinnedTweet = user.legacy.pinned_tweet_ids_str[0];
|
|
53
|
+
this.profileBanner = user.legacy.profile_banner_url;
|
|
54
|
+
this.profileImage = user.avatar?.image_url ?? user.legacy.profile_image_url_https ?? '';
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** The raw user details. */
|
|
58
|
+
public get raw(): IRawUser {
|
|
59
|
+
return { ...this._raw };
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Extracts and deserializes multiple target users from the given raw response data.
|
|
64
|
+
*
|
|
65
|
+
* @param response - The raw response data.
|
|
66
|
+
* @param ids - The ids of the target users.
|
|
67
|
+
*
|
|
68
|
+
* @returns The target deserialized users.
|
|
69
|
+
*/
|
|
70
|
+
public static multiple(response: NonNullable<unknown>, ids: string[]): User[] {
|
|
71
|
+
let users: User[] = [];
|
|
72
|
+
|
|
73
|
+
// Extracting the matching data
|
|
74
|
+
const extract = findByFilter<IRawUser>(response, '__typename', 'User');
|
|
75
|
+
|
|
76
|
+
// Deserializing valid data
|
|
77
|
+
for (const item of extract) {
|
|
78
|
+
if (item.legacy && (item.core?.created_at || item.legacy.created_at)) {
|
|
79
|
+
// Logging
|
|
80
|
+
LogService.log(LogActions.DESERIALIZE, { id: item.rest_id });
|
|
81
|
+
|
|
82
|
+
users.push(new User(item));
|
|
83
|
+
} else {
|
|
84
|
+
// Logging
|
|
85
|
+
LogService.log(LogActions.WARNING, {
|
|
86
|
+
action: LogActions.DESERIALIZE,
|
|
87
|
+
message: `User not found, skipping`,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Filtering only required user, if required
|
|
93
|
+
if (ids && ids.length) {
|
|
94
|
+
users = users.filter((user) => ids.includes(user.id));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return users;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Extracts and deserializes a single target user from the given raw response data.
|
|
102
|
+
*
|
|
103
|
+
* @param response - The raw response data.
|
|
104
|
+
*
|
|
105
|
+
* @returns The target deserialized user.
|
|
106
|
+
*/
|
|
107
|
+
public static single(response: NonNullable<unknown>): User | undefined {
|
|
108
|
+
const users: User[] = [];
|
|
109
|
+
|
|
110
|
+
// Extracting the matching data
|
|
111
|
+
const extract = findByFilter<IRawUser>(response, '__typename', 'User');
|
|
112
|
+
|
|
113
|
+
// Deserializing valid data
|
|
114
|
+
for (const item of extract) {
|
|
115
|
+
if (item.legacy && (item.core?.created_at || item.legacy.created_at)) {
|
|
116
|
+
// Logging
|
|
117
|
+
LogService.log(LogActions.DESERIALIZE, { id: item.rest_id });
|
|
118
|
+
|
|
119
|
+
users.push(new User(item));
|
|
120
|
+
} else {
|
|
121
|
+
// Logging
|
|
122
|
+
LogService.log(LogActions.WARNING, {
|
|
123
|
+
action: LogActions.DESERIALIZE,
|
|
124
|
+
message: `User not found, skipping`,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return users.length ? users[0] : undefined;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Extracts and deserializes the timeline of users from the given raw response data.
|
|
134
|
+
*
|
|
135
|
+
* @param response - The raw response data.
|
|
136
|
+
*
|
|
137
|
+
* @returns The deserialized timeline of users.
|
|
138
|
+
*/
|
|
139
|
+
public static timeline(response: NonNullable<unknown>): User[] {
|
|
140
|
+
const users: User[] = [];
|
|
141
|
+
|
|
142
|
+
// Extracting the matching data
|
|
143
|
+
const extract = findByFilter<IRawTimelineUser>(response, '__typename', 'TimelineUser');
|
|
144
|
+
|
|
145
|
+
// Deserializing valid data
|
|
146
|
+
for (const item of extract) {
|
|
147
|
+
if (item.user_results?.result?.legacy) {
|
|
148
|
+
// Logging
|
|
149
|
+
LogService.log(LogActions.DESERIALIZE, { id: item.user_results.result.rest_id });
|
|
150
|
+
|
|
151
|
+
users.push(new User(item.user_results.result));
|
|
152
|
+
} else {
|
|
153
|
+
// Logging
|
|
154
|
+
LogService.log(LogActions.WARNING, {
|
|
155
|
+
action: LogActions.DESERIALIZE,
|
|
156
|
+
message: `User not found, skipping`,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return users;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* @returns A serializable JSON representation of `this` object.
|
|
166
|
+
*/
|
|
167
|
+
public toJSON(): IUser {
|
|
168
|
+
return {
|
|
169
|
+
createdAt: this.createdAt,
|
|
170
|
+
description: this.description,
|
|
171
|
+
followersCount: this.followersCount,
|
|
172
|
+
followingsCount: this.followingsCount,
|
|
173
|
+
fullName: this.fullName,
|
|
174
|
+
id: this.id,
|
|
175
|
+
isFollowed: this.isFollowed,
|
|
176
|
+
isFollowing: this.isFollowing,
|
|
177
|
+
isVerified: this.isVerified,
|
|
178
|
+
likeCount: this.likeCount,
|
|
179
|
+
location: this.location,
|
|
180
|
+
pinnedTweet: this.pinnedTweet,
|
|
181
|
+
profileBanner: this.profileBanner,
|
|
182
|
+
profileImage: this.profileImage,
|
|
183
|
+
statusesCount: this.statusesCount,
|
|
184
|
+
userName: this.userName,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { AxiosError } from 'axios';
|
|
2
|
+
|
|
3
|
+
import { ITwitterError, ITwitterErrorDetails } from '../../types/errors/TwitterError';
|
|
4
|
+
import { IErrorData as IRawErrorData, IErrorDetails as IRawErrorDetails } from '../../types/raw/base/Error';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The error thrown by Twitter API.
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export class TwitterError extends Error implements ITwitterError {
|
|
12
|
+
public details: ITwitterErrorDetails[];
|
|
13
|
+
public message: string;
|
|
14
|
+
public name: string;
|
|
15
|
+
public status: number;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @param error - The error response received from Twitter.
|
|
19
|
+
*/
|
|
20
|
+
public constructor(error: AxiosError<IRawErrorData | IRawErrorDetails>) {
|
|
21
|
+
super(error.message);
|
|
22
|
+
this.details = (
|
|
23
|
+
(error.response?.data as IRawErrorData).errors
|
|
24
|
+
? (error.response?.data as IRawErrorData).errors.map((item) => new TwitterErrorDetails(item))
|
|
25
|
+
: [new TwitterErrorDetails(error.response?.data as IRawErrorDetails)]
|
|
26
|
+
).map((item) => item.toJSON());
|
|
27
|
+
this.message = error.message;
|
|
28
|
+
this.name = 'TWITTER_ERROR';
|
|
29
|
+
this.status = error.status ?? 500;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The error details.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export class TwitterErrorDetails implements ITwitterErrorDetails {
|
|
39
|
+
public code: number;
|
|
40
|
+
public message: string;
|
|
41
|
+
public name?: string;
|
|
42
|
+
public type?: string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @param details - The details of the error.
|
|
46
|
+
*/
|
|
47
|
+
public constructor(details: IRawErrorDetails) {
|
|
48
|
+
this.code = details.code;
|
|
49
|
+
this.message = details.message;
|
|
50
|
+
this.name = details.name;
|
|
51
|
+
this.type = details.kind;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @returns The JSON representation of `this` object.
|
|
56
|
+
*/
|
|
57
|
+
public toJSON(): ITwitterErrorDetails {
|
|
58
|
+
return {
|
|
59
|
+
code: this.code,
|
|
60
|
+
message: this.message,
|
|
61
|
+
name: this.message,
|
|
62
|
+
type: this.type,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { IMediaEntityVariable, IMediaVariable, IReplyVariable } from '../../types/params/Variables';
|
|
2
|
+
import { NewTweetMedia } from '../args/PostArgs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Media to be sent as payload.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export class MediaVariable implements IMediaVariable {
|
|
10
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
11
|
+
public media_entities: MediaEntityVariable[];
|
|
12
|
+
public possibly_sensitive: boolean;
|
|
13
|
+
/* eslint-enable @typescript-eslint/naming-convention */
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @param media - The list of NewTweetMedia objects specifying the media items to be sent in the Tweet.
|
|
17
|
+
*/
|
|
18
|
+
public constructor(media: NewTweetMedia[]) {
|
|
19
|
+
this.media_entities = media.map((item) => new MediaEntityVariable(item));
|
|
20
|
+
this.possibly_sensitive = false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Each media item in the media payload.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export class MediaEntityVariable implements IMediaEntityVariable {
|
|
30
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
31
|
+
public media_id: string;
|
|
32
|
+
public tagged_users: string[];
|
|
33
|
+
/* eslint-enable @typescript-eslint/naming-convention */
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param media - The NewTweetMedia object specifying the details of the media item to be included in the payload.
|
|
37
|
+
*/
|
|
38
|
+
public constructor(media: NewTweetMedia) {
|
|
39
|
+
this.media_id = media.id;
|
|
40
|
+
this.tagged_users = media.tags ?? [];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Reply specific details to be sent in payload.
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export class ReplyVariable implements IReplyVariable {
|
|
50
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
51
|
+
public exclude_reply_user_ids: string[];
|
|
52
|
+
public in_reply_to_tweet_id: string;
|
|
53
|
+
/* eslint-enable @typescript-eslint/naming-convention */
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @param replyTo - The id of the Tweet to which this Tweet is a reply.
|
|
57
|
+
*/
|
|
58
|
+
public constructor(replyTo: string) {
|
|
59
|
+
this.in_reply_to_tweet_id = replyTo;
|
|
60
|
+
this.exclude_reply_user_ids = [];
|
|
61
|
+
}
|
|
62
|
+
}
|