rettiwt-api 1.1.7 → 1.2.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/.github/workflows/build-docs.yml +22 -21
- package/.github/workflows/publish-to-npm.yml +29 -0
- package/README.md +52 -40
- package/dist/config/env.d.ts +5 -5
- package/dist/config/env.js +8 -8
- package/dist/enums/Errors.d.ts +20 -20
- package/dist/enums/Errors.js +27 -27
- package/dist/enums/HTTP.d.ts +17 -17
- package/dist/enums/HTTP.js +22 -22
- package/dist/graphql/enums/Errors.d.ts +21 -21
- package/dist/graphql/enums/Errors.js +28 -28
- package/dist/graphql/queries/RootQuery.d.ts +4 -4
- package/dist/graphql/queries/RootQuery.js +77 -77
- package/dist/graphql/resolvers/AccountResolver.d.ts +12 -12
- package/dist/graphql/resolvers/AccountResolver.js +83 -83
- package/dist/graphql/resolvers/ResolverBase.d.ts +16 -16
- package/dist/graphql/resolvers/ResolverBase.js +22 -22
- package/dist/graphql/resolvers/TweetResolver.d.ts +46 -46
- package/dist/graphql/resolvers/TweetResolver.js +311 -311
- package/dist/graphql/resolvers/UserResolver.d.ts +48 -48
- package/dist/graphql/resolvers/UserResolver.js +333 -333
- package/dist/graphql/resolvers/UserResolver.js.map +1 -1
- package/dist/graphql/types/Global.d.ts +4 -4
- package/dist/graphql/types/Global.js +12 -12
- package/dist/graphql/types/TweetTypes.d.ts +4 -4
- package/dist/graphql/types/TweetTypes.js +159 -159
- package/dist/graphql/types/UserTypes.d.ts +3 -3
- package/dist/graphql/types/UserTypes.js +136 -136
- package/dist/graphql/types/UserTypes.js.map +1 -1
- package/dist/index.d.ts +43 -43
- package/dist/index.js +70 -70
- package/dist/models/args/TweetFilter.d.ts +65 -59
- package/dist/models/args/TweetFilter.js +120 -100
- package/dist/models/args/TweetFilter.js.map +1 -1
- package/dist/models/args/TweetListArgs.d.ts +21 -21
- package/dist/models/args/TweetListArgs.js +53 -53
- package/dist/models/args/UserListArgs.d.ts +21 -21
- package/dist/models/args/UserListArgs.js +53 -53
- package/dist/models/auth/AuthCookie.d.ts +21 -21
- package/dist/models/auth/AuthCookie.js +32 -32
- package/dist/models/data/CursoredData.d.ts +34 -34
- package/dist/models/data/CursoredData.js +41 -41
- package/dist/models/data/Tweet.d.ts +53 -53
- package/dist/models/data/Tweet.js +103 -103
- package/dist/models/data/User.d.ts +41 -41
- package/dist/models/data/User.js +31 -31
- package/dist/models/errors/DataValidationError.d.ts +20 -20
- package/dist/models/errors/DataValidationError.js +22 -22
- package/dist/server.d.ts +1 -1
- package/dist/server.js +75 -75
- package/dist/services/auth/AccountService.d.ts +83 -88
- package/dist/services/auth/AccountService.js +411 -391
- package/dist/services/auth/AccountService.js.map +1 -1
- package/dist/services/auth/AuthService.d.ts +31 -31
- package/dist/services/auth/AuthService.js +117 -117
- package/dist/services/data/TweetService.d.ts +60 -74
- package/dist/services/data/TweetService.js +251 -254
- package/dist/services/data/TweetService.js.map +1 -1
- package/dist/services/data/UserService.d.ts +71 -87
- package/dist/services/data/UserService.js +287 -296
- package/dist/services/data/UserService.js.map +1 -1
- package/dist/services/helper/Headers.d.ts +19 -19
- package/dist/services/helper/Headers.js +61 -61
- package/dist/services/helper/Parser.d.ts +22 -28
- package/dist/services/helper/Parser.js +83 -104
- package/dist/services/helper/Parser.js.map +1 -1
- package/dist/services/helper/extractors/Tweets.d.ts +32 -32
- package/dist/services/helper/extractors/Tweets.js +263 -263
- package/dist/services/helper/extractors/Users.d.ts +26 -26
- package/dist/services/helper/extractors/Users.js +202 -202
- package/dist/services/helper/payloads/LoginFlows.d.ts +77 -77
- package/dist/services/helper/payloads/LoginFlows.js +91 -91
- package/dist/services/helper/urls/Authentication.d.ts +4 -4
- package/dist/services/helper/urls/Authentication.js +10 -10
- package/dist/services/util/CacheService.d.ts +33 -33
- package/dist/services/util/CacheService.js +95 -95
- package/dist/services/util/FetcherService.d.ts +65 -65
- package/dist/services/util/FetcherService.js +213 -213
- package/dist/twitter/Url.d.ts +22 -0
- package/dist/twitter/Url.js +32 -0
- package/dist/twitter/Url.js.map +1 -0
- package/dist/twitter/enums/Resources.d.ts +15 -0
- package/dist/twitter/enums/Resources.js +21 -0
- package/dist/twitter/enums/Resources.js.map +1 -0
- package/dist/twitter/params/Query.d.ts +67 -0
- package/dist/twitter/params/Query.js +64 -0
- package/dist/twitter/params/Query.js.map +1 -0
- package/dist/twitter/payloads/Args.d.ts +16 -0
- package/dist/twitter/payloads/Args.js +16 -0
- package/dist/twitter/payloads/Args.js.map +1 -0
- package/dist/{types/raw/query/tweet/Engagements.d.ts → twitter/payloads/Features.d.ts} +28 -29
- package/dist/twitter/payloads/Features.js +37 -0
- package/dist/twitter/payloads/Features.js.map +1 -0
- package/dist/twitter/payloads/Variables.d.ts +41 -0
- package/dist/twitter/payloads/Variables.js +64 -0
- package/dist/twitter/payloads/Variables.js.map +1 -0
- package/dist/{types → twitter/types/request}/Query.d.ts +86 -80
- package/dist/{types/data/Tweet.js → twitter/types/request/Query.js} +4 -4
- package/dist/twitter/types/request/Query.js.map +1 -0
- package/dist/{types/raw/data → twitter/types}/tweet/Favouriters.d.ts +164 -164
- package/dist/twitter/types/tweet/Favouriters.js +3 -0
- package/dist/twitter/types/tweet/Favouriters.js.map +1 -0
- package/dist/{types/raw → twitter/types}/tweet/Retweeters.d.ts +171 -171
- package/dist/{types/Trends.js → twitter/types/tweet/Retweeters.js} +3 -3
- package/dist/twitter/types/tweet/Retweeters.js.map +1 -0
- package/dist/{types/raw/data → twitter/types}/tweet/Tweet.d.ts +746 -746
- package/dist/{types/data/User.js → twitter/types/tweet/Tweet.js} +3 -3
- package/dist/twitter/types/tweet/Tweet.js.map +1 -0
- package/dist/{types/raw → twitter/types}/tweet/Tweets.d.ts +386 -386
- package/dist/{types/raw/user/User.js → twitter/types/tweet/Tweets.js} +3 -3
- package/dist/twitter/types/tweet/Tweets.js.map +1 -0
- package/dist/{types/raw → twitter/types}/user/Followers.d.ts +176 -176
- package/dist/{types/interfaces/Rettiwt.js → twitter/types/user/Followers.js} +3 -3
- package/dist/twitter/types/user/Followers.js.map +1 -0
- package/dist/{types/raw → twitter/types}/user/Following.d.ts +176 -176
- package/dist/{types/Query.js → twitter/types/user/Following.js} +3 -3
- package/dist/twitter/types/user/Following.js.map +1 -0
- package/dist/{types/raw/data → twitter/types}/user/Likes.d.ts +1059 -1059
- package/dist/{types/interfaces/User.js → twitter/types/user/Likes.js} +3 -3
- package/dist/twitter/types/user/Likes.js.map +1 -0
- package/dist/{types/raw → twitter/types}/user/Tweets.d.ts +1512 -1512
- package/dist/twitter/types/user/Tweets.js +3 -0
- package/dist/twitter/types/user/Tweets.js.map +1 -0
- package/dist/{types/raw → twitter/types}/user/User.d.ts +117 -117
- package/dist/{types/raw/data → twitter/types}/user/User.js +2 -2
- package/dist/{types/data → twitter/types/user}/User.js.map +1 -1
- package/dist/types/Args.d.ts +38 -38
- package/dist/types/Args.js +4 -4
- package/dist/types/Authentication.d.ts +55 -55
- package/dist/types/Authentication.js +5 -5
- package/dist/types/Resolvers.d.ts +15 -15
- package/dist/types/Resolvers.js +2 -2
- package/dist/types/Rettiwt.d.ts +16 -16
- package/dist/types/Rettiwt.js +2 -2
- package/dist/types/Service.d.ts +22 -22
- package/dist/types/Service.js +4 -4
- package/dist/types/Tweet.d.ts +46 -46
- package/dist/types/Tweet.js +2 -2
- package/dist/types/User.d.ts +35 -35
- package/dist/types/User.js +2 -2
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +64 -0
- package/docs/assets/main.js +58 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1280 -0
- package/docs/classes/AccountService.html +286 -0
- package/docs/classes/AuthCookie.html +146 -0
- package/docs/classes/AuthService.html +147 -0
- package/docs/classes/CacheService.html +157 -0
- package/docs/classes/Cursor.html +102 -0
- package/docs/classes/CursoredData.html +126 -0
- package/docs/classes/DataValidationError.html +119 -0
- package/docs/classes/FetcherService.html +225 -0
- package/docs/classes/Tweet.html +210 -0
- package/docs/classes/TweetEntities.html +128 -0
- package/docs/classes/TweetFilter.html +221 -0
- package/docs/classes/TweetListArgs.html +118 -0
- package/docs/classes/TweetService.html +319 -0
- package/docs/classes/User.html +230 -0
- package/docs/classes/UserListArgs.html +118 -0
- package/docs/classes/UserService.html +355 -0
- package/docs/enums/HttpMethods.html +74 -0
- package/docs/functions/Rettiwt.html +99 -0
- package/docs/index.html +158 -0
- package/docs/interfaces/IAuthCookie.html +104 -0
- package/docs/interfaces/ICursor.html +77 -0
- package/docs/interfaces/ICursoredData.html +93 -0
- package/docs/interfaces/IDataContext.html +91 -0
- package/docs/interfaces/IListArgs.html +87 -0
- package/docs/interfaces/ITweet.html +176 -0
- package/docs/interfaces/ITweetEntities.html +104 -0
- package/docs/interfaces/ITweetFilter.html +158 -0
- package/docs/interfaces/IUser.html +194 -0
- package/docs/modules.html +109 -0
- package/package.json +2 -2
- package/src/graphql/resolvers/UserResolver.ts +4 -4
- package/src/graphql/types/UserTypes.ts +1 -1
- package/src/models/args/TweetFilter.ts +25 -4
- package/src/models/data/Tweet.ts +1 -1
- package/src/models/data/User.ts +1 -1
- package/src/services/auth/AccountService.ts +79 -53
- package/src/services/data/TweetService.ts +35 -65
- package/src/services/data/UserService.ts +42 -48
- package/src/services/helper/Parser.ts +3 -24
- package/src/services/helper/extractors/Tweets.ts +4 -4
- package/src/services/helper/extractors/Users.ts +5 -5
- package/src/services/util/FetcherService.ts +4 -4
- package/src/twitter/Url.ts +37 -0
- package/src/twitter/enums/Resources.ts +15 -0
- package/src/twitter/params/Query.ts +100 -0
- package/src/twitter/payloads/Args.ts +21 -0
- package/src/twitter/payloads/Features.ts +33 -0
- package/src/twitter/payloads/Variables.ts +73 -0
- package/src/twitter/types/request/Query.ts +91 -0
- package/src/{types/raw → twitter/types}/user/Tweets.ts +1747 -1747
- package/src/types/Args.ts +1 -1
- package/dist/Test.d.ts +0 -0
- package/dist/Test.js +0 -2
- package/dist/Test.js.map +0 -1
- package/dist/endpoints/Endpoints.d.ts +0 -14
- package/dist/endpoints/Endpoints.js +0 -20
- package/dist/endpoints/Endpoints.js.map +0 -1
- package/dist/endpoints/Url.d.ts +0 -5
- package/dist/endpoints/Url.js +0 -12
- package/dist/endpoints/Url.js.map +0 -1
- package/dist/enums/Endpoints.d.ts +0 -25
- package/dist/enums/Endpoints.js +0 -31
- package/dist/enums/Endpoints.js.map +0 -1
- package/dist/graphql/types/Errors.d.ts +0 -20
- package/dist/graphql/types/Errors.js +0 -28
- package/dist/graphql/types/Errors.js.map +0 -1
- package/dist/middlewares/Authentication.d.ts +0 -0
- package/dist/middlewares/Authentication.js +0 -2
- package/dist/middlewares/Authentication.js.map +0 -1
- package/dist/models/data/DataValidationError.d.ts +0 -18
- package/dist/models/data/DataValidationError.js +0 -21
- package/dist/models/data/DataValidationError.js.map +0 -1
- package/dist/models/data/Errors.d.ts +0 -18
- package/dist/models/data/Errors.js +0 -21
- package/dist/models/data/Errors.js.map +0 -1
- package/dist/models/data/Service.d.ts +0 -33
- package/dist/models/data/Service.js +0 -41
- package/dist/models/data/Service.js.map +0 -1
- package/dist/models/graphql/Global.d.ts +0 -4
- package/dist/models/graphql/Global.js +0 -13
- package/dist/models/graphql/Global.js.map +0 -1
- package/dist/models/graphql/TweetTypes.d.ts +0 -6
- package/dist/models/graphql/TweetTypes.js +0 -156
- package/dist/models/graphql/TweetTypes.js.map +0 -1
- package/dist/models/graphql/UserTypes.d.ts +0 -3
- package/dist/models/graphql/UserTypes.js +0 -139
- package/dist/models/graphql/UserTypes.js.map +0 -1
- package/dist/models/query/Variables.d.ts +0 -2
- package/dist/models/query/Variables.js +0 -10
- package/dist/models/query/Variables.js.map +0 -1
- package/dist/queries/RootQuery.d.ts +0 -4
- package/dist/queries/RootQuery.js +0 -70
- package/dist/queries/RootQuery.js.map +0 -1
- package/dist/requests/Url.d.ts +0 -5
- package/dist/requests/Url.js +0 -12
- package/dist/requests/Url.js.map +0 -1
- package/dist/requests/payloads/Variables.d.ts +0 -23
- package/dist/requests/payloads/Variables.js +0 -24
- package/dist/requests/payloads/Variables.js.map +0 -1
- package/dist/resolvers/AccountResolver.d.ts +0 -12
- package/dist/resolvers/AccountResolver.js +0 -84
- package/dist/resolvers/AccountResolver.js.map +0 -1
- package/dist/resolvers/ResolverBase.d.ts +0 -5
- package/dist/resolvers/ResolverBase.js +0 -11
- package/dist/resolvers/ResolverBase.js.map +0 -1
- package/dist/resolvers/TweetResolver.d.ts +0 -54
- package/dist/resolvers/TweetResolver.js +0 -332
- package/dist/resolvers/TweetResolver.js.map +0 -1
- package/dist/resolvers/UserResolver.d.ts +0 -38
- package/dist/resolvers/UserResolver.js +0 -253
- package/dist/resolvers/UserResolver.js.map +0 -1
- package/dist/services/AuthService.d.ts +0 -22
- package/dist/services/AuthService.js +0 -106
- package/dist/services/AuthService.js.map +0 -1
- package/dist/services/CacheService.d.ts +0 -30
- package/dist/services/CacheService.js +0 -93
- package/dist/services/CacheService.js.map +0 -1
- package/dist/services/FetcherService.d.ts +0 -61
- package/dist/services/FetcherService.js +0 -209
- package/dist/services/FetcherService.js.map +0 -1
- package/dist/services/accounts/AccountService.d.ts +0 -65
- package/dist/services/accounts/AccountService.js +0 -336
- package/dist/services/accounts/AccountService.js.map +0 -1
- package/dist/services/accounts/LoginFlows.d.ts +0 -77
- package/dist/services/accounts/LoginFlows.js +0 -92
- package/dist/services/accounts/LoginFlows.js.map +0 -1
- package/dist/services/auth/LoginFlows.d.ts +0 -77
- package/dist/services/auth/LoginFlows.js +0 -92
- package/dist/services/auth/LoginFlows.js.map +0 -1
- package/dist/services/data/TrendService.d.ts +0 -17
- package/dist/services/data/TrendService.js +0 -116
- package/dist/services/data/TrendService.js.map +0 -1
- package/dist/services/data/UserAccountService.d.ts +0 -42
- package/dist/services/data/UserAccountService.js +0 -239
- package/dist/services/data/UserAccountService.js.map +0 -1
- package/dist/services/helper/Deserializers.d.ts +0 -19
- package/dist/services/helper/Deserializers.js +0 -115
- package/dist/services/helper/Deserializers.js.map +0 -1
- package/dist/services/helper/Extractors.d.ts +0 -104
- package/dist/services/helper/Extractors.js +0 -432
- package/dist/services/helper/Extractors.js.map +0 -1
- package/dist/services/helper/Urls.d.ts +0 -85
- package/dist/services/helper/Urls.js +0 -130
- package/dist/services/helper/Urls.js.map +0 -1
- package/dist/services/helper/deserializers/Tweets.d.ts +0 -12
- package/dist/services/helper/deserializers/Tweets.js +0 -92
- package/dist/services/helper/deserializers/Tweets.js.map +0 -1
- package/dist/services/helper/deserializers/Users.d.ts +0 -7
- package/dist/services/helper/deserializers/Users.js +0 -27
- package/dist/services/helper/deserializers/Users.js.map +0 -1
- package/dist/services/helper/extractors/Trends.d.ts +0 -3
- package/dist/services/helper/extractors/Trends.js +0 -51
- package/dist/services/helper/extractors/Trends.js.map +0 -1
- package/dist/services/helper/urls/Trends.d.ts +0 -7
- package/dist/services/helper/urls/Trends.js +0 -13
- package/dist/services/helper/urls/Trends.js.map +0 -1
- package/dist/services/helper/urls/Tweets.d.ts +0 -32
- package/dist/services/helper/urls/Tweets.js +0 -51
- package/dist/services/helper/urls/Tweets.js.map +0 -1
- package/dist/services/helper/urls/Users.d.ts +0 -38
- package/dist/services/helper/urls/Users.js +0 -76
- package/dist/services/helper/urls/Users.js.map +0 -1
- package/dist/types/HTTP.d.ts +0 -17
- package/dist/types/HTTP.js +0 -23
- package/dist/types/HTTP.js.map +0 -1
- package/dist/types/Query.js.map +0 -1
- package/dist/types/Trends.d.ts +0 -50
- package/dist/types/Trends.js.map +0 -1
- package/dist/types/UserAccount.d.ts +0 -19
- package/dist/types/UserAccount.js +0 -4
- package/dist/types/UserAccount.js.map +0 -1
- package/dist/types/args/TweetFilter.d.ts +0 -54
- package/dist/types/args/TweetFilter.js +0 -96
- package/dist/types/args/TweetFilter.js.map +0 -1
- package/dist/types/args/TweetListArg.d.ts +0 -10
- package/dist/types/args/TweetListArg.js +0 -42
- package/dist/types/args/TweetListArg.js.map +0 -1
- package/dist/types/args/TweetListArgs.d.ts +0 -20
- package/dist/types/args/TweetListArgs.js +0 -52
- package/dist/types/args/TweetListArgs.js.map +0 -1
- package/dist/types/args/UserListArgs.d.ts +0 -16
- package/dist/types/args/UserListArgs.js +0 -48
- package/dist/types/args/UserListArgs.js.map +0 -1
- package/dist/types/data/Errors.d.ts +0 -35
- package/dist/types/data/Errors.js +0 -45
- package/dist/types/data/Errors.js.map +0 -1
- package/dist/types/data/Service.d.ts +0 -43
- package/dist/types/data/Service.js +0 -22
- package/dist/types/data/Service.js.map +0 -1
- package/dist/types/data/Tweet.d.ts +0 -98
- package/dist/types/data/Tweet.js.map +0 -1
- package/dist/types/data/TweetFilter.d.ts +0 -49
- package/dist/types/data/TweetFilter.js +0 -63
- package/dist/types/data/TweetFilter.js.map +0 -1
- package/dist/types/data/User.d.ts +0 -38
- package/dist/types/graphql/Errors.d.ts +0 -15
- package/dist/types/graphql/Errors.js +0 -23
- package/dist/types/graphql/Errors.js.map +0 -1
- package/dist/types/interfaces/Args.d.ts +0 -38
- package/dist/types/interfaces/Args.js +0 -5
- package/dist/types/interfaces/Args.js.map +0 -1
- package/dist/types/interfaces/Authentication.d.ts +0 -40
- package/dist/types/interfaces/Authentication.js +0 -5
- package/dist/types/interfaces/Authentication.js.map +0 -1
- package/dist/types/interfaces/Resolvers.d.ts +0 -14
- package/dist/types/interfaces/Resolvers.js +0 -3
- package/dist/types/interfaces/Resolvers.js.map +0 -1
- package/dist/types/interfaces/Rettiwt.d.ts +0 -16
- package/dist/types/interfaces/Rettiwt.js.map +0 -1
- package/dist/types/interfaces/Service.d.ts +0 -13
- package/dist/types/interfaces/Service.js +0 -3
- package/dist/types/interfaces/Service.js.map +0 -1
- package/dist/types/interfaces/Services.d.ts +0 -13
- package/dist/types/interfaces/Services.js +0 -3
- package/dist/types/interfaces/Services.js.map +0 -1
- package/dist/types/interfaces/Tweet.d.ts +0 -46
- package/dist/types/interfaces/Tweet.js +0 -3
- package/dist/types/interfaces/Tweet.js.map +0 -1
- package/dist/types/interfaces/TweetFilter.d.ts +0 -0
- package/dist/types/interfaces/TweetFilter.js +0 -2
- package/dist/types/interfaces/TweetFilter.js.map +0 -1
- package/dist/types/interfaces/User.d.ts +0 -35
- package/dist/types/interfaces/User.js.map +0 -1
- package/dist/types/raw/auth/Cookie.d.ts +0 -16
- package/dist/types/raw/auth/Cookie.js +0 -3
- package/dist/types/raw/auth/Cookie.js.map +0 -1
- package/dist/types/raw/data/tweet/Favouriters.js +0 -3
- package/dist/types/raw/data/tweet/Favouriters.js.map +0 -1
- package/dist/types/raw/data/tweet/Retweeters.d.ts +0 -171
- package/dist/types/raw/data/tweet/Retweeters.js +0 -3
- package/dist/types/raw/data/tweet/Retweeters.js.map +0 -1
- package/dist/types/raw/data/tweet/Tweet.js +0 -3
- package/dist/types/raw/data/tweet/Tweet.js.map +0 -1
- package/dist/types/raw/data/tweet/Tweets.d.ts +0 -386
- package/dist/types/raw/data/tweet/Tweets.js +0 -3
- package/dist/types/raw/data/tweet/Tweets.js.map +0 -1
- package/dist/types/raw/data/user/Followers.d.ts +0 -176
- package/dist/types/raw/data/user/Followers.js +0 -3
- package/dist/types/raw/data/user/Followers.js.map +0 -1
- package/dist/types/raw/data/user/Following.d.ts +0 -176
- package/dist/types/raw/data/user/Following.js +0 -3
- package/dist/types/raw/data/user/Following.js.map +0 -1
- package/dist/types/raw/data/user/Likes.js +0 -3
- package/dist/types/raw/data/user/Likes.js.map +0 -1
- package/dist/types/raw/data/user/User.d.ts +0 -117
- package/dist/types/raw/data/user/User.js.map +0 -1
- package/dist/types/raw/general/Trends.d.ts +0 -324
- package/dist/types/raw/general/Trends.js +0 -3
- package/dist/types/raw/general/Trends.js.map +0 -1
- package/dist/types/raw/query/tweet/Details.d.ts +0 -80
- package/dist/types/raw/query/tweet/Details.js +0 -5
- package/dist/types/raw/query/tweet/Details.js.map +0 -1
- package/dist/types/raw/query/tweet/Engagements.js +0 -3
- package/dist/types/raw/query/tweet/Engagements.js.map +0 -1
- package/dist/types/raw/query/tweet/Likes.d.ts +0 -29
- package/dist/types/raw/query/tweet/Likes.js +0 -3
- package/dist/types/raw/query/tweet/Likes.js.map +0 -1
- package/dist/types/raw/query/tweet/Retweets.d.ts +0 -29
- package/dist/types/raw/query/tweet/Retweets.js +0 -3
- package/dist/types/raw/query/tweet/Retweets.js.map +0 -1
- package/dist/types/raw/query/tweet/Search.d.ts +0 -40
- package/dist/types/raw/query/tweet/Search.js +0 -3
- package/dist/types/raw/query/tweet/Search.js.map +0 -1
- package/dist/types/raw/query/tweet/TweetDetails.d.ts +0 -34
- package/dist/types/raw/query/tweet/TweetDetails.js +0 -5
- package/dist/types/raw/query/tweet/TweetDetails.js.map +0 -1
- package/dist/types/raw/query/tweet/TweetLike.d.ts +0 -29
- package/dist/types/raw/query/tweet/TweetLike.js +0 -3
- package/dist/types/raw/query/tweet/TweetLike.js.map +0 -1
- package/dist/types/raw/query/tweet/TweetLikes.d.ts +0 -29
- package/dist/types/raw/query/tweet/TweetLikes.js +0 -3
- package/dist/types/raw/query/tweet/TweetLikes.js.map +0 -1
- package/dist/types/raw/query/tweet/TweetRetweets.d.ts +0 -0
- package/dist/types/raw/query/tweet/TweetRetweets.js +0 -2
- package/dist/types/raw/query/tweet/TweetRetweets.js.map +0 -1
- package/dist/types/raw/query/user/Details.d.ts +0 -34
- package/dist/types/raw/query/user/Details.js +0 -3
- package/dist/types/raw/query/user/Details.js.map +0 -1
- package/dist/types/raw/tweet/Favouriters.d.ts +0 -164
- package/dist/types/raw/tweet/Favouriters.js +0 -3
- package/dist/types/raw/tweet/Favouriters.js.map +0 -1
- package/dist/types/raw/tweet/Retweeters.js +0 -3
- package/dist/types/raw/tweet/Retweeters.js.map +0 -1
- package/dist/types/raw/tweet/Tweet.d.ts +0 -746
- package/dist/types/raw/tweet/Tweet.js +0 -3
- package/dist/types/raw/tweet/Tweet.js.map +0 -1
- package/dist/types/raw/tweet/Tweets.js +0 -3
- package/dist/types/raw/tweet/Tweets.js.map +0 -1
- package/dist/types/raw/user/Followers.js +0 -3
- package/dist/types/raw/user/Followers.js.map +0 -1
- package/dist/types/raw/user/Following.js +0 -3
- package/dist/types/raw/user/Following.js.map +0 -1
- package/dist/types/raw/user/Likes.d.ts +0 -1059
- package/dist/types/raw/user/Likes.js +0 -3
- package/dist/types/raw/user/Likes.js.map +0 -1
- package/dist/types/raw/user/Tweets.js +0 -3
- package/dist/types/raw/user/Tweets.js.map +0 -1
- package/dist/types/raw/user/User.js.map +0 -1
- package/dist/types/services/args/TweetFilter.d.ts +0 -50
- package/dist/types/services/args/TweetFilter.js +0 -76
- package/dist/types/services/args/TweetFilter.js.map +0 -1
- package/src/services/helper/urls/Tweets.ts +0 -46
- package/src/services/helper/urls/Users.ts +0 -78
- /package/src/{types/raw → twitter/types}/tweet/Favouriters.ts +0 -0
- /package/src/{types/raw → twitter/types}/tweet/Retweeters.ts +0 -0
- /package/src/{types/raw → twitter/types}/tweet/Tweet.ts +0 -0
- /package/src/{types/raw → twitter/types}/tweet/Tweets.ts +0 -0
- /package/src/{types/raw → twitter/types}/user/Followers.ts +0 -0
- /package/src/{types/raw → twitter/types}/user/Following.ts +0 -0
- /package/src/{types/raw → twitter/types}/user/Likes.ts +0 -0
- /package/src/{types/raw → twitter/types}/user/User.ts +0 -0
|
@@ -1,264 +1,264 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
exports.__esModule = true;
|
|
26
|
-
exports.extractTweetReplies = exports.extractTweetRetweeters = exports.extractTweetLikers = exports.extractTweet = exports.extractTweets = void 0;
|
|
27
|
-
var Errors_1 = require("../../../enums/Errors");
|
|
28
|
-
// PARSERS
|
|
29
|
-
var Parsers = __importStar(require("../Parser"));
|
|
30
|
-
/**
|
|
31
|
-
* @returns The raw tweets data formatted and sorted into required and additional data
|
|
32
|
-
* @param res The raw response received from TwitterAPI
|
|
33
|
-
*/
|
|
34
|
-
function extractTweets(res) {
|
|
35
|
-
var _a, _b, _c, _d, _e, _f;
|
|
36
|
-
var required = []; // To store the reqruied raw data
|
|
37
|
-
var cursor = ''; // To store the cursor to next batch
|
|
38
|
-
var users = []; // To store additional user data
|
|
39
|
-
var tweets = []; // To store additional tweet data
|
|
40
|
-
// Getting raw tweet list
|
|
41
|
-
var dataTweets = res.globalObjects.tweets;
|
|
42
|
-
// Getting raw users list
|
|
43
|
-
var dataUsers = res.globalObjects.users;
|
|
44
|
-
// If tweets found
|
|
45
|
-
if (!Parsers.isJSONEmpty(dataTweets)) {
|
|
46
|
-
// Destructuring the list of tweets
|
|
47
|
-
for (var _i = 0, _g = Object.keys(dataTweets); _i < _g.length; _i++) {
|
|
48
|
-
var key = _g[_i];
|
|
49
|
-
required.push({ rest_id: dataTweets[key].id_str, legacy: dataTweets[key] });
|
|
50
|
-
tweets.push({ rest_id: dataTweets[key].id_str, legacy: dataTweets[key] });
|
|
51
|
-
}
|
|
52
|
-
// Destructuring the list of users
|
|
53
|
-
for (var _h = 0, _j = Object.keys(dataUsers); _h < _j.length; _h++) {
|
|
54
|
-
var key = _j[_h];
|
|
55
|
-
users.push({ rest_id: dataUsers[key].id_str, legacy: dataUsers[key] });
|
|
56
|
-
}
|
|
57
|
-
// Getting the cursor to next batch
|
|
58
|
-
// If not first batch
|
|
59
|
-
if (res.timeline.instructions.length > 2) {
|
|
60
|
-
cursor = (_c = (_b = (_a = res.timeline.instructions[2]) === null || _a === void 0 ? void 0 : _a.replaceEntry.entry.content.operation) === null || _b === void 0 ? void 0 : _b.cursor.value) !== null && _c !== void 0 ? _c : '';
|
|
61
|
-
}
|
|
62
|
-
// If first batch
|
|
63
|
-
else {
|
|
64
|
-
cursor = (_f = (_e = (_d = res.timeline.instructions[0].addEntries) === null || _d === void 0 ? void 0 : _d.entries.filter(function (item) { return item.entryId.indexOf('cursor-bottom') != -1; })[0].content.operation) === null || _e === void 0 ? void 0 : _e.cursor.value) !== null && _f !== void 0 ? _f : '';
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// Returning the data
|
|
68
|
-
return {
|
|
69
|
-
required: required,
|
|
70
|
-
cursor: cursor,
|
|
71
|
-
users: users,
|
|
72
|
-
tweets: tweets
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
exports.extractTweets = extractTweets;
|
|
76
|
-
/**
|
|
77
|
-
* @returns The raw tweet data formatted and sorted into required and additional data
|
|
78
|
-
* @param res The raw response received from TwitterAPI
|
|
79
|
-
* @param tweetId The rest id of the tweet to fetch
|
|
80
|
-
*/
|
|
81
|
-
function extractTweet(res, tweetId) {
|
|
82
|
-
var _a;
|
|
83
|
-
var required = []; // To store the reqruied raw data
|
|
84
|
-
var cursor = ''; // To store the cursor to next batch
|
|
85
|
-
var users = []; // To store additional user data
|
|
86
|
-
var tweets = []; // To store additional tweet data
|
|
87
|
-
// If tweet does not exist
|
|
88
|
-
if (Parsers.isJSONEmpty(res.data)) {
|
|
89
|
-
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
90
|
-
}
|
|
91
|
-
// Destructuring the received raw data
|
|
92
|
-
(_a = res.data.threaded_conversation_with_injections_v2.instructions.filter(function (item) { return item['type'] === 'TimelineAddEntries'; })[0].entries) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {
|
|
93
|
-
var _a, _b, _c;
|
|
94
|
-
// If entry is of type tweet and tweet exists
|
|
95
|
-
if (entry.entryId.indexOf('tweet') != -1 && ((_b = (_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results) === null || _b === void 0 ? void 0 : _b.result.__typename) === 'Tweet') {
|
|
96
|
-
// If this is the required tweet
|
|
97
|
-
if (entry.entryId.indexOf(tweetId) != -1) {
|
|
98
|
-
required.push(entry.content.itemContent.tweet_results.result);
|
|
99
|
-
}
|
|
100
|
-
tweets.push(entry.content.itemContent.tweet_results.result);
|
|
101
|
-
users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
|
|
102
|
-
}
|
|
103
|
-
// If entry if of type conversation
|
|
104
|
-
else if (entry.entryId.indexOf('conversationthread') != -1) {
|
|
105
|
-
// Iterating over the conversation
|
|
106
|
-
(_c = entry.content.items) === null || _c === void 0 ? void 0 : _c.forEach(function (item) {
|
|
107
|
-
var _a;
|
|
108
|
-
// If item is of type tweet and tweet exists
|
|
109
|
-
if (item.entryId.indexOf('tweet') != -1 && ((_a = item.item.itemContent.tweet_results) === null || _a === void 0 ? void 0 : _a.result.__typename) === 'Tweet') {
|
|
110
|
-
required.push(item.item.itemContent.tweet_results.result);
|
|
111
|
-
tweets.push(item.item.itemContent.tweet_results.result);
|
|
112
|
-
users.push(item.item.itemContent.tweet_results.result.core.user_results.result);
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
// Returning the data
|
|
118
|
-
return {
|
|
119
|
-
required: required,
|
|
120
|
-
cursor: cursor,
|
|
121
|
-
users: users,
|
|
122
|
-
tweets: tweets
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
exports.extractTweet = extractTweet;
|
|
126
|
-
/**
|
|
127
|
-
* @returns The raw tweet likers data formatted and sorted into required and additional data
|
|
128
|
-
* @param res The raw response received from TwitterAPI
|
|
129
|
-
*/
|
|
130
|
-
function extractTweetLikers(res) {
|
|
131
|
-
var required = []; // To store the reqruied raw data
|
|
132
|
-
var cursor = ''; // To store the cursor to next batch
|
|
133
|
-
var users = []; // To store additional user data
|
|
134
|
-
var tweets = []; // To store additional tweet data
|
|
135
|
-
// If tweet does not exist
|
|
136
|
-
if (Parsers.isJSONEmpty(res.data.favoriters_timeline)) {
|
|
137
|
-
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
138
|
-
}
|
|
139
|
-
// If likes found
|
|
140
|
-
if (res.data.favoriters_timeline.timeline.instructions.length) {
|
|
141
|
-
// Destructuring raw list of likers
|
|
142
|
-
res.data.favoriters_timeline.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.forEach(function (entry) {
|
|
143
|
-
var _a, _b;
|
|
144
|
-
// If entry is of type user and user exists
|
|
145
|
-
if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
|
|
146
|
-
required.push(entry.content.itemContent.user_results.result);
|
|
147
|
-
users.push(entry.content.itemContent.user_results.result);
|
|
148
|
-
}
|
|
149
|
-
// If entry is of type cursor
|
|
150
|
-
else if (entry.entryId.indexOf('cursor-bottom') != -1) {
|
|
151
|
-
cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
// Returning the data
|
|
156
|
-
return {
|
|
157
|
-
required: required,
|
|
158
|
-
cursor: cursor,
|
|
159
|
-
users: users,
|
|
160
|
-
tweets: tweets
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
exports.extractTweetLikers = extractTweetLikers;
|
|
164
|
-
/**
|
|
165
|
-
* @returns The raw tweet retweeters data formatted and sorted into required and additional data
|
|
166
|
-
* @param res The raw response received from TwitterAPI
|
|
167
|
-
*/
|
|
168
|
-
function extractTweetRetweeters(res) {
|
|
169
|
-
var required = []; // To store the reqruied raw data
|
|
170
|
-
var cursor = ''; // To store the cursor to next batch
|
|
171
|
-
var users = []; // To store additional user data
|
|
172
|
-
var tweets = []; // To store additional tweet data
|
|
173
|
-
// If tweet does not exist
|
|
174
|
-
if (Parsers.isJSONEmpty(res.data.retweeters_timeline)) {
|
|
175
|
-
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
176
|
-
}
|
|
177
|
-
// If retweeters found
|
|
178
|
-
if (res.data.retweeters_timeline.timeline.instructions.length) {
|
|
179
|
-
// Destructuring raw list of retweeters
|
|
180
|
-
res.data.retweeters_timeline.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.forEach(function (entry) {
|
|
181
|
-
var _a, _b;
|
|
182
|
-
// If entry is of type user and user exists
|
|
183
|
-
if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
|
|
184
|
-
required.push(entry.content.itemContent.user_results.result);
|
|
185
|
-
users.push(entry.content.itemContent.user_results.result);
|
|
186
|
-
}
|
|
187
|
-
// If entry is of type cursor
|
|
188
|
-
else if (entry.entryId.indexOf('cursor-bottom') != -1) {
|
|
189
|
-
cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
// Returning the data
|
|
194
|
-
return {
|
|
195
|
-
required: required,
|
|
196
|
-
cursor: cursor,
|
|
197
|
-
users: users,
|
|
198
|
-
tweets: tweets
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
exports.extractTweetRetweeters = extractTweetRetweeters;
|
|
202
|
-
/**
|
|
203
|
-
* @returns The raw tweet replies data formatted and sorted into required and additional data
|
|
204
|
-
* @param res The raw response received from TwitterAPI
|
|
205
|
-
* @param tweetId The id of the tweet whose replies must be extracted
|
|
206
|
-
*/
|
|
207
|
-
function extractTweetReplies(res, tweetId) {
|
|
208
|
-
var _a;
|
|
209
|
-
var required = []; // To store the reqruied raw data
|
|
210
|
-
var cursor = ''; // To store the cursor to next batch
|
|
211
|
-
var users = []; // To store additional user data
|
|
212
|
-
var tweets = []; // To store additional tweet data
|
|
213
|
-
// If tweet does not exist
|
|
214
|
-
if (Parsers.isJSONEmpty(res.data)) {
|
|
215
|
-
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
216
|
-
}
|
|
217
|
-
// Destructuring the received raw data
|
|
218
|
-
(_a = res.data.threaded_conversation_with_injections_v2.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries) === null || _a === void 0 ? void 0 : _a.map(function (entry) {
|
|
219
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
220
|
-
// If entry is of type tweet
|
|
221
|
-
if (entry.entryId.indexOf('tweet') != -1) {
|
|
222
|
-
// If tweet exists
|
|
223
|
-
if (((_b = (_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results) === null || _b === void 0 ? void 0 : _b.result.__typename) === 'Tweet') {
|
|
224
|
-
tweets.push(entry.content.itemContent.tweet_results.result);
|
|
225
|
-
users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
// If entry if of type conversation/reply
|
|
229
|
-
else if (entry.entryId.indexOf('conversationthread') != -1) {
|
|
230
|
-
// If tweet exists
|
|
231
|
-
if (((_e = (_d = (_c = entry.content.items) === null || _c === void 0 ? void 0 : _c.at(0)) === null || _d === void 0 ? void 0 : _d.item.itemContent.tweet_results) === null || _e === void 0 ? void 0 : _e.result.__typename) === 'Tweet') {
|
|
232
|
-
// Adding the 1st entry, which is a reply, to required list
|
|
233
|
-
required.push((_f = entry.content.items[0].item.itemContent.tweet_results) === null || _f === void 0 ? void 0 : _f.result);
|
|
234
|
-
tweets.push((_g = entry.content.items[0].item.itemContent.tweet_results) === null || _g === void 0 ? void 0 : _g.result);
|
|
235
|
-
users.push((_h = entry.content.items[0].item.itemContent.tweet_results) === null || _h === void 0 ? void 0 : _h.result.core.user_results.result);
|
|
236
|
-
}
|
|
237
|
-
// Iterating over the rest of the conversation
|
|
238
|
-
(_j = entry.content.items) === null || _j === void 0 ? void 0 : _j.forEach(function (item) {
|
|
239
|
-
var _a;
|
|
240
|
-
// If item is of type tweet
|
|
241
|
-
if (item.entryId.indexOf('tweet') != -1) {
|
|
242
|
-
// If tweet exists
|
|
243
|
-
if (((_a = item.item.itemContent.tweet_results) === null || _a === void 0 ? void 0 : _a.result.__typename) === 'Tweet') {
|
|
244
|
-
tweets.push(item.item.itemContent.tweet_results.result);
|
|
245
|
-
users.push(item.item.itemContent.tweet_results.result.core.user_results.result);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
// If entry is of type bottom cursor
|
|
251
|
-
else if (entry.entryId.indexOf('cursor-bottom') != -1) {
|
|
252
|
-
cursor = (_l = (_k = entry.content.itemContent) === null || _k === void 0 ? void 0 : _k.value) !== null && _l !== void 0 ? _l : '';
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
// Returning the data
|
|
256
|
-
return {
|
|
257
|
-
required: required,
|
|
258
|
-
cursor: cursor,
|
|
259
|
-
users: users,
|
|
260
|
-
tweets: tweets
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
exports.extractTweetReplies = extractTweetReplies;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
exports.__esModule = true;
|
|
26
|
+
exports.extractTweetReplies = exports.extractTweetRetweeters = exports.extractTweetLikers = exports.extractTweet = exports.extractTweets = void 0;
|
|
27
|
+
var Errors_1 = require("../../../enums/Errors");
|
|
28
|
+
// PARSERS
|
|
29
|
+
var Parsers = __importStar(require("../Parser"));
|
|
30
|
+
/**
|
|
31
|
+
* @returns The raw tweets data formatted and sorted into required and additional data
|
|
32
|
+
* @param res The raw response received from TwitterAPI
|
|
33
|
+
*/
|
|
34
|
+
function extractTweets(res) {
|
|
35
|
+
var _a, _b, _c, _d, _e, _f;
|
|
36
|
+
var required = []; // To store the reqruied raw data
|
|
37
|
+
var cursor = ''; // To store the cursor to next batch
|
|
38
|
+
var users = []; // To store additional user data
|
|
39
|
+
var tweets = []; // To store additional tweet data
|
|
40
|
+
// Getting raw tweet list
|
|
41
|
+
var dataTweets = res.globalObjects.tweets;
|
|
42
|
+
// Getting raw users list
|
|
43
|
+
var dataUsers = res.globalObjects.users;
|
|
44
|
+
// If tweets found
|
|
45
|
+
if (!Parsers.isJSONEmpty(dataTweets)) {
|
|
46
|
+
// Destructuring the list of tweets
|
|
47
|
+
for (var _i = 0, _g = Object.keys(dataTweets); _i < _g.length; _i++) {
|
|
48
|
+
var key = _g[_i];
|
|
49
|
+
required.push({ rest_id: dataTweets[key].id_str, legacy: dataTweets[key] });
|
|
50
|
+
tweets.push({ rest_id: dataTweets[key].id_str, legacy: dataTweets[key] });
|
|
51
|
+
}
|
|
52
|
+
// Destructuring the list of users
|
|
53
|
+
for (var _h = 0, _j = Object.keys(dataUsers); _h < _j.length; _h++) {
|
|
54
|
+
var key = _j[_h];
|
|
55
|
+
users.push({ rest_id: dataUsers[key].id_str, legacy: dataUsers[key] });
|
|
56
|
+
}
|
|
57
|
+
// Getting the cursor to next batch
|
|
58
|
+
// If not first batch
|
|
59
|
+
if (res.timeline.instructions.length > 2) {
|
|
60
|
+
cursor = (_c = (_b = (_a = res.timeline.instructions[2]) === null || _a === void 0 ? void 0 : _a.replaceEntry.entry.content.operation) === null || _b === void 0 ? void 0 : _b.cursor.value) !== null && _c !== void 0 ? _c : '';
|
|
61
|
+
}
|
|
62
|
+
// If first batch
|
|
63
|
+
else {
|
|
64
|
+
cursor = (_f = (_e = (_d = res.timeline.instructions[0].addEntries) === null || _d === void 0 ? void 0 : _d.entries.filter(function (item) { return item.entryId.indexOf('cursor-bottom') != -1; })[0].content.operation) === null || _e === void 0 ? void 0 : _e.cursor.value) !== null && _f !== void 0 ? _f : '';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Returning the data
|
|
68
|
+
return {
|
|
69
|
+
required: required,
|
|
70
|
+
cursor: cursor,
|
|
71
|
+
users: users,
|
|
72
|
+
tweets: tweets
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
exports.extractTweets = extractTweets;
|
|
76
|
+
/**
|
|
77
|
+
* @returns The raw tweet data formatted and sorted into required and additional data
|
|
78
|
+
* @param res The raw response received from TwitterAPI
|
|
79
|
+
* @param tweetId The rest id of the tweet to fetch
|
|
80
|
+
*/
|
|
81
|
+
function extractTweet(res, tweetId) {
|
|
82
|
+
var _a;
|
|
83
|
+
var required = []; // To store the reqruied raw data
|
|
84
|
+
var cursor = ''; // To store the cursor to next batch
|
|
85
|
+
var users = []; // To store additional user data
|
|
86
|
+
var tweets = []; // To store additional tweet data
|
|
87
|
+
// If tweet does not exist
|
|
88
|
+
if (Parsers.isJSONEmpty(res.data)) {
|
|
89
|
+
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
90
|
+
}
|
|
91
|
+
// Destructuring the received raw data
|
|
92
|
+
(_a = res.data.threaded_conversation_with_injections_v2.instructions.filter(function (item) { return item['type'] === 'TimelineAddEntries'; })[0].entries) === null || _a === void 0 ? void 0 : _a.forEach(function (entry) {
|
|
93
|
+
var _a, _b, _c;
|
|
94
|
+
// If entry is of type tweet and tweet exists
|
|
95
|
+
if (entry.entryId.indexOf('tweet') != -1 && ((_b = (_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results) === null || _b === void 0 ? void 0 : _b.result.__typename) === 'Tweet') {
|
|
96
|
+
// If this is the required tweet
|
|
97
|
+
if (entry.entryId.indexOf(tweetId) != -1) {
|
|
98
|
+
required.push(entry.content.itemContent.tweet_results.result);
|
|
99
|
+
}
|
|
100
|
+
tweets.push(entry.content.itemContent.tweet_results.result);
|
|
101
|
+
users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
|
|
102
|
+
}
|
|
103
|
+
// If entry if of type conversation
|
|
104
|
+
else if (entry.entryId.indexOf('conversationthread') != -1) {
|
|
105
|
+
// Iterating over the conversation
|
|
106
|
+
(_c = entry.content.items) === null || _c === void 0 ? void 0 : _c.forEach(function (item) {
|
|
107
|
+
var _a;
|
|
108
|
+
// If item is of type tweet and tweet exists
|
|
109
|
+
if (item.entryId.indexOf('tweet') != -1 && ((_a = item.item.itemContent.tweet_results) === null || _a === void 0 ? void 0 : _a.result.__typename) === 'Tweet') {
|
|
110
|
+
required.push(item.item.itemContent.tweet_results.result);
|
|
111
|
+
tweets.push(item.item.itemContent.tweet_results.result);
|
|
112
|
+
users.push(item.item.itemContent.tweet_results.result.core.user_results.result);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
// Returning the data
|
|
118
|
+
return {
|
|
119
|
+
required: required,
|
|
120
|
+
cursor: cursor,
|
|
121
|
+
users: users,
|
|
122
|
+
tweets: tweets
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
exports.extractTweet = extractTweet;
|
|
126
|
+
/**
|
|
127
|
+
* @returns The raw tweet likers data formatted and sorted into required and additional data
|
|
128
|
+
* @param res The raw response received from TwitterAPI
|
|
129
|
+
*/
|
|
130
|
+
function extractTweetLikers(res) {
|
|
131
|
+
var required = []; // To store the reqruied raw data
|
|
132
|
+
var cursor = ''; // To store the cursor to next batch
|
|
133
|
+
var users = []; // To store additional user data
|
|
134
|
+
var tweets = []; // To store additional tweet data
|
|
135
|
+
// If tweet does not exist
|
|
136
|
+
if (Parsers.isJSONEmpty(res.data.favoriters_timeline)) {
|
|
137
|
+
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
138
|
+
}
|
|
139
|
+
// If likes found
|
|
140
|
+
if (res.data.favoriters_timeline.timeline.instructions.length) {
|
|
141
|
+
// Destructuring raw list of likers
|
|
142
|
+
res.data.favoriters_timeline.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.forEach(function (entry) {
|
|
143
|
+
var _a, _b;
|
|
144
|
+
// If entry is of type user and user exists
|
|
145
|
+
if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
|
|
146
|
+
required.push(entry.content.itemContent.user_results.result);
|
|
147
|
+
users.push(entry.content.itemContent.user_results.result);
|
|
148
|
+
}
|
|
149
|
+
// If entry is of type cursor
|
|
150
|
+
else if (entry.entryId.indexOf('cursor-bottom') != -1) {
|
|
151
|
+
cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
// Returning the data
|
|
156
|
+
return {
|
|
157
|
+
required: required,
|
|
158
|
+
cursor: cursor,
|
|
159
|
+
users: users,
|
|
160
|
+
tweets: tweets
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
exports.extractTweetLikers = extractTweetLikers;
|
|
164
|
+
/**
|
|
165
|
+
* @returns The raw tweet retweeters data formatted and sorted into required and additional data
|
|
166
|
+
* @param res The raw response received from TwitterAPI
|
|
167
|
+
*/
|
|
168
|
+
function extractTweetRetweeters(res) {
|
|
169
|
+
var required = []; // To store the reqruied raw data
|
|
170
|
+
var cursor = ''; // To store the cursor to next batch
|
|
171
|
+
var users = []; // To store additional user data
|
|
172
|
+
var tweets = []; // To store additional tweet data
|
|
173
|
+
// If tweet does not exist
|
|
174
|
+
if (Parsers.isJSONEmpty(res.data.retweeters_timeline)) {
|
|
175
|
+
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
176
|
+
}
|
|
177
|
+
// If retweeters found
|
|
178
|
+
if (res.data.retweeters_timeline.timeline.instructions.length) {
|
|
179
|
+
// Destructuring raw list of retweeters
|
|
180
|
+
res.data.retweeters_timeline.timeline.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries.forEach(function (entry) {
|
|
181
|
+
var _a, _b;
|
|
182
|
+
// If entry is of type user and user exists
|
|
183
|
+
if (entry.entryId.indexOf('user') != -1 && ((_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.user_results.result.__typename) === 'User') {
|
|
184
|
+
required.push(entry.content.itemContent.user_results.result);
|
|
185
|
+
users.push(entry.content.itemContent.user_results.result);
|
|
186
|
+
}
|
|
187
|
+
// If entry is of type cursor
|
|
188
|
+
else if (entry.entryId.indexOf('cursor-bottom') != -1) {
|
|
189
|
+
cursor = (_b = entry.content.value) !== null && _b !== void 0 ? _b : '';
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
// Returning the data
|
|
194
|
+
return {
|
|
195
|
+
required: required,
|
|
196
|
+
cursor: cursor,
|
|
197
|
+
users: users,
|
|
198
|
+
tweets: tweets
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
exports.extractTweetRetweeters = extractTweetRetweeters;
|
|
202
|
+
/**
|
|
203
|
+
* @returns The raw tweet replies data formatted and sorted into required and additional data
|
|
204
|
+
* @param res The raw response received from TwitterAPI
|
|
205
|
+
* @param tweetId The id of the tweet whose replies must be extracted
|
|
206
|
+
*/
|
|
207
|
+
function extractTweetReplies(res, tweetId) {
|
|
208
|
+
var _a;
|
|
209
|
+
var required = []; // To store the reqruied raw data
|
|
210
|
+
var cursor = ''; // To store the cursor to next batch
|
|
211
|
+
var users = []; // To store additional user data
|
|
212
|
+
var tweets = []; // To store additional tweet data
|
|
213
|
+
// If tweet does not exist
|
|
214
|
+
if (Parsers.isJSONEmpty(res.data)) {
|
|
215
|
+
throw new Error(Errors_1.DataErrors.TweetNotFound);
|
|
216
|
+
}
|
|
217
|
+
// Destructuring the received raw data
|
|
218
|
+
(_a = res.data.threaded_conversation_with_injections_v2.instructions.filter(function (item) { return item.type === 'TimelineAddEntries'; })[0].entries) === null || _a === void 0 ? void 0 : _a.map(function (entry) {
|
|
219
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
220
|
+
// If entry is of type tweet
|
|
221
|
+
if (entry.entryId.indexOf('tweet') != -1) {
|
|
222
|
+
// If tweet exists
|
|
223
|
+
if (((_b = (_a = entry.content.itemContent) === null || _a === void 0 ? void 0 : _a.tweet_results) === null || _b === void 0 ? void 0 : _b.result.__typename) === 'Tweet') {
|
|
224
|
+
tweets.push(entry.content.itemContent.tweet_results.result);
|
|
225
|
+
users.push(entry.content.itemContent.tweet_results.result.core.user_results.result);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// If entry if of type conversation/reply
|
|
229
|
+
else if (entry.entryId.indexOf('conversationthread') != -1) {
|
|
230
|
+
// If tweet exists
|
|
231
|
+
if (((_e = (_d = (_c = entry.content.items) === null || _c === void 0 ? void 0 : _c.at(0)) === null || _d === void 0 ? void 0 : _d.item.itemContent.tweet_results) === null || _e === void 0 ? void 0 : _e.result.__typename) === 'Tweet') {
|
|
232
|
+
// Adding the 1st entry, which is a reply, to required list
|
|
233
|
+
required.push((_f = entry.content.items[0].item.itemContent.tweet_results) === null || _f === void 0 ? void 0 : _f.result);
|
|
234
|
+
tweets.push((_g = entry.content.items[0].item.itemContent.tweet_results) === null || _g === void 0 ? void 0 : _g.result);
|
|
235
|
+
users.push((_h = entry.content.items[0].item.itemContent.tweet_results) === null || _h === void 0 ? void 0 : _h.result.core.user_results.result);
|
|
236
|
+
}
|
|
237
|
+
// Iterating over the rest of the conversation
|
|
238
|
+
(_j = entry.content.items) === null || _j === void 0 ? void 0 : _j.forEach(function (item) {
|
|
239
|
+
var _a;
|
|
240
|
+
// If item is of type tweet
|
|
241
|
+
if (item.entryId.indexOf('tweet') != -1) {
|
|
242
|
+
// If tweet exists
|
|
243
|
+
if (((_a = item.item.itemContent.tweet_results) === null || _a === void 0 ? void 0 : _a.result.__typename) === 'Tweet') {
|
|
244
|
+
tweets.push(item.item.itemContent.tweet_results.result);
|
|
245
|
+
users.push(item.item.itemContent.tweet_results.result.core.user_results.result);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
// If entry is of type bottom cursor
|
|
251
|
+
else if (entry.entryId.indexOf('cursor-bottom') != -1) {
|
|
252
|
+
cursor = (_l = (_k = entry.content.itemContent) === null || _k === void 0 ? void 0 : _k.value) !== null && _l !== void 0 ? _l : '';
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
// Returning the data
|
|
256
|
+
return {
|
|
257
|
+
required: required,
|
|
258
|
+
cursor: cursor,
|
|
259
|
+
users: users,
|
|
260
|
+
tweets: tweets
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
exports.extractTweetReplies = extractTweetReplies;
|
|
264
264
|
//# sourceMappingURL=Tweets.js.map
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { IDataExtract } from '../../../types/Resolvers';
|
|
2
|
-
import RawUser from '../../../types/
|
|
3
|
-
import RawUserTweets from '../../../types/
|
|
4
|
-
import RawUserFollowers from '../../../types/
|
|
5
|
-
import RawUserFollowing from '../../../types/
|
|
6
|
-
import RawUserLikes from '../../../types/
|
|
7
|
-
/**
|
|
8
|
-
* @returns The raw user account data formatted and sorted into required and additional data
|
|
9
|
-
* @param res The raw response received from Twitter
|
|
10
|
-
*/
|
|
11
|
-
export declare function extractUserDetails(res: RawUser): IDataExtract;
|
|
12
|
-
/**
|
|
13
|
-
* @returns The raw user tweet data formatted and sorted into required and additional data
|
|
14
|
-
* @param res The raw response received from Twitter
|
|
15
|
-
*/
|
|
16
|
-
export declare function extractUserTweets(res: RawUserTweets): IDataExtract;
|
|
17
|
-
/**
|
|
18
|
-
* @returns The raw user following/followers data formatted and sorted into required and additional data
|
|
19
|
-
* @param res The raw response received from TwitterAPI
|
|
20
|
-
*/
|
|
21
|
-
export declare function extractUserFollow(res: RawUserFollowers | RawUserFollowing): IDataExtract;
|
|
22
|
-
/**
|
|
23
|
-
* @returns The raw user likes data formatted and sorted into required and additional data
|
|
24
|
-
* @param res The raw response received from TwitterAPI
|
|
25
|
-
*/
|
|
26
|
-
export declare function extractUserLikes(res: RawUserLikes): IDataExtract;
|
|
1
|
+
import { IDataExtract } from '../../../types/Resolvers';
|
|
2
|
+
import RawUser from '../../../twitter/types/user/User';
|
|
3
|
+
import RawUserTweets from '../../../twitter/types/user/Tweets';
|
|
4
|
+
import RawUserFollowers from '../../../twitter/types/user/Followers';
|
|
5
|
+
import RawUserFollowing from '../../../twitter/types/user/Following';
|
|
6
|
+
import RawUserLikes from '../../../twitter/types/user/Likes';
|
|
7
|
+
/**
|
|
8
|
+
* @returns The raw user account data formatted and sorted into required and additional data
|
|
9
|
+
* @param res The raw response received from Twitter
|
|
10
|
+
*/
|
|
11
|
+
export declare function extractUserDetails(res: RawUser): IDataExtract;
|
|
12
|
+
/**
|
|
13
|
+
* @returns The raw user tweet data formatted and sorted into required and additional data
|
|
14
|
+
* @param res The raw response received from Twitter
|
|
15
|
+
*/
|
|
16
|
+
export declare function extractUserTweets(res: RawUserTweets): IDataExtract;
|
|
17
|
+
/**
|
|
18
|
+
* @returns The raw user following/followers data formatted and sorted into required and additional data
|
|
19
|
+
* @param res The raw response received from TwitterAPI
|
|
20
|
+
*/
|
|
21
|
+
export declare function extractUserFollow(res: RawUserFollowers | RawUserFollowing): IDataExtract;
|
|
22
|
+
/**
|
|
23
|
+
* @returns The raw user likes data formatted and sorted into required and additional data
|
|
24
|
+
* @param res The raw response received from TwitterAPI
|
|
25
|
+
*/
|
|
26
|
+
export declare function extractUserLikes(res: RawUserLikes): IDataExtract;
|