@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,333 @@
|
|
|
1
|
+
import { RettiwtBrowser, User, Tweet } from 'rettiwt-api/browser';
|
|
2
|
+
|
|
3
|
+
// DOM Elements
|
|
4
|
+
const statusEl = document.getElementById('status') as HTMLDivElement;
|
|
5
|
+
const loginPromptEl = document.getElementById('login-prompt') as HTMLDivElement;
|
|
6
|
+
const mainContentEl = document.getElementById('main-content') as HTMLDivElement;
|
|
7
|
+
const retryBtn = document.getElementById('retry-btn') as HTMLButtonElement;
|
|
8
|
+
|
|
9
|
+
// Profile elements
|
|
10
|
+
const profileAvatarEl = document.getElementById('profile-avatar') as HTMLImageElement;
|
|
11
|
+
const profileNameEl = document.getElementById('profile-name') as HTMLElement;
|
|
12
|
+
const profileUsernameEl = document.getElementById('profile-username') as HTMLElement;
|
|
13
|
+
const followersCountEl = document.getElementById('followers-count') as HTMLElement;
|
|
14
|
+
const followingCountEl = document.getElementById('following-count') as HTMLElement;
|
|
15
|
+
const tweetsCountEl = document.getElementById('tweets-count') as HTMLElement;
|
|
16
|
+
|
|
17
|
+
// Tab elements
|
|
18
|
+
const tabBookmarksEl = document.getElementById('tab-bookmarks') as HTMLButtonElement;
|
|
19
|
+
const tabSearchEl = document.getElementById('tab-search') as HTMLButtonElement;
|
|
20
|
+
const searchSectionEl = document.getElementById('search-section') as HTMLDivElement;
|
|
21
|
+
const searchInputEl = document.getElementById('search-input') as HTMLInputElement;
|
|
22
|
+
const searchBtnEl = document.getElementById('search-btn') as HTMLButtonElement;
|
|
23
|
+
|
|
24
|
+
// Content elements
|
|
25
|
+
const sectionTitleEl = document.getElementById('section-title') as HTMLElement;
|
|
26
|
+
const itemCountEl = document.getElementById('item-count') as HTMLElement;
|
|
27
|
+
const contentListEl = document.getElementById('content-list') as HTMLDivElement;
|
|
28
|
+
const loadMoreEl = document.getElementById('load-more') as HTMLDivElement;
|
|
29
|
+
|
|
30
|
+
// Global state
|
|
31
|
+
let rettiwt: RettiwtBrowser | null = null;
|
|
32
|
+
let currentTab: 'bookmarks' | 'search' = 'bookmarks';
|
|
33
|
+
let bookmarks: Tweet[] = [];
|
|
34
|
+
let searchResults: Tweet[] = [];
|
|
35
|
+
let bookmarksCursor: string | undefined;
|
|
36
|
+
let searchCursor: string | undefined;
|
|
37
|
+
let isLoading = false;
|
|
38
|
+
let hasMoreBookmarks = true;
|
|
39
|
+
let hasMoreSearch = true;
|
|
40
|
+
let currentSearchQuery = '';
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Update status display
|
|
44
|
+
*/
|
|
45
|
+
function setStatus(message: string, type: 'loading' | 'success' | 'error') {
|
|
46
|
+
statusEl.className = `status ${type}`;
|
|
47
|
+
if (type === 'loading') {
|
|
48
|
+
statusEl.innerHTML = `<span class="loading-spinner"></span>${message}`;
|
|
49
|
+
} else {
|
|
50
|
+
statusEl.textContent = message;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Format large numbers (e.g., 1000 -> 1K)
|
|
56
|
+
*/
|
|
57
|
+
function formatNumber(num: number): string {
|
|
58
|
+
if (num >= 1000000) {
|
|
59
|
+
return (num / 1000000).toFixed(1) + 'M';
|
|
60
|
+
}
|
|
61
|
+
if (num >= 1000) {
|
|
62
|
+
return (num / 1000).toFixed(1) + 'K';
|
|
63
|
+
}
|
|
64
|
+
return num.toString();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Display user profile
|
|
69
|
+
*/
|
|
70
|
+
function displayProfile(user: User) {
|
|
71
|
+
profileAvatarEl.src = user.profileImage || '';
|
|
72
|
+
profileNameEl.textContent = user.fullName || 'Unknown';
|
|
73
|
+
profileUsernameEl.textContent = `@${user.userName || 'unknown'}`;
|
|
74
|
+
followersCountEl.textContent = formatNumber(user.followersCount || 0);
|
|
75
|
+
followingCountEl.textContent = formatNumber(user.followingsCount || 0);
|
|
76
|
+
tweetsCountEl.textContent = formatNumber(user.statusesCount || 0);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Escape HTML to prevent XSS
|
|
81
|
+
*/
|
|
82
|
+
function escapeHtml(text: string): string {
|
|
83
|
+
const div = document.createElement('div');
|
|
84
|
+
div.textContent = text;
|
|
85
|
+
return div.innerHTML;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Render a single tweet card
|
|
90
|
+
*/
|
|
91
|
+
function renderTweetCard(tweet: Tweet): string {
|
|
92
|
+
const author = tweet.tweetBy;
|
|
93
|
+
const avatarUrl = author?.profileImage || '';
|
|
94
|
+
const authorName = author?.fullName || 'Unknown';
|
|
95
|
+
const authorHandle = author?.userName || 'unknown';
|
|
96
|
+
const text = tweet.fullText || '';
|
|
97
|
+
const likes = formatNumber(tweet.likeCount || 0);
|
|
98
|
+
const retweets = formatNumber(tweet.retweetCount || 0);
|
|
99
|
+
const replies = formatNumber(tweet.replyCount || 0);
|
|
100
|
+
|
|
101
|
+
return `
|
|
102
|
+
<div class="tweet-card">
|
|
103
|
+
<div class="tweet-header">
|
|
104
|
+
<img class="tweet-avatar" src="${avatarUrl}" alt="Avatar" onerror="this.style.display='none'">
|
|
105
|
+
<div>
|
|
106
|
+
<div class="tweet-author">${escapeHtml(authorName)}</div>
|
|
107
|
+
<div class="tweet-handle">@${escapeHtml(authorHandle)}</div>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="tweet-text">${escapeHtml(text)}</div>
|
|
111
|
+
<div class="tweet-stats">
|
|
112
|
+
<span>${replies} replies</span>
|
|
113
|
+
<span>${retweets} retweets</span>
|
|
114
|
+
<span>${likes} likes</span>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
`;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Update the content list display
|
|
122
|
+
*/
|
|
123
|
+
function updateContentList() {
|
|
124
|
+
const items = currentTab === 'bookmarks' ? bookmarks : searchResults;
|
|
125
|
+
const hasMore = currentTab === 'bookmarks' ? hasMoreBookmarks : hasMoreSearch;
|
|
126
|
+
|
|
127
|
+
if (items.length === 0 && !isLoading) {
|
|
128
|
+
contentListEl.innerHTML = `<div class="empty-state">${
|
|
129
|
+
currentTab === 'bookmarks' ? 'No bookmarks found' : 'No search results'
|
|
130
|
+
}</div>`;
|
|
131
|
+
} else {
|
|
132
|
+
contentListEl.innerHTML = items.map(renderTweetCard).join('');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
itemCountEl.textContent = items.length > 0 ? `${items.length} items` : '';
|
|
136
|
+
|
|
137
|
+
// Only hide load-more when there's definitely no more content
|
|
138
|
+
// The loading indicator is managed by the load functions
|
|
139
|
+
if (!hasMore && !isLoading) {
|
|
140
|
+
loadMoreEl.classList.add('hidden');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Load more bookmarks
|
|
146
|
+
*/
|
|
147
|
+
async function loadMoreBookmarks() {
|
|
148
|
+
if (!rettiwt || isLoading || !hasMoreBookmarks) return;
|
|
149
|
+
|
|
150
|
+
isLoading = true;
|
|
151
|
+
loadMoreEl.classList.remove('hidden');
|
|
152
|
+
|
|
153
|
+
try {
|
|
154
|
+
const result = await rettiwt.user.bookmarks(20, bookmarksCursor);
|
|
155
|
+
|
|
156
|
+
if (!result.list || result.list.length === 0) {
|
|
157
|
+
hasMoreBookmarks = false;
|
|
158
|
+
} else {
|
|
159
|
+
bookmarks.push(...result.list);
|
|
160
|
+
bookmarksCursor = result.next;
|
|
161
|
+
hasMoreBookmarks = !!bookmarksCursor;
|
|
162
|
+
}
|
|
163
|
+
} catch (error) {
|
|
164
|
+
console.error('Error loading bookmarks:', error);
|
|
165
|
+
hasMoreBookmarks = false; // Stop trying on error
|
|
166
|
+
} finally {
|
|
167
|
+
isLoading = false;
|
|
168
|
+
loadMoreEl.classList.add('hidden');
|
|
169
|
+
updateContentList();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Load more search results
|
|
175
|
+
*/
|
|
176
|
+
async function loadMoreSearchResults() {
|
|
177
|
+
if (!rettiwt || isLoading || !hasMoreSearch || !currentSearchQuery) return;
|
|
178
|
+
|
|
179
|
+
isLoading = true;
|
|
180
|
+
loadMoreEl.classList.remove('hidden');
|
|
181
|
+
|
|
182
|
+
try {
|
|
183
|
+
console.log('Searching for:', currentSearchQuery, 'cursor:', searchCursor);
|
|
184
|
+
const result = await rettiwt.tweet.search(
|
|
185
|
+
{ includeWords: [currentSearchQuery] },
|
|
186
|
+
20,
|
|
187
|
+
searchCursor,
|
|
188
|
+
);
|
|
189
|
+
console.log('Search result:', result);
|
|
190
|
+
|
|
191
|
+
if (!result.list || result.list.length === 0) {
|
|
192
|
+
hasMoreSearch = false;
|
|
193
|
+
} else {
|
|
194
|
+
searchResults.push(...result.list);
|
|
195
|
+
searchCursor = result.next;
|
|
196
|
+
hasMoreSearch = !!searchCursor;
|
|
197
|
+
}
|
|
198
|
+
} catch (error) {
|
|
199
|
+
console.error('Error loading search results:', error);
|
|
200
|
+
// Show error to user
|
|
201
|
+
if (searchResults.length === 0) {
|
|
202
|
+
contentListEl.innerHTML = `<div class="empty-state">Search failed: ${error instanceof Error ? error.message : 'Unknown error'}</div>`;
|
|
203
|
+
}
|
|
204
|
+
hasMoreSearch = false; // Stop trying on error
|
|
205
|
+
} finally {
|
|
206
|
+
isLoading = false;
|
|
207
|
+
loadMoreEl.classList.add('hidden');
|
|
208
|
+
updateContentList();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Perform search
|
|
214
|
+
*/
|
|
215
|
+
async function performSearch() {
|
|
216
|
+
if (!rettiwt) return;
|
|
217
|
+
|
|
218
|
+
const query = searchInputEl.value.trim();
|
|
219
|
+
if (!query) return;
|
|
220
|
+
|
|
221
|
+
// Reset search state
|
|
222
|
+
currentSearchQuery = query;
|
|
223
|
+
searchResults = [];
|
|
224
|
+
searchCursor = undefined;
|
|
225
|
+
hasMoreSearch = true;
|
|
226
|
+
|
|
227
|
+
searchBtnEl.disabled = true;
|
|
228
|
+
searchBtnEl.textContent = 'Searching...';
|
|
229
|
+
|
|
230
|
+
try {
|
|
231
|
+
await loadMoreSearchResults();
|
|
232
|
+
} finally {
|
|
233
|
+
searchBtnEl.disabled = false;
|
|
234
|
+
searchBtnEl.textContent = 'Search';
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Switch tab
|
|
240
|
+
*/
|
|
241
|
+
function switchTab(tab: 'bookmarks' | 'search') {
|
|
242
|
+
currentTab = tab;
|
|
243
|
+
|
|
244
|
+
// Update tab styles
|
|
245
|
+
tabBookmarksEl.classList.toggle('active', tab === 'bookmarks');
|
|
246
|
+
tabSearchEl.classList.toggle('active', tab === 'search');
|
|
247
|
+
|
|
248
|
+
// Show/hide search section
|
|
249
|
+
searchSectionEl.classList.toggle('hidden', tab !== 'search');
|
|
250
|
+
|
|
251
|
+
// Update section title
|
|
252
|
+
sectionTitleEl.textContent = tab === 'bookmarks' ? 'Bookmarks' : 'Search Results';
|
|
253
|
+
|
|
254
|
+
// Update content
|
|
255
|
+
updateContentList();
|
|
256
|
+
|
|
257
|
+
// Auto-load bookmarks if switching to bookmarks tab and empty
|
|
258
|
+
if (tab === 'bookmarks' && bookmarks.length === 0 && hasMoreBookmarks) {
|
|
259
|
+
loadMoreBookmarks();
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Handle scroll for infinite loading
|
|
265
|
+
*/
|
|
266
|
+
function handleScroll() {
|
|
267
|
+
const scrollTop = contentListEl.scrollTop;
|
|
268
|
+
const scrollHeight = contentListEl.scrollHeight;
|
|
269
|
+
const clientHeight = contentListEl.clientHeight;
|
|
270
|
+
|
|
271
|
+
// Load more when scrolled near bottom (within 150px)
|
|
272
|
+
if (scrollTop + clientHeight >= scrollHeight - 150) {
|
|
273
|
+
console.log('Near bottom detected', { scrollTop, scrollHeight, clientHeight, isLoading, hasMoreBookmarks, hasMoreSearch });
|
|
274
|
+
if (currentTab === 'bookmarks' && !isLoading && hasMoreBookmarks) {
|
|
275
|
+
loadMoreBookmarks();
|
|
276
|
+
} else if (currentTab === 'search' && currentSearchQuery && !isLoading && hasMoreSearch) {
|
|
277
|
+
loadMoreSearchResults();
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Initialize the extension
|
|
284
|
+
*/
|
|
285
|
+
async function initialize() {
|
|
286
|
+
setStatus('Checking login status...', 'loading');
|
|
287
|
+
loginPromptEl.classList.add('hidden');
|
|
288
|
+
mainContentEl.classList.add('hidden');
|
|
289
|
+
|
|
290
|
+
try {
|
|
291
|
+
rettiwt = new RettiwtBrowser();
|
|
292
|
+
|
|
293
|
+
// Check if logged in (just checks cookies, no API call)
|
|
294
|
+
const isLoggedIn = await rettiwt.isLoggedIn();
|
|
295
|
+
|
|
296
|
+
if (!isLoggedIn) {
|
|
297
|
+
setStatus('Not logged in to X.com', 'error');
|
|
298
|
+
loginPromptEl.classList.remove('hidden');
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
setStatus('Verifying credentials...', 'loading');
|
|
303
|
+
|
|
304
|
+
// Initialize and verify (fetches user profile)
|
|
305
|
+
const user = await rettiwt.initialize();
|
|
306
|
+
|
|
307
|
+
setStatus('Successfully connected!', 'success');
|
|
308
|
+
mainContentEl.classList.remove('hidden');
|
|
309
|
+
displayProfile(user);
|
|
310
|
+
|
|
311
|
+
// Auto-load bookmarks
|
|
312
|
+
await loadMoreBookmarks();
|
|
313
|
+
} catch (error) {
|
|
314
|
+
console.error('Initialization error:', error);
|
|
315
|
+
setStatus(`Error: ${error instanceof Error ? error.message : 'Failed to initialize'}`, 'error');
|
|
316
|
+
loginPromptEl.classList.remove('hidden');
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// Event listeners
|
|
321
|
+
retryBtn.addEventListener('click', initialize);
|
|
322
|
+
tabBookmarksEl.addEventListener('click', () => switchTab('bookmarks'));
|
|
323
|
+
tabSearchEl.addEventListener('click', () => switchTab('search'));
|
|
324
|
+
searchBtnEl.addEventListener('click', performSearch);
|
|
325
|
+
searchInputEl.addEventListener('keypress', (e) => {
|
|
326
|
+
if (e.key === 'Enter') {
|
|
327
|
+
performSearch();
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
contentListEl.addEventListener('scroll', handleScroll);
|
|
331
|
+
|
|
332
|
+
// Initialize on load
|
|
333
|
+
document.addEventListener('DOMContentLoaded', initialize);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
7
|
+
"strict": true,
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"skipLibCheck": true,
|
|
10
|
+
"forceConsistentCasingInFileNames": true,
|
|
11
|
+
"outDir": "./dist",
|
|
12
|
+
"declaration": false,
|
|
13
|
+
"types": ["chrome"],
|
|
14
|
+
"paths": {
|
|
15
|
+
"rettiwt-api/browser": ["../../dist/browser/browser/index"]
|
|
16
|
+
},
|
|
17
|
+
"baseUrl": "."
|
|
18
|
+
},
|
|
19
|
+
"include": ["src/**/*"],
|
|
20
|
+
"exclude": ["node_modules", "dist"]
|
|
21
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const webpack = require('webpack');
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
entry: {
|
|
6
|
+
popup: './src/popup.ts',
|
|
7
|
+
},
|
|
8
|
+
output: {
|
|
9
|
+
path: path.resolve(__dirname, 'dist'),
|
|
10
|
+
filename: '[name].js',
|
|
11
|
+
},
|
|
12
|
+
module: {
|
|
13
|
+
rules: [
|
|
14
|
+
{
|
|
15
|
+
test: /\.tsx?$/,
|
|
16
|
+
use: {
|
|
17
|
+
loader: 'ts-loader',
|
|
18
|
+
options: {
|
|
19
|
+
transpileOnly: true, // Skip type checking for faster builds
|
|
20
|
+
compilerOptions: {
|
|
21
|
+
// Override rootDir for external files
|
|
22
|
+
rootDir: undefined,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
exclude: /node_modules/,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
resolve: {
|
|
31
|
+
extensions: ['.tsx', '.ts', '.js'],
|
|
32
|
+
alias: {
|
|
33
|
+
// Point to the compiled browser module
|
|
34
|
+
'rettiwt-api/browser': path.resolve(__dirname, '../../dist/browser/browser/index.js'),
|
|
35
|
+
// Alias for process/browser
|
|
36
|
+
'process/browser': require.resolve('process/browser'),
|
|
37
|
+
},
|
|
38
|
+
fallback: {
|
|
39
|
+
// Polyfills for Node.js modules used by the library
|
|
40
|
+
querystring: require.resolve('querystring-es3'),
|
|
41
|
+
stream: require.resolve('stream-browserify'),
|
|
42
|
+
buffer: require.resolve('buffer/'),
|
|
43
|
+
util: require.resolve('util/'),
|
|
44
|
+
url: require.resolve('url/'),
|
|
45
|
+
process: require.resolve('process/browser'),
|
|
46
|
+
path: false,
|
|
47
|
+
fs: false,
|
|
48
|
+
https: false,
|
|
49
|
+
http: false,
|
|
50
|
+
net: false,
|
|
51
|
+
tls: false,
|
|
52
|
+
crypto: false,
|
|
53
|
+
zlib: false,
|
|
54
|
+
perf_hooks: false,
|
|
55
|
+
canvas: false,
|
|
56
|
+
},
|
|
57
|
+
// Also look in the example's node_modules for resolving
|
|
58
|
+
modules: [
|
|
59
|
+
path.resolve(__dirname, 'node_modules'),
|
|
60
|
+
'node_modules',
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
plugins: [
|
|
64
|
+
// Provide Buffer and process globally
|
|
65
|
+
new webpack.ProvidePlugin({
|
|
66
|
+
Buffer: ['buffer', 'Buffer'],
|
|
67
|
+
process: 'process/browser',
|
|
68
|
+
}),
|
|
69
|
+
],
|
|
70
|
+
devtool: 'source-map',
|
|
71
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@youmind-openlab/rettiwt-api",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"types": "dist/index.d.ts",
|
|
6
|
+
"description": "YouMind Open Lab fork - An API for fetching data from TwitterAPI, with browser extension support!",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"./browser": {
|
|
13
|
+
"types": "./dist/browser/index.d.ts",
|
|
14
|
+
"default": "./dist/browser/index.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"bin": {
|
|
18
|
+
"rettiwt": "dist/cli.js"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc",
|
|
22
|
+
"build:browser": "tsc -p tsconfig.browser.json",
|
|
23
|
+
"build:all": "npm run build && npm run build:browser",
|
|
24
|
+
"prepare": "tsc",
|
|
25
|
+
"format": "prettier --write .",
|
|
26
|
+
"format:check": "prettier --check .",
|
|
27
|
+
"lint": "eslint --max-warnings 0 --fix .",
|
|
28
|
+
"lint:check": "eslint --max-warnings 0 .",
|
|
29
|
+
"docs": "typedoc --excludePrivate --excludeProtected --excludeInternal src/index.ts"
|
|
30
|
+
},
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git+https://github.com/Rishikant181/twitter-api.git"
|
|
34
|
+
},
|
|
35
|
+
"author": {
|
|
36
|
+
"email": "rishikantsahu181@gmail.com",
|
|
37
|
+
"name": "Rishikant Sahu"
|
|
38
|
+
},
|
|
39
|
+
"license": "ISC",
|
|
40
|
+
"bugs": {
|
|
41
|
+
"url": "https://github.com/Rishikant181/Rettiwt-API/issues"
|
|
42
|
+
},
|
|
43
|
+
"homepage": "https://rishikant181.github.io/Rettiwt-API/",
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": "^22.21.0"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/chrome": "^0.0.300",
|
|
49
|
+
"@types/cookiejar": "^2.1.5",
|
|
50
|
+
"@types/jsdom": "^27.0.0",
|
|
51
|
+
"@types/node": "^22.13.1",
|
|
52
|
+
"@typescript-eslint/eslint-plugin": "^8.24.0",
|
|
53
|
+
"@typescript-eslint/parser": "^8.24.0",
|
|
54
|
+
"eslint": "^9.20.1",
|
|
55
|
+
"eslint-plugin-import": "^2.31.0",
|
|
56
|
+
"eslint-plugin-tsdoc": "^0.4.0",
|
|
57
|
+
"nodemon": "^3.1.9",
|
|
58
|
+
"prettier": "^3.5.1",
|
|
59
|
+
"typedoc": "^0.27.7",
|
|
60
|
+
"typescript": "^5.7.3"
|
|
61
|
+
},
|
|
62
|
+
"dependencies": {
|
|
63
|
+
"axios": "^1.8.4",
|
|
64
|
+
"chalk": "^5.4.1",
|
|
65
|
+
"commander": "^11.1.0",
|
|
66
|
+
"cookiejar": "^2.1.4",
|
|
67
|
+
"https-proxy-agent": "^7.0.6",
|
|
68
|
+
"jsdom": "^27.2.0",
|
|
69
|
+
"node-html-parser": "^7.0.1",
|
|
70
|
+
"x-client-transaction-id": "^0.1.9"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
API_KEY=""
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Rettiwt Playground
|
|
2
|
+
|
|
3
|
+
This playground is intended for developers to test and experiment with features from the Rettiwt-API package in a local development environment.
|
|
4
|
+
|
|
5
|
+
## Getting Started
|
|
6
|
+
|
|
7
|
+
### Prerequisites
|
|
8
|
+
|
|
9
|
+
- Node.js (v22 or higher recommended)
|
|
10
|
+
- npm (v7+ recommended for workspace support)
|
|
11
|
+
|
|
12
|
+
### Setup
|
|
13
|
+
|
|
14
|
+
1. **Install dependencies**
|
|
15
|
+
From the root of the monorepo, run:
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
npm install
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
This will install dependencies for all workspaces, including `playground` and `src`.
|
|
22
|
+
|
|
23
|
+
2. **Environment Variables**
|
|
24
|
+
Create a `.env` file in the `playground` directory with your API credentials:
|
|
25
|
+
```env
|
|
26
|
+
API_KEY=your_api_key_here
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Usage
|
|
30
|
+
|
|
31
|
+
- The main entry point is [`index.js`](./index.js), which demonstrates usage of the Rettiwt-API.
|
|
32
|
+
- To run the playground:
|
|
33
|
+
```sh
|
|
34
|
+
npm start --workspace=playground
|
|
35
|
+
```
|
|
36
|
+
or from the `playground` directory:
|
|
37
|
+
```sh
|
|
38
|
+
npm start
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Modifying Playground Code
|
|
42
|
+
|
|
43
|
+
- Edit `index.js` to try different API features or test new functionality.
|
|
44
|
+
- The `rettiwt-api` dependency is linked via npm workspaces, so changes in `src` are immediately available in the playground after rebuilding if necessary.
|
|
45
|
+
|
|
46
|
+
## Notes
|
|
47
|
+
|
|
48
|
+
- This playground is for development and testing only. Do not use production credentials.
|
|
49
|
+
- For more advanced usage, add scripts or files as needed.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
For questions or issues, see the main project README or open an issue.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Rettiwt } from 'rettiwt-api';
|
|
2
|
+
import 'dotenv/config';
|
|
3
|
+
|
|
4
|
+
const rettiwt = new Rettiwt({ apiKey: process.env.API_KEY });
|
|
5
|
+
|
|
6
|
+
async function userDetails() {
|
|
7
|
+
try {
|
|
8
|
+
const user = await rettiwt.user.details();
|
|
9
|
+
console.log(user);
|
|
10
|
+
} catch (error) {
|
|
11
|
+
console.error('Error fetching user details:', error);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
await userDetails();
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rettiwt-playground",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A playground for testing Rettiwt-API features and functionalities.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"start": "node index.js",
|
|
9
|
+
"test": "echo \"No tests specified\" && exit 0"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"dotenv": "^17.2.0",
|
|
13
|
+
"rettiwt-api": "file:../"
|
|
14
|
+
}
|
|
15
|
+
}
|
package/src/Rettiwt.ts
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { RettiwtConfig } from './models/RettiwtConfig';
|
|
2
|
+
import { DirectMessageService } from './services/public/DirectMessageService';
|
|
3
|
+
import { ListService } from './services/public/ListService';
|
|
4
|
+
import { TweetService } from './services/public/TweetService';
|
|
5
|
+
import { UserService } from './services/public/UserService';
|
|
6
|
+
import { IRettiwtConfig } from './types/RettiwtConfig';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The class for accessing Twitter API.
|
|
10
|
+
*
|
|
11
|
+
* The created Rettiwt instance can be configured by passing in a configuration object to the constructor.
|
|
12
|
+
*
|
|
13
|
+
* For details regarding the available configuration options, refer to {@link IRettiwtConfig}
|
|
14
|
+
*
|
|
15
|
+
* @example Creating a Rettiwt instance with 'guest' authentication:
|
|
16
|
+
* ```
|
|
17
|
+
* import { Rettiwt } from 'rettiwt-api';
|
|
18
|
+
*
|
|
19
|
+
* // Creating a new Rettiwt instance
|
|
20
|
+
* const rettiwt = new Rettiwt();
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example Creating a Rettiwt instance with 'guest' authentication, using a pre-generated guest key:
|
|
24
|
+
* ```
|
|
25
|
+
* import { Rettiwt } from 'rettiwt-api';
|
|
26
|
+
*
|
|
27
|
+
* // Creating a new Rettiwt instance
|
|
28
|
+
* const rettiwt = new Rettiwt({ guestKey: 'GUEST_KEY' });
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example Creating a Rettiwt instance with 'user' authentication:
|
|
32
|
+
* ```
|
|
33
|
+
* import { Rettiwt } from 'rettiwt-api';
|
|
34
|
+
*
|
|
35
|
+
* // Creating a new Rettiwt instance
|
|
36
|
+
* const rettiwt = new Rettiwt({ apiKey: 'API_KEY' });
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @example Creating a Rettiwt instance with 'user'authentication, along with enabling debug logs and using a proxy:
|
|
40
|
+
* ```
|
|
41
|
+
* import { Rettiwt } from 'rettiwt-api';
|
|
42
|
+
*
|
|
43
|
+
* // Creating a new Rettiwt instance
|
|
44
|
+
* const rettiwt = new Rettiwt({ apiKey: 'API_KEY', logging: true, proxyUrl: 'URL_TO_PROXY_SERVER' });
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
export class Rettiwt {
|
|
50
|
+
/** The configuration for Rettiwt. */
|
|
51
|
+
private _config: RettiwtConfig;
|
|
52
|
+
|
|
53
|
+
/** The instance used to fetch data related to direct messages. */
|
|
54
|
+
public dm: DirectMessageService;
|
|
55
|
+
|
|
56
|
+
/** The instance used to fetch data related to lists. */
|
|
57
|
+
public list: ListService;
|
|
58
|
+
|
|
59
|
+
/** The instance used to fetch data related to tweets. */
|
|
60
|
+
public tweet: TweetService;
|
|
61
|
+
|
|
62
|
+
/** The instance used to fetch data related to users. */
|
|
63
|
+
public user: UserService;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Initializes a new Rettiwt instance using the given api key.
|
|
67
|
+
*
|
|
68
|
+
* @param config - The config object for configuring the Rettiwt instance.
|
|
69
|
+
*/
|
|
70
|
+
public constructor(config?: IRettiwtConfig) {
|
|
71
|
+
this._config = new RettiwtConfig(config);
|
|
72
|
+
this.dm = new DirectMessageService(this._config);
|
|
73
|
+
this.list = new ListService(this._config);
|
|
74
|
+
this.tweet = new TweetService(this._config);
|
|
75
|
+
this.user = new UserService(this._config);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Get the current API key associated with this instance. */
|
|
79
|
+
public get apiKey(): string | undefined {
|
|
80
|
+
return this._config.apiKey;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/** Set the API key for the current instance. */
|
|
84
|
+
public set apiKey(apiKey: string | undefined) {
|
|
85
|
+
this._config.apiKey = apiKey;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** Set the custom headers for the current instance. */
|
|
89
|
+
public set headers(headers: { [key: string]: string }) {
|
|
90
|
+
this._config.headers = headers;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** Set the proxy URL for the current instance. */
|
|
94
|
+
public set proxyUrl(proxyUrl: URL) {
|
|
95
|
+
this._config.proxyUrl = proxyUrl;
|
|
96
|
+
}
|
|
97
|
+
}
|