twitter-d

TypeScript definitions for Twitter API objects

Usage no npm install needed!

<script type="module">
  import twitterD from 'https://cdn.skypack.dev/twitter-d';
</script>

README

twitter.d.ts

Version Status Build Status Dependency Status npm bundle size (minified + gzip)

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.

Install

npm install --save-dev twitter-d

Usage

The main two interfaces provided are Status and User although there are a number of related interfaces like MediaEntity and AdditionalMediaInfo.

import { 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 { /* ... */ }

User

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 { 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');
  }
}

Contributing

If you find find an inaccuracy please open an issue and include a status or user ID that demonstrates the difference.