TypeScript definitions for Twitter API objects.
Carefully constructed with the data from over 400,000 Twitter API status objects. Format will match tweet_mode=extended
and include_entities=true
parameters set.
Note that the presence of field is not an indication of it being current and accurate part of the documented Twitter API.
npm install --save-dev twitter-d
The main two interfaces provided are Status
and User
although there are a number of related interfaces like MediaEntity
and AdditionalMediaInfo
.
import type { Status as Tweet, User } from 'twitter-d';
function getTweet(): Tweet {
/* ... */
}
function getUser(): User {
/* ... */
}
Or if you are using TypeScript 2.9+ you can use import()
.
function getStatus(): import('twitter-d').Status {
/* ... */
}
In some contexts, using trim_user=true
on GET statuses/mentions_timeline, you might get a user object that only includes id
and id_str
. To test if a User
value is a FullUser
you can use the isFullUser
helper function.
import type { isFullUser, User } from 'twitter-d';
function logUser(user: User) {
if (isFullUser(user)) {
console.log(user.name);
} else {
throw new Error('User is not type FullUser');
}
}
If you find find an inaccuracy please open an issue and include a status or user ID that demonstrates the difference.