rettiwt-api 5.0.1 → 6.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/.eslintrc.js +13 -8
- package/README.md +8 -1
- package/dist/cli.js +17 -14
- package/dist/cli.js.map +1 -1
- package/dist/collections/Extractors.d.ts +1 -1
- package/dist/collections/Extractors.js +21 -21
- package/dist/collections/Extractors.js.map +1 -1
- package/dist/collections/Groups.d.ts +4 -4
- package/dist/collections/Groups.js +45 -45
- package/dist/collections/Groups.js.map +1 -1
- package/dist/collections/Requests.d.ts +3 -3
- package/dist/collections/Requests.js +3 -3
- package/dist/collections/Requests.js.map +1 -1
- package/dist/collections/Tweet.d.ts +4 -4
- package/dist/collections/Tweet.js +5 -5
- package/dist/collections/Tweet.js.map +1 -1
- package/dist/commands/Tweet.js +48 -12
- package/dist/commands/Tweet.js.map +1 -1
- package/dist/enums/Api.d.ts +1 -1
- package/dist/enums/Api.js +7 -7
- package/dist/enums/Api.js.map +1 -1
- package/dist/enums/Authentication.d.ts +1 -1
- package/dist/enums/Authentication.js +7 -7
- package/dist/enums/Authentication.js.map +1 -1
- package/dist/enums/Data.d.ts +1 -1
- package/dist/enums/Data.js +7 -7
- package/dist/enums/Data.js.map +1 -1
- package/dist/enums/Logging.d.ts +1 -1
- package/dist/enums/Logging.js +11 -11
- package/dist/enums/Logging.js.map +1 -1
- package/dist/enums/Media.d.ts +1 -1
- package/dist/enums/Media.js +7 -7
- package/dist/enums/Media.js.map +1 -1
- package/dist/enums/Notification.d.ts +1 -1
- package/dist/enums/Notification.js +9 -9
- package/dist/enums/Notification.js.map +1 -1
- package/dist/enums/Resource.d.ts +1 -1
- package/dist/enums/Resource.js +42 -42
- package/dist/enums/Resource.js.map +1 -1
- package/dist/enums/Tweet.d.ts +1 -1
- package/dist/enums/Tweet.js +7 -7
- package/dist/enums/Tweet.js.map +1 -1
- package/dist/enums/raw/Analytics.d.ts +2 -2
- package/dist/enums/raw/Analytics.js +21 -21
- package/dist/enums/raw/Analytics.js.map +1 -1
- package/dist/enums/raw/Media.d.ts +1 -1
- package/dist/enums/raw/Media.js +7 -7
- package/dist/enums/raw/Media.js.map +1 -1
- package/dist/enums/raw/Notification.d.ts +1 -1
- package/dist/enums/raw/Notification.js +8 -8
- package/dist/enums/raw/Notification.js.map +1 -1
- package/dist/enums/raw/Tweet.d.ts +2 -2
- package/dist/enums/raw/Tweet.js +12 -12
- package/dist/enums/raw/Tweet.js.map +1 -1
- package/dist/models/RettiwtConfig.d.ts +3 -2
- package/dist/models/RettiwtConfig.js +7 -5
- package/dist/models/RettiwtConfig.js.map +1 -1
- package/dist/models/args/FetchArgs.d.ts +7 -5
- package/dist/models/args/FetchArgs.js +15 -9
- package/dist/models/args/FetchArgs.js.map +1 -1
- package/dist/models/auth/AuthCredential.d.ts +2 -2
- package/dist/models/auth/AuthCredential.js +3 -3
- package/dist/models/auth/AuthCredential.js.map +1 -1
- package/dist/models/data/CursoredData.d.ts +2 -2
- package/dist/models/data/CursoredData.js +3 -3
- package/dist/models/data/CursoredData.js.map +1 -1
- package/dist/models/data/Notification.d.ts +2 -2
- package/dist/models/data/Notification.js +3 -3
- package/dist/models/data/Notification.js.map +1 -1
- package/dist/models/data/Tweet.d.ts +4 -4
- package/dist/models/data/Tweet.js +18 -18
- package/dist/models/data/Tweet.js.map +1 -1
- package/dist/models/data/User.js +9 -9
- package/dist/models/data/User.js.map +1 -1
- package/dist/requests/Tweet.d.ts +2 -2
- package/dist/requests/Tweet.js +2 -2
- package/dist/requests/Tweet.js.map +1 -1
- package/dist/requests/User.d.ts +2 -2
- package/dist/requests/User.js.map +1 -1
- package/dist/services/internal/AuthService.js +1 -1
- package/dist/services/internal/AuthService.js.map +1 -1
- package/dist/services/internal/ErrorService.d.ts +2 -2
- package/dist/services/internal/ErrorService.js +4 -4
- package/dist/services/internal/ErrorService.js.map +1 -1
- package/dist/services/internal/LogService.d.ts +2 -2
- package/dist/services/internal/LogService.js.map +1 -1
- package/dist/services/internal/TidService.d.ts +4 -4
- package/dist/services/internal/TidService.js +10 -10
- package/dist/services/internal/TidService.js.map +1 -1
- package/dist/services/public/FetcherService.d.ts +7 -7
- package/dist/services/public/FetcherService.js +79 -35
- package/dist/services/public/FetcherService.js.map +1 -1
- package/dist/services/public/ListService.js +4 -4
- package/dist/services/public/ListService.js.map +1 -1
- package/dist/services/public/TweetService.d.ts +3 -3
- package/dist/services/public/TweetService.js +35 -35
- package/dist/services/public/TweetService.js.map +1 -1
- package/dist/services/public/UserService.js +37 -37
- package/dist/services/public/UserService.js.map +1 -1
- package/dist/types/RettiwtConfig.d.ts +6 -0
- package/dist/types/args/FetchArgs.d.ts +14 -6
- package/dist/types/auth/AuthCredential.d.ts +2 -2
- package/dist/types/data/Notification.d.ts +2 -2
- package/dist/types/data/Tweet.d.ts +2 -2
- package/dist/types/raw/base/Media.d.ts +2 -2
- package/dist/types/raw/base/Notification.d.ts +2 -2
- package/package.json +18 -18
- package/src/cli.ts +20 -14
- package/src/collections/Extractors.ts +21 -21
- package/src/collections/Groups.ts +45 -45
- package/src/collections/Requests.ts +4 -4
- package/src/collections/Tweet.ts +6 -6
- package/src/commands/Tweet.ts +49 -12
- package/src/enums/Api.ts +1 -1
- package/src/enums/Authentication.ts +1 -1
- package/src/enums/Data.ts +1 -1
- package/src/enums/Logging.ts +1 -1
- package/src/enums/Media.ts +1 -1
- package/src/enums/Notification.ts +1 -1
- package/src/enums/Resource.ts +1 -1
- package/src/enums/Tweet.ts +1 -1
- package/src/enums/raw/Analytics.ts +2 -2
- package/src/enums/raw/Media.ts +1 -1
- package/src/enums/raw/Notification.ts +1 -1
- package/src/enums/raw/Tweet.ts +2 -2
- package/src/models/RettiwtConfig.ts +7 -5
- package/src/models/args/FetchArgs.ts +17 -11
- package/src/models/auth/AuthCredential.ts +5 -5
- package/src/models/data/CursoredData.ts +5 -5
- package/src/models/data/Notification.ts +6 -6
- package/src/models/data/Tweet.ts +22 -22
- package/src/models/data/User.ts +10 -10
- package/src/requests/Tweet.ts +4 -4
- package/src/requests/User.ts +3 -3
- package/src/services/internal/AuthService.ts +2 -2
- package/src/services/internal/ErrorService.ts +4 -4
- package/src/services/internal/LogService.ts +2 -2
- package/src/services/internal/TidService.ts +11 -11
- package/src/services/public/FetcherService.ts +54 -38
- package/src/services/public/ListService.ts +6 -6
- package/src/services/public/TweetService.ts +39 -39
- package/src/services/public/UserService.ts +40 -40
- package/src/types/RettiwtConfig.ts +7 -0
- package/src/types/args/FetchArgs.ts +18 -8
- package/src/types/auth/AuthCredential.ts +2 -2
- package/src/types/data/Notification.ts +2 -2
- package/src/types/data/Tweet.ts +2 -2
- package/src/types/raw/base/Media.ts +2 -2
- package/src/types/raw/base/Notification.ts +2 -2
- package/.tool-versions +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.RawNotificationType = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* The different types of notifications.
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
var
|
|
10
|
-
(function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
})(
|
|
9
|
+
var RawNotificationType;
|
|
10
|
+
(function (RawNotificationType) {
|
|
11
|
+
RawNotificationType["RECOMMENDATION"] = "recommendation_icon";
|
|
12
|
+
RawNotificationType["INFORMATION"] = "bird_icon";
|
|
13
|
+
RawNotificationType["LIVE"] = "live_icon";
|
|
14
|
+
RawNotificationType["ALERT"] = "bell_icon";
|
|
15
|
+
})(RawNotificationType || (exports.RawNotificationType = RawNotificationType = {}));
|
|
16
16
|
//# sourceMappingURL=Notification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../../../src/enums/raw/Notification.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../../../src/enums/raw/Notification.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC9B,6DAAsC,CAAA;IACtC,gDAAyB,CAAA;IACzB,yCAAkB,CAAA;IAClB,0CAAmB,CAAA;AACpB,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
|
-
export declare enum
|
|
6
|
+
export declare enum RawTweetSearchResultType {
|
|
7
7
|
LATEST = "Latest",
|
|
8
8
|
TOP = "Top"
|
|
9
9
|
}
|
|
@@ -12,7 +12,7 @@ export declare enum ERawTweetSearchResultType {
|
|
|
12
12
|
*
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
|
-
export declare enum
|
|
15
|
+
export declare enum RawTweetRepliesSortType {
|
|
16
16
|
RELEVACE = "Relevance",
|
|
17
17
|
LATEST = "Recency",
|
|
18
18
|
LIKES = "Likes"
|
package/dist/enums/raw/Tweet.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.RawTweetRepliesSortType = exports.RawTweetSearchResultType = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* The different types of search results when searching for tweets.
|
|
6
6
|
*
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
var
|
|
10
|
-
(function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
})(
|
|
9
|
+
var RawTweetSearchResultType;
|
|
10
|
+
(function (RawTweetSearchResultType) {
|
|
11
|
+
RawTweetSearchResultType["LATEST"] = "Latest";
|
|
12
|
+
RawTweetSearchResultType["TOP"] = "Top";
|
|
13
|
+
})(RawTweetSearchResultType || (exports.RawTweetSearchResultType = RawTweetSearchResultType = {}));
|
|
14
14
|
/**
|
|
15
15
|
* The different types of sorting options when fetching replies to tweets.
|
|
16
16
|
*
|
|
17
17
|
* @public
|
|
18
18
|
*/
|
|
19
|
-
var
|
|
20
|
-
(function (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})(
|
|
19
|
+
var RawTweetRepliesSortType;
|
|
20
|
+
(function (RawTweetRepliesSortType) {
|
|
21
|
+
RawTweetRepliesSortType["RELEVACE"] = "Relevance";
|
|
22
|
+
RawTweetRepliesSortType["LATEST"] = "Recency";
|
|
23
|
+
RawTweetRepliesSortType["LIKES"] = "Likes";
|
|
24
|
+
})(RawTweetRepliesSortType || (exports.RawTweetRepliesSortType = RawTweetRepliesSortType = {}));
|
|
25
25
|
//# sourceMappingURL=Tweet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tweet.js","sourceRoot":"","sources":["../../../src/enums/raw/Tweet.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"Tweet.js","sourceRoot":"","sources":["../../../src/enums/raw/Tweet.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IACnC,6CAAiB,CAAA;IACjB,uCAAW,CAAA;AACZ,CAAC,EAHW,wBAAwB,wCAAxB,wBAAwB,QAGnC;AAED;;;;GAIG;AACH,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IAClC,iDAAsB,CAAA;IACtB,6CAAkB,CAAA;IAClB,0CAAe,CAAA;AAChB,CAAC,EAJW,uBAAuB,uCAAvB,uBAAuB,QAIlC"}
|
|
@@ -7,7 +7,7 @@ import { IRettiwtConfig } from '../types/RettiwtConfig';
|
|
|
7
7
|
*
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
declare const
|
|
10
|
+
declare const DefaultHeaders: {
|
|
11
11
|
Authority: string;
|
|
12
12
|
'Accept-Language': string;
|
|
13
13
|
'Cache-Control': string;
|
|
@@ -29,6 +29,7 @@ export declare class RettiwtConfig implements IRettiwtConfig {
|
|
|
29
29
|
readonly delay?: number | (() => number | Promise<number>);
|
|
30
30
|
readonly errorHandler?: IErrorHandler;
|
|
31
31
|
readonly logging?: boolean;
|
|
32
|
+
readonly maxRetries: number;
|
|
32
33
|
readonly tidProvider?: ITidProvider;
|
|
33
34
|
readonly timeout?: number;
|
|
34
35
|
/**
|
|
@@ -49,4 +50,4 @@ export declare class RettiwtConfig implements IRettiwtConfig {
|
|
|
49
50
|
} | undefined);
|
|
50
51
|
set proxyUrl(proxyUrl: URL | undefined);
|
|
51
52
|
}
|
|
52
|
-
export {
|
|
53
|
+
export { DefaultHeaders as DefaultRettiwtHeaders };
|
|
@@ -9,7 +9,7 @@ const AuthService_1 = require("../services/internal/AuthService");
|
|
|
9
9
|
*
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
const
|
|
12
|
+
const DefaultHeaders = {
|
|
13
13
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
14
14
|
Authority: 'x.com',
|
|
15
15
|
'Accept-Language': 'en-US,en;q=0.9',
|
|
@@ -20,7 +20,7 @@ const defaultHeaders = {
|
|
|
20
20
|
'X-Twitter-Client-Language': 'en',
|
|
21
21
|
/* eslint-enable @typescript-eslint/naming-convention */
|
|
22
22
|
};
|
|
23
|
-
exports.DefaultRettiwtHeaders =
|
|
23
|
+
exports.DefaultRettiwtHeaders = DefaultHeaders;
|
|
24
24
|
/**
|
|
25
25
|
* The configuration for initializing a new Rettiwt instance.
|
|
26
26
|
*
|
|
@@ -36,6 +36,7 @@ class RettiwtConfig {
|
|
|
36
36
|
delay;
|
|
37
37
|
errorHandler;
|
|
38
38
|
logging;
|
|
39
|
+
maxRetries;
|
|
39
40
|
tidProvider;
|
|
40
41
|
timeout;
|
|
41
42
|
/**
|
|
@@ -45,14 +46,15 @@ class RettiwtConfig {
|
|
|
45
46
|
this._apiKey = config?.apiKey;
|
|
46
47
|
this._httpsAgent = config?.proxyUrl ? new https_proxy_agent_1.HttpsProxyAgent(config?.proxyUrl) : new https_1.Agent();
|
|
47
48
|
this._userId = config?.apiKey ? AuthService_1.AuthService.getUserId(config?.apiKey) : undefined;
|
|
48
|
-
this.delay = config?.delay;
|
|
49
|
+
this.delay = config?.delay ?? 1000;
|
|
50
|
+
this.maxRetries = config?.maxRetries ?? 5;
|
|
49
51
|
this.errorHandler = config?.errorHandler;
|
|
50
52
|
this.logging = config?.logging;
|
|
51
53
|
this.tidProvider = config?.tidProvider;
|
|
52
54
|
this.timeout = config?.timeout;
|
|
53
55
|
this.apiKey = config?.apiKey;
|
|
54
56
|
this._headers = {
|
|
55
|
-
...
|
|
57
|
+
...DefaultHeaders,
|
|
56
58
|
...config?.headers,
|
|
57
59
|
};
|
|
58
60
|
}
|
|
@@ -76,7 +78,7 @@ class RettiwtConfig {
|
|
|
76
78
|
}
|
|
77
79
|
set headers(headers) {
|
|
78
80
|
this._headers = {
|
|
79
|
-
...
|
|
81
|
+
...DefaultHeaders,
|
|
80
82
|
...headers,
|
|
81
83
|
};
|
|
82
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RettiwtConfig.js","sourceRoot":"","sources":["../../src/models/RettiwtConfig.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,yDAAoD;AAEpD,kEAA+D;AAK/D;;;;GAIG;AACH,MAAM,cAAc,GAAG;IACtB,yDAAyD;IAEzD,SAAS,EAAE,OAAO;IAClB,iBAAiB,EAAE,gBAAgB;IACnC,eAAe,EAAE,UAAU;IAC3B,OAAO,EAAE,eAAe;IACxB,YAAY,EACX,iHAAiH;IAClH,uBAAuB,EAAE,KAAK;IAC9B,2BAA2B,EAAE,IAAI;IAEjC,wDAAwD;CACxD,CAAC;
|
|
1
|
+
{"version":3,"file":"RettiwtConfig.js","sourceRoot":"","sources":["../../src/models/RettiwtConfig.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,yDAAoD;AAEpD,kEAA+D;AAK/D;;;;GAIG;AACH,MAAM,cAAc,GAAG;IACtB,yDAAyD;IAEzD,SAAS,EAAE,OAAO;IAClB,iBAAiB,EAAE,gBAAgB;IACnC,eAAe,EAAE,UAAU;IAC3B,OAAO,EAAE,eAAe;IACxB,YAAY,EACX,iHAAiH;IAClH,uBAAuB,EAAE,KAAK;IAC9B,2BAA2B,EAAE,IAAI;IAEjC,wDAAwD;CACxD,CAAC;AA6EyB,+CAAqB;AA3EhD;;;;GAIG;AACH,MAAa,aAAa;IACzB,8BAA8B;IACtB,OAAO,CAAU;IACjB,QAAQ,CAA4B;IACpC,WAAW,CAAQ;IACnB,OAAO,CAAqB;IAEpC,uDAAuD;IACvC,KAAK,CAA6C;IAClD,YAAY,CAAiB;IAC7B,OAAO,CAAW;IAClB,UAAU,CAAS;IACnB,WAAW,CAAgB;IAC3B,OAAO,CAAU;IAEjC;;OAEG;IACH,YAAmB,MAAuB;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,mCAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,aAAK,EAAE,CAAC;QAC1F,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAW,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,MAAM,EAAE,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,MAAM,EAAE,WAAW,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG;YACf,GAAG,cAAc;YACjB,GAAG,MAAM,EAAE,OAAO;SAClB,CAAC;IACH,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,uCAAuC;IACvC,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,8DAA8D;IAC9D,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAW,MAAM,CAAC,MAA0B;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAED,IAAW,OAAO,CAAC,OAA8C;QAChE,IAAI,CAAC,QAAQ,GAAG;YACf,GAAG,cAAc;YACjB,GAAG,OAAO;SACV,CAAC;IACH,CAAC;IAED,IAAW,QAAQ,CAAC,QAAyB;QAC5C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,mCAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,aAAK,EAAE,CAAC;IAC3E,CAAC;CACD;AApED,sCAoEC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TweetRepliesSortType } from '../../enums/Tweet';
|
|
2
2
|
import { IFetchArgs, ITweetFilter } from '../../types/args/FetchArgs';
|
|
3
3
|
/**
|
|
4
4
|
* Options specifying the data that is to be fetched.
|
|
@@ -11,7 +11,7 @@ export declare class FetchArgs implements IFetchArgs {
|
|
|
11
11
|
filter?: TweetFilter;
|
|
12
12
|
id?: string;
|
|
13
13
|
ids?: string[];
|
|
14
|
-
sortBy?:
|
|
14
|
+
sortBy?: TweetRepliesSortType;
|
|
15
15
|
/**
|
|
16
16
|
* @param args - Additional user-defined arguments for fetching the resource.
|
|
17
17
|
*/
|
|
@@ -30,16 +30,18 @@ export declare class TweetFilter implements ITweetFilter {
|
|
|
30
30
|
includePhrase?: string;
|
|
31
31
|
includeWords?: string[];
|
|
32
32
|
language?: string;
|
|
33
|
-
links?: boolean;
|
|
34
33
|
list?: string;
|
|
35
34
|
maxId?: string;
|
|
36
35
|
mentions?: string[];
|
|
37
36
|
minLikes?: number;
|
|
38
37
|
minReplies?: number;
|
|
39
38
|
minRetweets?: number;
|
|
39
|
+
onlyLinks?: boolean;
|
|
40
|
+
onlyOriginal?: boolean;
|
|
41
|
+
onlyReplies?: boolean;
|
|
42
|
+
onlyText?: boolean;
|
|
40
43
|
optionalWords?: string[];
|
|
41
44
|
quoted?: string;
|
|
42
|
-
replies?: boolean;
|
|
43
45
|
sinceId?: string;
|
|
44
46
|
startDate?: Date;
|
|
45
47
|
toUsers?: string[];
|
|
@@ -55,7 +57,7 @@ export declare class TweetFilter implements ITweetFilter {
|
|
|
55
57
|
* @param date - The date object to convert.
|
|
56
58
|
* @returns The Twitter string representation of the date.
|
|
57
59
|
*/
|
|
58
|
-
private static
|
|
60
|
+
private static _dateToTwitterString;
|
|
59
61
|
/**
|
|
60
62
|
* @returns The string representation of 'this' filter.
|
|
61
63
|
*/
|
|
@@ -39,16 +39,18 @@ class TweetFilter {
|
|
|
39
39
|
includePhrase;
|
|
40
40
|
includeWords;
|
|
41
41
|
language;
|
|
42
|
-
links;
|
|
43
42
|
list;
|
|
44
43
|
maxId;
|
|
45
44
|
mentions;
|
|
46
45
|
minLikes;
|
|
47
46
|
minReplies;
|
|
48
47
|
minRetweets;
|
|
48
|
+
onlyLinks;
|
|
49
|
+
onlyOriginal;
|
|
50
|
+
onlyReplies;
|
|
51
|
+
onlyText;
|
|
49
52
|
optionalWords;
|
|
50
53
|
quoted;
|
|
51
|
-
replies;
|
|
52
54
|
sinceId;
|
|
53
55
|
startDate;
|
|
54
56
|
toUsers;
|
|
@@ -63,9 +65,7 @@ class TweetFilter {
|
|
|
63
65
|
this.hashtags = filter.hashtags;
|
|
64
66
|
this.includePhrase = filter.includePhrase;
|
|
65
67
|
this.language = filter.language;
|
|
66
|
-
this.links = filter.links;
|
|
67
68
|
this.list = filter.list;
|
|
68
|
-
this.replies = filter.replies;
|
|
69
69
|
this.mentions = filter.mentions;
|
|
70
70
|
this.quoted = filter.quoted;
|
|
71
71
|
this.sinceId = filter.sinceId;
|
|
@@ -73,6 +73,10 @@ class TweetFilter {
|
|
|
73
73
|
this.minLikes = filter.minLikes;
|
|
74
74
|
this.minReplies = filter.minReplies;
|
|
75
75
|
this.minRetweets = filter.minRetweets;
|
|
76
|
+
this.onlyLinks = filter.onlyLinks;
|
|
77
|
+
this.onlyOriginal = filter.onlyOriginal;
|
|
78
|
+
this.onlyReplies = filter.onlyReplies;
|
|
79
|
+
this.onlyText = filter.onlyText;
|
|
76
80
|
this.optionalWords = filter.optionalWords;
|
|
77
81
|
this.startDate = filter.startDate;
|
|
78
82
|
this.toUsers = filter.toUsers;
|
|
@@ -86,7 +90,7 @@ class TweetFilter {
|
|
|
86
90
|
* @param date - The date object to convert.
|
|
87
91
|
* @returns The Twitter string representation of the date.
|
|
88
92
|
*/
|
|
89
|
-
static
|
|
93
|
+
static _dateToTwitterString(date) {
|
|
90
94
|
// Converting localized date to UTC date
|
|
91
95
|
const utc = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()));
|
|
92
96
|
/**
|
|
@@ -116,16 +120,18 @@ class TweetFilter {
|
|
|
116
120
|
this.minLikes ? `min_faves:${this.minLikes}` : '',
|
|
117
121
|
this.minRetweets ? `min_retweets:${this.minRetweets}` : '',
|
|
118
122
|
this.language ? `lang:${this.language}` : '',
|
|
119
|
-
this.startDate ? `since:${TweetFilter.
|
|
120
|
-
this.endDate ? `until:${TweetFilter.
|
|
123
|
+
this.startDate ? `since:${TweetFilter._dateToTwitterString(this.startDate)}` : '',
|
|
124
|
+
this.endDate ? `until:${TweetFilter._dateToTwitterString(this.endDate)}` : '',
|
|
121
125
|
this.sinceId ? `since_id:${this.sinceId}` : '',
|
|
122
126
|
this.maxId ? `max_id:${this.maxId}` : '',
|
|
123
127
|
this.quoted ? `quoted_tweet_id:${this.quoted}` : '',
|
|
124
128
|
]
|
|
125
129
|
.filter((item) => item !== '()' && item !== '')
|
|
126
130
|
.join(' ') +
|
|
127
|
-
(this.
|
|
128
|
-
(this.
|
|
131
|
+
(this.onlyText === true ? ' -filter:links' : '') +
|
|
132
|
+
(this.onlyOriginal === true ? ' -filter:replies' : '') +
|
|
133
|
+
(this.onlyLinks === true ? ' filter:links' : '') +
|
|
134
|
+
(this.onlyReplies === true ? ' filter:replies' : ''));
|
|
129
135
|
}
|
|
130
136
|
}
|
|
131
137
|
exports.TweetFilter = TweetFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchArgs.js","sourceRoot":"","sources":["../../../src/models/args/FetchArgs.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,MAAa,SAAS;IACd,KAAK,CAAU;IACf,MAAM,CAAU;IAChB,MAAM,CAAe;IACrB,EAAE,CAAU;IACZ,GAAG,CAAY;IACf,MAAM,
|
|
1
|
+
{"version":3,"file":"FetchArgs.js","sourceRoot":"","sources":["../../../src/models/args/FetchArgs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestHeaders } from 'axios';
|
|
2
2
|
import { Cookie } from 'cookiejar';
|
|
3
|
-
import {
|
|
3
|
+
import { AuthenticationType } from '../../enums/Authentication';
|
|
4
4
|
import { IAuthCredential } from '../../types/auth/AuthCredential';
|
|
5
5
|
/**
|
|
6
6
|
* The credentials for authenticating against Twitter.
|
|
@@ -14,7 +14,7 @@ import { IAuthCredential } from '../../types/auth/AuthCredential';
|
|
|
14
14
|
*/
|
|
15
15
|
export declare class AuthCredential implements IAuthCredential {
|
|
16
16
|
authToken?: string;
|
|
17
|
-
authenticationType?:
|
|
17
|
+
authenticationType?: AuthenticationType;
|
|
18
18
|
cookies?: string;
|
|
19
19
|
csrfToken?: string;
|
|
20
20
|
guestToken?: string;
|
|
@@ -30,7 +30,7 @@ class AuthCredential {
|
|
|
30
30
|
// If guest credentials given
|
|
31
31
|
if (!cookies && guestToken) {
|
|
32
32
|
this.guestToken = guestToken;
|
|
33
|
-
this.authenticationType = Authentication_1.
|
|
33
|
+
this.authenticationType = Authentication_1.AuthenticationType.GUEST;
|
|
34
34
|
}
|
|
35
35
|
// If login credentials given
|
|
36
36
|
else if (cookies && guestToken) {
|
|
@@ -38,7 +38,7 @@ class AuthCredential {
|
|
|
38
38
|
const parsedCookie = new AuthCookie_1.AuthCookie(cookies);
|
|
39
39
|
this.cookies = parsedCookie.toString();
|
|
40
40
|
this.guestToken = guestToken;
|
|
41
|
-
this.authenticationType = Authentication_1.
|
|
41
|
+
this.authenticationType = Authentication_1.AuthenticationType.LOGIN;
|
|
42
42
|
}
|
|
43
43
|
// If user credentials given
|
|
44
44
|
else if (cookies && !guestToken) {
|
|
@@ -46,7 +46,7 @@ class AuthCredential {
|
|
|
46
46
|
const parsedCookie = new AuthCookie_1.AuthCookie(cookies);
|
|
47
47
|
this.cookies = parsedCookie.toString();
|
|
48
48
|
this.csrfToken = parsedCookie.ct0;
|
|
49
|
-
this.authenticationType = Authentication_1.
|
|
49
|
+
this.authenticationType = Authentication_1.AuthenticationType.USER;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthCredential.js","sourceRoot":"","sources":["../../../src/models/auth/AuthCredential.ts"],"names":[],"mappings":";;;AAAA,iCAA0D;AAI1D,+
|
|
1
|
+
{"version":3,"file":"AuthCredential.js","sourceRoot":"","sources":["../../../src/models/auth/AuthCredential.ts"],"names":[],"mappings":";;;AAAA,iCAA0D;AAI1D,+DAAgE;AAGhE,6CAA0C;AAE1C;;;;;;;;;GASG;AACH,MAAa,cAAc;IACnB,SAAS,CAAU;IACnB,kBAAkB,CAAsB;IACxC,OAAO,CAAU;IACjB,SAAS,CAAU;IACnB,UAAU,CAAU;IAE3B;;;OAGG;IACH,YAAmB,OAAkB,EAAE,UAAmB;QACzD,IAAI,CAAC,SAAS;YACb,0GAA0G,CAAC;QAC5G,6BAA6B;QAC7B,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,mCAAkB,CAAC,KAAK,CAAC;QACpD,CAAC;QACD,6BAA6B;aACxB,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAChC,sBAAsB;YACtB,MAAM,YAAY,GAAe,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;YAEzD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,mCAAkB,CAAC,KAAK,CAAC;QACpD,CAAC;QACD,4BAA4B;aACvB,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,sBAAsB;YACtB,MAAM,YAAY,GAAe,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;YAEzD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,mCAAkB,CAAC,IAAI,CAAC;QACnD,CAAC;IACF,CAAC;IAED;;OAEG;IACI,QAAQ;QACd,MAAM,OAAO,GAAG,IAAI,oBAAY,EAAE,CAAC;QAEnC;;;;WAIG;QACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AAjED,wCAiEC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseType } from '../../enums/Data';
|
|
2
2
|
import { ICursoredData } from '../../types/data/CursoredData';
|
|
3
3
|
import { Notification } from './Notification';
|
|
4
4
|
import { Tweet } from './Tweet';
|
|
@@ -17,7 +17,7 @@ export declare class CursoredData<T extends Notification | Tweet | User> impleme
|
|
|
17
17
|
* @param response - The raw response.
|
|
18
18
|
* @param type - The base type of the data included in the batch.
|
|
19
19
|
*/
|
|
20
|
-
constructor(response: NonNullable<unknown>, type:
|
|
20
|
+
constructor(response: NonNullable<unknown>, type: BaseType);
|
|
21
21
|
/**
|
|
22
22
|
* @returns A serializable JSON representation of `this` object.
|
|
23
23
|
*/
|
|
@@ -24,15 +24,15 @@ class CursoredData {
|
|
|
24
24
|
// Initializing defaults
|
|
25
25
|
this.list = [];
|
|
26
26
|
this.next = '';
|
|
27
|
-
if (type == Data_1.
|
|
27
|
+
if (type == Data_1.BaseType.TWEET) {
|
|
28
28
|
this.list = Tweet_1.Tweet.timeline(response);
|
|
29
29
|
this.next = (0, JsonUtils_1.findByFilter)(response, 'cursorType', 'Bottom')[0]?.value ?? '';
|
|
30
30
|
}
|
|
31
|
-
else if (type == Data_1.
|
|
31
|
+
else if (type == Data_1.BaseType.USER) {
|
|
32
32
|
this.list = User_1.User.timeline(response);
|
|
33
33
|
this.next = (0, JsonUtils_1.findByFilter)(response, 'cursorType', 'Bottom')[0]?.value ?? '';
|
|
34
34
|
}
|
|
35
|
-
else if (type == Data_1.
|
|
35
|
+
else if (type == Data_1.BaseType.NOTIFICATION) {
|
|
36
36
|
this.list = Notification_1.Notification.list(response);
|
|
37
37
|
this.next = (0, JsonUtils_1.findByFilter)(response, 'cursorType', 'Top')[0]?.value ?? '';
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursoredData.js","sourceRoot":"","sources":["../../../src/models/data/CursoredData.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"CursoredData.js","sourceRoot":"","sources":["../../../src/models/data/CursoredData.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAE5C,sDAAsD;AAKtD,iDAA8C;AAC9C,mCAAgC;AAChC,iCAA8B;AAE9B;;;;;;GAMG;AACH,MAAa,YAAY;IACjB,IAAI,CAAM;IACV,IAAI,CAAS;IAEpB;;;OAGG;IACH,YAAmB,QAA8B,EAAE,IAAc;QAChE,wBAAwB;QACxB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAEf,IAAI,IAAI,IAAI,eAAQ,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,aAAK,CAAC,QAAQ,CAAC,QAAQ,CAAQ,CAAC;YAC5C,IAAI,CAAC,IAAI,GAAG,IAAA,wBAAY,EAAa,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACxF,CAAC;aAAM,IAAI,IAAI,IAAI,eAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,GAAG,WAAI,CAAC,QAAQ,CAAC,QAAQ,CAAQ,CAAC;YAC3C,IAAI,CAAC,IAAI,GAAG,IAAA,wBAAY,EAAa,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACxF,CAAC;aAAM,IAAI,IAAI,IAAI,eAAQ,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG,2BAAY,CAAC,IAAI,CAAC,QAAQ,CAAQ,CAAC;YAC/C,IAAI,CAAC,IAAI,GAAG,IAAA,wBAAY,EAAa,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACrF,CAAC;IACF,CAAC;IAED;;OAEG;IACI,MAAM;QACZ,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAO,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC;IACH,CAAC;CACD;AAlCD,oCAkCC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NotificationType } from '../../enums/Notification';
|
|
2
2
|
import { INotification } from '../../types/data/Notification';
|
|
3
3
|
import { INotification as IRawNotification } from '../../types/raw/base/Notification';
|
|
4
4
|
/**
|
|
@@ -14,7 +14,7 @@ export declare class Notification implements INotification {
|
|
|
14
14
|
message: string;
|
|
15
15
|
receivedAt: string;
|
|
16
16
|
target: string[];
|
|
17
|
-
type?:
|
|
17
|
+
type?: NotificationType;
|
|
18
18
|
/**
|
|
19
19
|
* @param notification - The raw notification details.
|
|
20
20
|
*/
|
|
@@ -24,7 +24,7 @@ class Notification {
|
|
|
24
24
|
constructor(notification) {
|
|
25
25
|
this._raw = { ...notification };
|
|
26
26
|
// Getting the original notification type
|
|
27
|
-
const notificationType = (0, JsonUtils_1.findKeyByValue)(Notification_2.
|
|
27
|
+
const notificationType = (0, JsonUtils_1.findKeyByValue)(Notification_2.RawNotificationType, notification.icon.id);
|
|
28
28
|
this.from = notification.template?.aggregateUserActionsV1?.fromUsers
|
|
29
29
|
? notification.template.aggregateUserActionsV1.fromUsers.map((item) => item.user.id)
|
|
30
30
|
: [];
|
|
@@ -35,8 +35,8 @@ class Notification {
|
|
|
35
35
|
? notification.template.aggregateUserActionsV1.targetObjects.map((item) => item.tweet.id)
|
|
36
36
|
: [];
|
|
37
37
|
this.type = notificationType
|
|
38
|
-
? Notification_1.
|
|
39
|
-
: Notification_1.
|
|
38
|
+
? Notification_1.NotificationType[notificationType]
|
|
39
|
+
: Notification_1.NotificationType.UNDEFINED;
|
|
40
40
|
}
|
|
41
41
|
/** The raw notification details. */
|
|
42
42
|
get raw() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../../../src/models/data/Notification.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../../../src/models/data/Notification.ts"],"names":[],"mappings":";;;AAAA,2DAA4D;AAC5D,+DAAmE;AACnE,sDAAwD;AAKxD;;;;GAIG;AACH,MAAa,YAAY;IACxB,oCAAoC;IACnB,IAAI,CAAmB;IAEjC,IAAI,CAAW;IACf,EAAE,CAAS;IACX,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,MAAM,CAAW;IACjB,IAAI,CAAoB;IAE/B;;OAEG;IACH,YAAmB,YAA8B;QAChD,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QAEhC,yCAAyC;QACzC,MAAM,gBAAgB,GAAuB,IAAA,0BAAc,EAAC,kCAAmB,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,sBAAsB,EAAE,SAAS;YACnE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpF,CAAC,CAAC,EAAE,CAAC;QACN,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,sBAAsB,EAAE,aAAa;YACzE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzF,CAAC,CAAC,EAAE,CAAC;QACN,IAAI,CAAC,IAAI,GAAG,gBAAgB;YAC3B,CAAC,CAAC,+BAAgB,CAAC,gBAAiD,CAAC;YACrE,CAAC,CAAC,+BAAgB,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,oCAAoC;IACpC,IAAW,GAAG;QACb,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,CAAC,QAA8B;QAChD,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,2BAA2B;QAC3B,IAAK,QAAuC,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;YAC1E,+CAA+C;YAC/C,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CACpC,QAAuC,CAAC,aAAa,CAAC,aAAa,CACpE,EAAE,CAAC;gBACH,aAAa,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAyB,CAAC,CAAC,CAAC;YACjE,CAAC;QACF,CAAC;QAED,OAAO,aAAa,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,MAAM;QACZ,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC;IACH,CAAC;CACD;AA3ED,oCA2EC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MediaType } from '../../enums/Media';
|
|
2
2
|
import { ITweet, ITweetEntities, ITweetMedia } from '../../types/data/Tweet';
|
|
3
3
|
import { IExtendedMedia as IRawExtendedMedia } from '../../types/raw/base/Media';
|
|
4
4
|
import { ITweet as IRawTweet, IEntities as IRawTweetEntities } from '../../types/raw/base/Tweet';
|
|
@@ -42,7 +42,7 @@ export declare class Tweet implements ITweet {
|
|
|
42
42
|
*
|
|
43
43
|
* @returns - The deserialized original quoted tweet.
|
|
44
44
|
*/
|
|
45
|
-
private
|
|
45
|
+
private _getQuotedTweet;
|
|
46
46
|
/**
|
|
47
47
|
* Extract and deserialize the original retweeted tweet from the given raw tweet.
|
|
48
48
|
*
|
|
@@ -50,7 +50,7 @@ export declare class Tweet implements ITweet {
|
|
|
50
50
|
*
|
|
51
51
|
* @returns - The deserialized original retweeted tweet.
|
|
52
52
|
*/
|
|
53
|
-
private
|
|
53
|
+
private _getRetweetedTweet;
|
|
54
54
|
/**
|
|
55
55
|
* Extracts and deserializes multiple target tweets from the given raw response data.
|
|
56
56
|
*
|
|
@@ -113,7 +113,7 @@ export declare class TweetMedia {
|
|
|
113
113
|
/** The thumbnail URL for the video content of the tweet. */
|
|
114
114
|
thumbnailUrl?: string;
|
|
115
115
|
/** The type of media. */
|
|
116
|
-
type:
|
|
116
|
+
type: MediaType;
|
|
117
117
|
/** The direct URL to the media. */
|
|
118
118
|
url: string;
|
|
119
119
|
/**
|
|
@@ -44,7 +44,7 @@ class Tweet {
|
|
|
44
44
|
this.tweetBy = new User_1.User(tweet.core.user_results.result);
|
|
45
45
|
this.entities = new TweetEntities(tweet.legacy.entities);
|
|
46
46
|
this.media = tweet.legacy.extended_entities?.media?.map((media) => new TweetMedia(media));
|
|
47
|
-
this.quoted = this.
|
|
47
|
+
this.quoted = this._getQuotedTweet(tweet);
|
|
48
48
|
this.fullText = tweet.note_tweet ? tweet.note_tweet.note_tweet_results.result.text : tweet.legacy.full_text;
|
|
49
49
|
this.replyTo = tweet.legacy.in_reply_to_status_id_str;
|
|
50
50
|
this.lang = tweet.legacy.lang;
|
|
@@ -54,7 +54,7 @@ class Tweet {
|
|
|
54
54
|
this.likeCount = tweet.legacy.favorite_count;
|
|
55
55
|
this.viewCount = tweet.views.count ? parseInt(tweet.views.count) : 0;
|
|
56
56
|
this.bookmarkCount = tweet.legacy.bookmark_count;
|
|
57
|
-
this.retweetedTweet = this.
|
|
57
|
+
this.retweetedTweet = this._getRetweetedTweet(tweet);
|
|
58
58
|
this.url = `https://x.com/${this.tweetBy.userName}/status/${this.id}`;
|
|
59
59
|
}
|
|
60
60
|
/** The raw tweet details. */
|
|
@@ -68,7 +68,7 @@ class Tweet {
|
|
|
68
68
|
*
|
|
69
69
|
* @returns - The deserialized original quoted tweet.
|
|
70
70
|
*/
|
|
71
|
-
|
|
71
|
+
_getQuotedTweet(tweet) {
|
|
72
72
|
// If tweet with limited visibility
|
|
73
73
|
if (tweet.quoted_status_result &&
|
|
74
74
|
tweet.quoted_status_result?.result?.__typename == 'TweetWithVisibilityResults' &&
|
|
@@ -91,7 +91,7 @@ class Tweet {
|
|
|
91
91
|
*
|
|
92
92
|
* @returns - The deserialized original retweeted tweet.
|
|
93
93
|
*/
|
|
94
|
-
|
|
94
|
+
_getRetweetedTweet(tweet) {
|
|
95
95
|
// If retweet with limited visibility
|
|
96
96
|
if (tweet.legacy?.retweeted_status_result &&
|
|
97
97
|
tweet.legacy?.retweeted_status_result?.result?.__typename == 'TweetWithVisibilityResults' &&
|
|
@@ -123,13 +123,13 @@ class Tweet {
|
|
|
123
123
|
for (const item of extract) {
|
|
124
124
|
if (item.legacy) {
|
|
125
125
|
// Logging
|
|
126
|
-
LogService_1.LogService.log(Logging_1.
|
|
126
|
+
LogService_1.LogService.log(Logging_1.LogActions.DESERIALIZE, { id: item.rest_id });
|
|
127
127
|
tweets.push(new Tweet(item));
|
|
128
128
|
}
|
|
129
129
|
else {
|
|
130
130
|
// Logging
|
|
131
|
-
LogService_1.LogService.log(Logging_1.
|
|
132
|
-
action: Logging_1.
|
|
131
|
+
LogService_1.LogService.log(Logging_1.LogActions.WARNING, {
|
|
132
|
+
action: Logging_1.LogActions.DESERIALIZE,
|
|
133
133
|
message: `Tweet not found, skipping`,
|
|
134
134
|
});
|
|
135
135
|
}
|
|
@@ -156,13 +156,13 @@ class Tweet {
|
|
|
156
156
|
for (const item of extract) {
|
|
157
157
|
if (item.legacy) {
|
|
158
158
|
// Logging
|
|
159
|
-
LogService_1.LogService.log(Logging_1.
|
|
159
|
+
LogService_1.LogService.log(Logging_1.LogActions.DESERIALIZE, { id: item.rest_id });
|
|
160
160
|
tweets.push(new Tweet(item));
|
|
161
161
|
}
|
|
162
162
|
else {
|
|
163
163
|
// Logging
|
|
164
|
-
LogService_1.LogService.log(Logging_1.
|
|
165
|
-
action: Logging_1.
|
|
164
|
+
LogService_1.LogService.log(Logging_1.LogActions.WARNING, {
|
|
165
|
+
action: Logging_1.LogActions.DESERIALIZE,
|
|
166
166
|
message: `Tweet not found, skipping`,
|
|
167
167
|
});
|
|
168
168
|
}
|
|
@@ -192,14 +192,14 @@ class Tweet {
|
|
|
192
192
|
// If normal tweet
|
|
193
193
|
else if (item.tweet_results?.result?.legacy) {
|
|
194
194
|
// Logging
|
|
195
|
-
LogService_1.LogService.log(Logging_1.
|
|
195
|
+
LogService_1.LogService.log(Logging_1.LogActions.DESERIALIZE, { id: item.tweet_results.result.rest_id });
|
|
196
196
|
tweets.push(new Tweet(item.tweet_results.result));
|
|
197
197
|
}
|
|
198
198
|
// If invalid/unrecognized tweet
|
|
199
199
|
else {
|
|
200
200
|
// Logging
|
|
201
|
-
LogService_1.LogService.log(Logging_1.
|
|
202
|
-
action: Logging_1.
|
|
201
|
+
LogService_1.LogService.log(Logging_1.LogActions.WARNING, {
|
|
202
|
+
action: Logging_1.LogActions.DESERIALIZE,
|
|
203
203
|
message: `Tweet not found, skipping`,
|
|
204
204
|
});
|
|
205
205
|
}
|
|
@@ -297,18 +297,18 @@ class TweetMedia {
|
|
|
297
297
|
*/
|
|
298
298
|
constructor(media) {
|
|
299
299
|
// If the media is a photo
|
|
300
|
-
if (media.type == Media_2.
|
|
301
|
-
this.type = Media_1.
|
|
300
|
+
if (media.type == Media_2.RawMediaType.PHOTO) {
|
|
301
|
+
this.type = Media_1.MediaType.PHOTO;
|
|
302
302
|
this.url = media.media_url_https;
|
|
303
303
|
}
|
|
304
304
|
// If the media is a gif
|
|
305
|
-
else if (media.type == Media_2.
|
|
306
|
-
this.type = Media_1.
|
|
305
|
+
else if (media.type == Media_2.RawMediaType.GIF) {
|
|
306
|
+
this.type = Media_1.MediaType.GIF;
|
|
307
307
|
this.url = media.video_info?.variants[0].url;
|
|
308
308
|
}
|
|
309
309
|
// If the media is a video
|
|
310
310
|
else {
|
|
311
|
-
this.type = Media_1.
|
|
311
|
+
this.type = Media_1.MediaType.VIDEO;
|
|
312
312
|
this.thumbnailUrl = media.media_url_https;
|
|
313
313
|
/** The highest bitrate of all variants. */
|
|
314
314
|
let highestRate = 0;
|