@the-convocation/twitter-scraper 0.1.5 → 0.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/dist/api.d.ts CHANGED
@@ -11,8 +11,6 @@ export type RequestApiResult<T> = {
11
11
  success: false;
12
12
  err: Error;
13
13
  };
14
- type GotRequestMethod = 'get' | 'post';
15
- export declare function requestApi<T>(url: string, auth: TwitterAuth, method?: GotRequestMethod): Promise<RequestApiResult<T>>;
14
+ export declare function requestApi<T>(url: string, auth: TwitterAuth, method?: 'GET' | 'POST'): Promise<RequestApiResult<T>>;
16
15
  export declare function addApiParams(params: URLSearchParams, includeTweetReplies: boolean): URLSearchParams;
17
- export {};
18
16
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,eAAO,MAAM,WAAW,uHAC8F,CAAC;AACvH,eAAO,MAAM,YAAY,6GACmF,CAAC;AAE7G;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,KAAK,CAAA;CAAE,CAAC;AAEnC,KAAK,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvC,wBAAsB,UAAU,CAAC,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,gBAAwB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAoC9B;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,OAAO,GAC3B,eAAe,CAoCjB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAMrC,eAAO,MAAM,WAAW,uHAC8F,CAAC;AACvH,eAAO,MAAM,YAAY,6GACmF,CAAC;AAE7G;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,KAAK,CAAA;CAAE,CAAC;AAEnC,wBAAsB,UAAU,CAAC,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,KAAK,GAAG,MAAc,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAqC9B;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,OAAO,GAC3B,eAAe,CAoCjB"}
package/dist/api.js CHANGED
@@ -1,55 +1,49 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
4
  };
11
5
  Object.defineProperty(exports, "__esModule", { value: true });
12
6
  exports.addApiParams = exports.requestApi = exports.bearerToken2 = exports.bearerToken = void 0;
13
- const got_scraping_1 = require("got-scraping");
14
7
  const errors_1 = require("./errors");
8
+ const requests_1 = require("./requests");
9
+ const headers_polyfill_1 = require("headers-polyfill");
10
+ const cross_fetch_1 = __importDefault(require("cross-fetch"));
15
11
  exports.bearerToken = 'AAAAAAAAAAAAAAAAAAAAAPYXBAAAAAAACLXUNDekMxqa8h%2F40K4moUkGsoc%3DTYfbDKbT3jJPCEVnMYqilB28NHfOPqkca3qaAxGfsyKCs0wRbw';
16
12
  exports.bearerToken2 = 'AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA';
17
- function requestApi(url, auth, method = 'get') {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- const headers = {};
20
- yield auth.installTo(headers, url);
21
- let res;
22
- try {
23
- res = yield got_scraping_1.gotScraping[method]({
24
- url,
25
- headers,
26
- cookieJar: auth.cookieJar(),
27
- });
13
+ async function requestApi(url, auth, method = 'GET') {
14
+ const headers = new headers_polyfill_1.Headers();
15
+ await auth.installTo(headers, url);
16
+ let res;
17
+ try {
18
+ res = await (0, cross_fetch_1.default)(url, {
19
+ method,
20
+ headers,
21
+ });
22
+ }
23
+ catch (err) {
24
+ if (!(err instanceof Error)) {
25
+ throw err;
28
26
  }
29
- catch (err) {
30
- if (!(err instanceof Error)) {
31
- throw err;
32
- }
33
- return {
34
- success: false,
35
- err: new Error('Failed to perform request.'),
36
- };
37
- }
38
- if (res.statusCode != 200) {
39
- return {
40
- success: false,
41
- err: new errors_1.ApiError(res, `Response status: ${res.statusCode}`),
42
- };
43
- }
44
- const value = JSON.parse(res.body);
45
- if (res.headers['x-rate-limit-incoming'] == '0') {
46
- auth.deleteToken();
47
- return { success: true, value };
48
- }
49
- else {
50
- return { success: true, value };
51
- }
52
- });
27
+ return {
28
+ success: false,
29
+ err: new Error('Failed to perform request.'),
30
+ };
31
+ }
32
+ await (0, requests_1.updateCookieJar)(auth.cookieJar(), res.headers);
33
+ if (!res.ok) {
34
+ return {
35
+ success: false,
36
+ err: new errors_1.ApiError(res, `Response status: ${res.status}`),
37
+ };
38
+ }
39
+ const value = await res.json();
40
+ if (res.headers.get('x-rate-limit-incoming') == '0') {
41
+ auth.deleteToken();
42
+ return { success: true, value };
43
+ }
44
+ else {
45
+ return { success: true, value };
46
+ }
53
47
  }
54
48
  exports.requestApi = requestApi;
55
49
  function addApiParams(params, includeTweetReplies) {
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { TwitterGuestAuth } from './auth';
2
+ import { Headers } from 'headers-polyfill';
2
3
  /**
3
4
  * A user authentication token manager.
4
5
  */
@@ -7,9 +8,7 @@ export declare class TwitterUserAuth extends TwitterGuestAuth {
7
8
  isLoggedIn(): Promise<boolean>;
8
9
  login(username: string, password: string, email?: string): Promise<void>;
9
10
  logout(): Promise<void>;
10
- installTo(headers: {
11
- [key: string]: unknown;
12
- }, url: string): Promise<void>;
11
+ installTo(headers: Headers, url: string): Promise<void>;
13
12
  private executeFlowTask;
14
13
  }
15
14
  //# sourceMappingURL=auth-user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-user.d.ts","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AA4C1C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;gBACvC,WAAW,EAAE,MAAM;IAIzB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAa9B,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAgHV,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAcvB,SAAS,CACb,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACnC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;YAUF,eAAe;CAwE9B"}
1
+ {"version":3,"file":"auth-user.d.ts","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAI1C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AA2C3C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;gBACvC,WAAW,EAAE,MAAM;IAIzB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAa9B,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAgHV,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAcvB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAW/C,eAAe;CA+E9B"}
package/dist/auth-user.js CHANGED
@@ -1,19 +1,15 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
4
  };
11
5
  Object.defineProperty(exports, "__esModule", { value: true });
12
6
  exports.TwitterUserAuth = void 0;
13
- const got_scraping_1 = require("got-scraping");
14
7
  const auth_1 = require("./auth");
15
8
  const api_1 = require("./api");
16
9
  const tough_cookie_1 = require("tough-cookie");
10
+ const requests_1 = require("./requests");
11
+ const headers_polyfill_1 = require("headers-polyfill");
12
+ const cross_fetch_1 = __importDefault(require("cross-fetch"));
17
13
  /**
18
14
  * A user authentication token manager.
19
15
  */
@@ -21,195 +17,187 @@ class TwitterUserAuth extends auth_1.TwitterGuestAuth {
21
17
  constructor(bearerToken) {
22
18
  super(bearerToken);
23
19
  }
24
- isLoggedIn() {
25
- var _a;
26
- return __awaiter(this, void 0, void 0, function* () {
27
- const res = yield (0, api_1.requestApi)('https://api.twitter.com/1.1/account/verify_credentials.json', this);
28
- if (!res.success) {
29
- return false;
30
- }
31
- const { value: verify } = res;
32
- return verify && !((_a = verify.errors) === null || _a === void 0 ? void 0 : _a.length);
33
- });
20
+ async isLoggedIn() {
21
+ const res = await (0, api_1.requestApi)('https://api.twitter.com/1.1/account/verify_credentials.json', this);
22
+ if (!res.success) {
23
+ return false;
24
+ }
25
+ const { value: verify } = res;
26
+ return verify && !verify.errors?.length;
34
27
  }
35
- login(username, password, email) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- yield this.updateGuestToken();
38
- // Executes the potential acid step in the login flow
39
- const executeFlowAcid = (ft) => this.executeFlowTask({
40
- flow_token: ft,
41
- subtask_inputs: [
42
- {
43
- subtask_id: 'LoginAcid',
44
- enter_text: {
45
- text: email,
46
- link: 'next_link',
47
- },
28
+ async login(username, password, email) {
29
+ await this.updateGuestToken();
30
+ // Executes the potential acid step in the login flow
31
+ const executeFlowAcid = (ft) => this.executeFlowTask({
32
+ flow_token: ft,
33
+ subtask_inputs: [
34
+ {
35
+ subtask_id: 'LoginAcid',
36
+ enter_text: {
37
+ text: email,
38
+ link: 'next_link',
48
39
  },
49
- ],
50
- });
51
- // Handles the result of a flow task
52
- const handleFlowTokenResult = (p) => __awaiter(this, void 0, void 0, function* () {
53
- const result = yield p;
54
- const { status } = result;
55
- if (status === 'error') {
56
- throw result.err;
57
- }
58
- else if (status === 'acid') {
59
- return yield handleFlowTokenResult(executeFlowAcid(result.flowToken));
60
- }
61
- else {
62
- return result.flowToken;
63
- }
64
- });
65
- // Executes a flow subtask and handles the result
66
- const executeFlowSubtask = (data) => handleFlowTokenResult(this.executeFlowTask(data));
67
- yield executeFlowSubtask({
68
- flow_name: 'login',
69
- input_flow_data: {
70
- flow_context: {
71
- debug_overrides: {},
72
- start_location: {
73
- location: 'splash_screen',
74
- },
40
+ },
41
+ ],
42
+ });
43
+ // Handles the result of a flow task
44
+ const handleFlowTokenResult = async (p) => {
45
+ const result = await p;
46
+ const { status } = result;
47
+ if (status === 'error') {
48
+ throw result.err;
49
+ }
50
+ else if (status === 'acid') {
51
+ return await handleFlowTokenResult(executeFlowAcid(result.flowToken));
52
+ }
53
+ else {
54
+ return result.flowToken;
55
+ }
56
+ };
57
+ // Executes a flow subtask and handles the result
58
+ const executeFlowSubtask = (data) => handleFlowTokenResult(this.executeFlowTask(data));
59
+ await executeFlowSubtask({
60
+ flow_name: 'login',
61
+ input_flow_data: {
62
+ flow_context: {
63
+ debug_overrides: {},
64
+ start_location: {
65
+ location: 'splash_screen',
75
66
  },
76
67
  },
77
- })
78
- .then((ft) => executeFlowSubtask({
79
- flow_token: ft,
80
- subtask_inputs: [
81
- {
82
- subtask_id: 'LoginJsInstrumentationSubtask',
83
- js_instrumentation: {
84
- response: '{}',
85
- link: 'next_link',
86
- },
68
+ },
69
+ })
70
+ .then((ft) => executeFlowSubtask({
71
+ flow_token: ft,
72
+ subtask_inputs: [
73
+ {
74
+ subtask_id: 'LoginJsInstrumentationSubtask',
75
+ js_instrumentation: {
76
+ response: '{}',
77
+ link: 'next_link',
87
78
  },
88
- ],
89
- }))
90
- .then((ft) => executeFlowSubtask({
91
- flow_token: ft,
92
- subtask_inputs: [
93
- {
94
- subtask_id: 'LoginEnterUserIdentifierSSO',
95
- settings_list: {
96
- setting_responses: [
97
- {
98
- key: 'user_identifier',
99
- response_data: {
100
- text_data: { result: username },
101
- },
79
+ },
80
+ ],
81
+ }))
82
+ .then((ft) => executeFlowSubtask({
83
+ flow_token: ft,
84
+ subtask_inputs: [
85
+ {
86
+ subtask_id: 'LoginEnterUserIdentifierSSO',
87
+ settings_list: {
88
+ setting_responses: [
89
+ {
90
+ key: 'user_identifier',
91
+ response_data: {
92
+ text_data: { result: username },
102
93
  },
103
- ],
104
- link: 'next_link',
105
- },
94
+ },
95
+ ],
96
+ link: 'next_link',
106
97
  },
107
- ],
108
- }))
109
- .then((ft) => executeFlowSubtask({
110
- flow_token: ft,
111
- subtask_inputs: [
112
- {
113
- subtask_id: 'LoginEnterPassword',
114
- enter_password: {
115
- password,
116
- link: 'next_link',
117
- },
98
+ },
99
+ ],
100
+ }))
101
+ .then((ft) => executeFlowSubtask({
102
+ flow_token: ft,
103
+ subtask_inputs: [
104
+ {
105
+ subtask_id: 'LoginEnterPassword',
106
+ enter_password: {
107
+ password,
108
+ link: 'next_link',
118
109
  },
119
- ],
120
- }))
121
- .then((ft) => executeFlowSubtask({
122
- flow_token: ft,
123
- subtask_inputs: [
124
- {
125
- subtask_id: 'AccountDuplicationCheck',
126
- check_logged_in_account: {
127
- link: 'AccountDuplicationCheck_false',
128
- },
110
+ },
111
+ ],
112
+ }))
113
+ .then((ft) => executeFlowSubtask({
114
+ flow_token: ft,
115
+ subtask_inputs: [
116
+ {
117
+ subtask_id: 'AccountDuplicationCheck',
118
+ check_logged_in_account: {
119
+ link: 'AccountDuplicationCheck_false',
129
120
  },
130
- ],
131
- }));
132
- });
121
+ },
122
+ ],
123
+ }));
133
124
  }
134
- logout() {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- if (!this.isLoggedIn()) {
137
- return;
138
- }
139
- yield (0, api_1.requestApi)('https://api.twitter.com/1.1/account/logout.json', this, 'post');
140
- this.deleteToken();
141
- this.jar = new tough_cookie_1.CookieJar();
142
- });
125
+ async logout() {
126
+ if (!this.isLoggedIn()) {
127
+ return;
128
+ }
129
+ await (0, api_1.requestApi)('https://api.twitter.com/1.1/account/logout.json', this, 'POST');
130
+ this.deleteToken();
131
+ this.jar = new tough_cookie_1.CookieJar();
143
132
  }
144
- installTo(headers, url) {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- headers['authorization'] = `Bearer ${this.bearerToken}`;
147
- const cookies = yield this.jar.getCookies(url);
148
- const xCsrfToken = cookies.find((cookie) => cookie.key === 'ct0');
149
- if (xCsrfToken) {
150
- headers['x-csrf-token'] = xCsrfToken.value;
151
- }
152
- });
133
+ async installTo(headers, url) {
134
+ headers.set('authorization', `Bearer ${this.bearerToken}`);
135
+ headers.set('cookie', await this.jar.getCookieString(url));
136
+ const cookies = await this.jar.getCookies(url);
137
+ const xCsrfToken = cookies.find((cookie) => cookie.key === 'ct0');
138
+ if (xCsrfToken) {
139
+ headers.set('x-csrf-token', xCsrfToken.value);
140
+ }
153
141
  }
154
- executeFlowTask(data) {
155
- var _a, _b;
156
- return __awaiter(this, void 0, void 0, function* () {
157
- const token = this.guestToken;
158
- if (token == null) {
159
- throw new Error('Authentication token is null or undefined.');
160
- }
161
- const res = yield got_scraping_1.gotScraping.post({
162
- url: 'https://api.twitter.com/1.1/onboarding/task.json',
163
- headers: {
164
- authorization: `Bearer ${this.bearerToken}`,
165
- 'content-type': 'application/json',
166
- 'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Nokia G20) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.88 Mobile Safari/537.36',
167
- 'x-guest-token': token,
168
- 'x-twitter-auth-type': 'OAuth2Client',
169
- 'x-twitter-active-user': 'yes',
170
- 'x-twitter-client-language': 'en',
171
- },
172
- cookieJar: this.jar,
173
- json: data,
174
- });
175
- if (res.statusCode != 200) {
176
- return { status: 'error', err: new Error(res.body) };
177
- }
178
- const flow = JSON.parse(res.body);
179
- if ((flow === null || flow === void 0 ? void 0 : flow.flow_token) == null) {
180
- return { status: 'error', err: new Error('flow_token not found.') };
181
- }
182
- if ((_a = flow.errors) === null || _a === void 0 ? void 0 : _a.length) {
142
+ async executeFlowTask(data) {
143
+ const onboardingTaskUrl = 'https://api.twitter.com/1.1/onboarding/task.json';
144
+ const token = this.guestToken;
145
+ if (token == null) {
146
+ throw new Error('Authentication token is null or undefined.');
147
+ }
148
+ const headers = new headers_polyfill_1.Headers({
149
+ authorization: `Bearer ${this.bearerToken}`,
150
+ cookie: await this.jar.getCookieString(onboardingTaskUrl),
151
+ 'content-type': 'application/json',
152
+ 'User-Agent': 'Mozilla/5.0 (Linux; Android 11; Nokia G20) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.88 Mobile Safari/537.36',
153
+ 'x-guest-token': token,
154
+ 'x-twitter-auth-type': 'OAuth2Client',
155
+ 'x-twitter-active-user': 'yes',
156
+ 'x-twitter-client-language': 'en',
157
+ });
158
+ const res = await (0, cross_fetch_1.default)(onboardingTaskUrl, {
159
+ method: 'POST',
160
+ headers: headers,
161
+ body: JSON.stringify(data),
162
+ });
163
+ await (0, requests_1.updateCookieJar)(this.jar, res.headers);
164
+ if (!res.ok) {
165
+ return { status: 'error', err: new Error(await res.text()) };
166
+ }
167
+ const flow = await res.json();
168
+ if (flow?.flow_token == null) {
169
+ return { status: 'error', err: new Error('flow_token not found.') };
170
+ }
171
+ if (flow.errors?.length) {
172
+ return {
173
+ status: 'error',
174
+ err: new Error(`Authentication error (${flow.errors[0].code}): ${flow.errors[0].message}`),
175
+ };
176
+ }
177
+ if (typeof flow.flow_token !== 'string') {
178
+ return {
179
+ status: 'error',
180
+ err: new Error('flow_token was not a string.'),
181
+ };
182
+ }
183
+ if (flow.subtasks?.length) {
184
+ if (flow.subtasks[0].subtask_id === 'LoginEnterAlternateIdentifierSubtask') {
183
185
  return {
184
186
  status: 'error',
185
- err: new Error(`Authentication error (${flow.errors[0].code}): ${flow.errors[0].message}`),
187
+ err: new Error('Authentication error: LoginEnterAlternateIdentifierSubtask'),
186
188
  };
187
189
  }
188
- if (typeof flow.flow_token !== 'string') {
190
+ else if (flow.subtasks[0].subtask_id === 'LoginAcid') {
189
191
  return {
190
- status: 'error',
191
- err: new Error('flow_token was not a string.'),
192
+ status: 'acid',
193
+ flowToken: flow.flow_token,
192
194
  };
193
195
  }
194
- if ((_b = flow.subtasks) === null || _b === void 0 ? void 0 : _b.length) {
195
- if (flow.subtasks[0].subtask_id === 'LoginEnterAlternateIdentifierSubtask') {
196
- return {
197
- status: 'error',
198
- err: new Error('Authentication error: LoginEnterAlternateIdentifierSubtask'),
199
- };
200
- }
201
- else if (flow.subtasks[0].subtask_id === 'LoginAcid') {
202
- return {
203
- status: 'acid',
204
- flowToken: flow.flow_token,
205
- };
206
- }
207
- }
208
- return {
209
- status: 'success',
210
- flowToken: flow.flow_token,
211
- };
212
- });
196
+ }
197
+ return {
198
+ status: 'success',
199
+ flowToken: flow.flow_token,
200
+ };
213
201
  }
214
202
  }
215
203
  exports.TwitterUserAuth = TwitterUserAuth;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-user.js","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-user.js","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"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"}
package/dist/auth.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { CookieJar } from 'tough-cookie';
2
+ import { Headers } from 'headers-polyfill';
2
3
  export interface TwitterAuth {
3
4
  /**
4
5
  * Returns the current cookie jar.
@@ -37,11 +38,9 @@ export interface TwitterAuth {
37
38
  /**
38
39
  * Installs the authentication information into a headers-like object. If needed, the
39
40
  * authentication token will be updated from the API automatically.
40
- * @param headers A key-value object representing a request's headers.
41
+ * @param headers A Headers instance representing a request's headers.
41
42
  */
42
- installTo(headers: {
43
- [key: string]: unknown;
44
- }, url: string): Promise<void>;
43
+ installTo(headers: Headers, url: string): Promise<void>;
45
44
  }
46
45
  /**
47
46
  * A guest authentication token manager. Automatically handles token refreshes.
@@ -59,9 +58,7 @@ export declare class TwitterGuestAuth implements TwitterAuth {
59
58
  deleteToken(): void;
60
59
  hasToken(): boolean;
61
60
  authenticatedAt(): Date | null;
62
- installTo(headers: {
63
- [key: string]: unknown;
64
- }, url: string): Promise<void>;
61
+ installTo(headers: Headers, url: string): Promise<void>;
65
62
  /**
66
63
  * Updates the authentication state with a new guest token from the Twitter API.
67
64
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,IAAI,SAAS,CAAC;IAEvB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC;IAEpB;;;OAGG;IACH,eAAe,IAAI,IAAI,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5E;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAClD,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;gBAEpB,WAAW,EAAE,MAAM;IAK/B,SAAS,IAAI,SAAS;IAItB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvB,WAAW;IAKX,QAAQ,IAAI,OAAO;IAInB,eAAe,IAAI,IAAI,GAAG,IAAI;IAQxB,SAAS,CACb,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACnC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IAoBhB;;OAEG;cACa,gBAAgB;IA2BhC;;;OAGG;IACH,OAAO,CAAC,YAAY;CAQrB"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,IAAI,SAAS,CAAC;IAEvB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC;IAEpB;;;OAGG;IACH,eAAe,IAAI,IAAI,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAClD,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;gBAEpB,WAAW,EAAE,MAAM;IAK/B,SAAS,IAAI,SAAS;IAItB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvB,WAAW;IAKX,QAAQ,IAAI,OAAO;IAInB,eAAe,IAAI,IAAI,GAAG,IAAI;IAQxB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D;;OAEG;cACa,gBAAgB;IAiChC;;;OAGG;IACH,OAAO,CAAC,YAAY;CAQrB"}