Socket
Socket
Sign inDemoInstall

@octokit/types

Package Overview
Dependencies
1
Maintainers
3
Versions
207
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@octokit/types

Shared TypeScript definitions for Octokit projects


Version published
Maintainers
3
Weekly downloads
13,942,509
increased by2.42%

Weekly downloads

Package description

What is @octokit/types?

The @octokit/types npm package provides TypeScript definitions for GitHub's REST API, GraphQL API, and Webhooks. It is designed to be used with other Octokit libraries to offer type safety and auto-completion in code editors, making it easier to work with GitHub's APIs in a TypeScript project.

What are @octokit/types's main functionalities?

GitHub REST API Types

Provides types for responses from GitHub's REST API endpoints. This example shows how to type an object representing a GitHub issue as it would be returned from the REST API.

import { RestEndpointMethodTypes } from '@octokit/types';

const issue: RestEndpointMethodTypes['issues']['get']['response']['data'] = {
  id: 1,
  number: 1347,
  title: 'Just a test issue'
};

GitHub GraphQL API Types

Provides types for constructing and receiving responses from GitHub's GraphQL API. This example demonstrates fetching a repository's details using GraphQL and typing the response.

import { graphql } from '@octokit/graphql';
import { Repository } from '@octokit/types';

async function getRepository(owner: string, name: string): Promise<Repository> {
  const { repository } = await graphql<{ repository: Repository }>(
    `{
      repository(owner: "${owner}", name: "${name}") {
        id
        name
        owner {
          login
        }
      }
    }`
  );
  return repository;
}

GitHub Webhooks Types

Includes types for GitHub Webhook events. This example shows how to handle an incoming webhook event with type safety, specifically for an issue event.

import { WebhookEvent } from '@octokit/types';

function handleWebhook(event: WebhookEvent) {
  if (event.name === 'issues') {
    const action = event.payload.action;
    console.log(`Issue action: ${action}`);
  }
}

Other packages similar to @octokit/types

Readme

Source

types.ts

Shared TypeScript definitions for Octokit projects

@latest Build Status

Usage

See all exported types at https://octokit.github.io/types.ts

Examples

Get parameter and response data types for a REST API endpoint

import { Endpoints } from "@octokit/types";

type listUserReposParameters =
  Endpoints["GET /repos/{owner}/{repo}"]["parameters"];
type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"];

async function listRepos(
  options: listUserReposParameters
): listUserReposResponse["data"] {
  // ...
}

Get response types from endpoint methods

import {
  GetResponseTypeFromEndpointMethod,
  GetResponseDataTypeFromEndpointMethod,
} from "@octokit/types";
import { Octokit } from "@octokit/rest";

const octokit = new Octokit();
type CreateLabelResponseType = GetResponseTypeFromEndpointMethod<
  typeof octokit.issues.createLabel
>;
type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod<
  typeof octokit.issues.createLabel
>;

Contributing

See CONTRIBUTING.md

License

MIT

Keywords

FAQs

Last updated on 25 Jun 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc