@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/auth.js CHANGED
@@ -1,17 +1,13 @@
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.TwitterGuestAuth = void 0;
13
- const got_scraping_1 = require("got-scraping");
14
7
  const tough_cookie_1 = require("tough-cookie");
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
  /**
16
12
  * A guest authentication token manager. Automatically handles token refreshes.
17
13
  */
@@ -48,50 +44,50 @@ class TwitterGuestAuth {
48
44
  }
49
45
  return new Date(this.guestCreatedAt);
50
46
  }
51
- installTo(headers, url) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- if (this.shouldUpdate()) {
54
- yield this.updateGuestToken();
55
- }
56
- const token = this.guestToken;
57
- if (token == null) {
58
- throw new Error('Authentication token is null or undefined.');
59
- }
60
- headers['authorization'] = `Bearer ${this.bearerToken}`;
61
- headers['x-guest-token'] = token;
62
- const cookies = yield this.jar.getCookies(url);
63
- const xCsrfToken = cookies.find((cookie) => cookie.key === 'ct0');
64
- if (xCsrfToken) {
65
- headers['x-csrf-token'] = xCsrfToken.value;
66
- }
67
- });
47
+ async installTo(headers, url) {
48
+ if (this.shouldUpdate()) {
49
+ await this.updateGuestToken();
50
+ }
51
+ const token = this.guestToken;
52
+ if (token == null) {
53
+ throw new Error('Authentication token is null or undefined.');
54
+ }
55
+ headers.set('authorization', `Bearer ${this.bearerToken}`);
56
+ headers.set('x-guest-token', token);
57
+ const cookies = await this.jar.getCookies(url);
58
+ const xCsrfToken = cookies.find((cookie) => cookie.key === 'ct0');
59
+ if (xCsrfToken) {
60
+ headers.set('x-csrf-token', xCsrfToken.value);
61
+ }
62
+ headers.set('cookie', await this.jar.getCookieString(url));
68
63
  }
69
64
  /**
70
65
  * Updates the authentication state with a new guest token from the Twitter API.
71
66
  */
72
- updateGuestToken() {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const res = yield got_scraping_1.gotScraping.post({
75
- url: 'https://api.twitter.com/1.1/guest/activate.json',
76
- headers: {
77
- Authorization: `Bearer ${this.bearerToken}`,
78
- },
79
- cookieJar: this.jar,
80
- });
81
- if (res.statusCode != 200) {
82
- throw new Error(res.body);
83
- }
84
- const o = JSON.parse(res.body);
85
- if (o == null || o['guest_token'] == null) {
86
- throw new Error('guest_token not found.');
87
- }
88
- const newGuestToken = o['guest_token'];
89
- if (typeof newGuestToken !== 'string') {
90
- throw new Error('guest_token was not a string.');
91
- }
92
- this.guestToken = newGuestToken;
93
- this.guestCreatedAt = new Date();
67
+ async updateGuestToken() {
68
+ const guestActivateUrl = 'https://api.twitter.com/1.1/guest/activate.json';
69
+ const headers = new headers_polyfill_1.Headers({
70
+ Authorization: `Bearer ${this.bearerToken}`,
71
+ Cookie: await this.jar.getCookieString(guestActivateUrl),
94
72
  });
73
+ const res = await (0, cross_fetch_1.default)(guestActivateUrl, {
74
+ method: 'POST',
75
+ headers: headers,
76
+ });
77
+ await (0, requests_1.updateCookieJar)(this.jar, res.headers);
78
+ if (!res.ok) {
79
+ throw new Error(await res.text());
80
+ }
81
+ const o = await res.json();
82
+ if (o == null || o['guest_token'] == null) {
83
+ throw new Error('guest_token not found.');
84
+ }
85
+ const newGuestToken = o['guest_token'];
86
+ if (typeof newGuestToken !== 'string') {
87
+ throw new Error('guest_token was not a string.');
88
+ }
89
+ this.guestToken = newGuestToken;
90
+ this.guestCreatedAt = new Date();
95
91
  }
96
92
  /**
97
93
  * Returns if the authentication token needs to be updated or not.
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA2C;AAC3C,+CAAyC;AAoDzC;;GAEG;AACH,MAAa,gBAAgB;IAM3B,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,wBAAS,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,UAAU;QACR,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAe;QACzD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,IAAI,wBAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAEK,SAAS,CACb,OAAmC,EACnC,GAAW;;YAEX,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;gBACvB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC/B;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC/D;YAED,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;YACxD,OAAO,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;YAEjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;YAClE,IAAI,UAAU,EAAE;gBACd,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;aAC5C;QACH,CAAC;KAAA;IAED;;OAEG;IACa,gBAAgB;;YAC9B,MAAM,GAAG,GAAG,MAAM,0BAAW,CAAC,IAAI,CAAC;gBACjC,GAAG,EAAE,iDAAiD;gBACtD,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;iBAC5C;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG;aACpB,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC3B;YAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;aAC3C;YAED,MAAM,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;YACvC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;YAED,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;KAAA;IAED;;;OAGG;IACK,YAAY;QAClB,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI;gBAC1B,IAAI,CAAC,cAAc;oBACjB,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;CACF;AAhHD,4CAgHC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { Response } from 'got-scraping';
2
- export declare class ApiError<T> extends Error {
3
- readonly response: Response<T>;
4
- constructor(response: Response<T>, message: string);
1
+ export declare class ApiError extends Error {
2
+ readonly response: Response;
3
+ constructor(response: Response, message: string);
5
4
  }
6
5
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,qBAAa,QAAQ,CAAC,CAAC,CAAE,SAAQ,KAAK;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAArB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM;CAG5D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;CAGzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA,MAAa,QAAY,SAAQ,KAAK;IACpC,YAAqB,QAAqB,EAAE,OAAe;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,aAAQ,GAAR,QAAQ,CAAa;IAE1C,CAAC;CACF;AAJD,4BAIC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAS,SAAQ,KAAK;IACjC,YAAqB,QAAkB,EAAE,OAAe;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,aAAQ,GAAR,QAAQ,CAAU;IAEvC,CAAC;CACF;AAJD,4BAIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC,EAAE;gBACL,YAAY,CAAC,EAAE,MAAM,CAAC;aACvB,EAAE,CAAC;SACL,CAAC;KACH,CAAC;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,aAAa,CAAC;SACvB,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CA+BzD;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CA0CpC;AAID,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAyBnC"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE;YACJ,IAAI,CAAC,EAAE;gBACL,YAAY,CAAC,EAAE,MAAM,CAAC;aACvB,EAAE,CAAC;SACL,CAAC;KACH,CAAC;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,aAAa,CAAC;SACvB,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CA+BzD;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAgDpC;AAID,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAyBnC"}
package/dist/profile.js CHANGED
@@ -1,18 +1,8 @@
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
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.getUserIdByScreenName = exports.getProfile = exports.parseProfile = void 0;
13
4
  const api_1 = require("./api");
14
5
  function parseProfile(user) {
15
- var _a, _b;
16
6
  const profile = {
17
7
  avatar: user.profile_image_url_https,
18
8
  banner: user.profile_banner_url,
@@ -35,75 +25,74 @@ function parseProfile(user) {
35
25
  if (user.created_at != null) {
36
26
  profile.joined = new Date(Date.parse(user.created_at));
37
27
  }
38
- const urls = (_b = (_a = user.entities) === null || _a === void 0 ? void 0 : _a.url) === null || _b === void 0 ? void 0 : _b.urls;
39
- if ((urls === null || urls === void 0 ? void 0 : urls.length) != null && (urls === null || urls === void 0 ? void 0 : urls.length) > 0) {
28
+ const urls = user.entities?.url?.urls;
29
+ if (urls?.length != null && urls?.length > 0) {
40
30
  profile.website = urls[0].expanded_url;
41
31
  }
42
32
  return profile;
43
33
  }
44
34
  exports.parseProfile = parseProfile;
45
- function getProfile(username, auth) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const res = yield (0, api_1.requestApi)('https://api.twitter.com/graphql/4S2ihIKfF3xhp-ENxvUAfQ/UserByScreenName?variables=%7B%22screen_name%22%3A%22' +
48
- username +
49
- '%22%2C%22withHighlightedLabel%22%3Atrue%7D', auth);
50
- if (!res.success) {
51
- return res;
52
- }
53
- const { value } = res;
54
- const { errors } = value;
55
- if (errors != null && errors.length > 0) {
56
- return {
57
- success: false,
58
- err: new Error(errors[0].message),
59
- };
60
- }
61
- const { user } = value.data;
62
- const { legacy } = user;
63
- if (user.rest_id == null || user.rest_id.length === 0) {
64
- return {
65
- success: false,
66
- err: new Error('rest_id not found.'),
67
- };
68
- }
69
- legacy.id_str = user.rest_id;
70
- if (legacy.screen_name == null || legacy.screen_name.length === 0) {
71
- return {
72
- success: false,
73
- err: new Error(`Either ${username} does not exist or is private.`),
74
- };
75
- }
35
+ async function getProfile(username, auth) {
36
+ const params = new URLSearchParams();
37
+ params.set('variables', JSON.stringify({
38
+ screen_name: username,
39
+ withHighlightedLabel: true,
40
+ }));
41
+ const res = await (0, api_1.requestApi)(`https://api.twitter.com/graphql/4S2ihIKfF3xhp-ENxvUAfQ/UserByScreenName?${params}`, auth);
42
+ if (!res.success) {
43
+ return res;
44
+ }
45
+ const { value } = res;
46
+ const { errors } = value;
47
+ if (errors != null && errors.length > 0) {
76
48
  return {
77
- success: true,
78
- value: parseProfile(user.legacy),
49
+ success: false,
50
+ err: new Error(errors[0].message),
51
+ };
52
+ }
53
+ const { user } = value.data;
54
+ const { legacy } = user;
55
+ if (user.rest_id == null || user.rest_id.length === 0) {
56
+ return {
57
+ success: false,
58
+ err: new Error('rest_id not found.'),
79
59
  };
80
- });
60
+ }
61
+ legacy.id_str = user.rest_id;
62
+ if (legacy.screen_name == null || legacy.screen_name.length === 0) {
63
+ return {
64
+ success: false,
65
+ err: new Error(`Either ${username} does not exist or is private.`),
66
+ };
67
+ }
68
+ return {
69
+ success: true,
70
+ value: parseProfile(user.legacy),
71
+ };
81
72
  }
82
73
  exports.getProfile = getProfile;
83
74
  const idCache = new Map();
84
- function getUserIdByScreenName(screenName, auth) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- const cached = idCache.get(screenName);
87
- if (cached != null) {
88
- return { success: true, value: cached };
89
- }
90
- const profileRes = yield getProfile(screenName, auth);
91
- if (!profileRes.success) {
92
- return profileRes;
93
- }
94
- const profile = profileRes.value;
95
- if (profile.userId != null) {
96
- idCache.set(screenName, profile.userId);
97
- return {
98
- success: true,
99
- value: profile.userId,
100
- };
101
- }
75
+ async function getUserIdByScreenName(screenName, auth) {
76
+ const cached = idCache.get(screenName);
77
+ if (cached != null) {
78
+ return { success: true, value: cached };
79
+ }
80
+ const profileRes = await getProfile(screenName, auth);
81
+ if (!profileRes.success) {
82
+ return profileRes;
83
+ }
84
+ const profile = profileRes.value;
85
+ if (profile.userId != null) {
86
+ idCache.set(screenName, profile.userId);
102
87
  return {
103
- success: false,
104
- err: new Error('User ID is undefined.'),
88
+ success: true,
89
+ value: profile.userId,
105
90
  };
106
- });
91
+ }
92
+ return {
93
+ success: false,
94
+ err: new Error('User ID is undefined.'),
95
+ };
107
96
  }
108
97
  exports.getUserIdByScreenName = getUserIdByScreenName;
109
98
  //# sourceMappingURL=profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { CookieJar } from 'tough-cookie';
2
+ import type { Headers as HeadersPolyfill } from 'headers-polyfill';
3
+ /**
4
+ * Updates a cookie jar with the Set-Cookie headers from the provided Headers instance.
5
+ * @param cookieJar The cookie jar to update.
6
+ * @param headers The response headers to populate the cookie jar with.
7
+ */
8
+ export declare function updateCookieJar(cookieJar: CookieJar, headers: Headers | HeadersPolyfill): Promise<void>;
9
+ //# sourceMappingURL=requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,SAAS,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GAAG,eAAe,iBAanC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateCookieJar = void 0;
7
+ const tough_cookie_1 = require("tough-cookie");
8
+ const set_cookie_parser_1 = __importDefault(require("set-cookie-parser"));
9
+ /**
10
+ * Updates a cookie jar with the Set-Cookie headers from the provided Headers instance.
11
+ * @param cookieJar The cookie jar to update.
12
+ * @param headers The response headers to populate the cookie jar with.
13
+ */
14
+ async function updateCookieJar(cookieJar, headers) {
15
+ const setCookieHeader = headers.get('set-cookie');
16
+ if (setCookieHeader) {
17
+ const cookies = set_cookie_parser_1.default.splitCookiesString(setCookieHeader);
18
+ for (const cookie of cookies.map((c) => tough_cookie_1.Cookie.parse(c))) {
19
+ if (!cookie)
20
+ continue;
21
+ await cookieJar.setCookie(cookie, `${cookie.secure ? 'https' : 'http'}://${cookie.domain}${cookie.path}`);
22
+ }
23
+ }
24
+ }
25
+ exports.updateCookieJar = updateCookieJar;
26
+ //# sourceMappingURL=requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAiD;AACjD,0EAA0C;AAG1C;;;;GAIG;AACI,KAAK,UAAU,eAAe,CACnC,SAAoB,EACpB,OAAkC;IAElC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,eAAe,EAAE;QACnB,MAAM,OAAO,GAAG,2BAAS,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACxD,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,SAAS,CAAC,SAAS,CACvB,MAAM,EACN,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CACvE,CAAC;SACH;KACF;AACH,CAAC;AAfD,0CAeC"}
package/dist/scraper.js CHANGED
@@ -1,13 +1,4 @@
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
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.Scraper = void 0;
13
4
  const api_1 = require("./api");
@@ -36,22 +27,18 @@ class Scraper {
36
27
  * @param username The Twitter username of the profile to fetch, without an `@` at the beginning.
37
28
  * @returns The requested profile.
38
29
  */
39
- getProfile(username) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const res = yield (0, profile_1.getProfile)(username, this.auth);
42
- return this.handleResponse(res);
43
- });
30
+ async getProfile(username) {
31
+ const res = await (0, profile_1.getProfile)(username, this.auth);
32
+ return this.handleResponse(res);
44
33
  }
45
34
  /**
46
35
  * Fetches the user ID corresponding to the provided screen name.
47
36
  * @param screenName The Twitter screen name of the profile to fetch.
48
37
  * @returns The ID of the corresponding account.
49
38
  */
50
- getUserIdByScreenName(screenName) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const res = yield (0, profile_1.getUserIdByScreenName)(screenName, this.auth);
53
- return this.handleResponse(res);
54
- });
39
+ async getUserIdByScreenName(screenName) {
40
+ const res = await (0, profile_1.getUserIdByScreenName)(screenName, this.auth);
41
+ return this.handleResponse(res);
55
42
  }
56
43
  /**
57
44
  * Fetches tweets from Twitter.
@@ -152,10 +139,8 @@ class Scraper {
152
139
  * Returns if the scraper is logged in as a real user.
153
140
  * @returns `true` if the scraper is logged in with a real user account; otherwise `false`.
154
141
  */
155
- isLoggedIn() {
156
- return __awaiter(this, void 0, void 0, function* () {
157
- return ((yield this.auth.isLoggedIn()) && (yield this.authTrends.isLoggedIn()));
158
- });
142
+ async isLoggedIn() {
143
+ return ((await this.auth.isLoggedIn()) && (await this.authTrends.isLoggedIn()));
159
144
  }
160
145
  /**
161
146
  * Login to Twitter as a real Twitter account. This enables running
@@ -164,49 +149,41 @@ class Scraper {
164
149
  * @param password The password of the Twitter account to login with.
165
150
  * @param email The password to log in with, if you have email confirmation enabled.
166
151
  */
167
- login(username, password, email) {
168
- return __awaiter(this, void 0, void 0, function* () {
169
- // Swap in a real authorizer for all requests
170
- const userAuth = new auth_user_1.TwitterUserAuth(api_1.bearerToken2);
171
- yield userAuth.login(username, password, email);
172
- this.auth = userAuth;
173
- this.authTrends = userAuth;
174
- });
152
+ async login(username, password, email) {
153
+ // Swap in a real authorizer for all requests
154
+ const userAuth = new auth_user_1.TwitterUserAuth(api_1.bearerToken2);
155
+ await userAuth.login(username, password, email);
156
+ this.auth = userAuth;
157
+ this.authTrends = userAuth;
175
158
  }
176
159
  /**
177
160
  * Log out of Twitter.
178
161
  */
179
- logout() {
180
- return __awaiter(this, void 0, void 0, function* () {
181
- yield this.auth.logout();
182
- yield this.authTrends.logout();
183
- // Swap in guest authorizers for all requests
184
- this.auth = new auth_1.TwitterGuestAuth(api_1.bearerToken);
185
- this.authTrends = new auth_1.TwitterGuestAuth(api_1.bearerToken2);
186
- });
162
+ async logout() {
163
+ await this.auth.logout();
164
+ await this.authTrends.logout();
165
+ // Swap in guest authorizers for all requests
166
+ this.auth = new auth_1.TwitterGuestAuth(api_1.bearerToken);
167
+ this.authTrends = new auth_1.TwitterGuestAuth(api_1.bearerToken2);
187
168
  }
188
169
  /**
189
170
  * Retrieves all cookies for the current session.
190
171
  * @returns All cookies for the current session.
191
172
  */
192
- getCookies() {
193
- return __awaiter(this, void 0, void 0, function* () {
194
- return yield this.authTrends.cookieJar().getCookies(twUrl);
195
- });
173
+ async getCookies() {
174
+ return await this.authTrends.cookieJar().getCookies(twUrl);
196
175
  }
197
176
  /**
198
177
  * Set cookies for the current session.
199
178
  * @param cookies The cookies to set for the current session.
200
179
  */
201
- setCookies(cookies) {
202
- return __awaiter(this, void 0, void 0, function* () {
203
- const userAuth = new auth_user_1.TwitterUserAuth(api_1.bearerToken2);
204
- for (const cookie of cookies) {
205
- yield userAuth.cookieJar().setCookie(cookie, twUrl);
206
- }
207
- this.auth = userAuth;
208
- this.authTrends = userAuth;
209
- });
180
+ async setCookies(cookies) {
181
+ const userAuth = new auth_user_1.TwitterUserAuth(api_1.bearerToken2);
182
+ for (const cookie of cookies) {
183
+ await userAuth.cookieJar().setCookie(cookie, twUrl);
184
+ }
185
+ this.auth = userAuth;
186
+ this.authTrends = userAuth;
210
187
  }
211
188
  /**
212
189
  * Sets the optional cookie to be used in requests.
@@ -1 +1 @@
1
- {"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scraper.js","sourceRoot":"","sources":["../src/scraper.ts"],"names":[],"mappings":"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"}