@the-convocation/twitter-scraper 0.3.5 → 0.5.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/README.md +121 -0
- package/dist/api.d.ts +30 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +12 -5
- package/dist/api.js.map +1 -1
- package/dist/auth-user.d.ts +2 -2
- package/dist/auth-user.d.ts.map +1 -1
- package/dist/auth-user.js +3 -7
- package/dist/auth-user.js.map +1 -1
- package/dist/auth.d.ts +10 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +20 -2
- package/dist/auth.js.map +1 -1
- package/dist/profile.d.ts +17 -5
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +19 -5
- package/dist/profile.js.map +1 -1
- package/dist/scraper.d.ts +53 -3
- package/dist/scraper.d.ts.map +1 -1
- package/dist/scraper.js +52 -7
- package/dist/scraper.js.map +1 -1
- package/dist/search.js +4 -1
- package/dist/search.js.map +1 -1
- package/dist/timeline-search.d.ts +3 -3
- package/dist/timeline-search.d.ts.map +1 -1
- package/dist/timeline-search.js +6 -4
- package/dist/timeline-search.js.map +1 -1
- package/dist/timeline-v1.d.ts +28 -1
- package/dist/timeline-v1.d.ts.map +1 -1
- package/dist/timeline-v1.js.map +1 -1
- package/dist/timeline-v2.d.ts +42 -17
- package/dist/timeline-v2.d.ts.map +1 -1
- package/dist/timeline-v2.js +80 -51
- package/dist/timeline-v2.js.map +1 -1
- package/dist/tweets.d.ts +33 -1
- package/dist/tweets.d.ts.map +1 -1
- package/dist/tweets.js +49 -42
- package/dist/tweets.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -27,5 +27,126 @@ yarn add @the-convocation/twitter-scraper
|
|
|
27
27
|
|
|
28
28
|
TypeScript types have been bundled with the distribution.
|
|
29
29
|
|
|
30
|
+
## Usage
|
|
31
|
+
Most use cases are exactly the same as in [n0madic/twitter-scraper](https://github.com/n0madic/twitter-scraper).
|
|
32
|
+
Channel iterators have been translated into [AsyncGenerator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator)
|
|
33
|
+
instances, and can be consumed with the corresponding `for await (const x of y) { ... }` syntax.
|
|
34
|
+
|
|
35
|
+
### Browser usage
|
|
36
|
+
This package directly invokes the Twitter API, which does not have permissive CORS headers. With the default
|
|
37
|
+
settings, requests will fail unless you disable CORS checks, which is not advised. Instead, applications must
|
|
38
|
+
provide a CORS proxy and configure it in the `Scraper` options.
|
|
39
|
+
|
|
40
|
+
Proxies (and other request mutations) can be configured with the request interceptor transform:
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
const scraper = new Scraper({
|
|
44
|
+
transform: {
|
|
45
|
+
request(input: RequestInfo | URL, init?: RequestInit) {
|
|
46
|
+
// The arguments here are the same as the parameters to fetch(), and
|
|
47
|
+
// are kept as-is for flexibility of both the library and applications.
|
|
48
|
+
if (input instanceof URL) {
|
|
49
|
+
const proxy =
|
|
50
|
+
"https://corsproxy.io/?" +
|
|
51
|
+
encodeURIComponent(input.toString());
|
|
52
|
+
return [proxy, init];
|
|
53
|
+
} else if (typeof input === "string") {
|
|
54
|
+
const proxy =
|
|
55
|
+
"https://corsproxy.io/?" + encodeURIComponent(input);
|
|
56
|
+
return [proxy, init];
|
|
57
|
+
} else {
|
|
58
|
+
// Omitting handling for example
|
|
59
|
+
throw new Error("Unexpected request input type");
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
[corsproxy.io](https://corsproxy.io) is a public CORS proxy that works correctly with this package.
|
|
67
|
+
|
|
68
|
+
The public CORS proxy [corsproxy.org](https://corsproxy.org) *does not work* at the time of writing (at least
|
|
69
|
+
not using their recommended integration on the front page).
|
|
70
|
+
|
|
71
|
+
#### Next.js 13.x example:
|
|
72
|
+
```tsx
|
|
73
|
+
"use client";
|
|
74
|
+
|
|
75
|
+
import { Scraper, Tweet } from "@the-convocation/twitter-scraper";
|
|
76
|
+
import { useEffect, useMemo, useState } from "react";
|
|
77
|
+
|
|
78
|
+
export default function Home() {
|
|
79
|
+
const scraper = useMemo(
|
|
80
|
+
() =>
|
|
81
|
+
new Scraper({
|
|
82
|
+
transform: {
|
|
83
|
+
request(input: RequestInfo | URL, init?: RequestInit) {
|
|
84
|
+
if (input instanceof URL) {
|
|
85
|
+
const proxy =
|
|
86
|
+
"https://corsproxy.io/?" +
|
|
87
|
+
encodeURIComponent(input.toString());
|
|
88
|
+
return [proxy, init];
|
|
89
|
+
} else if (typeof input === "string") {
|
|
90
|
+
const proxy =
|
|
91
|
+
"https://corsproxy.io/?" + encodeURIComponent(input);
|
|
92
|
+
return [proxy, init];
|
|
93
|
+
} else {
|
|
94
|
+
throw new Error("Unexpected request input type");
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
}),
|
|
99
|
+
[],
|
|
100
|
+
);
|
|
101
|
+
const [tweet, setTweet] = useState<Tweet | null>(null);
|
|
102
|
+
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
async function getTweet() {
|
|
105
|
+
const latestTweet = await scraper.getLatestTweet("twitter");
|
|
106
|
+
if (latestTweet) {
|
|
107
|
+
setTweet(latestTweet);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
getTweet();
|
|
112
|
+
}, [scraper]);
|
|
113
|
+
|
|
114
|
+
return (
|
|
115
|
+
<main className="flex min-h-screen flex-col items-center justify-between p-24">
|
|
116
|
+
{tweet?.text}
|
|
117
|
+
</main>
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Edge runtimes
|
|
123
|
+
This package currently uses [`cross-fetch`](https://www.npmjs.com/package/cross-fetch) as a portable `fetch`.
|
|
124
|
+
Edge runtimes such as CloudFlare Workers sometimes have `fetch` functions that behave differently from the web
|
|
125
|
+
standard, so you may need to override the `fetch` function the scraper uses. If so, a custom `fetch` can be
|
|
126
|
+
provided in the options:
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
const scraper = new Scraper({
|
|
130
|
+
fetch: fetch
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Note that this does not change the arguments passed to the function, or the expected return type. If the custom
|
|
135
|
+
`fetch` function produces runtime errors related to incorrect types, be sure to wrap it in a shim (not currently
|
|
136
|
+
supported directly by interceptors):
|
|
137
|
+
|
|
138
|
+
```ts
|
|
139
|
+
const scraper = new Scraper({
|
|
140
|
+
fetch: (input, init) => {
|
|
141
|
+
// Transform input and init into your function's expected types...
|
|
142
|
+
return fetch(input, init)
|
|
143
|
+
.then((res) => {
|
|
144
|
+
// Transform res into a web-compliant response...
|
|
145
|
+
return res;
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
30
151
|
## Contributing
|
|
31
152
|
We use [Conventional Commits](https://www.conventionalcommits.org), and enforce this with precommit checks.
|
package/dist/api.d.ts
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
import { TwitterAuth } from './auth';
|
|
2
|
+
type FetchParameters = [input: RequestInfo | URL, init?: RequestInit];
|
|
3
|
+
export interface FetchTransformOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Transforms the request options before a request is made. This executes after all of the default
|
|
6
|
+
* parameters have been configured, and is stateless. It is safe to return new request options
|
|
7
|
+
* objects.
|
|
8
|
+
* @param args The request options.
|
|
9
|
+
* @returns The transformed request options.
|
|
10
|
+
*/
|
|
11
|
+
request: (...args: FetchParameters) => FetchParameters | Promise<FetchParameters>;
|
|
12
|
+
/**
|
|
13
|
+
* Transforms the response after a request completes. This executes immediately after the request
|
|
14
|
+
* completes, and is stateless. It is safe to return a new response object.
|
|
15
|
+
* @param response The response object.
|
|
16
|
+
* @returns The transformed response object.
|
|
17
|
+
*/
|
|
18
|
+
response: (response: Response) => Response | Promise<Response>;
|
|
19
|
+
}
|
|
2
20
|
export declare const bearerToken = "AAAAAAAAAAAAAAAAAAAAAFQODgEAAAAAVHTp76lzh3rFzcHbmHVvQxYYpTw%3DckAlMINMjmCwxUcaXbAN4XqJVdgMJaHqNOFgPMK0zN1qLqLQCF";
|
|
3
21
|
/**
|
|
4
22
|
* An API result container.
|
|
@@ -39,6 +57,18 @@ export declare function addApiFeatures(o: object): {
|
|
|
39
57
|
standardized_nudges_misinfo: boolean;
|
|
40
58
|
longform_notetweets_rich_text_read_enabled: boolean;
|
|
41
59
|
responsive_web_enhance_cards_enabled: boolean;
|
|
60
|
+
subscriptions_verification_info_enabled: boolean;
|
|
61
|
+
subscriptions_verification_info_reason_enabled: boolean;
|
|
62
|
+
subscriptions_verification_info_verified_since_enabled: boolean;
|
|
63
|
+
super_follow_badge_privacy_enabled: boolean;
|
|
64
|
+
super_follow_exclusive_tweet_notifications_enabled: boolean;
|
|
65
|
+
super_follow_tweet_api_enabled: boolean;
|
|
66
|
+
super_follow_user_api_enabled: boolean;
|
|
67
|
+
android_graphql_skip_api_media_color_palette: boolean;
|
|
68
|
+
creator_subscriptions_subscription_count_enabled: boolean;
|
|
69
|
+
blue_business_profile_image_shape_enabled: boolean;
|
|
70
|
+
unified_cards_ad_metadata_container_dynamic_card_content_query_enabled: boolean;
|
|
42
71
|
};
|
|
43
72
|
export declare function addApiParams(params: URLSearchParams, includeTweetReplies: boolean): URLSearchParams;
|
|
73
|
+
export {};
|
|
44
74
|
//# 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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAOrC,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,OAAO,EAAE,CACP,GAAG,IAAI,EAAE,eAAe,KACrB,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,WAAW,qHAC4F,CAAC;AAErH;;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;;;;;;;GAOG;AACH,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,CAyD9B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCvC;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,EACvB,mBAAmB,EAAE,OAAO,GAC3B,eAAe,CAoCjB"}
|
package/dist/api.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.addApiParams = exports.addApiFeatures = exports.requestApi = exports.bearerToken = void 0;
|
|
7
4
|
const errors_1 = require("./errors");
|
|
8
5
|
const requests_1 = require("./requests");
|
|
9
6
|
const headers_polyfill_1 = require("headers-polyfill");
|
|
10
|
-
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
11
7
|
exports.bearerToken = 'AAAAAAAAAAAAAAAAAAAAAFQODgEAAAAAVHTp76lzh3rFzcHbmHVvQxYYpTw%3DckAlMINMjmCwxUcaXbAN4XqJVdgMJaHqNOFgPMK0zN1qLqLQCF';
|
|
12
8
|
/**
|
|
13
9
|
* Used internally to send HTTP requests to the Twitter API.
|
|
@@ -23,7 +19,7 @@ async function requestApi(url, auth, method = 'GET') {
|
|
|
23
19
|
let res;
|
|
24
20
|
do {
|
|
25
21
|
try {
|
|
26
|
-
res = await
|
|
22
|
+
res = await auth.fetch(url, {
|
|
27
23
|
method,
|
|
28
24
|
headers,
|
|
29
25
|
});
|
|
@@ -93,6 +89,17 @@ function addApiFeatures(o) {
|
|
|
93
89
|
standardized_nudges_misinfo: true,
|
|
94
90
|
longform_notetweets_rich_text_read_enabled: true,
|
|
95
91
|
responsive_web_enhance_cards_enabled: false,
|
|
92
|
+
subscriptions_verification_info_enabled: true,
|
|
93
|
+
subscriptions_verification_info_reason_enabled: true,
|
|
94
|
+
subscriptions_verification_info_verified_since_enabled: true,
|
|
95
|
+
super_follow_badge_privacy_enabled: false,
|
|
96
|
+
super_follow_exclusive_tweet_notifications_enabled: false,
|
|
97
|
+
super_follow_tweet_api_enabled: false,
|
|
98
|
+
super_follow_user_api_enabled: false,
|
|
99
|
+
android_graphql_skip_api_media_color_palette: false,
|
|
100
|
+
creator_subscriptions_subscription_count_enabled: false,
|
|
101
|
+
blue_business_profile_image_shape_enabled: false,
|
|
102
|
+
unified_cards_ad_metadata_container_dynamic_card_content_query_enabled: false,
|
|
96
103
|
};
|
|
97
104
|
}
|
|
98
105
|
exports.addApiFeatures = addApiFeatures;
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;AACA,qCAAoC;AACpC,yCAA6C;AAC7C,uDAA2C;AA2B9B,QAAA,WAAW,GACtB,kHAAkH,CAAC;AASrH;;;;;;;GAOG;AACI,KAAK,UAAU,UAAU,CAC9B,GAAW,EACX,IAAiB,EACjB,SAAyB,KAAK;IAE9B,MAAM,OAAO,GAAG,IAAI,0BAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEnC,IAAI,GAAa,CAAC;IAClB,GAAG;QACD,IAAI;YACF,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC1B,MAAM;gBACN,OAAO;aACR,CAAC,CAAC;SACJ;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE;gBAC3B,MAAM,GAAG,CAAC;aACX;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,IAAI,KAAK,CAAC,4BAA4B,CAAC;aAC7C,CAAC;SACH;QAED,MAAM,IAAA,0BAAe,EAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAErD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;YACtB;;;;;cAKE;YACF,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtE,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC9D,IAAI,mBAAmB,IAAI,GAAG,IAAI,eAAe,EAAE;gBACjD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,CAAC;gBAErE,kDAAkD;gBAClD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;aAClE;SACF;KACF,QAAQ,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;IAE7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,OAAO;YACL,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,IAAI,iBAAQ,CAAC,GAAG,EAAE,oBAAoB,GAAG,CAAC,MAAM,EAAE,CAAC;SACzD,CAAC;KACH;IAED,MAAM,KAAK,GAAM,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,GAAG,EAAE;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KACjC;SAAM;QACL,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KACjC;AACH,CAAC;AA7DD,gCA6DC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,CAAS;IACtC,OAAO;QACL,GAAG,CAAC;QACJ,oCAAoC,EAAE,IAAI;QAC1C,gDAAgD,EAAE,IAAI;QACtD,4BAA4B,EAAE,KAAK;QACnC,+CAA+C,EAAE,IAAI;QACrD,kDAAkD,EAAE,IAAI;QACxD,iEAAiE,EAAE,KAAK;QACxE,wCAAwC,EAAE,IAAI;QAC9C,qCAAqC,EAAE,IAAI;QAC3C,0DAA0D,EAAE,IAAI;QAChE,kCAAkC,EAAE,IAAI;QACxC,uCAAuC,EAAE,IAAI;QAC7C,gCAAgC,EAAE,KAAK;QACvC,yCAAyC,EAAE,IAAI;QAC/C,2BAA2B,EAAE,IAAI;QACjC,0CAA0C,EAAE,IAAI;QAChD,oCAAoC,EAAE,KAAK;QAC3C,uCAAuC,EAAE,IAAI;QAC7C,8CAA8C,EAAE,IAAI;QACpD,sDAAsD,EAAE,IAAI;QAC5D,kCAAkC,EAAE,KAAK;QACzC,kDAAkD,EAAE,KAAK;QACzD,8BAA8B,EAAE,KAAK;QACrC,6BAA6B,EAAE,KAAK;QACpC,4CAA4C,EAAE,KAAK;QACnD,gDAAgD,EAAE,KAAK;QACvD,yCAAyC,EAAE,KAAK;QAChD,sEAAsE,EACpE,KAAK;KACR,CAAC;AACJ,CAAC;AAhCD,wCAgCC;AAED,SAAgB,YAAY,CAC1B,MAAuB,EACvB,mBAA4B;IAE5B,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,mBAAmB,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,GAAG,CACR,KAAK,EACL,iJAAiJ,CAClJ,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAvCD,oCAuCC"}
|
package/dist/auth-user.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { TwitterGuestAuth } from './auth';
|
|
1
|
+
import { TwitterAuthOptions, TwitterGuestAuth } from './auth';
|
|
2
2
|
import { Headers } from 'headers-polyfill';
|
|
3
3
|
/**
|
|
4
4
|
* A user authentication token manager.
|
|
5
5
|
*/
|
|
6
6
|
export declare class TwitterUserAuth extends TwitterGuestAuth {
|
|
7
|
-
constructor(bearerToken: string);
|
|
7
|
+
constructor(bearerToken: string, options?: Partial<TwitterAuthOptions>);
|
|
8
8
|
isLoggedIn(): Promise<boolean>;
|
|
9
9
|
login(username: string, password: string, email?: string): Promise<void>;
|
|
10
10
|
logout(): Promise<void>;
|
package/dist/auth-user.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-user.d.ts","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-user.d.ts","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAI9D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AA0C3C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;gBACvC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAIhE,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;CA2F9B"}
|
package/dist/auth-user.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.TwitterUserAuth = void 0;
|
|
7
4
|
const auth_1 = require("./auth");
|
|
@@ -9,13 +6,12 @@ const api_1 = require("./api");
|
|
|
9
6
|
const tough_cookie_1 = require("tough-cookie");
|
|
10
7
|
const requests_1 = require("./requests");
|
|
11
8
|
const headers_polyfill_1 = require("headers-polyfill");
|
|
12
|
-
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
13
9
|
/**
|
|
14
10
|
* A user authentication token manager.
|
|
15
11
|
*/
|
|
16
12
|
class TwitterUserAuth extends auth_1.TwitterGuestAuth {
|
|
17
|
-
constructor(bearerToken) {
|
|
18
|
-
super(bearerToken);
|
|
13
|
+
constructor(bearerToken, options) {
|
|
14
|
+
super(bearerToken, options);
|
|
19
15
|
}
|
|
20
16
|
async isLoggedIn() {
|
|
21
17
|
const res = await (0, api_1.requestApi)('https://api.twitter.com/1.1/account/verify_credentials.json', this);
|
|
@@ -155,7 +151,7 @@ class TwitterUserAuth extends auth_1.TwitterGuestAuth {
|
|
|
155
151
|
'x-twitter-active-user': 'yes',
|
|
156
152
|
'x-twitter-client-language': 'en',
|
|
157
153
|
});
|
|
158
|
-
const res = await
|
|
154
|
+
const res = await this.fetch(onboardingTaskUrl, {
|
|
159
155
|
method: 'POST',
|
|
160
156
|
headers: headers,
|
|
161
157
|
body: JSON.stringify(data),
|
package/dist/auth-user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-user.js","sourceRoot":"","sources":["../src/auth-user.ts"],"names":[],"mappings":"
|
|
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,6 +1,13 @@
|
|
|
1
1
|
import { CookieJar } from 'tough-cookie';
|
|
2
2
|
import { Headers } from 'headers-polyfill';
|
|
3
|
+
import fetch from 'cross-fetch';
|
|
4
|
+
import { FetchTransformOptions } from './api';
|
|
5
|
+
export interface TwitterAuthOptions {
|
|
6
|
+
fetch: typeof fetch;
|
|
7
|
+
transform: Partial<FetchTransformOptions>;
|
|
8
|
+
}
|
|
3
9
|
export interface TwitterAuth {
|
|
10
|
+
fetch: typeof fetch;
|
|
4
11
|
/**
|
|
5
12
|
* Returns the current cookie jar.
|
|
6
13
|
*/
|
|
@@ -46,11 +53,13 @@ export interface TwitterAuth {
|
|
|
46
53
|
* A guest authentication token manager. Automatically handles token refreshes.
|
|
47
54
|
*/
|
|
48
55
|
export declare class TwitterGuestAuth implements TwitterAuth {
|
|
56
|
+
protected readonly options?: Partial<TwitterAuthOptions> | undefined;
|
|
49
57
|
protected bearerToken: string;
|
|
50
58
|
protected jar: CookieJar;
|
|
51
59
|
protected guestToken?: string;
|
|
52
60
|
protected guestCreatedAt?: Date;
|
|
53
|
-
|
|
61
|
+
fetch: typeof fetch;
|
|
62
|
+
constructor(bearerToken: string, options?: Partial<TwitterAuthOptions> | undefined);
|
|
54
63
|
cookieJar(): CookieJar;
|
|
55
64
|
isLoggedIn(): Promise<boolean>;
|
|
56
65
|
login(_username: string, _password: string, _email?: string): Promise<void>;
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAC3C,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,KAAK,CAAC;IAEpB;;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;AAsBD;;GAEG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAUhD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IAT7B,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;IAEhC,KAAK,EAAE,OAAO,KAAK,CAAC;gBAGlB,WAAW,EAAE,MAAM,EACA,OAAO,CAAC,yCAA6B;IAO1D,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"}
|
package/dist/auth.js
CHANGED
|
@@ -8,11 +8,29 @@ const tough_cookie_1 = require("tough-cookie");
|
|
|
8
8
|
const requests_1 = require("./requests");
|
|
9
9
|
const headers_polyfill_1 = require("headers-polyfill");
|
|
10
10
|
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
11
|
+
/**
|
|
12
|
+
* Wraps the provided fetch function with transforms.
|
|
13
|
+
* @param fetchFn The fetch function.
|
|
14
|
+
* @param transform The transform options.
|
|
15
|
+
* @returns The input fetch function, wrapped with the provided transforms.
|
|
16
|
+
*/
|
|
17
|
+
function withTransform(fetchFn, transform) {
|
|
18
|
+
return async (input, init) => {
|
|
19
|
+
const fetchArgs = (await transform?.request?.(input, init)) ?? [
|
|
20
|
+
input,
|
|
21
|
+
init,
|
|
22
|
+
];
|
|
23
|
+
const res = await fetchFn(...fetchArgs);
|
|
24
|
+
return (await transform?.response?.(res)) ?? res;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
11
27
|
/**
|
|
12
28
|
* A guest authentication token manager. Automatically handles token refreshes.
|
|
13
29
|
*/
|
|
14
30
|
class TwitterGuestAuth {
|
|
15
|
-
constructor(bearerToken) {
|
|
31
|
+
constructor(bearerToken, options) {
|
|
32
|
+
this.options = options;
|
|
33
|
+
this.fetch = withTransform(options?.fetch ?? cross_fetch_1.default, options?.transform);
|
|
16
34
|
this.bearerToken = bearerToken;
|
|
17
35
|
this.jar = new tough_cookie_1.CookieJar();
|
|
18
36
|
}
|
|
@@ -70,7 +88,7 @@ class TwitterGuestAuth {
|
|
|
70
88
|
Authorization: `Bearer ${this.bearerToken}`,
|
|
71
89
|
Cookie: await this.jar.getCookieString(guestActivateUrl),
|
|
72
90
|
});
|
|
73
|
-
const res = await
|
|
91
|
+
const res = await this.fetch(guestActivateUrl, {
|
|
74
92
|
method: 'POST',
|
|
75
93
|
headers: headers,
|
|
76
94
|
});
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAyC;AACzC,yCAA6C;AAC7C,uDAA2C;AAC3C,8DAAgC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/profile.d.ts
CHANGED
|
@@ -13,17 +13,23 @@ export interface LegacyUserRaw {
|
|
|
13
13
|
favourites_count?: number;
|
|
14
14
|
followers_count?: number;
|
|
15
15
|
friends_count?: number;
|
|
16
|
+
media_count?: number;
|
|
17
|
+
statuses_count?: number;
|
|
16
18
|
id_str?: string;
|
|
17
19
|
listed_count?: number;
|
|
18
20
|
name?: string;
|
|
19
21
|
location: string;
|
|
22
|
+
geo_enabled?: boolean;
|
|
20
23
|
pinned_tweet_ids_str?: string[];
|
|
24
|
+
profile_background_color?: string;
|
|
21
25
|
profile_banner_url?: string;
|
|
22
26
|
profile_image_url_https?: string;
|
|
23
27
|
protected?: boolean;
|
|
24
28
|
screen_name?: string;
|
|
25
|
-
statuses_count?: number;
|
|
26
29
|
verified?: boolean;
|
|
30
|
+
has_custom_timelines?: boolean;
|
|
31
|
+
has_extended_profile?: boolean;
|
|
32
|
+
url?: string;
|
|
27
33
|
}
|
|
28
34
|
/**
|
|
29
35
|
* A parsed profile object.
|
|
@@ -36,8 +42,11 @@ export interface Profile {
|
|
|
36
42
|
followersCount?: number;
|
|
37
43
|
followingCount?: number;
|
|
38
44
|
friendsCount?: number;
|
|
45
|
+
mediaCount?: number;
|
|
46
|
+
statusesCount?: number;
|
|
39
47
|
isPrivate?: boolean;
|
|
40
48
|
isVerified?: boolean;
|
|
49
|
+
isBlueVerified?: boolean;
|
|
41
50
|
joined?: Date;
|
|
42
51
|
likesCount?: number;
|
|
43
52
|
listedCount?: number;
|
|
@@ -52,16 +61,19 @@ export interface Profile {
|
|
|
52
61
|
}
|
|
53
62
|
export interface UserRaw {
|
|
54
63
|
data: {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
64
|
+
user_result: {
|
|
65
|
+
result: {
|
|
66
|
+
rest_id?: string;
|
|
67
|
+
isBlueVerified: boolean;
|
|
68
|
+
legacy: LegacyUserRaw;
|
|
69
|
+
};
|
|
58
70
|
};
|
|
59
71
|
};
|
|
60
72
|
errors?: {
|
|
61
73
|
message: string;
|
|
62
74
|
}[];
|
|
63
75
|
}
|
|
64
|
-
export declare function parseProfile(user: LegacyUserRaw): Profile;
|
|
76
|
+
export declare function parseProfile(user: LegacyUserRaw, isBlueVerified?: boolean): Profile;
|
|
65
77
|
export declare function getProfile(username: string, auth: TwitterAuth): Promise<RequestApiResult<Profile>>;
|
|
66
78
|
export declare function getUserIdByScreenName(screenName: string, auth: TwitterAuth): Promise<RequestApiResult<string>>;
|
|
67
79
|
//# sourceMappingURL=profile.d.ts.map
|
package/dist/profile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
package/dist/profile.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.getUserIdByScreenName = exports.getProfile = exports.parseProfile = void 0;
|
|
7
|
+
const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
|
|
4
8
|
const api_1 = require("./api");
|
|
5
|
-
function parseProfile(user) {
|
|
9
|
+
function parseProfile(user, isBlueVerified) {
|
|
6
10
|
const profile = {
|
|
7
11
|
avatar: user.profile_image_url_https,
|
|
8
12
|
banner: user.profile_banner_url,
|
|
@@ -10,6 +14,7 @@ function parseProfile(user) {
|
|
|
10
14
|
followersCount: user.followers_count,
|
|
11
15
|
followingCount: user.favourites_count,
|
|
12
16
|
friendsCount: user.friends_count,
|
|
17
|
+
mediaCount: user.media_count,
|
|
13
18
|
isPrivate: user.protected,
|
|
14
19
|
isVerified: user.verified,
|
|
15
20
|
likesCount: user.favourites_count,
|
|
@@ -21,6 +26,7 @@ function parseProfile(user) {
|
|
|
21
26
|
url: `https://twitter.com/${user.screen_name}`,
|
|
22
27
|
userId: user.id_str,
|
|
23
28
|
username: user.screen_name,
|
|
29
|
+
isBlueVerified: isBlueVerified ?? false,
|
|
24
30
|
};
|
|
25
31
|
if (user.created_at != null) {
|
|
26
32
|
profile.joined = new Date(Date.parse(user.created_at));
|
|
@@ -34,11 +40,19 @@ function parseProfile(user) {
|
|
|
34
40
|
exports.parseProfile = parseProfile;
|
|
35
41
|
async function getProfile(username, auth) {
|
|
36
42
|
const params = new URLSearchParams();
|
|
37
|
-
params.set('variables',
|
|
43
|
+
params.set('variables', (0, json_stable_stringify_1.default)({
|
|
38
44
|
screen_name: username,
|
|
39
45
|
withHighlightedLabel: true,
|
|
40
46
|
}));
|
|
41
|
-
const
|
|
47
|
+
const features = (0, api_1.addApiFeatures)({
|
|
48
|
+
interactive_text_enabled: true,
|
|
49
|
+
longform_notetweets_inline_media_enabled: false,
|
|
50
|
+
responsive_web_text_conversations_enabled: false,
|
|
51
|
+
tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: false,
|
|
52
|
+
vibe_api_enabled: false,
|
|
53
|
+
});
|
|
54
|
+
params.set('features', (0, json_stable_stringify_1.default)(features));
|
|
55
|
+
const res = await (0, api_1.requestApi)(`https://api.twitter.com/graphql/u7wQyGi6oExe8_TRWGMq4Q/UserResultByScreenNameQuery?${params.toString()}`, auth);
|
|
42
56
|
if (!res.success) {
|
|
43
57
|
return res;
|
|
44
58
|
}
|
|
@@ -50,7 +64,7 @@ async function getProfile(username, auth) {
|
|
|
50
64
|
err: new Error(errors[0].message),
|
|
51
65
|
};
|
|
52
66
|
}
|
|
53
|
-
const { user } = value.data;
|
|
67
|
+
const { result: user } = value.data.user_result;
|
|
54
68
|
const { legacy } = user;
|
|
55
69
|
if (user.rest_id == null || user.rest_id.length === 0) {
|
|
56
70
|
return {
|
|
@@ -67,7 +81,7 @@ async function getProfile(username, auth) {
|
|
|
67
81
|
}
|
|
68
82
|
return {
|
|
69
83
|
success: true,
|
|
70
|
-
value: parseProfile(user.legacy),
|
|
84
|
+
value: parseProfile(user.legacy, user.isBlueVerified),
|
|
71
85
|
};
|
|
72
86
|
}
|
|
73
87
|
exports.getProfile = getProfile;
|
package/dist/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|