Add auth support (#21)

* Updates

* Update

* Update

* Update

* Update

* Yarn sometimes prefers npmrc, so use same token

* Description

* Update readme

* Feedback

* Add type

* new toolkit and scoped registries

* npmrc in RUNNER_TEMP

* Dont always auth

* Try exporting blank token

* Get auth working for now pending runner changes

* Fix string interpolation for auth token.

* Don't export both userconfigs

* Update authutil.js

* Add single quotes for authString

* Fix the registry string.

* Use userconfig and append trailing slash

* Keep in root of repo

* Try just adding auth token

* Remove auth token

* Try changes again

* Add tests

* Npm and GPR samples

* Add types
This commit is contained in:
Danny McCormick 2019-08-06 18:26:04 -04:00 committed by GitHub
parent 0675b87d74
commit 78148dae50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
391 changed files with 79848 additions and 43 deletions

View File

@ -39,6 +39,47 @@ jobs:
- run: npm test
```
Publish to npmjs and GPR with npm:
```yaml
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@v1
with:
version: '10.x'
registry-url: 'https://registry.npmjs.org'
- run: npm install
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- uses: actions/setup-node@v1
with:
registry-url: 'https://npm.pkg.github.com'
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
Publish to npmjs and GPR with yarn:
```yaml
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@v1
with:
version: '10.x'
registry-url: <registry url>
- run: npm install -g yarn
- run: yarn install
- run: yarn publish
env:
NODE_AUTH_TOKEN: ${{ secrets.YARN_TOKEN }}
- uses: actions/setup-node@v1
with:
registry-url: 'https://npm.pkg.github.com'
- run: yarn publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
# License
The scripts and documentation in this project are released under the [MIT License](LICENSE)

View File

@ -0,0 +1,21 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`installer tests Appends trailing slash to registry 1`] = `
"//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}
registry=https://registry.npmjs.org/"
`;
exports[`installer tests Automatically configures GPR scope 1`] = `
"npm.pkg.github.com/:_authToken=\${NODE_AUTH_TOKEN}
@owner:registry=npm.pkg.github.com/"
`;
exports[`installer tests Configures scoped npm registries 1`] = `
"//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}
@myScope:registry=https://registry.npmjs.org/"
`;
exports[`installer tests Sets up npmrc for npmjs 1`] = `
"//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}
registry=https://registry.npmjs.org/"
`;

View File

@ -0,0 +1,62 @@
import io = require('@actions/io');
import fs = require('fs');
import path = require('path');
const tempDir = path.join(
__dirname,
'runner',
path.join(
Math.random()
.toString(36)
.substring(7)
),
'temp'
);
const rcFile = path.join(tempDir, '.npmrc');
process.env['GITHUB_REPOSITORY'] = 'owner/repo';
process.env['RUNNER_TEMP'] = tempDir;
import * as auth from '../src/authutil';
describe('installer tests', () => {
beforeAll(async () => {
await io.rmRF(tempDir);
await io.mkdirP(tempDir);
}, 100000);
beforeEach(() => {
if (fs.existsSync(rcFile)) {
fs.unlinkSync(rcFile);
}
process.env['INPUT_SCOPE'] = '';
});
it('Sets up npmrc for npmjs', async () => {
await auth.configAuthentication('https://registry.npmjs.org/');
expect(fs.existsSync(rcFile)).toBe(true);
expect(fs.readFileSync(rcFile, {encoding: 'utf8'})).toMatchSnapshot();
});
it('Appends trailing slash to registry', async () => {
await auth.configAuthentication('https://registry.npmjs.org');
expect(fs.existsSync(rcFile)).toBe(true);
expect(fs.readFileSync(rcFile, {encoding: 'utf8'})).toMatchSnapshot();
});
it('Configures scoped npm registries', async () => {
process.env['INPUT_SCOPE'] = 'myScope';
await auth.configAuthentication('https://registry.npmjs.org');
expect(fs.existsSync(rcFile)).toBe(true);
expect(fs.readFileSync(rcFile, {encoding: 'utf8'})).toMatchSnapshot();
});
it('Automatically configures GPR scope', async () => {
await auth.configAuthentication('npm.pkg.github.com');
expect(fs.existsSync(rcFile)).toBe(true);
expect(fs.readFileSync(rcFile, {encoding: 'utf8'})).toMatchSnapshot();
});
});

View File

@ -4,7 +4,7 @@ import os = require('os');
import path = require('path');
const toolDir = path.join(
process.cwd(),
__dirname,
'runner',
path.join(
Math.random()
@ -14,7 +14,7 @@ const toolDir = path.join(
'tools'
);
const tempDir = path.join(
process.cwd(),
__dirname,
'runner',
path.join(
Math.random()
@ -36,15 +36,6 @@ describe('installer tests', () => {
await io.rmRF(tempDir);
}, 100000);
afterAll(async () => {
try {
await io.rmRF(toolDir);
await io.rmRF(tempDir);
} catch {
console.log('Failed to remove test directories');
}
}, 100000);
it('Acquires version of node if no matching version is installed', async () => {
await installer.getNode('10.16.0');
const nodeDir = path.join(toolDir, 'node', '10.16.0', os.arch());

View File

@ -5,6 +5,10 @@ inputs:
version:
description: 'Version Spec of the version to use. Examples: 10.x, 10.15.1, >=10.15.0, lts'
default: '10.x'
registry-url:
description: 'Optional registry to set up for auth. Will set the registry in a project level .npmrc and .yarnrc file, and set up auth to read in from env.NODE_AUTH_TOKEN'
scope:
description: 'Optional scope for authenticating against scoped registries'
runs:
using: 'node12'
main: 'lib/setup-node.js'

52
lib/authutil.js Normal file
View File

@ -0,0 +1,52 @@
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs = __importStar(require("fs"));
const os = __importStar(require("os"));
const path = __importStar(require("path"));
const core = __importStar(require("@actions/core"));
const github = __importStar(require("@actions/github"));
function configAuthentication(registryUrl) {
const npmrc = path.resolve(process.env['RUNNER_TEMP'] || process.cwd(), '.npmrc');
if (!registryUrl.endsWith('/')) {
registryUrl += '/';
}
writeRegistryToFile(registryUrl, npmrc);
}
exports.configAuthentication = configAuthentication;
function writeRegistryToFile(registryUrl, fileLocation) {
let scope = core.getInput('scope');
if (!scope && registryUrl.indexOf('npm.pkg.github.com') > -1) {
scope = github.context.repo.owner;
}
if (scope && scope[0] != '@') {
scope = '@' + scope;
}
core.debug(`Setting auth in ${fileLocation}`);
let newContents = '';
if (fs.existsSync(fileLocation)) {
const curContents = fs.readFileSync(fileLocation, 'utf8');
curContents.split(os.EOL).forEach((line) => {
// Add current contents unless they are setting the registry
if (!line.toLowerCase().startsWith('registry')) {
newContents += line + os.EOL;
}
});
}
// Remove http: or https: from front of registry.
const authString = registryUrl.replace(/(^\w+:|^)/, '') + ':_authToken=${NODE_AUTH_TOKEN}';
const registryString = scope
? `${scope}:registry=${registryUrl}`
: `registry=${registryUrl}`;
newContents += `${authString}${os.EOL}${registryString}`;
fs.writeFileSync(fileLocation, newContents);
core.exportVariable('NPM_CONFIG_USERCONFIG', fileLocation);
// Export empty node_auth_token so npm doesn't complain about not being able to find it
core.exportVariable('NODE_AUTH_TOKEN', 'XXXXX-XXXXX-XXXXX-XXXXX');
}

View File

@ -17,6 +17,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(require("@actions/core"));
const installer = __importStar(require("./installer"));
const auth = __importStar(require("./authutil"));
const path = __importStar(require("path"));
function run() {
return __awaiter(this, void 0, void 0, function* () {
@ -30,6 +31,10 @@ function run() {
// TODO: installer doesn't support proxy
yield installer.getNode(version);
}
const registryUrl = core.getInput('registry-url');
if (registryUrl) {
auth.configAuthentication(registryUrl);
}
// TODO: setup proxy from runner proxy config
const matchersPath = path.join(__dirname, '..', '.github');
console.log(`##[add-matcher]${path.join(matchersPath, 'tsc.json')}`);

15
node_modules/.bin/which generated vendored Normal file
View File

@ -0,0 +1,15 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../which/bin/which" "$@"
ret=$?
else
node "$basedir/../which/bin/which" "$@"
ret=$?
fi
exit $ret

7
node_modules/.bin/which.cmd generated vendored Normal file
View File

@ -0,0 +1,7 @@
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\which\bin\which" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\which\bin\which" %*
)

48
node_modules/@actions/github/README.md generated vendored Normal file
View File

@ -0,0 +1,48 @@
# `@actions/github`
> A hydrated Octokit client.
## Usage
Returns an [Octokit SDK] client. See https://octokit.github.io/rest.js for the API.
```
const github = require('@actions/github');
const core = require('@actions/core');
// This should be a token with access to your repository scoped in as a secret.
const myToken = core.getInput('myToken');
const octokit = new github.GitHub(myToken);
const pulls = await octokit.pulls.get({
owner: 'octokit',
repo: 'rest.js',
pull_number: 123,
mediaType: {
format: 'diff'
}
});
console.log(pulls);
```
You can also make GraphQL requests:
```
const result = await octokit.graphql(query, variables);
```
Finally, you can get the context of the current action:
```
const github = require('@actions/github');
const context = github.context;
const newIssue = await octokit.issues.create({
...context.repo,
title: 'New issue!',
body: 'Hello Universe!'
});
```

26
node_modules/@actions/github/lib/context.d.ts generated vendored Normal file
View File

@ -0,0 +1,26 @@
import { WebhookPayload } from './interfaces';
export declare class Context {
/**
* Webhook payload object that triggered the workflow
*/
payload: WebhookPayload;
eventName: string;
sha: string;
ref: string;
workflow: string;
action: string;
actor: string;
/**
* Hydrate the context from the environment
*/
constructor();
readonly issue: {
owner: string;
repo: string;
number: number;
};
readonly repo: {
owner: string;
repo: string;
};
}

38
node_modules/@actions/github/lib/context.js generated vendored Normal file
View File

@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable @typescript-eslint/no-require-imports */
class Context {
/**
* Hydrate the context from the environment
*/
constructor() {
this.payload = process.env.GITHUB_EVENT_PATH
? require(process.env.GITHUB_EVENT_PATH)
: {};
this.eventName = process.env.GITHUB_EVENT_NAME;
this.sha = process.env.GITHUB_SHA;
this.ref = process.env.GITHUB_REF;
this.workflow = process.env.GITHUB_WORKFLOW;
this.action = process.env.GITHUB_ACTION;
this.actor = process.env.GITHUB_ACTOR;
}
get issue() {
const payload = this.payload;
return Object.assign({}, this.repo, { number: (payload.issue || payload.pullRequest || payload).number });
}
get repo() {
if (process.env.GITHUB_REPOSITORY) {
const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');
return { owner, repo };
}
if (this.payload.repository) {
return {
owner: this.payload.repository.owner.login,
repo: this.payload.repository.name
};
}
throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
}
}
exports.Context = Context;
//# sourceMappingURL=context.js.map

1
node_modules/@actions/github/lib/context.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;AAGA,0DAA0D;AAE1D,MAAa,OAAO;IAalB;;OAEG;IACH;QACE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC1C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACxC,CAAC,CAAC,EAAE,CAAA;QACN,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;IACjD,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,yBACK,IAAI,CAAC,IAAI,IACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,MAAM,IACjE;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACnC,CAAA;SACF;QAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;CACF;AAtDD,0BAsDC"}

8
node_modules/@actions/github/lib/github.d.ts generated vendored Normal file
View File

@ -0,0 +1,8 @@
import { GraphQlQueryResponse, Variables } from '@octokit/graphql';
import Octokit from '@octokit/rest';
import * as Context from './context';
export declare const context: Context.Context;
export declare class GitHub extends Octokit {
graphql: (query: string, variables?: Variables) => Promise<GraphQlQueryResponse>;
constructor(token: string);
}

29
node_modules/@actions/github/lib/github.js generated vendored Normal file
View File

@ -0,0 +1,29 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
// Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/master/src/github.ts
const graphql_1 = require("@octokit/graphql");
const rest_1 = __importDefault(require("@octokit/rest"));
const Context = __importStar(require("./context"));
// We need this in order to extend Octokit
rest_1.default.prototype = new rest_1.default();
exports.context = new Context.Context();
class GitHub extends rest_1.default {
constructor(token) {
super({ auth: `token ${token}` });
this.graphql = graphql_1.defaults({
headers: { authorization: `token ${token}` }
});
}
}
exports.GitHub = GitHub;
//# sourceMappingURL=github.js.map

1
node_modules/@actions/github/lib/github.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gGAAgG;AAChG,8CAA0E;AAC1E,yDAAmC;AACnC,mDAAoC;AAEpC,0CAA0C;AAC1C,cAAO,CAAC,SAAS,GAAG,IAAI,cAAO,EAAE,CAAA;AAEpB,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C,MAAa,MAAO,SAAQ,cAAO;IAMjC,YAAY,KAAa;QACvB,KAAK,CAAC,EAAC,IAAI,EAAE,SAAS,KAAK,EAAE,EAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,kBAAQ,CAAC;YACtB,OAAO,EAAE,EAAC,aAAa,EAAE,SAAS,KAAK,EAAE,EAAC;SAC3C,CAAC,CAAA;IACJ,CAAC;CACF;AAZD,wBAYC"}

36
node_modules/@actions/github/lib/interfaces.d.ts generated vendored Normal file
View File

@ -0,0 +1,36 @@
export interface PayloadRepository {
[key: string]: any;
full_name?: string;
name: string;
owner: {
[key: string]: any;
login: string;
name?: string;
};
html_url?: string;
}
export interface WebhookPayload {
[key: string]: any;
repository?: PayloadRepository;
issue?: {
[key: string]: any;
number: number;
html_url?: string;
body?: string;
};
pull_request?: {
[key: string]: any;
number: number;
html_url?: string;
body?: string;
};
sender?: {
[key: string]: any;
type: string;
};
action?: string;
installation?: {
id: number;
[key: string]: any;
};
}

4
node_modules/@actions/github/lib/interfaces.js generated vendored Normal file
View File

@ -0,0 +1,4 @@
"use strict";
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=interfaces.js.map

1
node_modules/@actions/github/lib/interfaces.js.map generated vendored Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,uDAAuD"}

68
node_modules/@actions/github/package.json generated vendored Normal file
View File

@ -0,0 +1,68 @@
{
"_from": "file:toolkit\\actions-github-0.0.0.tgz",
"_id": "@actions/github@0.0.0",
"_inBundle": false,
"_integrity": "sha512-CByX5VIagC5BqGwsHD9Qt5MfN+H6GDC9qQl+MIUipaHTc89sUG/vAY/xQDS9vxuuRwrxbdERwKO3dR6U1BSziw==",
"_location": "/@actions/github",
"_phantomChildren": {},
"_requested": {
"type": "file",
"where": "C:\\Users\\Administrator\\Documents\\setup-node",
"raw": "@actions/github@file:toolkit/actions-github-0.0.0.tgz",
"name": "@actions/github",
"escapedName": "@actions%2fgithub",
"scope": "@actions",
"rawSpec": "file:toolkit/actions-github-0.0.0.tgz",
"saveSpec": "file:toolkit\\actions-github-0.0.0.tgz",
"fetchSpec": "C:\\Users\\Administrator\\Documents\\setup-node\\toolkit\\actions-github-0.0.0.tgz"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "C:\\Users\\Administrator\\Documents\\setup-node\\toolkit\\actions-github-0.0.0.tgz",
"_shasum": "d9a87b3682d66d032fffcaff1adcdb2decd92b81",
"_spec": "@actions/github@file:toolkit/actions-github-0.0.0.tgz",
"_where": "C:\\Users\\Administrator\\Documents\\setup-node",
"bugs": {
"url": "https://github.com/actions/toolkit/issues"
},
"bundleDependencies": false,
"dependencies": {
"@octokit/graphql": "^2.0.1",
"@octokit/rest": "^16.15.0"
},
"deprecated": false,
"description": "Actions github lib",
"devDependencies": {
"jest": "^24.7.1"
},
"directories": {
"lib": "lib",
"test": "__tests__"
},
"files": [
"lib"
],
"homepage": "https://github.com/actions/toolkit/tree/master/packages/github",
"keywords": [
"github",
"actions"
],
"license": "MIT",
"main": "lib/github.js",
"name": "@actions/github",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git+https://github.com/actions/toolkit.git"
},
"scripts": {
"build": "tsc",
"test": "jest",
"tsc": "tsc"
},
"version": "0.0.0"
}

2
node_modules/@actions/io/README.md generated vendored
View File

@ -50,4 +50,4 @@ const io = require('@actions/io');
const pythonPath: string = await io.which('python', true)
await exec.exec(`"${pythonPath}"`, ['main.py']);
```
```

View File

@ -433,4 +433,4 @@ function _evaluateVersions(versions, versionSpec) {
}
return version;
}
//# sourceMappingURL=tool-cache.js.map
//# sourceMappingURL=tool-cache.js.map

21
node_modules/@octokit/endpoint/LICENSE generated vendored Normal file
View File

@ -0,0 +1,21 @@
The MIT License
Copyright (c) 2018 Octokit contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

421
node_modules/@octokit/endpoint/README.md generated vendored Normal file
View File

@ -0,0 +1,421 @@
# endpoint.js
> Turns GitHub REST API endpoints into generic request options
[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint)
[![Build Status](https://travis-ci.org/octokit/endpoint.js.svg?branch=master)](https://travis-ci.org/octokit/endpoint.js)
[![Greenkeeper](https://badges.greenkeeper.io/octokit/endpoint.js.svg)](https://greenkeeper.io/)
`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library.
<!-- update table of contents by running `npx markdown-toc README.md -i` -->
<!-- toc -->
- [Usage](#usage)
- [API](#api)
- [endpoint()](#endpoint)
- [endpoint.defaults()](#endpointdefaults)
- [endpoint.DEFAULTS](#endpointdefaults)
- [endpoint.merge()](#endpointmerge)
- [endpoint.parse()](#endpointparse)
- [Special cases](#special-cases)
- [The `data` parameter set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly)
- [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body)
- [LICENSE](#license)
<!-- tocstop -->
## Usage
<table>
<tbody valign=top align=left>
<tr><th>
Browsers
</th><td width=100%>
Load <code>@octokit/endpoint</code> directly from <a href="https://cdn.pika.dev">cdn.pika.dev</a>
```html
<script type="module">
import { endpoint } from "https://cdn.pika.dev/@octokit/endpoint";
</script>
```
</td></tr>
<tr><th>
Node
</th><td>
Install with <code>npm install @octokit/endpoint</code>
```js
const { endpoint } = require("@octokit/endpoint");
// or: import { endpoint } from "@octokit/endpoint";
```
</td></tr>
</tbody>
</table>
Example for [List organization repositories](https://developer.github.com/v3/repos/#list-organization-repositories)
```js
const requestOptions = endpoint("GET /orgs/:org/repos", {
headers: {
authorization: "token 0000000000000000000000000000000000000001"
},
org: "octokit",
type: "private"
});
```
The resulting `requestOptions` looks as follows
```json
{
"method": "GET",
"url": "https://api.github.com/orgs/octokit/repos?type=private",
"headers": {
"accept": "application/vnd.github.v3+json",
"authorization": "token 0000000000000000000000000000000000000001",
"user-agent": "octokit/endpoint.js v1.2.3"
}
}
```
You can pass `requestOptions` to commen request libraries
```js
const { url, ...options } = requestOptions;
// using with fetch (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
fetch(url, options);
// using with request (https://github.com/request/request)
request(requestOptions);
// using with got (https://github.com/sindresorhus/got)
got[options.method](url, options);
// using with axios
axios(requestOptions);
```
## API
### `endpoint(route, options)` or `endpoint(options)`
<table>
<thead align=left>
<tr>
<th>
name
</th>
<th>
type
</th>
<th width=100%>
description
</th>
</tr>
</thead>
<tbody align=left valign=top>
<tr>
<th>
<code>route</code>
</th>
<td>
String
</td>
<td>
If set, it has to be a string consisting of URL and the request method, e.g., <code>GET /orgs/:org</code>. If its set to a URL, only the method defaults to <code>GET</code>.
</td>
</tr>
<tr>
<th>
<code>options.method</code>
</th>
<td>
String
</td>
<td>
<strong>Required unless <code>route</code> is set.</strong> Any supported <a href="https://developer.github.com/v3/#http-verbs">http verb</a>. <em>Defaults to <code>GET</code></em>.
</td>
</tr>
<tr>
<th>
<code>options.url</code>
</th>
<td>
String
</td>
<td>
<strong>Required unless <code>route</code> is set.</strong> A path or full URL which may contain <code>:variable</code> or <code>{variable}</code> placeholders,
e.g., <code>/orgs/:org/repos</code>. The <code>url</code> is parsed using <a href="https://github.com/bramstein/url-template">url-template</a>.
</td>
</tr>
<tr>
<th>
<code>options.baseUrl</code>
</th>
<td>
String
</td>
<td>
<em>Defaults to <code>https://api.github.com</code></em>.
</td>
</tr>
<tr>
<th>
<code>options.headers</code>
</th>
<td>
Object
</td>
<td>
Custom headers. Passed headers are merged with defaults:<br>
<em><code>headers['user-agent']</code> defaults to <code>octokit-endpoint.js/1.2.3</code> (where <code>1.2.3</code> is the released version)</em>.<br>
<em><code>headers['accept']</code> defaults to <code>application/vnd.github.v3+json</code></em>.<br>
</td>
</tr>
<tr>
<th>
<code>options.mediaType.format</code>
</th>
<td>
String
</td>
<td>
Media type param, such as <code>raw</code>, <code>diff</code>, or <code>text+json</code>. See <a href="https://developer.github.com/v3/media/">Media Types</a>. Setting <code>options.mediaType.format</code> will amend the <code>headers.accept</code> value.
</td>
</tr>
<tr>
<th>
<code>options.mediaType.previews</code>
</th>
<td>
Array of Strings
</td>
<td>
Name of previews, such as <code>mercy</code>, <code>symmetra</code>, or <code>scarlet-witch</code>. See <a href="https://developer.github.com/v3/previews/">API Previews</a>. If <code>options.mediaType.previews</code> was set as default, the new previews will be merged into the default ones. Setting <code>options.mediaType.previews</code> will amend the <code>headers.accept</code> value. <code>options.mediaType.previews</code> will be merged with an existing array set using <code>.defaults()</code>.
</td>
</tr>
<tr>
<th>
<code>options.data</code>
</th>
<td>
Any
</td>
<td>
Set request body directly instead of setting it to JSON based on additional parameters. See <a href="#data-parameter">"The <code>data</code> parameter"</a> below.
</td>
</tr>
<tr>
<th>
<code>options.request</code>
</th>
<td>
Object
</td>
<td>
Pass custom meta information for the request. The <code>request</code> object will be returned as is.
</td>
</tr>
</tbody>
</table>
All other options will be passed depending on the `method` and `url` options.
1. If the option key has a placeholder in the `url`, it will be used as the replacement. For example, if the passed options are `{url: '/orgs/:org/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos`.
2. If the `method` is `GET` or `HEAD`, the option is passed as a query parameter.
3. Otherwise, the parameter is passed in the request body as a JSON key.
**Result**
`endpoint()` is a synchronous method and returns an object with the following keys:
<table>
<thead align=left>
<tr>
<th>
key
</th>
<th>
type
</th>
<th width=100%>
description
</th>
</tr>
</thead>
<tbody align=left valign=top>
<tr>
<th><code>method</code></th>
<td>String</td>
<td>The http method. Always lowercase.</td>
</tr>
<tr>
<th><code>url</code></th>
<td>String</td>
<td>The url with placeholders replaced with passed parameters.</td>
</tr>
<tr>
<th><code>headers</code></th>
<td>Object</td>
<td>All header names are lowercased.</td>
</tr>
<tr>
<th><code>body</code></th>
<td>Any</td>
<td>The request body if one is present. Only for <code>PATCH</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code> requests.</td>
</tr>
<tr>
<th><code>request</code></th>
<td>Object</td>
<td>Request meta option, it will be returned as it was passed into <code>endpoint()</code></td>
</tr>
</tbody>
</table>
### `endpoint.defaults()`
Override or set default options. Example:
```js
const request = require("request");
const myEndpoint = require("@octokit/endpoint").defaults({
baseUrl: "https://github-enterprise.acme-inc.com/api/v3",
headers: {
"user-agent": "myApp/1.2.3",
authorization: `token 0000000000000000000000000000000000000001`
},
org: "my-project",
per_page: 100
});
request(myEndpoint(`GET /orgs/:org/repos`));
```
You can call `.defaults()` again on the returned method, the defaults will cascade.
```js
const myProjectEndpoint = endpoint.defaults({
baseUrl: "https://github-enterprise.acme-inc.com/api/v3",
headers: {
"user-agent": "myApp/1.2.3"
},
org: "my-project"
});
const myProjectEndpointWithAuth = myProjectEndpoint.defaults({
headers: {
authorization: `token 0000000000000000000000000000000000000001`
}
});
```
`myProjectEndpointWithAuth` now defaults the `baseUrl`, `headers['user-agent']`,
`org` and `headers['authorization']` on top of `headers['accept']` that is set
by the global default.
### `endpoint.DEFAULTS`
The current default options.
```js
endpoint.DEFAULTS.baseUrl; // https://api.github.com
const myEndpoint = endpoint.defaults({
baseUrl: "https://github-enterprise.acme-inc.com/api/v3"
});
myEndpoint.DEFAULTS.baseUrl; // https://github-enterprise.acme-inc.com/api/v3
```
### `endpoint.merge(route, options)` or `endpoint.merge(options)`
Get the defaulted endpoint options, but without parsing them into request options:
```js
const myProjectEndpoint = endpoint.defaults({
baseUrl: "https://github-enterprise.acme-inc.com/api/v3",
headers: {
"user-agent": "myApp/1.2.3"
},
org: "my-project"
});
myProjectEndpoint.merge("GET /orgs/:org/repos", {
headers: {
authorization: `token 0000000000000000000000000000000000000001`
},
org: "my-secret-project",
type: "private"
});
// {
// baseUrl: 'https://github-enterprise.acme-inc.com/api/v3',
// method: 'GET',
// url: '/orgs/:org/repos',
// headers: {
// accept: 'application/vnd.github.v3+json',
// authorization: `token 0000000000000000000000000000000000000001`,
// 'user-agent': 'myApp/1.2.3'
// },
// org: 'my-secret-project',
// type: 'private'
// }
```
### `endpoint.parse()`
Stateless method to turn endpoint options into request options. Calling
`endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`.
## Special cases
<a name="data-parameter"></a>
### The `data` parameter set request body directly
Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) dont have parameters that are sent as request body keys, instead, the request body needs to be set directly. In these cases, set the `data` parameter.
```js
const options = endpoint("POST /markdown/raw", {
data: "Hello world github/linguist#1 **cool**, and #1!",
headers: {
accept: "text/html;charset=utf-8",
"content-type": "text/plain"
}
});
// options is
// {
// method: 'post',
// url: 'https://api.github.com/markdown/raw',
// headers: {
// accept: 'text/html;charset=utf-8',
// 'content-type': 'text/plain',
// 'user-agent': userAgent
// },
// body: 'Hello world github/linguist#1 **cool**, and #1!'
// }
```
### Set parameters for both the URL/query and the request body
There are API endpoints that accept both query parameters as well as a body. In that case, you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570).
Example
```js
endpoint(
"POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}",
{
name: "example.zip",
label: "short description",
headers: {
"content-type": "text/plain",
"content-length": 14,
authorization: `token 0000000000000000000000000000000000000001`
},
data: "Hello, world!"
}
);
```
## LICENSE
[MIT](LICENSE)

197
node_modules/@octokit/endpoint/dist-node/index.js generated vendored Normal file
View File

@ -0,0 +1,197 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var deepmerge = _interopDefault(require('deepmerge'));
var isPlainObject = _interopDefault(require('is-plain-object'));
var urlTemplate = _interopDefault(require('url-template'));
var getUserAgent = _interopDefault(require('universal-user-agent'));
function lowercaseKeys(object) {
if (!object) {
return {};
}
return Object.keys(object).reduce((newObj, key) => {
newObj[key.toLowerCase()] = object[key];
return newObj;
}, {});
}
function merge(defaults, route, options) {
if (typeof route === "string") {
let [method, url] = route.split(" ");
options = Object.assign(url ? {
method,
url
} : {
url: method
}, options);
} else {
options = route || {};
} // lowercase header names before merging with defaults to avoid duplicates
options.headers = lowercaseKeys(options.headers);
const mergedOptions = deepmerge.all([defaults, options].filter(Boolean), {
isMergeableObject: isPlainObject
}); // mediaType.previews arrays are merged, instead of overwritten
if (defaults && defaults.mediaType.previews.length) {
mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);
}
mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, ""));
return mergedOptions;
}
function addQueryParameters(url, parameters) {
const separator = /\?/.test(url) ? "&" : "?";
const names = Object.keys(parameters);
if (names.length === 0) {
return url;
}
return url + separator + names.map(name => {
if (name === "q") {
return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
}
return `${name}=${encodeURIComponent(parameters[name])}`;
}).join("&");
}
const urlVariableRegex = /\{[^}]+\}/g;
function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
}
function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex);
if (!matches) {
return [];
}
return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
}
function omit(object, keysToOmit) {
return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {
obj[key] = object[key];
return obj;
}, {});
}
function parse(options) {
// https://fetch.spec.whatwg.org/#methods
let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible
let url = options.url.replace(/:([a-z]\w+)/g, "{+$1}");
let headers = Object.assign({}, options.headers);
let body;
let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later
const urlVariableNames = extractUrlVariableNames(url);
url = urlTemplate.parse(url).expand(parameters);
if (!/^http/.test(url)) {
url = options.baseUrl + url;
}
const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl");
const remainingParameters = omit(parameters, omittedParameters);
const isBinaryRequset = /application\/octet-stream/i.test(headers.accept);
if (!isBinaryRequset) {
if (options.mediaType.format) {
// e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw
headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(",");
}
if (options.mediaType.previews.length) {
const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {
const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
return `application/vnd.github.${preview}-preview${format}`;
}).join(",");
}
} // for GET/HEAD requests, set URL query parameters from remaining parameters
// for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters
if (["GET", "HEAD"].includes(method)) {
url = addQueryParameters(url, remainingParameters);
} else {
if ("data" in remainingParameters) {
body = remainingParameters.data;
} else {
if (Object.keys(remainingParameters).length) {
body = remainingParameters;
} else {
headers["content-length"] = 0;
}
}
} // default content-type for JSON if body is set
if (!headers["content-type"] && typeof body !== "undefined") {
headers["content-type"] = "application/json; charset=utf-8";
} // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.
// fetch does not allow to set `content-length` header, but we can set body to an empty string
if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
body = "";
} // Only return body/request keys if present
return Object.assign({
method,
url,
headers
}, typeof body !== "undefined" ? {
body
} : null, options.request ? {
request: options.request
} : null);
}
function endpointWithDefaults(defaults, route, options) {
return parse(merge(defaults, route, options));
}
function withDefaults(oldDefaults, newDefaults) {
const DEFAULTS = merge(oldDefaults, newDefaults);
const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
return Object.assign(endpoint, {
DEFAULTS,
defaults: withDefaults.bind(null, DEFAULTS),
merge: merge.bind(null, DEFAULTS),
parse
});
}
const VERSION = "0.0.0-development";
const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;
const DEFAULTS = {
method: "GET",
baseUrl: "https://api.github.com",
headers: {
accept: "application/vnd.github.v3+json",
"user-agent": userAgent
},
mediaType: {
format: "",
previews: []
}
};
const endpoint = withDefaults(null, DEFAULTS);
exports.endpoint = endpoint;

15
node_modules/@octokit/endpoint/dist-src/defaults.js generated vendored Normal file
View File

@ -0,0 +1,15 @@
import getUserAgent from "universal-user-agent";
import { VERSION } from "./version";
const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;
export const DEFAULTS = {
method: "GET",
baseUrl: "https://api.github.com",
headers: {
accept: "application/vnd.github.v3+json",
"user-agent": userAgent
},
mediaType: {
format: "",
previews: []
}
};

View File

@ -0,0 +1,5 @@
import { merge } from "./merge";
import { parse } from "./parse";
export function endpointWithDefaults(defaults, route, options) {
return parse(merge(defaults, route, options));
}

View File

3
node_modules/@octokit/endpoint/dist-src/index.js generated vendored Normal file
View File

@ -0,0 +1,3 @@
import { withDefaults } from "./with-defaults";
import { DEFAULTS } from "./defaults";
export const endpoint = withDefaults(null, DEFAULTS);

25
node_modules/@octokit/endpoint/dist-src/merge.js generated vendored Normal file
View File

@ -0,0 +1,25 @@
import deepmerge from "deepmerge";
import isPlainObject from "is-plain-object";
import { lowercaseKeys } from "./util/lowercase-keys";
export function merge(defaults, route, options) {
if (typeof route === "string") {
let [method, url] = route.split(" ");
options = Object.assign(url ? { method, url } : { url: method }, options);
}
else {
options = route || {};
}
// lowercase header names before merging with defaults to avoid duplicates
options.headers = lowercaseKeys(options.headers);
const mergedOptions = deepmerge.all([defaults, options].filter(Boolean), {
isMergeableObject: isPlainObject
});
// mediaType.previews arrays are merged, instead of overwritten
if (defaults && defaults.mediaType.previews.length) {
mergedOptions.mediaType.previews = defaults.mediaType.previews
.filter(preview => !mergedOptions.mediaType.previews.includes(preview))
.concat(mergedOptions.mediaType.previews);
}
mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, ""));
return mergedOptions;
}

81
node_modules/@octokit/endpoint/dist-src/parse.js generated vendored Normal file
View File

@ -0,0 +1,81 @@
import urlTemplate from "url-template";
import { addQueryParameters } from "./util/add-query-parameters";
import { extractUrlVariableNames } from "./util/extract-url-variable-names";
import { omit } from "./util/omit";
export function parse(options) {
// https://fetch.spec.whatwg.org/#methods
let method = options.method.toUpperCase();
// replace :varname with {varname} to make it RFC 6570 compatible
let url = options.url.replace(/:([a-z]\w+)/g, "{+$1}");
let headers = Object.assign({}, options.headers);
let body;
let parameters = omit(options, [
"method",
"baseUrl",
"url",
"headers",
"request",
"mediaType"
]);
// extract variable names from URL to calculate remaining variables later
const urlVariableNames = extractUrlVariableNames(url);
url = urlTemplate.parse(url).expand(parameters);
if (!/^http/.test(url)) {
url = options.baseUrl + url;
}
const omittedParameters = Object.keys(options)
.filter(option => urlVariableNames.includes(option))
.concat("baseUrl");
const remainingParameters = omit(parameters, omittedParameters);
const isBinaryRequset = /application\/octet-stream/i.test(headers.accept);
if (!isBinaryRequset) {
if (options.mediaType.format) {
// e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw
headers.accept = headers.accept
.split(/,/)
.map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))
.join(",");
}
if (options.mediaType.previews.length) {
const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
headers.accept = previewsFromAcceptHeader
.concat(options.mediaType.previews)
.map(preview => {
const format = options.mediaType.format
? `.${options.mediaType.format}`
: "+json";
return `application/vnd.github.${preview}-preview${format}`;
})
.join(",");
}
}
// for GET/HEAD requests, set URL query parameters from remaining parameters
// for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters
if (["GET", "HEAD"].includes(method)) {
url = addQueryParameters(url, remainingParameters);
}
else {
if ("data" in remainingParameters) {
body = remainingParameters.data;
}
else {
if (Object.keys(remainingParameters).length) {
body = remainingParameters;
}
else {
headers["content-length"] = 0;
}
}
}
// default content-type for JSON if body is set
if (!headers["content-type"] && typeof body !== "undefined") {
headers["content-type"] = "application/json; charset=utf-8";
}
// GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.
// fetch does not allow to set `content-length` header, but we can set body to an empty string
if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
body = "";
}
// Only return body/request keys if present
return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null);
}

0
node_modules/@octokit/endpoint/dist-src/types.js generated vendored Normal file
View File

View File

@ -0,0 +1,21 @@
export function addQueryParameters(url, parameters) {
const separator = /\?/.test(url) ? "&" : "?";
const names = Object.keys(parameters);
if (names.length === 0) {
return url;
}
return (url +
separator +
names
.map(name => {
if (name === "q") {
return ("q=" +
parameters
.q.split("+")
.map(encodeURIComponent)
.join("+"));
}
return `${name}=${encodeURIComponent(parameters[name])}`;
})
.join("&"));
}

View File

@ -0,0 +1,11 @@
const urlVariableRegex = /\{[^}]+\}/g;
function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
}
export function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex);
if (!matches) {
return [];
}
return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
}

View File

@ -0,0 +1,9 @@
export function lowercaseKeys(object) {
if (!object) {
return {};
}
return Object.keys(object).reduce((newObj, key) => {
newObj[key.toLowerCase()] = object[key];
return newObj;
}, {});
}

8
node_modules/@octokit/endpoint/dist-src/util/omit.js generated vendored Normal file
View File

@ -0,0 +1,8 @@
export function omit(object, keysToOmit) {
return Object.keys(object)
.filter(option => !keysToOmit.includes(option))
.reduce((obj, key) => {
obj[key] = object[key];
return obj;
}, {});
}

1
node_modules/@octokit/endpoint/dist-src/version.js generated vendored Normal file
View File

@ -0,0 +1 @@
export const VERSION = "0.0.0-development";

View File

@ -0,0 +1,13 @@
import { endpointWithDefaults } from "./endpoint-with-defaults";
import { merge } from "./merge";
import { parse } from "./parse";
export function withDefaults(oldDefaults, newDefaults) {
const DEFAULTS = merge(oldDefaults, newDefaults);
const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
return Object.assign(endpoint, {
DEFAULTS,
defaults: withDefaults.bind(null, DEFAULTS),
merge: merge.bind(null, DEFAULTS),
parse
});
}

View File

@ -0,0 +1,2 @@
import { Defaults } from "./types";
export declare const DEFAULTS: Defaults;

View File

@ -0,0 +1,2 @@
import { Defaults, Endpoint, RequestOptions, Route, Parameters } from "./types";
export declare function endpointWithDefaults(defaults: Defaults, route: Route | Endpoint, options?: Parameters): RequestOptions;

View File

@ -0,0 +1,6745 @@
import { Url, Headers, EndpointRequestOptions } from "../types";
export interface Routes {
"GET /events": [ActivityListPublicEventsEndpoint, ActivityListPublicEventsRequestOptions];
"GET /repos/:owner/:repo/events": [ActivityListRepoEventsEndpoint, ActivityListRepoEventsRequestOptions];
"GET /networks/:owner/:repo/events": [ActivityListPublicEventsForRepoNetworkEndpoint, ActivityListPublicEventsForRepoNetworkRequestOptions];
"GET /orgs/:org/events": [ActivityListPublicEventsForOrgEndpoint, ActivityListPublicEventsForOrgRequestOptions];
"GET /users/:username/received_events": [ActivityListReceivedEventsForUserEndpoint, ActivityListReceivedEventsForUserRequestOptions];
"GET /users/:username/received_events/public": [ActivityListReceivedPublicEventsForUserEndpoint, ActivityListReceivedPublicEventsForUserRequestOptions];
"GET /users/:username/events": [ActivityListEventsForUserEndpoint, ActivityListEventsForUserRequestOptions];
"GET /users/:username/events/public": [ActivityListPublicEventsForUserEndpoint, ActivityListPublicEventsForUserRequestOptions];
"GET /users/:username/events/orgs/:org": [ActivityListEventsForOrgEndpoint, ActivityListEventsForOrgRequestOptions];
"GET /feeds": [ActivityListFeedsEndpoint, ActivityListFeedsRequestOptions];
"GET /notifications": [ActivityListNotificationsEndpoint, ActivityListNotificationsRequestOptions];
"GET /repos/:owner/:repo/notifications": [ActivityListNotificationsForRepoEndpoint, ActivityListNotificationsForRepoRequestOptions];
"PUT /notifications": [ActivityMarkAsReadEndpoint, ActivityMarkAsReadRequestOptions];
"PUT /repos/:owner/:repo/notifications": [ActivityMarkNotificationsAsReadForRepoEndpoint, ActivityMarkNotificationsAsReadForRepoRequestOptions];
"GET /notifications/threads/:thread_id": [ActivityGetThreadEndpoint, ActivityGetThreadRequestOptions];
"PATCH /notifications/threads/:thread_id": [ActivityMarkThreadAsReadEndpoint, ActivityMarkThreadAsReadRequestOptions];
"GET /notifications/threads/:thread_id/subscription": [ActivityGetThreadSubscriptionEndpoint, ActivityGetThreadSubscriptionRequestOptions];
"PUT /notifications/threads/:thread_id/subscription": [ActivitySetThreadSubscriptionEndpoint, ActivitySetThreadSubscriptionRequestOptions];
"DELETE /notifications/threads/:thread_id/subscription": [ActivityDeleteThreadSubscriptionEndpoint, ActivityDeleteThreadSubscriptionRequestOptions];
"GET /repos/:owner/:repo/stargazers": [ActivityListStargazersForRepoEndpoint, ActivityListStargazersForRepoRequestOptions];
"GET /users/:username/starred": [ActivityListReposStarredByUserEndpoint, ActivityListReposStarredByUserRequestOptions];
"GET /user/starred": [ActivityListReposStarredByAuthenticatedUserEndpoint, ActivityListReposStarredByAuthenticatedUserRequestOptions];
"GET /user/starred/:owner/:repo": [ActivityCheckStarringRepoEndpoint, ActivityCheckStarringRepoRequestOptions];
"PUT /user/starred/:owner/:repo": [ActivityStarRepoEndpoint, ActivityStarRepoRequestOptions];
"DELETE /user/starred/:owner/:repo": [ActivityUnstarRepoEndpoint, ActivityUnstarRepoRequestOptions];
"GET /repos/:owner/:repo/subscribers": [ActivityListWatchersForRepoEndpoint, ActivityListWatchersForRepoRequestOptions];
"GET /users/:username/subscriptions": [ActivityListReposWatchedByUserEndpoint, ActivityListReposWatchedByUserRequestOptions];
"GET /user/subscriptions": [ActivityListWatchedReposForAuthenticatedUserEndpoint, ActivityListWatchedReposForAuthenticatedUserRequestOptions];
"GET /repos/:owner/:repo/subscription": [ActivityGetRepoSubscriptionEndpoint, ActivityGetRepoSubscriptionRequestOptions];
"PUT /repos/:owner/:repo/subscription": [ActivitySetRepoSubscriptionEndpoint, ActivitySetRepoSubscriptionRequestOptions];
"DELETE /repos/:owner/:repo/subscription": [ActivityDeleteRepoSubscriptionEndpoint, ActivityDeleteRepoSubscriptionRequestOptions];
"GET /user/subscriptions/:owner/:repo": [ActivityCheckWatchingRepoLegacyEndpoint, ActivityCheckWatchingRepoLegacyRequestOptions];
"PUT /user/subscriptions/:owner/:repo": [ActivityWatchRepoLegacyEndpoint, ActivityWatchRepoLegacyRequestOptions];
"DELETE /user/subscriptions/:owner/:repo": [ActivityStopWatchingRepoLegacyEndpoint, ActivityStopWatchingRepoLegacyRequestOptions];
"GET /apps/:app_slug": [AppsGetBySlugEndpoint, AppsGetBySlugRequestOptions];
"GET /app": [AppsGetAuthenticatedEndpoint, AppsGetAuthenticatedRequestOptions];
"GET /app/installations": [AppsListInstallationsEndpoint, AppsListInstallationsRequestOptions];
"GET /app/installations/:installation_id": [AppsGetInstallationEndpoint, AppsGetInstallationRequestOptions];
"DELETE /app/installations/:installation_id": [AppsDeleteInstallationEndpoint, AppsDeleteInstallationRequestOptions];
"POST /app/installations/:installation_id/access_tokens": [AppsCreateInstallationTokenEndpoint, AppsCreateInstallationTokenRequestOptions];
"GET /orgs/:org/installation": [AppsGetOrgInstallationEndpoint | AppsFindOrgInstallationEndpoint, AppsGetOrgInstallationRequestOptions | AppsFindOrgInstallationRequestOptions];
"GET /repos/:owner/:repo/installation": [AppsGetRepoInstallationEndpoint | AppsFindRepoInstallationEndpoint, AppsGetRepoInstallationRequestOptions | AppsFindRepoInstallationRequestOptions];
"GET /users/:username/installation": [AppsGetUserInstallationEndpoint | AppsFindUserInstallationEndpoint, AppsGetUserInstallationRequestOptions | AppsFindUserInstallationRequestOptions];
"POST /app-manifests/:code/conversions": [AppsCreateFromManifestEndpoint, AppsCreateFromManifestRequestOptions];
"GET /installation/repositories": [AppsListReposEndpoint, AppsListReposRequestOptions];
"GET /user/installations": [AppsListInstallationsForAuthenticatedUserEndpoint, AppsListInstallationsForAuthenticatedUserRequestOptions];
"GET /user/installations/:installation_id/repositories": [AppsListInstallationReposForAuthenticatedUserEndpoint, AppsListInstallationReposForAuthenticatedUserRequestOptions];
"PUT /user/installations/:installation_id/repositories/:repository_id": [AppsAddRepoToInstallationEndpoint, AppsAddRepoToInstallationRequestOptions];
"DELETE /user/installations/:installation_id/repositories/:repository_id": [AppsRemoveRepoFromInstallationEndpoint, AppsRemoveRepoFromInstallationRequestOptions];
"POST /content_references/:content_reference_id/attachments": [AppsCreateContentAttachmentEndpoint, AppsCreateContentAttachmentRequestOptions];
"GET /marketplace_listing/plans": [AppsListPlansEndpoint, AppsListPlansRequestOptions];
"GET /marketplace_listing/stubbed/plans": [AppsListPlansStubbedEndpoint, AppsListPlansStubbedRequestOptions];
"GET /marketplace_listing/plans/:plan_id/accounts": [AppsListAccountsUserOrOrgOnPlanEndpoint, AppsListAccountsUserOrOrgOnPlanRequestOptions];
"GET /marketplace_listing/stubbed/plans/:plan_id/accounts": [AppsListAccountsUserOrOrgOnPlanStubbedEndpoint, AppsListAccountsUserOrOrgOnPlanStubbedRequestOptions];
"GET /marketplace_listing/accounts/:account_id": [AppsCheckAccountIsAssociatedWithAnyEndpoint, AppsCheckAccountIsAssociatedWithAnyRequestOptions];
"GET /marketplace_listing/stubbed/accounts/:account_id": [AppsCheckAccountIsAssociatedWithAnyStubbedEndpoint, AppsCheckAccountIsAssociatedWithAnyStubbedRequestOptions];
"GET /user/marketplace_purchases": [AppsListMarketplacePurchasesForAuthenticatedUserEndpoint, AppsListMarketplacePurchasesForAuthenticatedUserRequestOptions];
"GET /user/marketplace_purchases/stubbed": [AppsListMarketplacePurchasesForAuthenticatedUserStubbedEndpoint, AppsListMarketplacePurchasesForAuthenticatedUserStubbedRequestOptions];
"POST /repos/:owner/:repo/check-runs": [ChecksCreateEndpoint, ChecksCreateRequestOptions];
"PATCH /repos/:owner/:repo/check-runs/:check_run_id": [ChecksUpdateEndpoint, ChecksUpdateRequestOptions];
"GET /repos/:owner/:repo/commits/:ref/check-runs": [ChecksListForRefEndpoint, ChecksListForRefRequestOptions];
"GET /repos/:owner/:repo/check-suites/:check_suite_id/check-runs": [ChecksListForSuiteEndpoint, ChecksListForSuiteRequestOptions];
"GET /repos/:owner/:repo/check-runs/:check_run_id": [ChecksGetEndpoint, ChecksGetRequestOptions];
"GET /repos/:owner/:repo/check-runs/:check_run_id/annotations": [ChecksListAnnotationsEndpoint, ChecksListAnnotationsRequestOptions];
"GET /repos/:owner/:repo/check-suites/:check_suite_id": [ChecksGetSuiteEndpoint, ChecksGetSuiteRequestOptions];
"GET /repos/:owner/:repo/commits/:ref/check-suites": [ChecksListSuitesForRefEndpoint, ChecksListSuitesForRefRequestOptions];
"PATCH /repos/:owner/:repo/check-suites/preferences": [ChecksSetSuitesPreferencesEndpoint, ChecksSetSuitesPreferencesRequestOptions];
"POST /repos/:owner/:repo/check-suites": [ChecksCreateSuiteEndpoint, ChecksCreateSuiteRequestOptions];
"POST /repos/:owner/:repo/check-suites/:check_suite_id/rerequest": [ChecksRerequestSuiteEndpoint, ChecksRerequestSuiteRequestOptions];
"GET /codes_of_conduct": [CodesOfConductListConductCodesEndpoint, CodesOfConductListConductCodesRequestOptions];
"GET /codes_of_conduct/:key": [CodesOfConductGetConductCodeEndpoint, CodesOfConductGetConductCodeRequestOptions];
"GET /repos/:owner/:repo/community/code_of_conduct": [CodesOfConductGetForRepoEndpoint, CodesOfConductGetForRepoRequestOptions];
"GET /emojis": [EmojisGetEndpoint, EmojisGetRequestOptions];
"GET /users/:username/gists": [GistsListPublicForUserEndpoint, GistsListPublicForUserRequestOptions];
"GET /gists": [GistsListEndpoint, GistsListRequestOptions];
"GET /gists/public": [GistsListPublicEndpoint, GistsListPublicRequestOptions];
"GET /gists/starred": [GistsListStarredEndpoint, GistsListStarredRequestOptions];
"GET /gists/:gist_id": [GistsGetEndpoint, GistsGetRequestOptions];
"GET /gists/:gist_id/:sha": [GistsGetRevisionEndpoint, GistsGetRevisionRequestOptions];
"POST /gists": [GistsCreateEndpoint, GistsCreateRequestOptions];
"PATCH /gists/:gist_id": [GistsUpdateEndpoint, GistsUpdateRequestOptions];
"GET /gists/:gist_id/commits": [GistsListCommitsEndpoint, GistsListCommitsRequestOptions];
"PUT /gists/:gist_id/star": [GistsStarEndpoint, GistsStarRequestOptions];
"DELETE /gists/:gist_id/star": [GistsUnstarEndpoint, GistsUnstarRequestOptions];
"GET /gists/:gist_id/star": [GistsCheckIsStarredEndpoint, GistsCheckIsStarredRequestOptions];
"POST /gists/:gist_id/forks": [GistsForkEndpoint, GistsForkRequestOptions];
"GET /gists/:gist_id/forks": [GistsListForksEndpoint, GistsListForksRequestOptions];
"DELETE /gists/:gist_id": [GistsDeleteEndpoint, GistsDeleteRequestOptions];
"GET /gists/:gist_id/comments": [GistsListCommentsEndpoint, GistsListCommentsRequestOptions];
"GET /gists/:gist_id/comments/:comment_id": [GistsGetCommentEndpoint, GistsGetCommentRequestOptions];
"POST /gists/:gist_id/comments": [GistsCreateCommentEndpoint, GistsCreateCommentRequestOptions];
"PATCH /gists/:gist_id/comments/:comment_id": [GistsUpdateCommentEndpoint, GistsUpdateCommentRequestOptions];
"DELETE /gists/:gist_id/comments/:comment_id": [GistsDeleteCommentEndpoint, GistsDeleteCommentRequestOptions];
"GET /repos/:owner/:repo/git/blobs/:file_sha": [GitGetBlobEndpoint, GitGetBlobRequestOptions];
"POST /repos/:owner/:repo/git/blobs": [GitCreateBlobEndpoint, GitCreateBlobRequestOptions];
"GET /repos/:owner/:repo/git/commits/:commit_sha": [GitGetCommitEndpoint, GitGetCommitRequestOptions];
"POST /repos/:owner/:repo/git/commits": [GitCreateCommitEndpoint, GitCreateCommitRequestOptions];
"GET /repos/:owner/:repo/git/refs/:ref": [GitGetRefEndpoint, GitGetRefRequestOptions];
"GET /repos/:owner/:repo/git/refs/:namespace": [GitListRefsEndpoint, GitListRefsRequestOptions];
"POST /repos/:owner/:repo/git/refs": [GitCreateRefEndpoint, GitCreateRefRequestOptions];
"PATCH /repos/:owner/:repo/git/refs/:ref": [GitUpdateRefEndpoint, GitUpdateRefRequestOptions];
"DELETE /repos/:owner/:repo/git/refs/:ref": [GitDeleteRefEndpoint, GitDeleteRefRequestOptions];
"GET /repos/:owner/:repo/git/tags/:tag_sha": [GitGetTagEndpoint, GitGetTagRequestOptions];
"POST /repos/:owner/:repo/git/tags": [GitCreateTagEndpoint, GitCreateTagRequestOptions];
"GET /repos/:owner/:repo/git/trees/:tree_sha": [GitGetTreeEndpoint, GitGetTreeRequestOptions];
"POST /repos/:owner/:repo/git/trees": [GitCreateTreeEndpoint, GitCreateTreeRequestOptions];
"GET /gitignore/templates": [GitignoreListTemplatesEndpoint, GitignoreListTemplatesRequestOptions];
"GET /gitignore/templates/:name": [GitignoreGetTemplateEndpoint, GitignoreGetTemplateRequestOptions];
"GET /orgs/:org/interaction-limits": [InteractionsGetRestrictionsForOrgEndpoint, InteractionsGetRestrictionsForOrgRequestOptions];
"PUT /orgs/:org/interaction-limits": [InteractionsAddOrUpdateRestrictionsForOrgEndpoint, InteractionsAddOrUpdateRestrictionsForOrgRequestOptions];
"DELETE /orgs/:org/interaction-limits": [InteractionsRemoveRestrictionsForOrgEndpoint, InteractionsRemoveRestrictionsForOrgRequestOptions];
"GET /repos/:owner/:repo/interaction-limits": [InteractionsGetRestrictionsForRepoEndpoint, InteractionsGetRestrictionsForRepoRequestOptions];
"PUT /repos/:owner/:repo/interaction-limits": [InteractionsAddOrUpdateRestrictionsForRepoEndpoint, InteractionsAddOrUpdateRestrictionsForRepoRequestOptions];
"DELETE /repos/:owner/:repo/interaction-limits": [InteractionsRemoveRestrictionsForRepoEndpoint, InteractionsRemoveRestrictionsForRepoRequestOptions];
"GET /issues": [IssuesListEndpoint, IssuesListRequestOptions];
"GET /user/issues": [IssuesListForAuthenticatedUserEndpoint, IssuesListForAuthenticatedUserRequestOptions];
"GET /orgs/:org/issues": [IssuesListForOrgEndpoint, IssuesListForOrgRequestOptions];
"GET /repos/:owner/:repo/issues": [IssuesListForRepoEndpoint, IssuesListForRepoRequestOptions];
"GET /repos/:owner/:repo/issues/:issue_number": [IssuesGetEndpoint, IssuesGetRequestOptions];
"POST /repos/:owner/:repo/issues": [IssuesCreateEndpoint, IssuesCreateRequestOptions];
"PATCH /repos/:owner/:repo/issues/:issue_number": [IssuesUpdateEndpoint, IssuesUpdateRequestOptions];
"PUT /repos/:owner/:repo/issues/:issue_number/lock": [IssuesLockEndpoint, IssuesLockRequestOptions];
"DELETE /repos/:owner/:repo/issues/:issue_number/lock": [IssuesUnlockEndpoint, IssuesUnlockRequestOptions];
"GET /repos/:owner/:repo/assignees": [IssuesListAssigneesEndpoint, IssuesListAssigneesRequestOptions];
"GET /repos/:owner/:repo/assignees/:assignee": [IssuesCheckAssigneeEndpoint, IssuesCheckAssigneeRequestOptions];
"POST /repos/:owner/:repo/issues/:issue_number/assignees": [IssuesAddAssigneesEndpoint, IssuesAddAssigneesRequestOptions];
"DELETE /repos/:owner/:repo/issues/:issue_number/assignees": [IssuesRemoveAssigneesEndpoint, IssuesRemoveAssigneesRequestOptions];
"GET /repos/:owner/:repo/issues/:issue_number/comments": [IssuesListCommentsEndpoint, IssuesListCommentsRequestOptions];
"GET /repos/:owner/:repo/issues/comments": [IssuesListCommentsForRepoEndpoint, IssuesListCommentsForRepoRequestOptions];
"GET /repos/:owner/:repo/issues/comments/:comment_id": [IssuesGetCommentEndpoint, IssuesGetCommentRequestOptions];
"POST /repos/:owner/:repo/issues/:issue_number/comments": [IssuesCreateCommentEndpoint, IssuesCreateCommentRequestOptions];
"PATCH /repos/:owner/:repo/issues/comments/:comment_id": [IssuesUpdateCommentEndpoint, IssuesUpdateCommentRequestOptions];
"DELETE /repos/:owner/:repo/issues/comments/:comment_id": [IssuesDeleteCommentEndpoint, IssuesDeleteCommentRequestOptions];
"GET /repos/:owner/:repo/issues/:issue_number/events": [IssuesListEventsEndpoint, IssuesListEventsRequestOptions];
"GET /repos/:owner/:repo/issues/events": [IssuesListEventsForRepoEndpoint, IssuesListEventsForRepoRequestOptions];
"GET /repos/:owner/:repo/issues/events/:event_id": [IssuesGetEventEndpoint, IssuesGetEventRequestOptions];
"GET /repos/:owner/:repo/labels": [IssuesListLabelsForRepoEndpoint, IssuesListLabelsForRepoRequestOptions];
"GET /repos/:owner/:repo/labels/:name": [IssuesGetLabelEndpoint, IssuesGetLabelRequestOptions];
"POST /repos/:owner/:repo/labels": [IssuesCreateLabelEndpoint, IssuesCreateLabelRequestOptions];
"PATCH /repos/:owner/:repo/labels/:current_name": [IssuesUpdateLabelEndpoint, IssuesUpdateLabelRequestOptions];
"DELETE /repos/:owner/:repo/labels/:name": [IssuesDeleteLabelEndpoint, IssuesDeleteLabelRequestOptions];
"GET /repos/:owner/:repo/issues/:issue_number/labels": [IssuesListLabelsOnIssueEndpoint, IssuesListLabelsOnIssueRequestOptions];
"POST /repos/:owner/:repo/issues/:issue_number/labels": [IssuesAddLabelsEndpoint, IssuesAddLabelsRequestOptions];
"DELETE /repos/:owner/:repo/issues/:issue_number/labels/:name": [IssuesRemoveLabelEndpoint, IssuesRemoveLabelRequestOptions];
"PUT /repos/:owner/:repo/issues/:issue_number/labels": [IssuesReplaceLabelsEndpoint, IssuesReplaceLabelsRequestOptions];
"DELETE /repos/:owner/:repo/issues/:issue_number/labels": [IssuesRemoveLabelsEndpoint, IssuesRemoveLabelsRequestOptions];
"GET /repos/:owner/:repo/milestones/:milestone_number/labels": [IssuesListLabelsForMilestoneEndpoint, IssuesListLabelsForMilestoneRequestOptions];
"GET /repos/:owner/:repo/milestones": [IssuesListMilestonesForRepoEndpoint, IssuesListMilestonesForRepoRequestOptions];
"GET /repos/:owner/:repo/milestones/:milestone_number": [IssuesGetMilestoneEndpoint, IssuesGetMilestoneRequestOptions];
"POST /repos/:owner/:repo/milestones": [IssuesCreateMilestoneEndpoint, IssuesCreateMilestoneRequestOptions];
"PATCH /repos/:owner/:repo/milestones/:milestone_number": [IssuesUpdateMilestoneEndpoint, IssuesUpdateMilestoneRequestOptions];
"DELETE /repos/:owner/:repo/milestones/:milestone_number": [IssuesDeleteMilestoneEndpoint, IssuesDeleteMilestoneRequestOptions];
"GET /repos/:owner/:repo/issues/:issue_number/timeline": [IssuesListEventsForTimelineEndpoint, IssuesListEventsForTimelineRequestOptions];
"GET /licenses": [LicensesListCommonlyUsedEndpoint | LicensesListEndpoint, LicensesListCommonlyUsedRequestOptions | LicensesListRequestOptions];
"GET /licenses/:license": [LicensesGetEndpoint, LicensesGetRequestOptions];
"GET /repos/:owner/:repo/license": [LicensesGetForRepoEndpoint, LicensesGetForRepoRequestOptions];
"POST /markdown": [MarkdownRenderEndpoint, MarkdownRenderRequestOptions];
"POST /markdown/raw": [MarkdownRenderRawEndpoint, MarkdownRenderRawRequestOptions];
"GET /meta": [MetaGetEndpoint, MetaGetRequestOptions];
"POST /orgs/:org/migrations": [MigrationsStartForOrgEndpoint, MigrationsStartForOrgRequestOptions];
"GET /orgs/:org/migrations": [MigrationsListForOrgEndpoint, MigrationsListForOrgRequestOptions];
"GET /orgs/:org/migrations/:migration_id": [MigrationsGetStatusForOrgEndpoint, MigrationsGetStatusForOrgRequestOptions];
"GET /orgs/:org/migrations/:migration_id/archive": [MigrationsGetArchiveForOrgEndpoint, MigrationsGetArchiveForOrgRequestOptions];
"DELETE /orgs/:org/migrations/:migration_id/archive": [MigrationsDeleteArchiveForOrgEndpoint, MigrationsDeleteArchiveForOrgRequestOptions];
"DELETE /orgs/:org/migrations/:migration_id/repos/:repo_name/lock": [MigrationsUnlockRepoForOrgEndpoint, MigrationsUnlockRepoForOrgRequestOptions];
"PUT /repos/:owner/:repo/import": [MigrationsStartImportEndpoint, MigrationsStartImportRequestOptions];
"GET /repos/:owner/:repo/import": [MigrationsGetImportProgressEndpoint, MigrationsGetImportProgressRequestOptions];
"PATCH /repos/:owner/:repo/import": [MigrationsUpdateImportEndpoint, MigrationsUpdateImportRequestOptions];
"GET /repos/:owner/:repo/import/authors": [MigrationsGetCommitAuthorsEndpoint, MigrationsGetCommitAuthorsRequestOptions];
"PATCH /repos/:owner/:repo/import/authors/:author_id": [MigrationsMapCommitAuthorEndpoint, MigrationsMapCommitAuthorRequestOptions];
"PATCH /repos/:owner/:repo/import/lfs": [MigrationsSetLfsPreferenceEndpoint, MigrationsSetLfsPreferenceRequestOptions];
"GET /repos/:owner/:repo/import/large_files": [MigrationsGetLargeFilesEndpoint, MigrationsGetLargeFilesRequestOptions];
"DELETE /repos/:owner/:repo/import": [MigrationsCancelImportEndpoint, MigrationsCancelImportRequestOptions];
"POST /user/migrations": [MigrationsStartForAuthenticatedUserEndpoint, MigrationsStartForAuthenticatedUserRequestOptions];
"GET /user/migrations": [MigrationsListForAuthenticatedUserEndpoint, MigrationsListForAuthenticatedUserRequestOptions];
"GET /user/migrations/:migration_id": [MigrationsGetStatusForAuthenticatedUserEndpoint, MigrationsGetStatusForAuthenticatedUserRequestOptions];
"GET /user/migrations/:migration_id/archive": [MigrationsGetArchiveForAuthenticatedUserEndpoint, MigrationsGetArchiveForAuthenticatedUserRequestOptions];
"DELETE /user/migrations/:migration_id/archive": [MigrationsDeleteArchiveForAuthenticatedUserEndpoint, MigrationsDeleteArchiveForAuthenticatedUserRequestOptions];
"DELETE /user/migrations/:migration_id/repos/:repo_name/lock": [MigrationsUnlockRepoForAuthenticatedUserEndpoint, MigrationsUnlockRepoForAuthenticatedUserRequestOptions];
"GET /applications/grants": [OauthAuthorizationsListGrantsEndpoint, OauthAuthorizationsListGrantsRequestOptions];
"GET /applications/grants/:grant_id": [OauthAuthorizationsGetGrantEndpoint, OauthAuthorizationsGetGrantRequestOptions];
"DELETE /applications/grants/:grant_id": [OauthAuthorizationsDeleteGrantEndpoint, OauthAuthorizationsDeleteGrantRequestOptions];
"GET /authorizations": [OauthAuthorizationsListAuthorizationsEndpoint, OauthAuthorizationsListAuthorizationsRequestOptions];
"GET /authorizations/:authorization_id": [OauthAuthorizationsGetAuthorizationEndpoint, OauthAuthorizationsGetAuthorizationRequestOptions];
"POST /authorizations": [OauthAuthorizationsCreateAuthorizationEndpoint, OauthAuthorizationsCreateAuthorizationRequestOptions];
"PUT /authorizations/clients/:client_id": [OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint, OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions];
"PUT /authorizations/clients/:client_id/:fingerprint": [OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint | OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintEndpoint, OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions | OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintRequestOptions];
"PATCH /authorizations/:authorization_id": [OauthAuthorizationsUpdateAuthorizationEndpoint, OauthAuthorizationsUpdateAuthorizationRequestOptions];
"DELETE /authorizations/:authorization_id": [OauthAuthorizationsDeleteAuthorizationEndpoint, OauthAuthorizationsDeleteAuthorizationRequestOptions];
"GET /applications/:client_id/tokens/:access_token": [OauthAuthorizationsCheckAuthorizationEndpoint, OauthAuthorizationsCheckAuthorizationRequestOptions];
"POST /applications/:client_id/tokens/:access_token": [OauthAuthorizationsResetAuthorizationEndpoint, OauthAuthorizationsResetAuthorizationRequestOptions];
"DELETE /applications/:client_id/tokens/:access_token": [OauthAuthorizationsRevokeAuthorizationForApplicationEndpoint, OauthAuthorizationsRevokeAuthorizationForApplicationRequestOptions];
"DELETE /applications/:client_id/grants/:access_token": [OauthAuthorizationsRevokeGrantForApplicationEndpoint, OauthAuthorizationsRevokeGrantForApplicationRequestOptions];
"GET /user/orgs": [OrgsListForAuthenticatedUserEndpoint, OrgsListForAuthenticatedUserRequestOptions];
"GET /organizations": [OrgsListEndpoint, OrgsListRequestOptions];
"GET /users/:username/orgs": [OrgsListForUserEndpoint, OrgsListForUserRequestOptions];
"GET /orgs/:org": [OrgsGetEndpoint, OrgsGetRequestOptions];
"PATCH /orgs/:org": [OrgsUpdateEndpoint, OrgsUpdateRequestOptions];
"GET /orgs/:org/credential-authorizations": [OrgsListCredentialAuthorizationsEndpoint, OrgsListCredentialAuthorizationsRequestOptions];
"DELETE /orgs/:org/credential-authorizations/:credential_id": [OrgsRemoveCredentialAuthorizationEndpoint, OrgsRemoveCredentialAuthorizationRequestOptions];
"GET /orgs/:org/blocks": [OrgsListBlockedUsersEndpoint, OrgsListBlockedUsersRequestOptions];
"GET /orgs/:org/blocks/:username": [OrgsCheckBlockedUserEndpoint, OrgsCheckBlockedUserRequestOptions];
"PUT /orgs/:org/blocks/:username": [OrgsBlockUserEndpoint, OrgsBlockUserRequestOptions];
"DELETE /orgs/:org/blocks/:username": [OrgsUnblockUserEndpoint, OrgsUnblockUserRequestOptions];
"GET /orgs/:org/hooks": [OrgsListHooksEndpoint, OrgsListHooksRequestOptions];
"GET /orgs/:org/hooks/:hook_id": [OrgsGetHookEndpoint, OrgsGetHookRequestOptions];
"POST /orgs/:org/hooks": [OrgsCreateHookEndpoint, OrgsCreateHookRequestOptions];
"PATCH /orgs/:org/hooks/:hook_id": [OrgsUpdateHookEndpoint, OrgsUpdateHookRequestOptions];
"POST /orgs/:org/hooks/:hook_id/pings": [OrgsPingHookEndpoint, OrgsPingHookRequestOptions];
"DELETE /orgs/:org/hooks/:hook_id": [OrgsDeleteHookEndpoint, OrgsDeleteHookRequestOptions];
"GET /orgs/:org/members": [OrgsListMembersEndpoint, OrgsListMembersRequestOptions];
"GET /orgs/:org/members/:username": [OrgsCheckMembershipEndpoint, OrgsCheckMembershipRequestOptions];
"DELETE /orgs/:org/members/:username": [OrgsRemoveMemberEndpoint, OrgsRemoveMemberRequestOptions];
"GET /orgs/:org/public_members": [OrgsListPublicMembersEndpoint, OrgsListPublicMembersRequestOptions];
"GET /orgs/:org/public_members/:username": [OrgsCheckPublicMembershipEndpoint, OrgsCheckPublicMembershipRequestOptions];
"PUT /orgs/:org/public_members/:username": [OrgsPublicizeMembershipEndpoint, OrgsPublicizeMembershipRequestOptions];
"DELETE /orgs/:org/public_members/:username": [OrgsConcealMembershipEndpoint, OrgsConcealMembershipRequestOptions];
"GET /orgs/:org/memberships/:username": [OrgsGetMembershipEndpoint, OrgsGetMembershipRequestOptions];
"PUT /orgs/:org/memberships/:username": [OrgsAddOrUpdateMembershipEndpoint, OrgsAddOrUpdateMembershipRequestOptions];
"DELETE /orgs/:org/memberships/:username": [OrgsRemoveMembershipEndpoint, OrgsRemoveMembershipRequestOptions];
"GET /orgs/:org/invitations/:invitation_id/teams": [OrgsListInvitationTeamsEndpoint, OrgsListInvitationTeamsRequestOptions];
"GET /orgs/:org/invitations": [OrgsListPendingInvitationsEndpoint, OrgsListPendingInvitationsRequestOptions];
"POST /orgs/:org/invitations": [OrgsCreateInvitationEndpoint, OrgsCreateInvitationRequestOptions];
"GET /user/memberships/orgs": [OrgsListMembershipsEndpoint, OrgsListMembershipsRequestOptions];
"GET /user/memberships/orgs/:org": [OrgsGetMembershipForAuthenticatedUserEndpoint, OrgsGetMembershipForAuthenticatedUserRequestOptions];
"PATCH /user/memberships/orgs/:org": [OrgsUpdateMembershipEndpoint, OrgsUpdateMembershipRequestOptions];
"GET /orgs/:org/outside_collaborators": [OrgsListOutsideCollaboratorsEndpoint, OrgsListOutsideCollaboratorsRequestOptions];
"DELETE /orgs/:org/outside_collaborators/:username": [OrgsRemoveOutsideCollaboratorEndpoint, OrgsRemoveOutsideCollaboratorRequestOptions];
"PUT /orgs/:org/outside_collaborators/:username": [OrgsConvertMemberToOutsideCollaboratorEndpoint, OrgsConvertMemberToOutsideCollaboratorRequestOptions];
"GET /repos/:owner/:repo/projects": [ProjectsListForRepoEndpoint, ProjectsListForRepoRequestOptions];
"GET /orgs/:org/projects": [ProjectsListForOrgEndpoint, ProjectsListForOrgRequestOptions];
"GET /users/:username/projects": [ProjectsListForUserEndpoint, ProjectsListForUserRequestOptions];
"GET /projects/:project_id": [ProjectsGetEndpoint, ProjectsGetRequestOptions];
"POST /repos/:owner/:repo/projects": [ProjectsCreateForRepoEndpoint, ProjectsCreateForRepoRequestOptions];
"POST /orgs/:org/projects": [ProjectsCreateForOrgEndpoint, ProjectsCreateForOrgRequestOptions];
"POST /user/projects": [ProjectsCreateForAuthenticatedUserEndpoint, ProjectsCreateForAuthenticatedUserRequestOptions];
"PATCH /projects/:project_id": [ProjectsUpdateEndpoint, ProjectsUpdateRequestOptions];
"DELETE /projects/:project_id": [ProjectsDeleteEndpoint, ProjectsDeleteRequestOptions];
"GET /projects/columns/:column_id/cards": [ProjectsListCardsEndpoint, ProjectsListCardsRequestOptions];
"GET /projects/columns/cards/:card_id": [ProjectsGetCardEndpoint, ProjectsGetCardRequestOptions];
"POST /projects/columns/:column_id/cards": [ProjectsCreateCardEndpoint, ProjectsCreateCardRequestOptions];
"PATCH /projects/columns/cards/:card_id": [ProjectsUpdateCardEndpoint, ProjectsUpdateCardRequestOptions];
"DELETE /projects/columns/cards/:card_id": [ProjectsDeleteCardEndpoint, ProjectsDeleteCardRequestOptions];
"POST /projects/columns/cards/:card_id/moves": [ProjectsMoveCardEndpoint, ProjectsMoveCardRequestOptions];
"GET /projects/:project_id/collaborators": [ProjectsListCollaboratorsEndpoint, ProjectsListCollaboratorsRequestOptions];
"GET /projects/:project_id/collaborators/:username/permission": [ProjectsReviewUserPermissionLevelEndpoint, ProjectsReviewUserPermissionLevelRequestOptions];
"PUT /projects/:project_id/collaborators/:username": [ProjectsAddCollaboratorEndpoint, ProjectsAddCollaboratorRequestOptions];
"DELETE /projects/:project_id/collaborators/:username": [ProjectsRemoveCollaboratorEndpoint, ProjectsRemoveCollaboratorRequestOptions];
"GET /projects/:project_id/columns": [ProjectsListColumnsEndpoint, ProjectsListColumnsRequestOptions];
"GET /projects/columns/:column_id": [ProjectsGetColumnEndpoint, ProjectsGetColumnRequestOptions];
"POST /projects/:project_id/columns": [ProjectsCreateColumnEndpoint, ProjectsCreateColumnRequestOptions];
"PATCH /projects/columns/:column_id": [ProjectsUpdateColumnEndpoint, ProjectsUpdateColumnRequestOptions];
"DELETE /projects/columns/:column_id": [ProjectsDeleteColumnEndpoint, ProjectsDeleteColumnRequestOptions];
"POST /projects/columns/:column_id/moves": [ProjectsMoveColumnEndpoint, ProjectsMoveColumnRequestOptions];
"GET /repos/:owner/:repo/pulls": [PullsListEndpoint, PullsListRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number": [PullsGetEndpoint, PullsGetRequestOptions];
"POST /repos/:owner/:repo/pulls": [PullsCreateEndpoint | PullsCreateFromIssueEndpoint, PullsCreateRequestOptions | PullsCreateFromIssueRequestOptions];
"PUT /repos/:owner/:repo/pulls/:pull_number/update-branch": [PullsUpdateBranchEndpoint, PullsUpdateBranchRequestOptions];
"PATCH /repos/:owner/:repo/pulls/:pull_number": [PullsUpdateEndpoint, PullsUpdateRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number/commits": [PullsListCommitsEndpoint, PullsListCommitsRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number/files": [PullsListFilesEndpoint, PullsListFilesRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number/merge": [PullsCheckIfMergedEndpoint, PullsCheckIfMergedRequestOptions];
"PUT /repos/:owner/:repo/pulls/:pull_number/merge": [PullsMergeEndpoint, PullsMergeRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number/comments": [PullsListCommentsEndpoint, PullsListCommentsRequestOptions];
"GET /repos/:owner/:repo/pulls/comments": [PullsListCommentsForRepoEndpoint, PullsListCommentsForRepoRequestOptions];
"GET /repos/:owner/:repo/pulls/comments/:comment_id": [PullsGetCommentEndpoint, PullsGetCommentRequestOptions];
"POST /repos/:owner/:repo/pulls/:pull_number/comments": [PullsCreateCommentEndpoint | PullsCreateCommentReplyEndpoint, PullsCreateCommentRequestOptions | PullsCreateCommentReplyRequestOptions];
"PATCH /repos/:owner/:repo/pulls/comments/:comment_id": [PullsUpdateCommentEndpoint, PullsUpdateCommentRequestOptions];
"DELETE /repos/:owner/:repo/pulls/comments/:comment_id": [PullsDeleteCommentEndpoint, PullsDeleteCommentRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [PullsListReviewRequestsEndpoint, PullsListReviewRequestsRequestOptions];
"POST /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [PullsCreateReviewRequestEndpoint, PullsCreateReviewRequestRequestOptions];
"DELETE /repos/:owner/:repo/pulls/:pull_number/requested_reviewers": [PullsDeleteReviewRequestEndpoint, PullsDeleteReviewRequestRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number/reviews": [PullsListReviewsEndpoint, PullsListReviewsRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [PullsGetReviewEndpoint, PullsGetReviewRequestOptions];
"DELETE /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [PullsDeletePendingReviewEndpoint, PullsDeletePendingReviewRequestOptions];
"GET /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments": [PullsGetCommentsForReviewEndpoint, PullsGetCommentsForReviewRequestOptions];
"POST /repos/:owner/:repo/pulls/:pull_number/reviews": [PullsCreateReviewEndpoint, PullsCreateReviewRequestOptions];
"PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id": [PullsUpdateReviewEndpoint, PullsUpdateReviewRequestOptions];
"POST /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events": [PullsSubmitReviewEndpoint, PullsSubmitReviewRequestOptions];
"PUT /repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals": [PullsDismissReviewEndpoint, PullsDismissReviewRequestOptions];
"GET /rate_limit": [RateLimitGetEndpoint, RateLimitGetRequestOptions];
"GET /repos/:owner/:repo/comments/:comment_id/reactions": [ReactionsListForCommitCommentEndpoint, ReactionsListForCommitCommentRequestOptions];
"POST /repos/:owner/:repo/comments/:comment_id/reactions": [ReactionsCreateForCommitCommentEndpoint, ReactionsCreateForCommitCommentRequestOptions];
"GET /repos/:owner/:repo/issues/:issue_number/reactions": [ReactionsListForIssueEndpoint, ReactionsListForIssueRequestOptions];
"POST /repos/:owner/:repo/issues/:issue_number/reactions": [ReactionsCreateForIssueEndpoint, ReactionsCreateForIssueRequestOptions];
"GET /repos/:owner/:repo/issues/comments/:comment_id/reactions": [ReactionsListForIssueCommentEndpoint, ReactionsListForIssueCommentRequestOptions];
"POST /repos/:owner/:repo/issues/comments/:comment_id/reactions": [ReactionsCreateForIssueCommentEndpoint, ReactionsCreateForIssueCommentRequestOptions];
"GET /repos/:owner/:repo/pulls/comments/:comment_id/reactions": [ReactionsListForPullRequestReviewCommentEndpoint, ReactionsListForPullRequestReviewCommentRequestOptions];
"POST /repos/:owner/:repo/pulls/comments/:comment_id/reactions": [ReactionsCreateForPullRequestReviewCommentEndpoint, ReactionsCreateForPullRequestReviewCommentRequestOptions];
"GET /teams/:team_id/discussions/:discussion_number/reactions": [ReactionsListForTeamDiscussionEndpoint, ReactionsListForTeamDiscussionRequestOptions];
"POST /teams/:team_id/discussions/:discussion_number/reactions": [ReactionsCreateForTeamDiscussionEndpoint, ReactionsCreateForTeamDiscussionRequestOptions];
"GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": [ReactionsListForTeamDiscussionCommentEndpoint, ReactionsListForTeamDiscussionCommentRequestOptions];
"POST /teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions": [ReactionsCreateForTeamDiscussionCommentEndpoint, ReactionsCreateForTeamDiscussionCommentRequestOptions];
"DELETE /reactions/:reaction_id": [ReactionsDeleteEndpoint, ReactionsDeleteRequestOptions];
"GET /user/repos": [ReposListEndpoint, ReposListRequestOptions];
"GET /users/:username/repos": [ReposListForUserEndpoint, ReposListForUserRequestOptions];
"GET /orgs/:org/repos": [ReposListForOrgEndpoint, ReposListForOrgRequestOptions];
"GET /repositories": [ReposListPublicEndpoint, ReposListPublicRequestOptions];
"POST /user/repos": [ReposCreateForAuthenticatedUserEndpoint, ReposCreateForAuthenticatedUserRequestOptions];
"POST /orgs/:org/repos": [ReposCreateInOrgEndpoint, ReposCreateInOrgRequestOptions];
"POST /repos/:template_owner/:template_repo/generate": [ReposCreateUsingTemplateEndpoint, ReposCreateUsingTemplateRequestOptions];
"GET /repos/:owner/:repo": [ReposGetEndpoint, ReposGetRequestOptions];
"PATCH /repos/:owner/:repo": [ReposUpdateEndpoint, ReposUpdateRequestOptions];
"GET /repos/:owner/:repo/topics": [ReposListTopicsEndpoint, ReposListTopicsRequestOptions];
"PUT /repos/:owner/:repo/topics": [ReposReplaceTopicsEndpoint, ReposReplaceTopicsRequestOptions];
"GET /repos/:owner/:repo/vulnerability-alerts": [ReposCheckVulnerabilityAlertsEndpoint, ReposCheckVulnerabilityAlertsRequestOptions];
"PUT /repos/:owner/:repo/vulnerability-alerts": [ReposEnableVulnerabilityAlertsEndpoint, ReposEnableVulnerabilityAlertsRequestOptions];
"DELETE /repos/:owner/:repo/vulnerability-alerts": [ReposDisableVulnerabilityAlertsEndpoint, ReposDisableVulnerabilityAlertsRequestOptions];
"PUT /repos/:owner/:repo/automated-security-fixes": [ReposEnableAutomatedSecurityFixesEndpoint, ReposEnableAutomatedSecurityFixesRequestOptions];
"DELETE /repos/:owner/:repo/automated-security-fixes": [ReposDisableAutomatedSecurityFixesEndpoint, ReposDisableAutomatedSecurityFixesRequestOptions];
"GET /repos/:owner/:repo/contributors": [ReposListContributorsEndpoint, ReposListContributorsRequestOptions];
"GET /repos/:owner/:repo/languages": [ReposListLanguagesEndpoint, ReposListLanguagesRequestOptions];
"GET /repos/:owner/:repo/teams": [ReposListTeamsEndpoint, ReposListTeamsRequestOptions];
"GET /repos/:owner/:repo/tags": [ReposListTagsEndpoint, ReposListTagsRequestOptions];
"DELETE /repos/:owner/:repo": [ReposDeleteEndpoint, ReposDeleteRequestOptions];
"POST /repos/:owner/:repo/transfer": [ReposTransferEndpoint, ReposTransferRequestOptions];
"GET /repos/:owner/:repo/branches": [ReposListBranchesEndpoint, ReposListBranchesRequestOptions];
"GET /repos/:owner/:repo/branches/:branch": [ReposGetBranchEndpoint, ReposGetBranchRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection": [ReposGetBranchProtectionEndpoint, ReposGetBranchProtectionRequestOptions];
"PUT /repos/:owner/:repo/branches/:branch/protection": [ReposUpdateBranchProtectionEndpoint, ReposUpdateBranchProtectionRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection": [ReposRemoveBranchProtectionEndpoint, ReposRemoveBranchProtectionRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ReposGetProtectedBranchRequiredStatusChecksEndpoint, ReposGetProtectedBranchRequiredStatusChecksRequestOptions];
"PATCH /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ReposUpdateProtectedBranchRequiredStatusChecksEndpoint, ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks": [ReposRemoveProtectedBranchRequiredStatusChecksEndpoint, ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ReposListProtectedBranchRequiredStatusChecksContextsEndpoint, ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions];
"PUT /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint, ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions];
"POST /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint, ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts": [ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint, ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint, ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions];
"PATCH /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint, ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews": [ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint, ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ReposGetProtectedBranchRequiredSignaturesEndpoint, ReposGetProtectedBranchRequiredSignaturesRequestOptions];
"POST /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ReposAddProtectedBranchRequiredSignaturesEndpoint, ReposAddProtectedBranchRequiredSignaturesRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection/required_signatures": [ReposRemoveProtectedBranchRequiredSignaturesEndpoint, ReposRemoveProtectedBranchRequiredSignaturesRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ReposGetProtectedBranchAdminEnforcementEndpoint, ReposGetProtectedBranchAdminEnforcementRequestOptions];
"POST /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ReposAddProtectedBranchAdminEnforcementEndpoint, ReposAddProtectedBranchAdminEnforcementRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection/enforce_admins": [ReposRemoveProtectedBranchAdminEnforcementEndpoint, ReposRemoveProtectedBranchAdminEnforcementRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection/restrictions": [ReposGetProtectedBranchRestrictionsEndpoint, ReposGetProtectedBranchRestrictionsRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions": [ReposRemoveProtectedBranchRestrictionsEndpoint, ReposRemoveProtectedBranchRestrictionsRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ReposListProtectedBranchTeamRestrictionsEndpoint, ReposListProtectedBranchTeamRestrictionsRequestOptions];
"PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ReposReplaceProtectedBranchTeamRestrictionsEndpoint, ReposReplaceProtectedBranchTeamRestrictionsRequestOptions];
"POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ReposAddProtectedBranchTeamRestrictionsEndpoint, ReposAddProtectedBranchTeamRestrictionsRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/teams": [ReposRemoveProtectedBranchTeamRestrictionsEndpoint, ReposRemoveProtectedBranchTeamRestrictionsRequestOptions];
"GET /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ReposListProtectedBranchUserRestrictionsEndpoint, ReposListProtectedBranchUserRestrictionsRequestOptions];
"PUT /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ReposReplaceProtectedBranchUserRestrictionsEndpoint, ReposReplaceProtectedBranchUserRestrictionsRequestOptions];
"POST /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ReposAddProtectedBranchUserRestrictionsEndpoint, ReposAddProtectedBranchUserRestrictionsRequestOptions];
"DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions/users": [ReposRemoveProtectedBranchUserRestrictionsEndpoint, ReposRemoveProtectedBranchUserRestrictionsRequestOptions];
"GET /repos/:owner/:repo/collaborators": [ReposListCollaboratorsEndpoint, ReposListCollaboratorsRequestOptions];
"GET /repos/:owner/:repo/collaborators/:username": [ReposCheckCollaboratorEndpoint, ReposCheckCollaboratorRequestOptions];
"GET /repos/:owner/:repo/collaborators/:username/permission": [ReposGetCollaboratorPermissionLevelEndpoint, ReposGetCollaboratorPermissionLevelRequestOptions];
"PUT /repos/:owner/:repo/collaborators/:username": [ReposAddCollaboratorEndpoint, ReposAddCollaboratorRequestOptions];
"DELETE /repos/:owner/:repo/collaborators/:username": [ReposRemoveCollaboratorEndpoint, ReposRemoveCollaboratorRequestOptions];
"GET /repos/:owner/:repo/comments": [ReposListCommitCommentsEndpoint, ReposListCommitCommentsRequestOptions];
"GET /repos/:owner/:repo/commits/:commit_sha/comments": [ReposListCommentsForCommitEndpoint, ReposListCommentsForCommitRequestOptions];
"POST /repos/:owner/:repo/commits/:commit_sha/comments": [ReposCreateCommitCommentEndpoint, ReposCreateCommitCommentRequestOptions];
"GET /repos/:owner/:repo/comments/:comment_id": [ReposGetCommitCommentEndpoint, ReposGetCommitCommentRequestOptions];
"PATCH /repos/:owner/:repo/comments/:comment_id": [ReposUpdateCommitCommentEndpoint, ReposUpdateCommitCommentRequestOptions];
"DELETE /repos/:owner/:repo/comments/:comment_id": [ReposDeleteCommitCommentEndpoint, ReposDeleteCommitCommentRequestOptions];
"GET /repos/:owner/:repo/commits": [ReposListCommitsEndpoint, ReposListCommitsRequestOptions];
"GET /repos/:owner/:repo/commits/:ref": [ReposGetCommitEndpoint | ReposGetCommitRefShaEndpoint, ReposGetCommitRequestOptions | ReposGetCommitRefShaRequestOptions];
"GET /repos/:owner/:repo/compare/:base...:head": [ReposCompareCommitsEndpoint, ReposCompareCommitsRequestOptions];
"GET /repos/:owner/:repo/commits/:commit_sha/branches-where-head": [ReposListBranchesForHeadCommitEndpoint, ReposListBranchesForHeadCommitRequestOptions];
"GET /repos/:owner/:repo/commits/:commit_sha/pulls": [ReposListPullRequestsAssociatedWithCommitEndpoint, ReposListPullRequestsAssociatedWithCommitRequestOptions];
"GET /repos/:owner/:repo/community/profile": [ReposRetrieveCommunityProfileMetricsEndpoint, ReposRetrieveCommunityProfileMetricsRequestOptions];
"GET /repos/:owner/:repo/readme": [ReposGetReadmeEndpoint, ReposGetReadmeRequestOptions];
"GET /repos/:owner/:repo/contents/:path": [ReposGetContentsEndpoint, ReposGetContentsRequestOptions];
"PUT /repos/:owner/:repo/contents/:path": [ReposCreateOrUpdateFileEndpoint | ReposCreateFileEndpoint | ReposUpdateFileEndpoint, ReposCreateOrUpdateFileRequestOptions | ReposCreateFileRequestOptions | ReposUpdateFileRequestOptions];
"DELETE /repos/:owner/:repo/contents/:path": [ReposDeleteFileEndpoint, ReposDeleteFileRequestOptions];
"GET /repos/:owner/:repo/:archive_format/:ref": [ReposGetArchiveLinkEndpoint, ReposGetArchiveLinkRequestOptions];
"GET /repos/:owner/:repo/deployments": [ReposListDeploymentsEndpoint, ReposListDeploymentsRequestOptions];
"GET /repos/:owner/:repo/deployments/:deployment_id": [ReposGetDeploymentEndpoint, ReposGetDeploymentRequestOptions];
"POST /repos/:owner/:repo/deployments": [ReposCreateDeploymentEndpoint, ReposCreateDeploymentRequestOptions];
"GET /repos/:owner/:repo/deployments/:deployment_id/statuses": [ReposListDeploymentStatusesEndpoint, ReposListDeploymentStatusesRequestOptions];
"GET /repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id": [ReposGetDeploymentStatusEndpoint, ReposGetDeploymentStatusRequestOptions];
"POST /repos/:owner/:repo/deployments/:deployment_id/statuses": [ReposCreateDeploymentStatusEndpoint, ReposCreateDeploymentStatusRequestOptions];
"GET /repos/:owner/:repo/downloads": [ReposListDownloadsEndpoint, ReposListDownloadsRequestOptions];
"GET /repos/:owner/:repo/downloads/:download_id": [ReposGetDownloadEndpoint, ReposGetDownloadRequestOptions];
"DELETE /repos/:owner/:repo/downloads/:download_id": [ReposDeleteDownloadEndpoint, ReposDeleteDownloadRequestOptions];
"GET /repos/:owner/:repo/forks": [ReposListForksEndpoint, ReposListForksRequestOptions];
"POST /repos/:owner/:repo/forks": [ReposCreateForkEndpoint, ReposCreateForkRequestOptions];
"GET /repos/:owner/:repo/hooks": [ReposListHooksEndpoint, ReposListHooksRequestOptions];
"GET /repos/:owner/:repo/hooks/:hook_id": [ReposGetHookEndpoint, ReposGetHookRequestOptions];
"POST /repos/:owner/:repo/hooks": [ReposCreateHookEndpoint, ReposCreateHookRequestOptions];
"PATCH /repos/:owner/:repo/hooks/:hook_id": [ReposUpdateHookEndpoint, ReposUpdateHookRequestOptions];
"POST /repos/:owner/:repo/hooks/:hook_id/tests": [ReposTestPushHookEndpoint, ReposTestPushHookRequestOptions];
"POST /repos/:owner/:repo/hooks/:hook_id/pings": [ReposPingHookEndpoint, ReposPingHookRequestOptions];
"DELETE /repos/:owner/:repo/hooks/:hook_id": [ReposDeleteHookEndpoint, ReposDeleteHookRequestOptions];
"GET /repos/:owner/:repo/invitations": [ReposListInvitationsEndpoint, ReposListInvitationsRequestOptions];
"DELETE /repos/:owner/:repo/invitations/:invitation_id": [ReposDeleteInvitationEndpoint, ReposDeleteInvitationRequestOptions];
"PATCH /repos/:owner/:repo/invitations/:invitation_id": [ReposUpdateInvitationEndpoint, ReposUpdateInvitationRequestOptions];
"GET /user/repository_invitations": [ReposListInvitationsForAuthenticatedUserEndpoint, ReposListInvitationsForAuthenticatedUserRequestOptions];
"PATCH /user/repository_invitations/:invitation_id": [ReposAcceptInvitationEndpoint, ReposAcceptInvitationRequestOptions];
"DELETE /user/repository_invitations/:invitation_id": [ReposDeclineInvitationEndpoint, ReposDeclineInvitationRequestOptions];
"GET /repos/:owner/:repo/keys": [ReposListDeployKeysEndpoint, ReposListDeployKeysRequestOptions];
"GET /repos/:owner/:repo/keys/:key_id": [ReposGetDeployKeyEndpoint, ReposGetDeployKeyRequestOptions];
"POST /repos/:owner/:repo/keys": [ReposAddDeployKeyEndpoint, ReposAddDeployKeyRequestOptions];
"DELETE /repos/:owner/:repo/keys/:key_id": [ReposRemoveDeployKeyEndpoint, ReposRemoveDeployKeyRequestOptions];
"POST /repos/:owner/:repo/merges": [ReposMergeEndpoint, ReposMergeRequestOptions];
"GET /repos/:owner/:repo/pages": [ReposGetPagesEndpoint, ReposGetPagesRequestOptions];
"POST /repos/:owner/:repo/pages": [ReposEnablePagesSiteEndpoint, ReposEnablePagesSiteRequestOptions];
"DELETE /repos/:owner/:repo/pages": [ReposDisablePagesSiteEndpoint, ReposDisablePagesSiteRequestOptions];
"PUT /repos/:owner/:repo/pages": [ReposUpdateInformationAboutPagesSiteEndpoint, ReposUpdateInformationAboutPagesSiteRequestOptions];
"POST /repos/:owner/:repo/pages/builds": [ReposRequestPageBuildEndpoint, ReposRequestPageBuildRequestOptions];
"GET /repos/:owner/:repo/pages/builds": [ReposListPagesBuildsEndpoint, ReposListPagesBuildsRequestOptions];
"GET /repos/:owner/:repo/pages/builds/latest": [ReposGetLatestPagesBuildEndpoint, ReposGetLatestPagesBuildRequestOptions];
"GET /repos/:owner/:repo/pages/builds/:build_id": [ReposGetPagesBuildEndpoint, ReposGetPagesBuildRequestOptions];
"GET /repos/:owner/:repo/releases": [ReposListReleasesEndpoint, ReposListReleasesRequestOptions];
"GET /repos/:owner/:repo/releases/:release_id": [ReposGetReleaseEndpoint, ReposGetReleaseRequestOptions];
"GET /repos/:owner/:repo/releases/latest": [ReposGetLatestReleaseEndpoint, ReposGetLatestReleaseRequestOptions];
"GET /repos/:owner/:repo/releases/tags/:tag": [ReposGetReleaseByTagEndpoint, ReposGetReleaseByTagRequestOptions];
"POST /repos/:owner/:repo/releases": [ReposCreateReleaseEndpoint, ReposCreateReleaseRequestOptions];
"PATCH /repos/:owner/:repo/releases/:release_id": [ReposUpdateReleaseEndpoint, ReposUpdateReleaseRequestOptions];
"DELETE /repos/:owner/:repo/releases/:release_id": [ReposDeleteReleaseEndpoint, ReposDeleteReleaseRequestOptions];
"GET /repos/:owner/:repo/releases/:release_id/assets": [ReposListAssetsForReleaseEndpoint, ReposListAssetsForReleaseRequestOptions];
"POST :url": [ReposUploadReleaseAssetEndpoint, ReposUploadReleaseAssetRequestOptions];
"GET /repos/:owner/:repo/releases/assets/:asset_id": [ReposGetReleaseAssetEndpoint, ReposGetReleaseAssetRequestOptions];
"PATCH /repos/:owner/:repo/releases/assets/:asset_id": [ReposUpdateReleaseAssetEndpoint, ReposUpdateReleaseAssetRequestOptions];
"DELETE /repos/:owner/:repo/releases/assets/:asset_id": [ReposDeleteReleaseAssetEndpoint, ReposDeleteReleaseAssetRequestOptions];
"GET /repos/:owner/:repo/stats/contributors": [ReposGetContributorsStatsEndpoint, ReposGetContributorsStatsRequestOptions];
"GET /repos/:owner/:repo/stats/commit_activity": [ReposGetCommitActivityStatsEndpoint, ReposGetCommitActivityStatsRequestOptions];
"GET /repos/:owner/:repo/stats/code_frequency": [ReposGetCodeFrequencyStatsEndpoint, ReposGetCodeFrequencyStatsRequestOptions];
"GET /repos/:owner/:repo/stats/participation": [ReposGetParticipationStatsEndpoint, ReposGetParticipationStatsRequestOptions];
"GET /repos/:owner/:repo/stats/punch_card": [ReposGetPunchCardStatsEndpoint, ReposGetPunchCardStatsRequestOptions];
"POST /repos/:owner/:repo/statuses/:sha": [ReposCreateStatusEndpoint, ReposCreateStatusRequestOptions];
"GET /repos/:owner/:repo/commits/:ref/statuses": [ReposListStatusesForRefEndpoint, ReposListStatusesForRefRequestOptions];
"GET /repos/:owner/:repo/commits/:ref/status": [ReposGetCombinedStatusForRefEndpoint, ReposGetCombinedStatusForRefRequestOptions];
"GET /repos/:owner/:repo/traffic/popular/referrers": [ReposGetTopReferrersEndpoint, ReposGetTopReferrersRequestOptions];
"GET /repos/:owner/:repo/traffic/popular/paths": [ReposGetTopPathsEndpoint, ReposGetTopPathsRequestOptions];
"GET /repos/:owner/:repo/traffic/views": [ReposGetViewsEndpoint, ReposGetViewsRequestOptions];
"GET /repos/:owner/:repo/traffic/clones": [ReposGetClonesEndpoint, ReposGetClonesRequestOptions];
"GET /scim/v2/organizations/:org/Users": [ScimListProvisionedIdentitiesEndpoint, ScimListProvisionedIdentitiesRequestOptions];
"GET /scim/v2/organizations/:org/Users/:scim_user_id": [ScimGetProvisioningDetailsForUserEndpoint, ScimGetProvisioningDetailsForUserRequestOptions];
"POST /scim/v2/organizations/:org/Users": [ScimProvisionAndInviteUsersEndpoint | ScimProvisionInviteUsersEndpoint, ScimProvisionAndInviteUsersRequestOptions | ScimProvisionInviteUsersRequestOptions];
"PUT /scim/v2/organizations/:org/Users/:scim_user_id": [ScimReplaceProvisionedUserInformationEndpoint | ScimUpdateProvisionedOrgMembershipEndpoint, ScimReplaceProvisionedUserInformationRequestOptions | ScimUpdateProvisionedOrgMembershipRequestOptions];
"PATCH /scim/v2/organizations/:org/Users/:scim_user_id": [ScimUpdateUserAttributeEndpoint, ScimUpdateUserAttributeRequestOptions];
"DELETE /scim/v2/organizations/:org/Users/:scim_user_id": [ScimRemoveUserFromOrgEndpoint, ScimRemoveUserFromOrgRequestOptions];
"GET /search/repositories": [SearchReposEndpoint, SearchReposRequestOptions];
"GET /search/commits": [SearchCommitsEndpoint, SearchCommitsRequestOptions];
"GET /search/code": [SearchCodeEndpoint, SearchCodeRequestOptions];
"GET /search/issues": [SearchIssuesAndPullRequestsEndpoint | SearchIssuesEndpoint, SearchIssuesAndPullRequestsRequestOptions | SearchIssuesRequestOptions];
"GET /search/users": [SearchUsersEndpoint, SearchUsersRequestOptions];
"GET /search/topics": [SearchTopicsEndpoint, SearchTopicsRequestOptions];
"GET /search/labels": [SearchLabelsEndpoint, SearchLabelsRequestOptions];
"GET /legacy/issues/search/:owner/:repository/:state/:keyword": [SearchIssuesLegacyEndpoint, SearchIssuesLegacyRequestOptions];
"GET /legacy/repos/search/:keyword": [SearchReposLegacyEndpoint, SearchReposLegacyRequestOptions];
"GET /legacy/user/search/:keyword": [SearchUsersLegacyEndpoint, SearchUsersLegacyRequestOptions];
"GET /legacy/user/email/:email": [SearchEmailLegacyEndpoint, SearchEmailLegacyRequestOptions];
"GET /orgs/:org/teams": [TeamsListEndpoint, TeamsListRequestOptions];
"GET /teams/:team_id": [TeamsGetEndpoint, TeamsGetRequestOptions];
"GET /orgs/:org/teams/:team_slug": [TeamsGetByNameEndpoint, TeamsGetByNameRequestOptions];
"POST /orgs/:org/teams": [TeamsCreateEndpoint, TeamsCreateRequestOptions];
"PATCH /teams/:team_id": [TeamsUpdateEndpoint, TeamsUpdateRequestOptions];
"DELETE /teams/:team_id": [TeamsDeleteEndpoint, TeamsDeleteRequestOptions];
"GET /teams/:team_id/teams": [TeamsListChildEndpoint, TeamsListChildRequestOptions];
"GET /teams/:team_id/repos": [TeamsListReposEndpoint, TeamsListReposRequestOptions];
"GET /teams/:team_id/repos/:owner/:repo": [TeamsCheckManagesRepoEndpoint, TeamsCheckManagesRepoRequestOptions];
"PUT /teams/:team_id/repos/:owner/:repo": [TeamsAddOrUpdateRepoEndpoint, TeamsAddOrUpdateRepoRequestOptions];
"DELETE /teams/:team_id/repos/:owner/:repo": [TeamsRemoveRepoEndpoint, TeamsRemoveRepoRequestOptions];
"GET /user/teams": [TeamsListForAuthenticatedUserEndpoint, TeamsListForAuthenticatedUserRequestOptions];
"GET /teams/:team_id/projects": [TeamsListProjectsEndpoint, TeamsListProjectsRequestOptions];
"GET /teams/:team_id/projects/:project_id": [TeamsReviewProjectEndpoint, TeamsReviewProjectRequestOptions];
"PUT /teams/:team_id/projects/:project_id": [TeamsAddOrUpdateProjectEndpoint, TeamsAddOrUpdateProjectRequestOptions];
"DELETE /teams/:team_id/projects/:project_id": [TeamsRemoveProjectEndpoint, TeamsRemoveProjectRequestOptions];
"GET /teams/:team_id/discussions/:discussion_number/comments": [TeamsListDiscussionCommentsEndpoint, TeamsListDiscussionCommentsRequestOptions];
"GET /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [TeamsGetDiscussionCommentEndpoint, TeamsGetDiscussionCommentRequestOptions];
"POST /teams/:team_id/discussions/:discussion_number/comments": [TeamsCreateDiscussionCommentEndpoint, TeamsCreateDiscussionCommentRequestOptions];
"PATCH /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [TeamsUpdateDiscussionCommentEndpoint, TeamsUpdateDiscussionCommentRequestOptions];
"DELETE /teams/:team_id/discussions/:discussion_number/comments/:comment_number": [TeamsDeleteDiscussionCommentEndpoint, TeamsDeleteDiscussionCommentRequestOptions];
"GET /teams/:team_id/discussions": [TeamsListDiscussionsEndpoint, TeamsListDiscussionsRequestOptions];
"GET /teams/:team_id/discussions/:discussion_number": [TeamsGetDiscussionEndpoint, TeamsGetDiscussionRequestOptions];
"POST /teams/:team_id/discussions": [TeamsCreateDiscussionEndpoint, TeamsCreateDiscussionRequestOptions];
"PATCH /teams/:team_id/discussions/:discussion_number": [TeamsUpdateDiscussionEndpoint, TeamsUpdateDiscussionRequestOptions];
"DELETE /teams/:team_id/discussions/:discussion_number": [TeamsDeleteDiscussionEndpoint, TeamsDeleteDiscussionRequestOptions];
"GET /teams/:team_id/members": [TeamsListMembersEndpoint, TeamsListMembersRequestOptions];
"GET /teams/:team_id/members/:username": [TeamsGetMemberEndpoint, TeamsGetMemberRequestOptions];
"PUT /teams/:team_id/members/:username": [TeamsAddMemberEndpoint, TeamsAddMemberRequestOptions];
"DELETE /teams/:team_id/members/:username": [TeamsRemoveMemberEndpoint, TeamsRemoveMemberRequestOptions];
"GET /teams/:team_id/memberships/:username": [TeamsGetMembershipEndpoint, TeamsGetMembershipRequestOptions];
"PUT /teams/:team_id/memberships/:username": [TeamsAddOrUpdateMembershipEndpoint, TeamsAddOrUpdateMembershipRequestOptions];
"DELETE /teams/:team_id/memberships/:username": [TeamsRemoveMembershipEndpoint, TeamsRemoveMembershipRequestOptions];
"GET /teams/:team_id/invitations": [TeamsListPendingInvitationsEndpoint, TeamsListPendingInvitationsRequestOptions];
"GET /orgs/:org/team-sync/groups": [TeamsListIdPGroupsForOrgEndpoint, TeamsListIdPGroupsForOrgRequestOptions];
"GET /teams/:team_id/team-sync/group-mappings": [TeamsListIdPGroupsEndpoint, TeamsListIdPGroupsRequestOptions];
"PATCH /teams/:team_id/team-sync/group-mappings": [TeamsCreateOrUpdateIdPGroupConnectionsEndpoint, TeamsCreateOrUpdateIdPGroupConnectionsRequestOptions];
"GET /users/:username": [UsersGetByUsernameEndpoint, UsersGetByUsernameRequestOptions];
"GET /user": [UsersGetAuthenticatedEndpoint, UsersGetAuthenticatedRequestOptions];
"PATCH /user": [UsersUpdateAuthenticatedEndpoint, UsersUpdateAuthenticatedRequestOptions];
"GET /users/:username/hovercard": [UsersGetContextForUserEndpoint, UsersGetContextForUserRequestOptions];
"GET /users": [UsersListEndpoint, UsersListRequestOptions];
"GET /user/blocks": [UsersListBlockedEndpoint, UsersListBlockedRequestOptions];
"GET /user/blocks/:username": [UsersCheckBlockedEndpoint, UsersCheckBlockedRequestOptions];
"PUT /user/blocks/:username": [UsersBlockEndpoint, UsersBlockRequestOptions];
"DELETE /user/blocks/:username": [UsersUnblockEndpoint, UsersUnblockRequestOptions];
"GET /user/emails": [UsersListEmailsEndpoint, UsersListEmailsRequestOptions];
"GET /user/public_emails": [UsersListPublicEmailsEndpoint, UsersListPublicEmailsRequestOptions];
"POST /user/emails": [UsersAddEmailsEndpoint, UsersAddEmailsRequestOptions];
"DELETE /user/emails": [UsersDeleteEmailsEndpoint, UsersDeleteEmailsRequestOptions];
"PATCH /user/email/visibility": [UsersTogglePrimaryEmailVisibilityEndpoint, UsersTogglePrimaryEmailVisibilityRequestOptions];
"GET /users/:username/followers": [UsersListFollowersForUserEndpoint, UsersListFollowersForUserRequestOptions];
"GET /user/followers": [UsersListFollowersForAuthenticatedUserEndpoint, UsersListFollowersForAuthenticatedUserRequestOptions];
"GET /users/:username/following": [UsersListFollowingForUserEndpoint, UsersListFollowingForUserRequestOptions];
"GET /user/following": [UsersListFollowingForAuthenticatedUserEndpoint, UsersListFollowingForAuthenticatedUserRequestOptions];
"GET /user/following/:username": [UsersCheckFollowingEndpoint, UsersCheckFollowingRequestOptions];
"GET /users/:username/following/:target_user": [UsersCheckFollowingForUserEndpoint, UsersCheckFollowingForUserRequestOptions];
"PUT /user/following/:username": [UsersFollowEndpoint, UsersFollowRequestOptions];
"DELETE /user/following/:username": [UsersUnfollowEndpoint, UsersUnfollowRequestOptions];
"GET /users/:username/gpg_keys": [UsersListGpgKeysForUserEndpoint, UsersListGpgKeysForUserRequestOptions];
"GET /user/gpg_keys": [UsersListGpgKeysEndpoint, UsersListGpgKeysRequestOptions];
"GET /user/gpg_keys/:gpg_key_id": [UsersGetGpgKeyEndpoint, UsersGetGpgKeyRequestOptions];
"POST /user/gpg_keys": [UsersCreateGpgKeyEndpoint, UsersCreateGpgKeyRequestOptions];
"DELETE /user/gpg_keys/:gpg_key_id": [UsersDeleteGpgKeyEndpoint, UsersDeleteGpgKeyRequestOptions];
"GET /users/:username/keys": [UsersListPublicKeysForUserEndpoint, UsersListPublicKeysForUserRequestOptions];
"GET /user/keys": [UsersListPublicKeysEndpoint, UsersListPublicKeysRequestOptions];
"GET /user/keys/:key_id": [UsersGetPublicKeyEndpoint, UsersGetPublicKeyRequestOptions];
"POST /user/keys": [UsersCreatePublicKeyEndpoint, UsersCreatePublicKeyRequestOptions];
"DELETE /user/keys/:key_id": [UsersDeletePublicKeyEndpoint, UsersDeletePublicKeyRequestOptions];
}
declare type ActivityListPublicEventsEndpoint = {
per_page?: number;
page?: number;
};
declare type ActivityListPublicEventsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListRepoEventsEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ActivityListRepoEventsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListPublicEventsForRepoNetworkEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ActivityListPublicEventsForRepoNetworkRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListPublicEventsForOrgEndpoint = {
org: string;
per_page?: number;
page?: number;
};
declare type ActivityListPublicEventsForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListReceivedEventsForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type ActivityListReceivedEventsForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListReceivedPublicEventsForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type ActivityListReceivedPublicEventsForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListEventsForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type ActivityListEventsForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListPublicEventsForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type ActivityListPublicEventsForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListEventsForOrgEndpoint = {
username: string;
org: string;
per_page?: number;
page?: number;
};
declare type ActivityListEventsForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListFeedsEndpoint = {};
declare type ActivityListFeedsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListNotificationsEndpoint = {
all?: boolean;
participating?: boolean;
since?: string;
before?: string;
per_page?: number;
page?: number;
};
declare type ActivityListNotificationsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListNotificationsForRepoEndpoint = {
owner: string;
repo: string;
all?: boolean;
participating?: boolean;
since?: string;
before?: string;
per_page?: number;
page?: number;
};
declare type ActivityListNotificationsForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityMarkAsReadEndpoint = {
last_read_at?: string;
};
declare type ActivityMarkAsReadRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityMarkNotificationsAsReadForRepoEndpoint = {
owner: string;
repo: string;
last_read_at?: string;
};
declare type ActivityMarkNotificationsAsReadForRepoRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityGetThreadEndpoint = {
thread_id: number;
};
declare type ActivityGetThreadRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityMarkThreadAsReadEndpoint = {
thread_id: number;
};
declare type ActivityMarkThreadAsReadRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityGetThreadSubscriptionEndpoint = {
thread_id: number;
};
declare type ActivityGetThreadSubscriptionRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivitySetThreadSubscriptionEndpoint = {
thread_id: number;
ignored?: boolean;
};
declare type ActivitySetThreadSubscriptionRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityDeleteThreadSubscriptionEndpoint = {
thread_id: number;
};
declare type ActivityDeleteThreadSubscriptionRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListStargazersForRepoEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ActivityListStargazersForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListReposStarredByUserEndpoint = {
username: string;
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type ActivityListReposStarredByUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListReposStarredByAuthenticatedUserEndpoint = {
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type ActivityListReposStarredByAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityCheckStarringRepoEndpoint = {
owner: string;
repo: string;
};
declare type ActivityCheckStarringRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityStarRepoEndpoint = {
owner: string;
repo: string;
};
declare type ActivityStarRepoRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityUnstarRepoEndpoint = {
owner: string;
repo: string;
};
declare type ActivityUnstarRepoRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListWatchersForRepoEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ActivityListWatchersForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListReposWatchedByUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type ActivityListReposWatchedByUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityListWatchedReposForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type ActivityListWatchedReposForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityGetRepoSubscriptionEndpoint = {
owner: string;
repo: string;
};
declare type ActivityGetRepoSubscriptionRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivitySetRepoSubscriptionEndpoint = {
owner: string;
repo: string;
subscribed?: boolean;
ignored?: boolean;
};
declare type ActivitySetRepoSubscriptionRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityDeleteRepoSubscriptionEndpoint = {
owner: string;
repo: string;
};
declare type ActivityDeleteRepoSubscriptionRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityCheckWatchingRepoLegacyEndpoint = {
owner: string;
repo: string;
};
declare type ActivityCheckWatchingRepoLegacyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityWatchRepoLegacyEndpoint = {
owner: string;
repo: string;
};
declare type ActivityWatchRepoLegacyRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ActivityStopWatchingRepoLegacyEndpoint = {
owner: string;
repo: string;
};
declare type ActivityStopWatchingRepoLegacyRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsGetBySlugEndpoint = {
app_slug: string;
};
declare type AppsGetBySlugRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsGetAuthenticatedEndpoint = {};
declare type AppsGetAuthenticatedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListInstallationsEndpoint = {
per_page?: number;
page?: number;
};
declare type AppsListInstallationsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsGetInstallationEndpoint = {
installation_id: number;
};
declare type AppsGetInstallationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsDeleteInstallationEndpoint = {
installation_id: number;
};
declare type AppsDeleteInstallationRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsCreateInstallationTokenEndpoint = {
installation_id: number;
repository_ids?: number[];
permissions?: object;
};
declare type AppsCreateInstallationTokenRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsGetOrgInstallationEndpoint = {
org: string;
};
declare type AppsGetOrgInstallationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsFindOrgInstallationEndpoint = {
org: string;
};
declare type AppsFindOrgInstallationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsGetRepoInstallationEndpoint = {
owner: string;
repo: string;
};
declare type AppsGetRepoInstallationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsFindRepoInstallationEndpoint = {
owner: string;
repo: string;
};
declare type AppsFindRepoInstallationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsGetUserInstallationEndpoint = {
username: string;
};
declare type AppsGetUserInstallationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsFindUserInstallationEndpoint = {
username: string;
};
declare type AppsFindUserInstallationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsCreateFromManifestEndpoint = {
code: string;
};
declare type AppsCreateFromManifestRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListReposEndpoint = {
per_page?: number;
page?: number;
};
declare type AppsListReposRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListInstallationsForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type AppsListInstallationsForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListInstallationReposForAuthenticatedUserEndpoint = {
installation_id: number;
per_page?: number;
page?: number;
};
declare type AppsListInstallationReposForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsAddRepoToInstallationEndpoint = {
installation_id: number;
repository_id: number;
};
declare type AppsAddRepoToInstallationRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsRemoveRepoFromInstallationEndpoint = {
installation_id: number;
repository_id: number;
};
declare type AppsRemoveRepoFromInstallationRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsCreateContentAttachmentEndpoint = {
content_reference_id: number;
title: string;
body: string;
};
declare type AppsCreateContentAttachmentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListPlansEndpoint = {
per_page?: number;
page?: number;
};
declare type AppsListPlansRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListPlansStubbedEndpoint = {
per_page?: number;
page?: number;
};
declare type AppsListPlansStubbedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListAccountsUserOrOrgOnPlanEndpoint = {
plan_id: number;
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type AppsListAccountsUserOrOrgOnPlanRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListAccountsUserOrOrgOnPlanStubbedEndpoint = {
plan_id: number;
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type AppsListAccountsUserOrOrgOnPlanStubbedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsCheckAccountIsAssociatedWithAnyEndpoint = {
account_id: number;
per_page?: number;
page?: number;
};
declare type AppsCheckAccountIsAssociatedWithAnyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsCheckAccountIsAssociatedWithAnyStubbedEndpoint = {
account_id: number;
per_page?: number;
page?: number;
};
declare type AppsCheckAccountIsAssociatedWithAnyStubbedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListMarketplacePurchasesForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type AppsListMarketplacePurchasesForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedEndpoint = {
per_page?: number;
page?: number;
};
declare type AppsListMarketplacePurchasesForAuthenticatedUserStubbedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksCreateEndpoint = {
owner: string;
repo: string;
name: string;
head_sha: string;
details_url?: string;
external_id?: string;
status?: string;
started_at?: string;
conclusion?: string;
completed_at?: string;
output?: object;
"output.title": string;
"output.summary": string;
"output.text"?: string;
"output.annotations"?: object[];
"output.annotations[].path": string;
"output.annotations[].start_line": number;
"output.annotations[].end_line": number;
"output.annotations[].start_column"?: number;
"output.annotations[].end_column"?: number;
"output.annotations[].annotation_level": string;
"output.annotations[].message": string;
"output.annotations[].title"?: string;
"output.annotations[].raw_details"?: string;
"output.images"?: object[];
"output.images[].alt": string;
"output.images[].image_url": string;
"output.images[].caption"?: string;
actions?: object[];
"actions[].label": string;
"actions[].description": string;
"actions[].identifier": string;
};
declare type ChecksCreateRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksUpdateEndpoint = {
owner: string;
repo: string;
check_run_id: number;
name?: string;
details_url?: string;
external_id?: string;
started_at?: string;
status?: string;
conclusion?: string;
completed_at?: string;
output?: object;
"output.title"?: string;
"output.summary": string;
"output.text"?: string;
"output.annotations"?: object[];
"output.annotations[].path": string;
"output.annotations[].start_line": number;
"output.annotations[].end_line": number;
"output.annotations[].start_column"?: number;
"output.annotations[].end_column"?: number;
"output.annotations[].annotation_level": string;
"output.annotations[].message": string;
"output.annotations[].title"?: string;
"output.annotations[].raw_details"?: string;
"output.images"?: object[];
"output.images[].alt": string;
"output.images[].image_url": string;
"output.images[].caption"?: string;
actions?: object[];
"actions[].label": string;
"actions[].description": string;
"actions[].identifier": string;
};
declare type ChecksUpdateRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksListForRefEndpoint = {
owner: string;
repo: string;
ref: string;
check_name?: string;
status?: string;
filter?: string;
per_page?: number;
page?: number;
};
declare type ChecksListForRefRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksListForSuiteEndpoint = {
owner: string;
repo: string;
check_suite_id: number;
check_name?: string;
status?: string;
filter?: string;
per_page?: number;
page?: number;
};
declare type ChecksListForSuiteRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksGetEndpoint = {
owner: string;
repo: string;
check_run_id: number;
};
declare type ChecksGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksListAnnotationsEndpoint = {
owner: string;
repo: string;
check_run_id: number;
per_page?: number;
page?: number;
};
declare type ChecksListAnnotationsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksGetSuiteEndpoint = {
owner: string;
repo: string;
check_suite_id: number;
};
declare type ChecksGetSuiteRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksListSuitesForRefEndpoint = {
owner: string;
repo: string;
ref: string;
app_id?: number;
check_name?: string;
per_page?: number;
page?: number;
};
declare type ChecksListSuitesForRefRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksSetSuitesPreferencesEndpoint = {
owner: string;
repo: string;
auto_trigger_checks?: object[];
"auto_trigger_checks[].app_id": number;
"auto_trigger_checks[].setting": boolean;
};
declare type ChecksSetSuitesPreferencesRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksCreateSuiteEndpoint = {
owner: string;
repo: string;
head_sha: string;
};
declare type ChecksCreateSuiteRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ChecksRerequestSuiteEndpoint = {
owner: string;
repo: string;
check_suite_id: number;
};
declare type ChecksRerequestSuiteRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type CodesOfConductListConductCodesEndpoint = {};
declare type CodesOfConductListConductCodesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type CodesOfConductGetConductCodeEndpoint = {
key: string;
};
declare type CodesOfConductGetConductCodeRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type CodesOfConductGetForRepoEndpoint = {
owner: string;
repo: string;
};
declare type CodesOfConductGetForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type EmojisGetEndpoint = {};
declare type EmojisGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsListPublicForUserEndpoint = {
username: string;
since?: string;
per_page?: number;
page?: number;
};
declare type GistsListPublicForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsListEndpoint = {
since?: string;
per_page?: number;
page?: number;
};
declare type GistsListRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsListPublicEndpoint = {
since?: string;
per_page?: number;
page?: number;
};
declare type GistsListPublicRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsListStarredEndpoint = {
since?: string;
per_page?: number;
page?: number;
};
declare type GistsListStarredRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsGetEndpoint = {
gist_id: string;
};
declare type GistsGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsGetRevisionEndpoint = {
gist_id: string;
sha: string;
};
declare type GistsGetRevisionRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsCreateEndpoint = {
files: object;
"files.content"?: string;
description?: string;
public?: boolean;
};
declare type GistsCreateRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsUpdateEndpoint = {
gist_id: string;
description?: string;
files?: object;
"files.content"?: string;
"files.filename"?: string;
};
declare type GistsUpdateRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsListCommitsEndpoint = {
gist_id: string;
per_page?: number;
page?: number;
};
declare type GistsListCommitsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsStarEndpoint = {
gist_id: string;
};
declare type GistsStarRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsUnstarEndpoint = {
gist_id: string;
};
declare type GistsUnstarRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsCheckIsStarredEndpoint = {
gist_id: string;
};
declare type GistsCheckIsStarredRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsForkEndpoint = {
gist_id: string;
};
declare type GistsForkRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsListForksEndpoint = {
gist_id: string;
per_page?: number;
page?: number;
};
declare type GistsListForksRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsDeleteEndpoint = {
gist_id: string;
};
declare type GistsDeleteRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsListCommentsEndpoint = {
gist_id: string;
per_page?: number;
page?: number;
};
declare type GistsListCommentsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsGetCommentEndpoint = {
gist_id: string;
comment_id: number;
};
declare type GistsGetCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsCreateCommentEndpoint = {
gist_id: string;
body: string;
};
declare type GistsCreateCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsUpdateCommentEndpoint = {
gist_id: string;
comment_id: number;
body: string;
};
declare type GistsUpdateCommentRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GistsDeleteCommentEndpoint = {
gist_id: string;
comment_id: number;
};
declare type GistsDeleteCommentRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitGetBlobEndpoint = {
owner: string;
repo: string;
file_sha: string;
};
declare type GitGetBlobRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitCreateBlobEndpoint = {
owner: string;
repo: string;
content: string;
encoding?: string;
};
declare type GitCreateBlobRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitGetCommitEndpoint = {
owner: string;
repo: string;
commit_sha: string;
};
declare type GitGetCommitRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitCreateCommitEndpoint = {
owner: string;
repo: string;
message: string;
tree: string;
parents: string[];
author?: object;
"author.name"?: string;
"author.email"?: string;
"author.date"?: string;
committer?: object;
"committer.name"?: string;
"committer.email"?: string;
"committer.date"?: string;
signature?: string;
};
declare type GitCreateCommitRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitGetRefEndpoint = {
owner: string;
repo: string;
ref: string;
};
declare type GitGetRefRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitListRefsEndpoint = {
owner: string;
repo: string;
namespace?: string;
per_page?: number;
page?: number;
};
declare type GitListRefsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitCreateRefEndpoint = {
owner: string;
repo: string;
ref: string;
sha: string;
};
declare type GitCreateRefRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitUpdateRefEndpoint = {
owner: string;
repo: string;
ref: string;
sha: string;
force?: boolean;
};
declare type GitUpdateRefRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitDeleteRefEndpoint = {
owner: string;
repo: string;
ref: string;
};
declare type GitDeleteRefRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitGetTagEndpoint = {
owner: string;
repo: string;
tag_sha: string;
};
declare type GitGetTagRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitCreateTagEndpoint = {
owner: string;
repo: string;
tag: string;
message: string;
object: string;
type: string;
tagger?: object;
"tagger.name"?: string;
"tagger.email"?: string;
"tagger.date"?: string;
};
declare type GitCreateTagRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitGetTreeEndpoint = {
owner: string;
repo: string;
tree_sha: string;
recursive?: number;
};
declare type GitGetTreeRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitCreateTreeEndpoint = {
owner: string;
repo: string;
tree: object[];
"tree[].path"?: string;
"tree[].mode"?: string;
"tree[].type"?: string;
"tree[].sha"?: string;
"tree[].content"?: string;
base_tree?: string;
};
declare type GitCreateTreeRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitignoreListTemplatesEndpoint = {};
declare type GitignoreListTemplatesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type GitignoreGetTemplateEndpoint = {
name: string;
};
declare type GitignoreGetTemplateRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type InteractionsGetRestrictionsForOrgEndpoint = {
org: string;
};
declare type InteractionsGetRestrictionsForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type InteractionsAddOrUpdateRestrictionsForOrgEndpoint = {
org: string;
limit: string;
};
declare type InteractionsAddOrUpdateRestrictionsForOrgRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type InteractionsRemoveRestrictionsForOrgEndpoint = {
org: string;
};
declare type InteractionsRemoveRestrictionsForOrgRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type InteractionsGetRestrictionsForRepoEndpoint = {
owner: string;
repo: string;
};
declare type InteractionsGetRestrictionsForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type InteractionsAddOrUpdateRestrictionsForRepoEndpoint = {
owner: string;
repo: string;
limit: string;
};
declare type InteractionsAddOrUpdateRestrictionsForRepoRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type InteractionsRemoveRestrictionsForRepoEndpoint = {
owner: string;
repo: string;
};
declare type InteractionsRemoveRestrictionsForRepoRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListEndpoint = {
filter?: string;
state?: string;
labels?: string;
sort?: string;
direction?: string;
since?: string;
per_page?: number;
page?: number;
};
declare type IssuesListRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListForAuthenticatedUserEndpoint = {
filter?: string;
state?: string;
labels?: string;
sort?: string;
direction?: string;
since?: string;
per_page?: number;
page?: number;
};
declare type IssuesListForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListForOrgEndpoint = {
org: string;
filter?: string;
state?: string;
labels?: string;
sort?: string;
direction?: string;
since?: string;
per_page?: number;
page?: number;
};
declare type IssuesListForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListForRepoEndpoint = {
owner: string;
repo: string;
milestone?: string;
state?: string;
assignee?: string;
creator?: string;
mentioned?: string;
labels?: string;
sort?: string;
direction?: string;
since?: string;
per_page?: number;
page?: number;
};
declare type IssuesListForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesGetEndpoint = {
owner: string;
repo: string;
issue_number: number;
number?: number;
};
declare type IssuesGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesCreateEndpoint = {
owner: string;
repo: string;
title: string;
body?: string;
assignee?: string;
milestone?: number;
labels?: string[];
assignees?: string[];
};
declare type IssuesCreateRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesUpdateEndpoint = {
owner: string;
repo: string;
issue_number: number;
title?: string;
body?: string;
assignee?: string;
state?: string;
milestone?: number | null;
labels?: string[];
assignees?: string[];
number?: number;
};
declare type IssuesUpdateRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesLockEndpoint = {
owner: string;
repo: string;
issue_number: number;
lock_reason?: string;
number?: number;
};
declare type IssuesLockRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesUnlockEndpoint = {
owner: string;
repo: string;
issue_number: number;
number?: number;
};
declare type IssuesUnlockRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListAssigneesEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type IssuesListAssigneesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesCheckAssigneeEndpoint = {
owner: string;
repo: string;
assignee: string;
};
declare type IssuesCheckAssigneeRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesAddAssigneesEndpoint = {
owner: string;
repo: string;
issue_number: number;
assignees?: string[];
number?: number;
};
declare type IssuesAddAssigneesRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesRemoveAssigneesEndpoint = {
owner: string;
repo: string;
issue_number: number;
assignees?: string[];
number?: number;
};
declare type IssuesRemoveAssigneesRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListCommentsEndpoint = {
owner: string;
repo: string;
issue_number: number;
since?: string;
per_page?: number;
page?: number;
number?: number;
};
declare type IssuesListCommentsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListCommentsForRepoEndpoint = {
owner: string;
repo: string;
sort?: string;
direction?: string;
since?: string;
};
declare type IssuesListCommentsForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesGetCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
per_page?: number;
page?: number;
};
declare type IssuesGetCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesCreateCommentEndpoint = {
owner: string;
repo: string;
issue_number: number;
body: string;
number?: number;
};
declare type IssuesCreateCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesUpdateCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
body: string;
};
declare type IssuesUpdateCommentRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesDeleteCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
};
declare type IssuesDeleteCommentRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListEventsEndpoint = {
owner: string;
repo: string;
issue_number: number;
per_page?: number;
page?: number;
number?: number;
};
declare type IssuesListEventsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListEventsForRepoEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type IssuesListEventsForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesGetEventEndpoint = {
owner: string;
repo: string;
event_id: number;
};
declare type IssuesGetEventRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListLabelsForRepoEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type IssuesListLabelsForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesGetLabelEndpoint = {
owner: string;
repo: string;
name: string;
};
declare type IssuesGetLabelRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesCreateLabelEndpoint = {
owner: string;
repo: string;
name: string;
color: string;
description?: string;
};
declare type IssuesCreateLabelRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesUpdateLabelEndpoint = {
owner: string;
repo: string;
current_name: string;
name?: string;
color?: string;
description?: string;
};
declare type IssuesUpdateLabelRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesDeleteLabelEndpoint = {
owner: string;
repo: string;
name: string;
};
declare type IssuesDeleteLabelRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListLabelsOnIssueEndpoint = {
owner: string;
repo: string;
issue_number: number;
per_page?: number;
page?: number;
number?: number;
};
declare type IssuesListLabelsOnIssueRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesAddLabelsEndpoint = {
owner: string;
repo: string;
issue_number: number;
labels: string[];
number?: number;
};
declare type IssuesAddLabelsRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesRemoveLabelEndpoint = {
owner: string;
repo: string;
issue_number: number;
name: string;
number?: number;
};
declare type IssuesRemoveLabelRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesReplaceLabelsEndpoint = {
owner: string;
repo: string;
issue_number: number;
labels?: string[];
number?: number;
};
declare type IssuesReplaceLabelsRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesRemoveLabelsEndpoint = {
owner: string;
repo: string;
issue_number: number;
number?: number;
};
declare type IssuesRemoveLabelsRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListLabelsForMilestoneEndpoint = {
owner: string;
repo: string;
milestone_number: number;
per_page?: number;
page?: number;
number?: number;
};
declare type IssuesListLabelsForMilestoneRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListMilestonesForRepoEndpoint = {
owner: string;
repo: string;
state?: string;
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type IssuesListMilestonesForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesGetMilestoneEndpoint = {
owner: string;
repo: string;
milestone_number: number;
number?: number;
};
declare type IssuesGetMilestoneRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesCreateMilestoneEndpoint = {
owner: string;
repo: string;
title: string;
state?: string;
description?: string;
due_on?: string;
};
declare type IssuesCreateMilestoneRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesUpdateMilestoneEndpoint = {
owner: string;
repo: string;
milestone_number: number;
title?: string;
state?: string;
description?: string;
due_on?: string;
number?: number;
};
declare type IssuesUpdateMilestoneRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesDeleteMilestoneEndpoint = {
owner: string;
repo: string;
milestone_number: number;
number?: number;
};
declare type IssuesDeleteMilestoneRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type IssuesListEventsForTimelineEndpoint = {
owner: string;
repo: string;
issue_number: number;
per_page?: number;
page?: number;
number?: number;
};
declare type IssuesListEventsForTimelineRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type LicensesListCommonlyUsedEndpoint = {};
declare type LicensesListCommonlyUsedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type LicensesListEndpoint = {};
declare type LicensesListRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type LicensesGetEndpoint = {
license: string;
};
declare type LicensesGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type LicensesGetForRepoEndpoint = {
owner: string;
repo: string;
};
declare type LicensesGetForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MarkdownRenderEndpoint = {
text: string;
mode?: string;
context?: string;
};
declare type MarkdownRenderRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MarkdownRenderRawEndpoint = {
data: string;
};
declare type MarkdownRenderRawRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MetaGetEndpoint = {};
declare type MetaGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsStartForOrgEndpoint = {
org: string;
repositories: string[];
lock_repositories?: boolean;
exclude_attachments?: boolean;
};
declare type MigrationsStartForOrgRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsListForOrgEndpoint = {
org: string;
per_page?: number;
page?: number;
};
declare type MigrationsListForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsGetStatusForOrgEndpoint = {
org: string;
migration_id: number;
};
declare type MigrationsGetStatusForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsGetArchiveForOrgEndpoint = {
org: string;
migration_id: number;
};
declare type MigrationsGetArchiveForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsDeleteArchiveForOrgEndpoint = {
org: string;
migration_id: number;
};
declare type MigrationsDeleteArchiveForOrgRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsUnlockRepoForOrgEndpoint = {
org: string;
migration_id: number;
repo_name: string;
};
declare type MigrationsUnlockRepoForOrgRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsStartImportEndpoint = {
owner: string;
repo: string;
vcs_url: string;
vcs?: string;
vcs_username?: string;
vcs_password?: string;
tfvc_project?: string;
};
declare type MigrationsStartImportRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsGetImportProgressEndpoint = {
owner: string;
repo: string;
};
declare type MigrationsGetImportProgressRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsUpdateImportEndpoint = {
owner: string;
repo: string;
vcs_username?: string;
vcs_password?: string;
};
declare type MigrationsUpdateImportRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsGetCommitAuthorsEndpoint = {
owner: string;
repo: string;
since?: string;
};
declare type MigrationsGetCommitAuthorsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsMapCommitAuthorEndpoint = {
owner: string;
repo: string;
author_id: number;
email?: string;
name?: string;
};
declare type MigrationsMapCommitAuthorRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsSetLfsPreferenceEndpoint = {
owner: string;
repo: string;
use_lfs: string;
};
declare type MigrationsSetLfsPreferenceRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsGetLargeFilesEndpoint = {
owner: string;
repo: string;
};
declare type MigrationsGetLargeFilesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsCancelImportEndpoint = {
owner: string;
repo: string;
};
declare type MigrationsCancelImportRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsStartForAuthenticatedUserEndpoint = {
repositories: string[];
lock_repositories?: boolean;
exclude_attachments?: boolean;
};
declare type MigrationsStartForAuthenticatedUserRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsListForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type MigrationsListForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsGetStatusForAuthenticatedUserEndpoint = {
migration_id: number;
};
declare type MigrationsGetStatusForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsGetArchiveForAuthenticatedUserEndpoint = {
migration_id: number;
};
declare type MigrationsGetArchiveForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsDeleteArchiveForAuthenticatedUserEndpoint = {
migration_id: number;
};
declare type MigrationsDeleteArchiveForAuthenticatedUserRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type MigrationsUnlockRepoForAuthenticatedUserEndpoint = {
migration_id: number;
repo_name: string;
};
declare type MigrationsUnlockRepoForAuthenticatedUserRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsListGrantsEndpoint = {
per_page?: number;
page?: number;
};
declare type OauthAuthorizationsListGrantsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsGetGrantEndpoint = {
grant_id: number;
};
declare type OauthAuthorizationsGetGrantRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsDeleteGrantEndpoint = {
grant_id: number;
};
declare type OauthAuthorizationsDeleteGrantRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsListAuthorizationsEndpoint = {
per_page?: number;
page?: number;
};
declare type OauthAuthorizationsListAuthorizationsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsGetAuthorizationEndpoint = {
authorization_id: number;
};
declare type OauthAuthorizationsGetAuthorizationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsCreateAuthorizationEndpoint = {
scopes?: string[];
note: string;
note_url?: string;
client_id?: string;
client_secret?: string;
fingerprint?: string;
};
declare type OauthAuthorizationsCreateAuthorizationRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsGetOrCreateAuthorizationForAppEndpoint = {
client_id: string;
client_secret: string;
scopes?: string[];
note?: string;
note_url?: string;
fingerprint?: string;
};
declare type OauthAuthorizationsGetOrCreateAuthorizationForAppRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintEndpoint = {
client_id: string;
fingerprint: string;
client_secret: string;
scopes?: string[];
note?: string;
note_url?: string;
};
declare type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintEndpoint = {
client_id: string;
fingerprint: string;
client_secret: string;
scopes?: string[];
note?: string;
note_url?: string;
};
declare type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsUpdateAuthorizationEndpoint = {
authorization_id: number;
scopes?: string[];
add_scopes?: string[];
remove_scopes?: string[];
note?: string;
note_url?: string;
fingerprint?: string;
};
declare type OauthAuthorizationsUpdateAuthorizationRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsDeleteAuthorizationEndpoint = {
authorization_id: number;
};
declare type OauthAuthorizationsDeleteAuthorizationRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsCheckAuthorizationEndpoint = {
client_id: string;
access_token: string;
};
declare type OauthAuthorizationsCheckAuthorizationRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsResetAuthorizationEndpoint = {
client_id: string;
access_token: string;
};
declare type OauthAuthorizationsResetAuthorizationRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsRevokeAuthorizationForApplicationEndpoint = {
client_id: string;
access_token: string;
};
declare type OauthAuthorizationsRevokeAuthorizationForApplicationRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OauthAuthorizationsRevokeGrantForApplicationEndpoint = {
client_id: string;
access_token: string;
};
declare type OauthAuthorizationsRevokeGrantForApplicationRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type OrgsListForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListEndpoint = {
since?: string;
per_page?: number;
page?: number;
};
declare type OrgsListRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type OrgsListForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsGetEndpoint = {
org: string;
};
declare type OrgsGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsUpdateEndpoint = {
org: string;
billing_email?: string;
company?: string;
email?: string;
location?: string;
name?: string;
description?: string;
has_organization_projects?: boolean;
has_repository_projects?: boolean;
default_repository_permission?: string;
members_can_create_repositories?: boolean;
members_allowed_repository_creation_type?: string;
};
declare type OrgsUpdateRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListCredentialAuthorizationsEndpoint = {
org: string;
};
declare type OrgsListCredentialAuthorizationsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsRemoveCredentialAuthorizationEndpoint = {
org: string;
credential_id: number;
};
declare type OrgsRemoveCredentialAuthorizationRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListBlockedUsersEndpoint = {
org: string;
};
declare type OrgsListBlockedUsersRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsCheckBlockedUserEndpoint = {
org: string;
username: string;
};
declare type OrgsCheckBlockedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsBlockUserEndpoint = {
org: string;
username: string;
};
declare type OrgsBlockUserRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsUnblockUserEndpoint = {
org: string;
username: string;
};
declare type OrgsUnblockUserRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListHooksEndpoint = {
org: string;
per_page?: number;
page?: number;
};
declare type OrgsListHooksRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsGetHookEndpoint = {
org: string;
hook_id: number;
};
declare type OrgsGetHookRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsCreateHookEndpoint = {
org: string;
name: string;
config: object;
"config.url": string;
"config.content_type"?: string;
"config.secret"?: string;
"config.insecure_ssl"?: string;
events?: string[];
active?: boolean;
};
declare type OrgsCreateHookRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsUpdateHookEndpoint = {
org: string;
hook_id: number;
config?: object;
"config.url": string;
"config.content_type"?: string;
"config.secret"?: string;
"config.insecure_ssl"?: string;
events?: string[];
active?: boolean;
};
declare type OrgsUpdateHookRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsPingHookEndpoint = {
org: string;
hook_id: number;
};
declare type OrgsPingHookRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsDeleteHookEndpoint = {
org: string;
hook_id: number;
};
declare type OrgsDeleteHookRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListMembersEndpoint = {
org: string;
filter?: string;
role?: string;
per_page?: number;
page?: number;
};
declare type OrgsListMembersRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsCheckMembershipEndpoint = {
org: string;
username: string;
};
declare type OrgsCheckMembershipRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsRemoveMemberEndpoint = {
org: string;
username: string;
};
declare type OrgsRemoveMemberRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListPublicMembersEndpoint = {
org: string;
per_page?: number;
page?: number;
};
declare type OrgsListPublicMembersRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsCheckPublicMembershipEndpoint = {
org: string;
username: string;
};
declare type OrgsCheckPublicMembershipRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsPublicizeMembershipEndpoint = {
org: string;
username: string;
};
declare type OrgsPublicizeMembershipRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsConcealMembershipEndpoint = {
org: string;
username: string;
};
declare type OrgsConcealMembershipRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsGetMembershipEndpoint = {
org: string;
username: string;
};
declare type OrgsGetMembershipRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsAddOrUpdateMembershipEndpoint = {
org: string;
username: string;
role?: string;
};
declare type OrgsAddOrUpdateMembershipRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsRemoveMembershipEndpoint = {
org: string;
username: string;
};
declare type OrgsRemoveMembershipRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListInvitationTeamsEndpoint = {
org: string;
invitation_id: number;
per_page?: number;
page?: number;
};
declare type OrgsListInvitationTeamsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListPendingInvitationsEndpoint = {
org: string;
per_page?: number;
page?: number;
};
declare type OrgsListPendingInvitationsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsCreateInvitationEndpoint = {
org: string;
invitee_id?: number;
email?: string;
role?: string;
team_ids?: number[];
};
declare type OrgsCreateInvitationRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListMembershipsEndpoint = {
state?: string;
per_page?: number;
page?: number;
};
declare type OrgsListMembershipsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsGetMembershipForAuthenticatedUserEndpoint = {
org: string;
};
declare type OrgsGetMembershipForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsUpdateMembershipEndpoint = {
org: string;
state: string;
};
declare type OrgsUpdateMembershipRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsListOutsideCollaboratorsEndpoint = {
org: string;
filter?: string;
per_page?: number;
page?: number;
};
declare type OrgsListOutsideCollaboratorsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsRemoveOutsideCollaboratorEndpoint = {
org: string;
username: string;
};
declare type OrgsRemoveOutsideCollaboratorRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type OrgsConvertMemberToOutsideCollaboratorEndpoint = {
org: string;
username: string;
};
declare type OrgsConvertMemberToOutsideCollaboratorRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsListForRepoEndpoint = {
owner: string;
repo: string;
state?: string;
per_page?: number;
page?: number;
};
declare type ProjectsListForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsListForOrgEndpoint = {
org: string;
state?: string;
per_page?: number;
page?: number;
};
declare type ProjectsListForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsListForUserEndpoint = {
username: string;
state?: string;
per_page?: number;
page?: number;
};
declare type ProjectsListForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsGetEndpoint = {
project_id: number;
per_page?: number;
page?: number;
};
declare type ProjectsGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsCreateForRepoEndpoint = {
owner: string;
repo: string;
name: string;
body?: string;
per_page?: number;
page?: number;
};
declare type ProjectsCreateForRepoRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsCreateForOrgEndpoint = {
org: string;
name: string;
body?: string;
per_page?: number;
page?: number;
};
declare type ProjectsCreateForOrgRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsCreateForAuthenticatedUserEndpoint = {
name: string;
body?: string;
per_page?: number;
page?: number;
};
declare type ProjectsCreateForAuthenticatedUserRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsUpdateEndpoint = {
project_id: number;
name?: string;
body?: string;
state?: string;
organization_permission?: string;
private?: boolean;
per_page?: number;
page?: number;
};
declare type ProjectsUpdateRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsDeleteEndpoint = {
project_id: number;
};
declare type ProjectsDeleteRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsListCardsEndpoint = {
column_id: number;
archived_state?: string;
per_page?: number;
page?: number;
};
declare type ProjectsListCardsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsGetCardEndpoint = {
card_id: number;
};
declare type ProjectsGetCardRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsCreateCardEndpoint = {
column_id: number;
note?: string;
content_id?: number;
content_type?: string;
};
declare type ProjectsCreateCardRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsUpdateCardEndpoint = {
card_id: number;
note?: string;
archived?: boolean;
};
declare type ProjectsUpdateCardRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsDeleteCardEndpoint = {
card_id: number;
};
declare type ProjectsDeleteCardRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsMoveCardEndpoint = {
card_id: number;
position: string;
column_id?: number;
};
declare type ProjectsMoveCardRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsListCollaboratorsEndpoint = {
project_id: number;
affiliation?: string;
per_page?: number;
page?: number;
};
declare type ProjectsListCollaboratorsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsReviewUserPermissionLevelEndpoint = {
project_id: number;
username: string;
};
declare type ProjectsReviewUserPermissionLevelRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsAddCollaboratorEndpoint = {
project_id: number;
username: string;
permission?: string;
};
declare type ProjectsAddCollaboratorRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsRemoveCollaboratorEndpoint = {
project_id: number;
username: string;
};
declare type ProjectsRemoveCollaboratorRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsListColumnsEndpoint = {
project_id: number;
per_page?: number;
page?: number;
};
declare type ProjectsListColumnsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsGetColumnEndpoint = {
column_id: number;
};
declare type ProjectsGetColumnRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsCreateColumnEndpoint = {
project_id: number;
name: string;
};
declare type ProjectsCreateColumnRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsUpdateColumnEndpoint = {
column_id: number;
name: string;
};
declare type ProjectsUpdateColumnRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsDeleteColumnEndpoint = {
column_id: number;
};
declare type ProjectsDeleteColumnRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ProjectsMoveColumnEndpoint = {
column_id: number;
position: string;
};
declare type ProjectsMoveColumnRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsListEndpoint = {
owner: string;
repo: string;
state?: string;
head?: string;
base?: string;
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type PullsListRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsGetEndpoint = {
owner: string;
repo: string;
pull_number: number;
number?: number;
};
declare type PullsGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsCreateEndpoint = {
owner: string;
repo: string;
title: string;
head: string;
base: string;
body?: string;
maintainer_can_modify?: boolean;
draft?: boolean;
};
declare type PullsCreateRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsCreateFromIssueEndpoint = {
owner: string;
repo: string;
issue: number;
head: string;
base: string;
maintainer_can_modify?: boolean;
draft?: boolean;
};
declare type PullsCreateFromIssueRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsUpdateBranchEndpoint = {
owner: string;
repo: string;
pull_number: number;
expected_head_sha?: string;
};
declare type PullsUpdateBranchRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsUpdateEndpoint = {
owner: string;
repo: string;
pull_number: number;
title?: string;
body?: string;
state?: string;
base?: string;
maintainer_can_modify?: boolean;
number?: number;
};
declare type PullsUpdateRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsListCommitsEndpoint = {
owner: string;
repo: string;
pull_number: number;
per_page?: number;
page?: number;
number?: number;
};
declare type PullsListCommitsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsListFilesEndpoint = {
owner: string;
repo: string;
pull_number: number;
per_page?: number;
page?: number;
number?: number;
};
declare type PullsListFilesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsCheckIfMergedEndpoint = {
owner: string;
repo: string;
pull_number: number;
number?: number;
};
declare type PullsCheckIfMergedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsMergeEndpoint = {
owner: string;
repo: string;
pull_number: number;
commit_title?: string;
commit_message?: string;
sha?: string;
merge_method?: string;
number?: number;
};
declare type PullsMergeRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsListCommentsEndpoint = {
owner: string;
repo: string;
pull_number: number;
sort?: string;
direction?: string;
since?: string;
per_page?: number;
page?: number;
number?: number;
};
declare type PullsListCommentsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsListCommentsForRepoEndpoint = {
owner: string;
repo: string;
sort?: string;
direction?: string;
since?: string;
per_page?: number;
page?: number;
};
declare type PullsListCommentsForRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsGetCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
};
declare type PullsGetCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsCreateCommentEndpoint = {
owner: string;
repo: string;
pull_number: number;
body: string;
commit_id: string;
path: string;
position: number;
number?: number;
};
declare type PullsCreateCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsCreateCommentReplyEndpoint = {
owner: string;
repo: string;
pull_number: number;
body: string;
in_reply_to: number;
number?: number;
};
declare type PullsCreateCommentReplyRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsUpdateCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
body: string;
};
declare type PullsUpdateCommentRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsDeleteCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
};
declare type PullsDeleteCommentRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsListReviewRequestsEndpoint = {
owner: string;
repo: string;
pull_number: number;
per_page?: number;
page?: number;
number?: number;
};
declare type PullsListReviewRequestsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsCreateReviewRequestEndpoint = {
owner: string;
repo: string;
pull_number: number;
reviewers?: string[];
team_reviewers?: string[];
number?: number;
};
declare type PullsCreateReviewRequestRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsDeleteReviewRequestEndpoint = {
owner: string;
repo: string;
pull_number: number;
reviewers?: string[];
team_reviewers?: string[];
number?: number;
};
declare type PullsDeleteReviewRequestRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsListReviewsEndpoint = {
owner: string;
repo: string;
pull_number: number;
per_page?: number;
page?: number;
number?: number;
};
declare type PullsListReviewsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsGetReviewEndpoint = {
owner: string;
repo: string;
pull_number: number;
review_id: number;
number?: number;
};
declare type PullsGetReviewRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsDeletePendingReviewEndpoint = {
owner: string;
repo: string;
pull_number: number;
review_id: number;
number?: number;
};
declare type PullsDeletePendingReviewRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsGetCommentsForReviewEndpoint = {
owner: string;
repo: string;
pull_number: number;
review_id: number;
per_page?: number;
page?: number;
number?: number;
};
declare type PullsGetCommentsForReviewRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsCreateReviewEndpoint = {
owner: string;
repo: string;
pull_number: number;
commit_id?: string;
body?: string;
event?: string;
comments?: object[];
"comments[].path": string;
"comments[].position": number;
"comments[].body": string;
number?: number;
};
declare type PullsCreateReviewRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsUpdateReviewEndpoint = {
owner: string;
repo: string;
pull_number: number;
review_id: number;
body: string;
number?: number;
};
declare type PullsUpdateReviewRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsSubmitReviewEndpoint = {
owner: string;
repo: string;
pull_number: number;
review_id: number;
body?: string;
event: string;
number?: number;
};
declare type PullsSubmitReviewRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type PullsDismissReviewEndpoint = {
owner: string;
repo: string;
pull_number: number;
review_id: number;
message: string;
number?: number;
};
declare type PullsDismissReviewRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type RateLimitGetEndpoint = {};
declare type RateLimitGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsListForCommitCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
content?: string;
per_page?: number;
page?: number;
};
declare type ReactionsListForCommitCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsCreateForCommitCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
content: string;
};
declare type ReactionsCreateForCommitCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsListForIssueEndpoint = {
owner: string;
repo: string;
issue_number: number;
content?: string;
per_page?: number;
page?: number;
number?: number;
};
declare type ReactionsListForIssueRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsCreateForIssueEndpoint = {
owner: string;
repo: string;
issue_number: number;
content: string;
number?: number;
};
declare type ReactionsCreateForIssueRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsListForIssueCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
content?: string;
per_page?: number;
page?: number;
};
declare type ReactionsListForIssueCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsCreateForIssueCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
content: string;
};
declare type ReactionsCreateForIssueCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsListForPullRequestReviewCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
content?: string;
per_page?: number;
page?: number;
};
declare type ReactionsListForPullRequestReviewCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsCreateForPullRequestReviewCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
content: string;
};
declare type ReactionsCreateForPullRequestReviewCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsListForTeamDiscussionEndpoint = {
team_id: number;
discussion_number: number;
content?: string;
per_page?: number;
page?: number;
};
declare type ReactionsListForTeamDiscussionRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsCreateForTeamDiscussionEndpoint = {
team_id: number;
discussion_number: number;
content: string;
};
declare type ReactionsCreateForTeamDiscussionRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsListForTeamDiscussionCommentEndpoint = {
team_id: number;
discussion_number: number;
comment_number: number;
content?: string;
per_page?: number;
page?: number;
};
declare type ReactionsListForTeamDiscussionCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsCreateForTeamDiscussionCommentEndpoint = {
team_id: number;
discussion_number: number;
comment_number: number;
content: string;
};
declare type ReactionsCreateForTeamDiscussionCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReactionsDeleteEndpoint = {
reaction_id: number;
};
declare type ReactionsDeleteRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListEndpoint = {
visibility?: string;
affiliation?: string;
type?: string;
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type ReposListRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListForUserEndpoint = {
username: string;
type?: string;
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type ReposListForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListForOrgEndpoint = {
org: string;
type?: string;
sort?: string;
direction?: string;
per_page?: number;
page?: number;
};
declare type ReposListForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListPublicEndpoint = {
since?: string;
per_page?: number;
page?: number;
};
declare type ReposListPublicRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateForAuthenticatedUserEndpoint = {
name: string;
description?: string;
homepage?: string;
private?: boolean;
has_issues?: boolean;
has_projects?: boolean;
has_wiki?: boolean;
is_template?: boolean;
team_id?: number;
auto_init?: boolean;
gitignore_template?: string;
license_template?: string;
allow_squash_merge?: boolean;
allow_merge_commit?: boolean;
allow_rebase_merge?: boolean;
};
declare type ReposCreateForAuthenticatedUserRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateInOrgEndpoint = {
org: string;
name: string;
description?: string;
homepage?: string;
private?: boolean;
has_issues?: boolean;
has_projects?: boolean;
has_wiki?: boolean;
is_template?: boolean;
team_id?: number;
auto_init?: boolean;
gitignore_template?: string;
license_template?: string;
allow_squash_merge?: boolean;
allow_merge_commit?: boolean;
allow_rebase_merge?: boolean;
};
declare type ReposCreateInOrgRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateUsingTemplateEndpoint = {
template_owner: string;
template_repo: string;
owner?: string;
name: string;
description?: string;
private?: boolean;
};
declare type ReposCreateUsingTemplateRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateEndpoint = {
owner: string;
repo: string;
name?: string;
description?: string;
homepage?: string;
private?: boolean;
has_issues?: boolean;
has_projects?: boolean;
has_wiki?: boolean;
is_template?: boolean;
default_branch?: string;
allow_squash_merge?: boolean;
allow_merge_commit?: boolean;
allow_rebase_merge?: boolean;
archived?: boolean;
};
declare type ReposUpdateRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListTopicsEndpoint = {
owner: string;
repo: string;
};
declare type ReposListTopicsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposReplaceTopicsEndpoint = {
owner: string;
repo: string;
names: string[];
};
declare type ReposReplaceTopicsRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCheckVulnerabilityAlertsEndpoint = {
owner: string;
repo: string;
};
declare type ReposCheckVulnerabilityAlertsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposEnableVulnerabilityAlertsEndpoint = {
owner: string;
repo: string;
};
declare type ReposEnableVulnerabilityAlertsRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDisableVulnerabilityAlertsEndpoint = {
owner: string;
repo: string;
};
declare type ReposDisableVulnerabilityAlertsRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposEnableAutomatedSecurityFixesEndpoint = {
owner: string;
repo: string;
};
declare type ReposEnableAutomatedSecurityFixesRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDisableAutomatedSecurityFixesEndpoint = {
owner: string;
repo: string;
};
declare type ReposDisableAutomatedSecurityFixesRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListContributorsEndpoint = {
owner: string;
repo: string;
anon?: string;
per_page?: number;
page?: number;
};
declare type ReposListContributorsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListLanguagesEndpoint = {
owner: string;
repo: string;
};
declare type ReposListLanguagesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListTeamsEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListTeamsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListTagsEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListTagsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeleteEndpoint = {
owner: string;
repo: string;
};
declare type ReposDeleteRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposTransferEndpoint = {
owner: string;
repo: string;
new_owner?: string;
team_ids?: number[];
};
declare type ReposTransferRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListBranchesEndpoint = {
owner: string;
repo: string;
protected?: boolean;
per_page?: number;
page?: number;
};
declare type ReposListBranchesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetBranchEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposGetBranchRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetBranchProtectionEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposGetBranchProtectionRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateBranchProtectionEndpoint = {
owner: string;
repo: string;
branch: string;
required_status_checks: object | null;
"required_status_checks.strict": boolean;
"required_status_checks.contexts": string[];
enforce_admins: boolean | null;
required_pull_request_reviews: object | null;
"required_pull_request_reviews.dismissal_restrictions"?: object;
"required_pull_request_reviews.dismissal_restrictions.users"?: string[];
"required_pull_request_reviews.dismissal_restrictions.teams"?: string[];
"required_pull_request_reviews.dismiss_stale_reviews"?: boolean;
"required_pull_request_reviews.require_code_owner_reviews"?: boolean;
"required_pull_request_reviews.required_approving_review_count"?: number;
restrictions: object | null;
"restrictions.users"?: string[];
"restrictions.teams"?: string[];
};
declare type ReposUpdateBranchProtectionRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveBranchProtectionEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposRemoveBranchProtectionRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetProtectedBranchRequiredStatusChecksEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposGetProtectedBranchRequiredStatusChecksRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateProtectedBranchRequiredStatusChecksEndpoint = {
owner: string;
repo: string;
branch: string;
strict?: boolean;
contexts?: string[];
};
declare type ReposUpdateProtectedBranchRequiredStatusChecksRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveProtectedBranchRequiredStatusChecksEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposRemoveProtectedBranchRequiredStatusChecksRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListProtectedBranchRequiredStatusChecksContextsEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposListProtectedBranchRequiredStatusChecksContextsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsEndpoint = {
owner: string;
repo: string;
branch: string;
contexts: string[];
};
declare type ReposReplaceProtectedBranchRequiredStatusChecksContextsRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposAddProtectedBranchRequiredStatusChecksContextsEndpoint = {
owner: string;
repo: string;
branch: string;
contexts: string[];
};
declare type ReposAddProtectedBranchRequiredStatusChecksContextsRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsEndpoint = {
owner: string;
repo: string;
branch: string;
contexts: string[];
};
declare type ReposRemoveProtectedBranchRequiredStatusChecksContextsRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetProtectedBranchPullRequestReviewEnforcementEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposGetProtectedBranchPullRequestReviewEnforcementRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementEndpoint = {
owner: string;
repo: string;
branch: string;
dismissal_restrictions?: object;
"dismissal_restrictions.users"?: string[];
"dismissal_restrictions.teams"?: string[];
dismiss_stale_reviews?: boolean;
require_code_owner_reviews?: boolean;
required_approving_review_count?: number;
};
declare type ReposUpdateProtectedBranchPullRequestReviewEnforcementRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposRemoveProtectedBranchPullRequestReviewEnforcementRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetProtectedBranchRequiredSignaturesEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposGetProtectedBranchRequiredSignaturesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposAddProtectedBranchRequiredSignaturesEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposAddProtectedBranchRequiredSignaturesRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveProtectedBranchRequiredSignaturesEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposRemoveProtectedBranchRequiredSignaturesRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetProtectedBranchAdminEnforcementEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposGetProtectedBranchAdminEnforcementRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposAddProtectedBranchAdminEnforcementEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposAddProtectedBranchAdminEnforcementRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveProtectedBranchAdminEnforcementEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposRemoveProtectedBranchAdminEnforcementRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetProtectedBranchRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposGetProtectedBranchRestrictionsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveProtectedBranchRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposRemoveProtectedBranchRestrictionsRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListProtectedBranchTeamRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
per_page?: number;
page?: number;
};
declare type ReposListProtectedBranchTeamRestrictionsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposReplaceProtectedBranchTeamRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
teams: string[];
};
declare type ReposReplaceProtectedBranchTeamRestrictionsRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposAddProtectedBranchTeamRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
teams: string[];
};
declare type ReposAddProtectedBranchTeamRestrictionsRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveProtectedBranchTeamRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
teams: string[];
};
declare type ReposRemoveProtectedBranchTeamRestrictionsRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListProtectedBranchUserRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
};
declare type ReposListProtectedBranchUserRestrictionsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposReplaceProtectedBranchUserRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
users: string[];
};
declare type ReposReplaceProtectedBranchUserRestrictionsRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposAddProtectedBranchUserRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
users: string[];
};
declare type ReposAddProtectedBranchUserRestrictionsRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveProtectedBranchUserRestrictionsEndpoint = {
owner: string;
repo: string;
branch: string;
users: string[];
};
declare type ReposRemoveProtectedBranchUserRestrictionsRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListCollaboratorsEndpoint = {
owner: string;
repo: string;
affiliation?: string;
per_page?: number;
page?: number;
};
declare type ReposListCollaboratorsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCheckCollaboratorEndpoint = {
owner: string;
repo: string;
username: string;
};
declare type ReposCheckCollaboratorRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetCollaboratorPermissionLevelEndpoint = {
owner: string;
repo: string;
username: string;
};
declare type ReposGetCollaboratorPermissionLevelRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposAddCollaboratorEndpoint = {
owner: string;
repo: string;
username: string;
permission?: string;
};
declare type ReposAddCollaboratorRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveCollaboratorEndpoint = {
owner: string;
repo: string;
username: string;
};
declare type ReposRemoveCollaboratorRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListCommitCommentsEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListCommitCommentsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListCommentsForCommitEndpoint = {
owner: string;
repo: string;
commit_sha: string;
per_page?: number;
page?: number;
ref?: string;
};
declare type ReposListCommentsForCommitRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateCommitCommentEndpoint = {
owner: string;
repo: string;
commit_sha: string;
body: string;
path?: string;
position?: number;
line?: number;
sha?: string;
};
declare type ReposCreateCommitCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetCommitCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
};
declare type ReposGetCommitCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateCommitCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
body: string;
};
declare type ReposUpdateCommitCommentRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeleteCommitCommentEndpoint = {
owner: string;
repo: string;
comment_id: number;
};
declare type ReposDeleteCommitCommentRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListCommitsEndpoint = {
owner: string;
repo: string;
sha?: string;
path?: string;
author?: string;
since?: string;
until?: string;
per_page?: number;
page?: number;
};
declare type ReposListCommitsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetCommitEndpoint = {
owner: string;
repo: string;
ref: string;
sha?: string;
commit_sha?: string;
};
declare type ReposGetCommitRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetCommitRefShaEndpoint = {
owner: string;
repo: string;
ref: string;
};
declare type ReposGetCommitRefShaRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCompareCommitsEndpoint = {
owner: string;
repo: string;
base: string;
head: string;
};
declare type ReposCompareCommitsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListBranchesForHeadCommitEndpoint = {
owner: string;
repo: string;
commit_sha: string;
};
declare type ReposListBranchesForHeadCommitRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListPullRequestsAssociatedWithCommitEndpoint = {
owner: string;
repo: string;
commit_sha: string;
per_page?: number;
page?: number;
};
declare type ReposListPullRequestsAssociatedWithCommitRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRetrieveCommunityProfileMetricsEndpoint = {
owner: string;
repo: string;
};
declare type ReposRetrieveCommunityProfileMetricsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetReadmeEndpoint = {
owner: string;
repo: string;
ref?: string;
};
declare type ReposGetReadmeRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetContentsEndpoint = {
owner: string;
repo: string;
path: string;
ref?: string;
};
declare type ReposGetContentsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateOrUpdateFileEndpoint = {
owner: string;
repo: string;
path: string;
message: string;
content: string;
sha?: string;
branch?: string;
committer?: object;
"committer.name": string;
"committer.email": string;
author?: object;
"author.name": string;
"author.email": string;
};
declare type ReposCreateOrUpdateFileRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateFileEndpoint = {
owner: string;
repo: string;
path: string;
message: string;
content: string;
sha?: string;
branch?: string;
committer?: object;
"committer.name": string;
"committer.email": string;
author?: object;
"author.name": string;
"author.email": string;
};
declare type ReposCreateFileRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateFileEndpoint = {
owner: string;
repo: string;
path: string;
message: string;
content: string;
sha?: string;
branch?: string;
committer?: object;
"committer.name": string;
"committer.email": string;
author?: object;
"author.name": string;
"author.email": string;
};
declare type ReposUpdateFileRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeleteFileEndpoint = {
owner: string;
repo: string;
path: string;
message: string;
sha: string;
branch?: string;
committer?: object;
"committer.name"?: string;
"committer.email"?: string;
author?: object;
"author.name"?: string;
"author.email"?: string;
};
declare type ReposDeleteFileRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetArchiveLinkEndpoint = {
owner: string;
repo: string;
archive_format: string;
ref: string;
};
declare type ReposGetArchiveLinkRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListDeploymentsEndpoint = {
owner: string;
repo: string;
sha?: string;
ref?: string;
task?: string;
environment?: string;
per_page?: number;
page?: number;
};
declare type ReposListDeploymentsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetDeploymentEndpoint = {
owner: string;
repo: string;
deployment_id: number;
};
declare type ReposGetDeploymentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateDeploymentEndpoint = {
owner: string;
repo: string;
ref: string;
task?: string;
auto_merge?: boolean;
required_contexts?: string[];
payload?: string;
environment?: string;
description?: string;
transient_environment?: boolean;
production_environment?: boolean;
};
declare type ReposCreateDeploymentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListDeploymentStatusesEndpoint = {
owner: string;
repo: string;
deployment_id: number;
per_page?: number;
page?: number;
};
declare type ReposListDeploymentStatusesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetDeploymentStatusEndpoint = {
owner: string;
repo: string;
deployment_id: number;
status_id: number;
};
declare type ReposGetDeploymentStatusRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateDeploymentStatusEndpoint = {
owner: string;
repo: string;
deployment_id: number;
state: string;
target_url?: string;
log_url?: string;
description?: string;
environment?: string;
environment_url?: string;
auto_inactive?: boolean;
};
declare type ReposCreateDeploymentStatusRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListDownloadsEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListDownloadsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetDownloadEndpoint = {
owner: string;
repo: string;
download_id: number;
};
declare type ReposGetDownloadRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeleteDownloadEndpoint = {
owner: string;
repo: string;
download_id: number;
};
declare type ReposDeleteDownloadRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListForksEndpoint = {
owner: string;
repo: string;
sort?: string;
per_page?: number;
page?: number;
};
declare type ReposListForksRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateForkEndpoint = {
owner: string;
repo: string;
organization?: string;
};
declare type ReposCreateForkRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListHooksEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListHooksRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetHookEndpoint = {
owner: string;
repo: string;
hook_id: number;
};
declare type ReposGetHookRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateHookEndpoint = {
owner: string;
repo: string;
name?: string;
config: object;
"config.url": string;
"config.content_type"?: string;
"config.secret"?: string;
"config.insecure_ssl"?: string;
events?: string[];
active?: boolean;
};
declare type ReposCreateHookRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateHookEndpoint = {
owner: string;
repo: string;
hook_id: number;
config?: object;
"config.url": string;
"config.content_type"?: string;
"config.secret"?: string;
"config.insecure_ssl"?: string;
events?: string[];
add_events?: string[];
remove_events?: string[];
active?: boolean;
};
declare type ReposUpdateHookRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposTestPushHookEndpoint = {
owner: string;
repo: string;
hook_id: number;
};
declare type ReposTestPushHookRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposPingHookEndpoint = {
owner: string;
repo: string;
hook_id: number;
};
declare type ReposPingHookRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeleteHookEndpoint = {
owner: string;
repo: string;
hook_id: number;
};
declare type ReposDeleteHookRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListInvitationsEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListInvitationsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeleteInvitationEndpoint = {
owner: string;
repo: string;
invitation_id: number;
};
declare type ReposDeleteInvitationRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateInvitationEndpoint = {
owner: string;
repo: string;
invitation_id: number;
permissions?: string;
};
declare type ReposUpdateInvitationRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListInvitationsForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type ReposListInvitationsForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposAcceptInvitationEndpoint = {
invitation_id: number;
};
declare type ReposAcceptInvitationRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeclineInvitationEndpoint = {
invitation_id: number;
};
declare type ReposDeclineInvitationRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListDeployKeysEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListDeployKeysRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetDeployKeyEndpoint = {
owner: string;
repo: string;
key_id: number;
};
declare type ReposGetDeployKeyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposAddDeployKeyEndpoint = {
owner: string;
repo: string;
title?: string;
key: string;
read_only?: boolean;
};
declare type ReposAddDeployKeyRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRemoveDeployKeyEndpoint = {
owner: string;
repo: string;
key_id: number;
};
declare type ReposRemoveDeployKeyRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposMergeEndpoint = {
owner: string;
repo: string;
base: string;
head: string;
commit_message?: string;
};
declare type ReposMergeRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetPagesEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetPagesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposEnablePagesSiteEndpoint = {
owner: string;
repo: string;
source?: object;
"source.branch"?: string;
"source.path"?: string;
};
declare type ReposEnablePagesSiteRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDisablePagesSiteEndpoint = {
owner: string;
repo: string;
};
declare type ReposDisablePagesSiteRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateInformationAboutPagesSiteEndpoint = {
owner: string;
repo: string;
cname?: string;
source?: string;
};
declare type ReposUpdateInformationAboutPagesSiteRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposRequestPageBuildEndpoint = {
owner: string;
repo: string;
};
declare type ReposRequestPageBuildRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListPagesBuildsEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListPagesBuildsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetLatestPagesBuildEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetLatestPagesBuildRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetPagesBuildEndpoint = {
owner: string;
repo: string;
build_id: number;
};
declare type ReposGetPagesBuildRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListReleasesEndpoint = {
owner: string;
repo: string;
per_page?: number;
page?: number;
};
declare type ReposListReleasesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetReleaseEndpoint = {
owner: string;
repo: string;
release_id: number;
};
declare type ReposGetReleaseRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetLatestReleaseEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetLatestReleaseRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetReleaseByTagEndpoint = {
owner: string;
repo: string;
tag: string;
};
declare type ReposGetReleaseByTagRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateReleaseEndpoint = {
owner: string;
repo: string;
tag_name: string;
target_commitish?: string;
name?: string;
body?: string;
draft?: boolean;
prerelease?: boolean;
};
declare type ReposCreateReleaseRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateReleaseEndpoint = {
owner: string;
repo: string;
release_id: number;
tag_name?: string;
target_commitish?: string;
name?: string;
body?: string;
draft?: boolean;
prerelease?: boolean;
};
declare type ReposUpdateReleaseRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeleteReleaseEndpoint = {
owner: string;
repo: string;
release_id: number;
};
declare type ReposDeleteReleaseRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListAssetsForReleaseEndpoint = {
owner: string;
repo: string;
release_id: number;
per_page?: number;
page?: number;
};
declare type ReposListAssetsForReleaseRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUploadReleaseAssetEndpoint = {
url: string;
headers: object;
"headers.content-length": number;
"headers.content-type": string;
name: string;
label?: string;
file: string | object;
};
declare type ReposUploadReleaseAssetRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetReleaseAssetEndpoint = {
owner: string;
repo: string;
asset_id: number;
};
declare type ReposGetReleaseAssetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposUpdateReleaseAssetEndpoint = {
owner: string;
repo: string;
asset_id: number;
name?: string;
label?: string;
};
declare type ReposUpdateReleaseAssetRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposDeleteReleaseAssetEndpoint = {
owner: string;
repo: string;
asset_id: number;
};
declare type ReposDeleteReleaseAssetRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetContributorsStatsEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetContributorsStatsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetCommitActivityStatsEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetCommitActivityStatsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetCodeFrequencyStatsEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetCodeFrequencyStatsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetParticipationStatsEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetParticipationStatsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetPunchCardStatsEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetPunchCardStatsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposCreateStatusEndpoint = {
owner: string;
repo: string;
sha: string;
state: string;
target_url?: string;
description?: string;
context?: string;
};
declare type ReposCreateStatusRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposListStatusesForRefEndpoint = {
owner: string;
repo: string;
ref: string;
per_page?: number;
page?: number;
};
declare type ReposListStatusesForRefRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetCombinedStatusForRefEndpoint = {
owner: string;
repo: string;
ref: string;
};
declare type ReposGetCombinedStatusForRefRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetTopReferrersEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetTopReferrersRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetTopPathsEndpoint = {
owner: string;
repo: string;
};
declare type ReposGetTopPathsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetViewsEndpoint = {
owner: string;
repo: string;
per?: string;
};
declare type ReposGetViewsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ReposGetClonesEndpoint = {
owner: string;
repo: string;
per?: string;
};
declare type ReposGetClonesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ScimListProvisionedIdentitiesEndpoint = {
org: string;
startIndex?: number;
count?: number;
filter?: string;
};
declare type ScimListProvisionedIdentitiesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ScimGetProvisioningDetailsForUserEndpoint = {
org: string;
scim_user_id: number;
external_identity_guid?: number;
};
declare type ScimGetProvisioningDetailsForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ScimProvisionAndInviteUsersEndpoint = {
org: string;
};
declare type ScimProvisionAndInviteUsersRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ScimProvisionInviteUsersEndpoint = {
org: string;
};
declare type ScimProvisionInviteUsersRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ScimReplaceProvisionedUserInformationEndpoint = {
org: string;
scim_user_id: number;
external_identity_guid?: number;
};
declare type ScimReplaceProvisionedUserInformationRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ScimUpdateProvisionedOrgMembershipEndpoint = {
org: string;
scim_user_id: number;
external_identity_guid?: number;
};
declare type ScimUpdateProvisionedOrgMembershipRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ScimUpdateUserAttributeEndpoint = {
org: string;
scim_user_id: number;
external_identity_guid?: number;
};
declare type ScimUpdateUserAttributeRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type ScimRemoveUserFromOrgEndpoint = {
org: string;
scim_user_id: number;
external_identity_guid?: number;
};
declare type ScimRemoveUserFromOrgRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchReposEndpoint = {
q: string;
sort?: string;
order?: string;
per_page?: number;
page?: number;
};
declare type SearchReposRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchCommitsEndpoint = {
q: string;
sort?: string;
order?: string;
per_page?: number;
page?: number;
};
declare type SearchCommitsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchCodeEndpoint = {
q: string;
sort?: string;
order?: string;
per_page?: number;
page?: number;
};
declare type SearchCodeRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchIssuesAndPullRequestsEndpoint = {
q: string;
sort?: string;
order?: string;
per_page?: number;
page?: number;
};
declare type SearchIssuesAndPullRequestsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchIssuesEndpoint = {
q: string;
sort?: string;
order?: string;
per_page?: number;
page?: number;
};
declare type SearchIssuesRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchUsersEndpoint = {
q: string;
sort?: string;
order?: string;
per_page?: number;
page?: number;
};
declare type SearchUsersRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchTopicsEndpoint = {
q: string;
};
declare type SearchTopicsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchLabelsEndpoint = {
repository_id: number;
q: string;
sort?: string;
order?: string;
};
declare type SearchLabelsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchIssuesLegacyEndpoint = {
owner: string;
repository: string;
state: string;
keyword: string;
};
declare type SearchIssuesLegacyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchReposLegacyEndpoint = {
keyword: string;
language?: string;
start_page?: string;
sort?: string;
order?: string;
};
declare type SearchReposLegacyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchUsersLegacyEndpoint = {
keyword: string;
start_page?: string;
sort?: string;
order?: string;
};
declare type SearchUsersLegacyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type SearchEmailLegacyEndpoint = {
email: string;
};
declare type SearchEmailLegacyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListEndpoint = {
org: string;
per_page?: number;
page?: number;
};
declare type TeamsListRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsGetEndpoint = {
team_id: number;
};
declare type TeamsGetRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsGetByNameEndpoint = {
org: string;
team_slug: string;
};
declare type TeamsGetByNameRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsCreateEndpoint = {
org: string;
name: string;
description?: string;
maintainers?: string[];
repo_names?: string[];
privacy?: string;
permission?: string;
parent_team_id?: number;
};
declare type TeamsCreateRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsUpdateEndpoint = {
team_id: number;
name: string;
description?: string;
privacy?: string;
permission?: string;
parent_team_id?: number;
};
declare type TeamsUpdateRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsDeleteEndpoint = {
team_id: number;
};
declare type TeamsDeleteRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListChildEndpoint = {
team_id: number;
per_page?: number;
page?: number;
};
declare type TeamsListChildRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListReposEndpoint = {
team_id: number;
per_page?: number;
page?: number;
};
declare type TeamsListReposRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsCheckManagesRepoEndpoint = {
team_id: number;
owner: string;
repo: string;
};
declare type TeamsCheckManagesRepoRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsAddOrUpdateRepoEndpoint = {
team_id: number;
owner: string;
repo: string;
permission?: string;
};
declare type TeamsAddOrUpdateRepoRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsRemoveRepoEndpoint = {
team_id: number;
owner: string;
repo: string;
};
declare type TeamsRemoveRepoRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type TeamsListForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListProjectsEndpoint = {
team_id: number;
per_page?: number;
page?: number;
};
declare type TeamsListProjectsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsReviewProjectEndpoint = {
team_id: number;
project_id: number;
};
declare type TeamsReviewProjectRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsAddOrUpdateProjectEndpoint = {
team_id: number;
project_id: number;
permission?: string;
};
declare type TeamsAddOrUpdateProjectRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsRemoveProjectEndpoint = {
team_id: number;
project_id: number;
};
declare type TeamsRemoveProjectRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListDiscussionCommentsEndpoint = {
team_id: number;
discussion_number: number;
direction?: string;
per_page?: number;
page?: number;
};
declare type TeamsListDiscussionCommentsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsGetDiscussionCommentEndpoint = {
team_id: number;
discussion_number: number;
comment_number: number;
};
declare type TeamsGetDiscussionCommentRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsCreateDiscussionCommentEndpoint = {
team_id: number;
discussion_number: number;
body: string;
};
declare type TeamsCreateDiscussionCommentRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsUpdateDiscussionCommentEndpoint = {
team_id: number;
discussion_number: number;
comment_number: number;
body: string;
};
declare type TeamsUpdateDiscussionCommentRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsDeleteDiscussionCommentEndpoint = {
team_id: number;
discussion_number: number;
comment_number: number;
};
declare type TeamsDeleteDiscussionCommentRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListDiscussionsEndpoint = {
team_id: number;
direction?: string;
per_page?: number;
page?: number;
};
declare type TeamsListDiscussionsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsGetDiscussionEndpoint = {
team_id: number;
discussion_number: number;
};
declare type TeamsGetDiscussionRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsCreateDiscussionEndpoint = {
team_id: number;
title: string;
body: string;
private?: boolean;
};
declare type TeamsCreateDiscussionRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsUpdateDiscussionEndpoint = {
team_id: number;
discussion_number: number;
title?: string;
body?: string;
};
declare type TeamsUpdateDiscussionRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsDeleteDiscussionEndpoint = {
team_id: number;
discussion_number: number;
};
declare type TeamsDeleteDiscussionRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListMembersEndpoint = {
team_id: number;
role?: string;
per_page?: number;
page?: number;
};
declare type TeamsListMembersRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsGetMemberEndpoint = {
team_id: number;
username: string;
};
declare type TeamsGetMemberRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsAddMemberEndpoint = {
team_id: number;
username: string;
};
declare type TeamsAddMemberRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsRemoveMemberEndpoint = {
team_id: number;
username: string;
};
declare type TeamsRemoveMemberRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsGetMembershipEndpoint = {
team_id: number;
username: string;
};
declare type TeamsGetMembershipRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsAddOrUpdateMembershipEndpoint = {
team_id: number;
username: string;
role?: string;
};
declare type TeamsAddOrUpdateMembershipRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsRemoveMembershipEndpoint = {
team_id: number;
username: string;
};
declare type TeamsRemoveMembershipRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListPendingInvitationsEndpoint = {
team_id: number;
per_page?: number;
page?: number;
};
declare type TeamsListPendingInvitationsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListIdPGroupsForOrgEndpoint = {
org: string;
per_page?: number;
page?: number;
};
declare type TeamsListIdPGroupsForOrgRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsListIdPGroupsEndpoint = {
team_id: number;
};
declare type TeamsListIdPGroupsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type TeamsCreateOrUpdateIdPGroupConnectionsEndpoint = {
team_id: number;
groups: object[];
"groups[].group_id": string;
"groups[].group_name": string;
"groups[].group_description": string;
};
declare type TeamsCreateOrUpdateIdPGroupConnectionsRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersGetByUsernameEndpoint = {
username: string;
};
declare type UsersGetByUsernameRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersGetAuthenticatedEndpoint = {};
declare type UsersGetAuthenticatedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersUpdateAuthenticatedEndpoint = {
name?: string;
email?: string;
blog?: string;
company?: string;
location?: string;
hireable?: boolean;
bio?: string;
};
declare type UsersUpdateAuthenticatedRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersGetContextForUserEndpoint = {
username: string;
subject_type?: string;
subject_id?: string;
};
declare type UsersGetContextForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListEndpoint = {
since?: string;
per_page?: number;
page?: number;
};
declare type UsersListRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListBlockedEndpoint = {};
declare type UsersListBlockedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersCheckBlockedEndpoint = {
username: string;
};
declare type UsersCheckBlockedRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersBlockEndpoint = {
username: string;
};
declare type UsersBlockRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersUnblockEndpoint = {
username: string;
};
declare type UsersUnblockRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListEmailsEndpoint = {
per_page?: number;
page?: number;
};
declare type UsersListEmailsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListPublicEmailsEndpoint = {
per_page?: number;
page?: number;
};
declare type UsersListPublicEmailsRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersAddEmailsEndpoint = {
emails: string[];
};
declare type UsersAddEmailsRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersDeleteEmailsEndpoint = {
emails: string[];
};
declare type UsersDeleteEmailsRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersTogglePrimaryEmailVisibilityEndpoint = {
email: string;
visibility: string;
};
declare type UsersTogglePrimaryEmailVisibilityRequestOptions = {
method: "PATCH";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListFollowersForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type UsersListFollowersForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListFollowersForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type UsersListFollowersForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListFollowingForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type UsersListFollowingForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListFollowingForAuthenticatedUserEndpoint = {
per_page?: number;
page?: number;
};
declare type UsersListFollowingForAuthenticatedUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersCheckFollowingEndpoint = {
username: string;
};
declare type UsersCheckFollowingRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersCheckFollowingForUserEndpoint = {
username: string;
target_user: string;
};
declare type UsersCheckFollowingForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersFollowEndpoint = {
username: string;
};
declare type UsersFollowRequestOptions = {
method: "PUT";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersUnfollowEndpoint = {
username: string;
};
declare type UsersUnfollowRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListGpgKeysForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type UsersListGpgKeysForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListGpgKeysEndpoint = {
per_page?: number;
page?: number;
};
declare type UsersListGpgKeysRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersGetGpgKeyEndpoint = {
gpg_key_id: number;
};
declare type UsersGetGpgKeyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersCreateGpgKeyEndpoint = {
armored_public_key?: string;
};
declare type UsersCreateGpgKeyRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersDeleteGpgKeyEndpoint = {
gpg_key_id: number;
};
declare type UsersDeleteGpgKeyRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListPublicKeysForUserEndpoint = {
username: string;
per_page?: number;
page?: number;
};
declare type UsersListPublicKeysForUserRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersListPublicKeysEndpoint = {
per_page?: number;
page?: number;
};
declare type UsersListPublicKeysRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersGetPublicKeyEndpoint = {
key_id: number;
};
declare type UsersGetPublicKeyRequestOptions = {
method: "GET";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersCreatePublicKeyEndpoint = {
title?: string;
key?: string;
};
declare type UsersCreatePublicKeyRequestOptions = {
method: "POST";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
declare type UsersDeletePublicKeyEndpoint = {
key_id: number;
};
declare type UsersDeletePublicKeyRequestOptions = {
method: "DELETE";
url: Url;
headers: Headers;
request: EndpointRequestOptions;
};
export {};

1
node_modules/@octokit/endpoint/dist-types/index.d.ts generated vendored Normal file
View File

@ -0,0 +1 @@
export declare const endpoint: import("./types").endpoint;

2
node_modules/@octokit/endpoint/dist-types/merge.d.ts generated vendored Normal file
View File

@ -0,0 +1,2 @@
import { Defaults, Route, Parameters } from "./types";
export declare function merge(defaults: Defaults | null, route?: Route | Parameters, options?: Parameters): Defaults;

2
node_modules/@octokit/endpoint/dist-types/parse.d.ts generated vendored Normal file
View File

@ -0,0 +1,2 @@
import { Defaults, RequestOptions } from "./types";
export declare function parse(options: Defaults): RequestOptions;

150
node_modules/@octokit/endpoint/dist-types/types.d.ts generated vendored Normal file
View File

@ -0,0 +1,150 @@
import { Routes as KnownRoutes } from "./generated/routes";
export interface endpoint {
/**
* Transforms a GitHub REST API endpoint into generic request options
*
* @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`.
*/
(options: Endpoint): RequestOptions;
/**
* Transforms a GitHub REST API endpoint into generic request options
*
* @param {string} route Request method + URL. Example: `'GET /orgs/:org'`
* @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`.
*/
<R extends Route>(route: keyof KnownRoutes | R, options?: R extends keyof KnownRoutes ? KnownRoutes[R][0] & Parameters : Parameters): R extends keyof KnownRoutes ? KnownRoutes[R][1] : RequestOptions;
/**
* Object with current default route and parameters
*/
DEFAULTS: Defaults;
/**
* Returns a new `endpoint` with updated route and parameters
*/
defaults: (newDefaults: Parameters) => endpoint;
merge: {
/**
* Merges current endpoint defaults with passed route and parameters,
* without transforming them into request options.
*
* @param {string} route Request method + URL. Example: `'GET /orgs/:org'`
* @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`.
*
*/
(route: Route, parameters?: Parameters): Defaults;
/**
* Merges current endpoint defaults with passed route and parameters,
* without transforming them into request options.
*
* @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`.
*/
(options: Parameters): Defaults;
/**
* Returns current default options.
*
* @deprecated use endpoint.DEFAULTS instead
*/
(): Defaults;
};
/**
* Stateless method to turn endpoint options into request options.
* Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`.
*
* @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`.
*/
parse: (options: Defaults) => RequestOptions;
}
/**
* Request method + URL. Example: `'GET /orgs/:org'`
*/
export declare type Route = string;
/**
* Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar`
*/
export declare type Url = string;
/**
* Request method
*/
export declare type Method = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT";
/**
* Endpoint parameters
*/
export declare type Parameters = {
/**
* Base URL to be used when a relative URL is passed, such as `/orgs/:org`.
* If `baseUrl` is `https://enterprise.acme-inc.com/api/v3`, then the resulting
* `RequestOptions.url` will be `https://enterprise.acme-inc.com/api/v3/orgs/:org`.
*/
baseUrl?: string;
/**
* HTTP headers. Use lowercase keys.
*/
headers?: Headers;
/**
* Media type options, see {@link https://developer.github.com/v3/media/|GitHub Developer Guide}
*/
mediaType?: {
/**
* `json` by default. Can be `raw`, `text`, `html`, `full`, `diff`, `patch`, `sha`, `base64`. Depending on endpoint
*/
format?: string;
/**
* Custom media type names of {@link https://developer.github.com/v3/media/|API Previews} without the `-preview` suffix.
* Example for single preview: `['squirrel-girl']`.
* Example for multiple previews: `['squirrel-girl', 'mister-fantastic']`.
*/
previews?: string[];
};
/**
* Pass custom meta information for the request. The `request` object will be returned as is.
*/
request?: EndpointRequestOptions;
/**
* Any additional parameter will be passed as follows
* 1. URL parameter if `':parameter'` or `{parameter}` is part of `url`
* 2. Query parameter if `method` is `'GET'` or `'HEAD'`
* 3. Request body if `parameter` is `'data'`
* 4. JSON in the request body in the form of `body[parameter]` unless `parameter` key is `'data'`
*/
[parameter: string]: any;
};
export declare type Endpoint = Parameters & {
method: Method;
url: Url;
};
export declare type Defaults = Parameters & {
method: Method;
baseUrl: string;
headers: Headers & {
accept: string;
"user-agent": string;
};
mediaType: {
format: string;
previews: string[];
};
};
export declare type RequestOptions = {
method: Method;
url: Url;
headers: Headers;
body?: any;
request?: EndpointRequestOptions;
};
export declare type Headers = {
/**
* Avoid setting `accept`, use `mediaFormat.{format|previews}` instead.
*/
accept?: string;
/**
* Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678`
*/
authorization?: string;
/**
* `user-agent` is set do a default and can be overwritten as needed.
*/
"user-agent"?: string;
[header: string]: string | number | undefined;
};
export declare type EndpointRequestOptions = {
[option: string]: any;
};

View File

@ -0,0 +1,4 @@
export declare function addQueryParameters(url: string, parameters: {
[x: string]: string | undefined;
q?: string;
}): string;

View File

@ -0,0 +1 @@
export declare function extractUrlVariableNames(url: string): string[];

View File

@ -0,0 +1,3 @@
export declare function lowercaseKeys(object?: {
[key: string]: any;
}): {};

View File

@ -0,0 +1,5 @@
export declare function omit(object: {
[key: string]: any;
}, keysToOmit: string[]): {
[key: string]: any;
};

View File

@ -0,0 +1 @@
export declare const VERSION = "0.0.0-development";

View File

@ -0,0 +1,2 @@
import { Defaults, endpoint, Parameters } from "./types";
export declare function withDefaults(oldDefaults: Defaults | null, newDefaults: Parameters): endpoint;

233
node_modules/@octokit/endpoint/dist-web/index.js generated vendored Normal file
View File

@ -0,0 +1,233 @@
import deepmerge from 'deepmerge';
import isPlainObject from 'is-plain-object';
import urlTemplate from 'url-template';
import getUserAgent from 'universal-user-agent';
function _slicedToArray(arr, i) {
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
}
function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
function _iterableToArrayLimit(arr, i) {
var _arr = [];
var _n = true;
var _d = false;
var _e = undefined;
try {
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i) break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null) _i["return"]();
} finally {
if (_d) throw _e;
}
}
return _arr;
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance");
}
function lowercaseKeys(object) {
if (!object) {
return {};
}
return Object.keys(object).reduce((newObj, key) => {
newObj[key.toLowerCase()] = object[key];
return newObj;
}, {});
}
function merge(defaults, route, options) {
if (typeof route === "string") {
let _route$split = route.split(" "),
_route$split2 = _slicedToArray(_route$split, 2),
method = _route$split2[0],
url = _route$split2[1];
options = Object.assign(url ? {
method,
url
} : {
url: method
}, options);
} else {
options = route || {};
} // lowercase header names before merging with defaults to avoid duplicates
options.headers = lowercaseKeys(options.headers);
const mergedOptions = deepmerge.all([defaults, options].filter(Boolean), {
isMergeableObject: isPlainObject
}); // mediaType.previews arrays are merged, instead of overwritten
if (defaults && defaults.mediaType.previews.length) {
mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);
}
mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, ""));
return mergedOptions;
}
function addQueryParameters(url, parameters) {
const separator = /\?/.test(url) ? "&" : "?";
const names = Object.keys(parameters);
if (names.length === 0) {
return url;
}
return url + separator + names.map(name => {
if (name === "q") {
return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
}
return "".concat(name, "=").concat(encodeURIComponent(parameters[name]));
}).join("&");
}
const urlVariableRegex = /\{[^}]+\}/g;
function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
}
function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex);
if (!matches) {
return [];
}
return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
}
function omit(object, keysToOmit) {
return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {
obj[key] = object[key];
return obj;
}, {});
}
function parse(options) {
// https://fetch.spec.whatwg.org/#methods
let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible
let url = options.url.replace(/:([a-z]\w+)/g, "{+$1}");
let headers = Object.assign({}, options.headers);
let body;
let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later
const urlVariableNames = extractUrlVariableNames(url);
url = urlTemplate.parse(url).expand(parameters);
if (!/^http/.test(url)) {
url = options.baseUrl + url;
}
const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl");
const remainingParameters = omit(parameters, omittedParameters);
const isBinaryRequset = /application\/octet-stream/i.test(headers.accept);
if (!isBinaryRequset) {
if (options.mediaType.format) {
// e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw
headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, "application/vnd$1$2.".concat(options.mediaType.format))).join(",");
}
if (options.mediaType.previews.length) {
const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {
const format = options.mediaType.format ? ".".concat(options.mediaType.format) : "+json";
return "application/vnd.github.".concat(preview, "-preview").concat(format);
}).join(",");
}
} // for GET/HEAD requests, set URL query parameters from remaining parameters
// for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters
if (["GET", "HEAD"].includes(method)) {
url = addQueryParameters(url, remainingParameters);
} else {
if ("data" in remainingParameters) {
body = remainingParameters.data;
} else {
if (Object.keys(remainingParameters).length) {
body = remainingParameters;
} else {
headers["content-length"] = 0;
}
}
} // default content-type for JSON if body is set
if (!headers["content-type"] && typeof body !== "undefined") {
headers["content-type"] = "application/json; charset=utf-8";
} // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.
// fetch does not allow to set `content-length` header, but we can set body to an empty string
if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
body = "";
} // Only return body/request keys if present
return Object.assign({
method,
url,
headers
}, typeof body !== "undefined" ? {
body
} : null, options.request ? {
request: options.request
} : null);
}
function endpointWithDefaults(defaults, route, options) {
return parse(merge(defaults, route, options));
}
function withDefaults(oldDefaults, newDefaults) {
const DEFAULTS = merge(oldDefaults, newDefaults);
const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
return Object.assign(endpoint, {
DEFAULTS,
defaults: withDefaults.bind(null, DEFAULTS),
merge: merge.bind(null, DEFAULTS),
parse
});
}
const VERSION = "0.0.0-development";
const userAgent = "octokit-endpoint.js/".concat(VERSION, " ").concat(getUserAgent());
const DEFAULTS = {
method: "GET",
baseUrl: "https://api.github.com",
headers: {
accept: "application/vnd.github.v3+json",
"user-agent": userAgent
},
mediaType: {
format: "",
previews: []
}
};
const endpoint = withDefaults(null, DEFAULTS);
export { endpoint };

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014-2017, Jon Schlinkert.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,119 @@
# is-plain-object [![NPM version](https://img.shields.io/npm/v/is-plain-object.svg?style=flat)](https://www.npmjs.com/package/is-plain-object) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-plain-object.svg?style=flat)](https://npmjs.org/package/is-plain-object) [![NPM total downloads](https://img.shields.io/npm/dt/is-plain-object.svg?style=flat)](https://npmjs.org/package/is-plain-object) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-plain-object.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-plain-object)
> Returns true if an object was created by the `Object` constructor.
Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install --save is-plain-object
```
Use [isobject](https://github.com/jonschlinkert/isobject) if you only want to check if the value is an object and not an array or null.
## Usage
```js
import isPlainObject from 'is-plain-object';
```
**true** when created by the `Object` constructor.
```js
isPlainObject(Object.create({}));
//=> true
isPlainObject(Object.create(Object.prototype));
//=> true
isPlainObject({foo: 'bar'});
//=> true
isPlainObject({});
//=> true
```
**false** when not created by the `Object` constructor.
```js
isPlainObject(1);
//=> false
isPlainObject(['foo', 'bar']);
//=> false
isPlainObject([]);
//=> false
isPlainObject(new Foo);
//=> false
isPlainObject(null);
//=> false
isPlainObject(Object.create(null));
//=> false
```
## About
<details>
<summary><strong>Contributing</strong></summary>
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
</details>
<details>
<summary><strong>Running Tests</strong></summary>
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
```sh
$ npm install && npm test
```
</details>
<details>
<summary><strong>Building docs</strong></summary>
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
To generate the readme, run the following command:
```sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
```
</details>
### Related projects
You might also be interested in these projects:
* [is-number](https://www.npmjs.com/package/is-number): Returns true if a number or string value is a finite number. Useful for regex… [more](https://github.com/jonschlinkert/is-number) | [homepage](https://github.com/jonschlinkert/is-number "Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc.")
* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.")
* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.")
### Contributors
| **Commits** | **Contributor** |
| --- | --- |
| 19 | [jonschlinkert](https://github.com/jonschlinkert) |
| 6 | [TrySound](https://github.com/TrySound) |
| 6 | [stevenvachon](https://github.com/stevenvachon) |
| 3 | [onokumus](https://github.com/onokumus) |
| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |
### Author
**Jon Schlinkert**
* [GitHub Profile](https://github.com/jonschlinkert)
* [Twitter Profile](https://twitter.com/jonschlinkert)
* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
### License
Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT License](LICENSE).
***
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 28, 2019._

View File

@ -0,0 +1,48 @@
'use strict';
/*!
* isobject <https://github.com/jonschlinkert/isobject>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
function isObject(val) {
return val != null && typeof val === 'object' && Array.isArray(val) === false;
}
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
function isObjectObject(o) {
return isObject(o) === true
&& Object.prototype.toString.call(o) === '[object Object]';
}
function isPlainObject(o) {
var ctor,prot;
if (isObjectObject(o) === false) return false;
// If has modified constructor
ctor = o.constructor;
if (typeof ctor !== 'function') return false;
// If has modified prototype
prot = ctor.prototype;
if (isObjectObject(prot) === false) return false;
// If constructor does not have an Object-specific method
if (prot.hasOwnProperty('isPrototypeOf') === false) {
return false;
}
// Most likely a plain Object
return true;
}
module.exports = isPlainObject;

View File

@ -0,0 +1,3 @@
declare function isPlainObject(o: any): boolean;
export default isPlainObject;

View File

@ -0,0 +1,35 @@
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
import isObject from 'isobject';
function isObjectObject(o) {
return isObject(o) === true
&& Object.prototype.toString.call(o) === '[object Object]';
}
export default function isPlainObject(o) {
var ctor,prot;
if (isObjectObject(o) === false) return false;
// If has modified constructor
ctor = o.constructor;
if (typeof ctor !== 'function') return false;
// If has modified prototype
prot = ctor.prototype;
if (isObjectObject(prot) === false) return false;
// If constructor does not have an Object-specific method
if (prot.hasOwnProperty('isPrototypeOf') === false) {
return false;
}
// Most likely a plain Object
return true;
};

View File

@ -0,0 +1,124 @@
{
"_from": "is-plain-object@^3.0.0",
"_id": "is-plain-object@3.0.0",
"_inBundle": false,
"_integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==",
"_location": "/@octokit/endpoint/is-plain-object",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "is-plain-object@^3.0.0",
"name": "is-plain-object",
"escapedName": "is-plain-object",
"rawSpec": "^3.0.0",
"saveSpec": null,
"fetchSpec": "^3.0.0"
},
"_requiredBy": [
"/@octokit/endpoint"
],
"_resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz",
"_shasum": "47bfc5da1b5d50d64110806c199359482e75a928",
"_spec": "is-plain-object@^3.0.0",
"_where": "C:\\Users\\Administrator\\Documents\\setup-node\\node_modules\\@octokit\\endpoint",
"author": {
"name": "Jon Schlinkert",
"url": "https://github.com/jonschlinkert"
},
"bugs": {
"url": "https://github.com/jonschlinkert/is-plain-object/issues"
},
"bundleDependencies": false,
"contributors": [
{
"name": "Jon Schlinkert",
"url": "http://twitter.com/jonschlinkert"
},
{
"name": "Osman Nuri Okumuş",
"url": "http://onokumus.com"
},
{
"name": "Steven Vachon",
"url": "https://svachon.com"
},
{
"url": "https://github.com/wtgtybhertgeghgtwtg"
}
],
"dependencies": {
"isobject": "^4.0.0"
},
"deprecated": false,
"description": "Returns true if an object was created by the `Object` constructor.",
"devDependencies": {
"chai": "^4.2.0",
"esm": "^3.2.22",
"gulp-format-md": "^1.0.0",
"mocha": "^6.1.4",
"mocha-headless-chrome": "^2.0.2",
"rollup": "^1.10.1",
"rollup-plugin-node-resolve": "^4.2.3"
},
"engines": {
"node": ">=0.10.0"
},
"files": [
"index.d.ts",
"index.js",
"index.cjs.js"
],
"homepage": "https://github.com/jonschlinkert/is-plain-object",
"keywords": [
"check",
"is",
"is-object",
"isobject",
"javascript",
"kind",
"kind-of",
"object",
"plain",
"type",
"typeof",
"value"
],
"license": "MIT",
"main": "index.cjs.js",
"module": "index.js",
"name": "is-plain-object",
"repository": {
"type": "git",
"url": "git+https://github.com/jonschlinkert/is-plain-object.git"
},
"scripts": {
"build": "rollup -c",
"prepare": "rollup -c",
"test": "npm run test_node && npm run build && npm run test_browser",
"test_browser": "mocha-headless-chrome --args=disable-web-security -f test/browser.html",
"test_node": "mocha -r esm"
},
"types": "index.d.ts",
"verb": {
"toc": false,
"layout": "default",
"tasks": [
"readme"
],
"plugins": [
"gulp-format-md"
],
"related": {
"list": [
"is-number",
"isobject",
"kind-of"
]
},
"lint": {
"reflinks": true
}
},
"version": "3.0.0"
}

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014-2017, Jon Schlinkert.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,127 @@
# isobject [![NPM version](https://img.shields.io/npm/v/isobject.svg?style=flat)](https://www.npmjs.com/package/isobject) [![NPM monthly downloads](https://img.shields.io/npm/dm/isobject.svg?style=flat)](https://npmjs.org/package/isobject) [![NPM total downloads](https://img.shields.io/npm/dt/isobject.svg?style=flat)](https://npmjs.org/package/isobject) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/isobject.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/isobject)
> Returns true if the value is an object and not an array or null.
Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install --save isobject
```
Use [is-plain-object](https://github.com/jonschlinkert/is-plain-object) if you want only objects that are created by the `Object` constructor.
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install isobject
```
## Usage
```js
import isObject from 'isobject';
```
**True**
All of the following return `true`:
```js
isObject({});
isObject(Object.create({}));
isObject(Object.create(Object.prototype));
isObject(Object.create(null));
isObject({});
isObject(new Foo);
isObject(/foo/);
```
**False**
All of the following return `false`:
```js
isObject();
isObject(function () {});
isObject(1);
isObject([]);
isObject(undefined);
isObject(null);
```
## About
<details>
<summary><strong>Contributing</strong></summary>
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
</details>
<details>
<summary><strong>Running Tests</strong></summary>
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
```sh
$ npm install && npm test
```
</details>
<details>
<summary><strong>Building docs</strong></summary>
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
To generate the readme, run the following command:
```sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
```
</details>
### Related projects
You might also be interested in these projects:
* [extend-shallow](https://www.npmjs.com/package/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util. | [homepage](https://github.com/jonschlinkert/extend-shallow "Extend an object with the properties of additional objects. node.js/javascript util.")
* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object "Returns true if an object was created by the `Object` constructor.")
* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.")
* [merge-deep](https://www.npmjs.com/package/merge-deep): Recursively merge values in a javascript object. | [homepage](https://github.com/jonschlinkert/merge-deep "Recursively merge values in a javascript object.")
### Contributors
| **Commits** | **Contributor** |
| --- | --- |
| 30 | [jonschlinkert](https://github.com/jonschlinkert) |
| 8 | [doowb](https://github.com/doowb) |
| 7 | [TrySound](https://github.com/TrySound) |
| 3 | [onokumus](https://github.com/onokumus) |
| 1 | [LeSuisse](https://github.com/LeSuisse) |
| 1 | [tmcw](https://github.com/tmcw) |
| 1 | [ZhouHansen](https://github.com/ZhouHansen) |
### Author
**Jon Schlinkert**
* [GitHub Profile](https://github.com/jonschlinkert)
* [Twitter Profile](https://twitter.com/jonschlinkert)
* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
### License
Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT License](LICENSE).
***
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 28, 2019._

View File

@ -0,0 +1,14 @@
'use strict';
/*!
* isobject <https://github.com/jonschlinkert/isobject>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
function isObject(val) {
return val != null && typeof val === 'object' && Array.isArray(val) === false;
}
module.exports = isObject;

View File

@ -0,0 +1,3 @@
declare function isObject(val: any): boolean;
export default isObject;

View File

@ -0,0 +1,10 @@
/*!
* isobject <https://github.com/jonschlinkert/isobject>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
export default function isObject(val) {
return val != null && typeof val === 'object' && Array.isArray(val) === false;
};

View File

@ -0,0 +1,125 @@
{
"_from": "isobject@^4.0.0",
"_id": "isobject@4.0.0",
"_inBundle": false,
"_integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
"_location": "/@octokit/endpoint/isobject",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "isobject@^4.0.0",
"name": "isobject",
"escapedName": "isobject",
"rawSpec": "^4.0.0",
"saveSpec": null,
"fetchSpec": "^4.0.0"
},
"_requiredBy": [
"/@octokit/endpoint/is-plain-object"
],
"_resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
"_shasum": "3f1c9155e73b192022a80819bacd0343711697b0",
"_spec": "isobject@^4.0.0",
"_where": "C:\\Users\\Administrator\\Documents\\setup-node\\node_modules\\@octokit\\endpoint\\node_modules\\is-plain-object",
"author": {
"name": "Jon Schlinkert",
"url": "https://github.com/jonschlinkert"
},
"bugs": {
"url": "https://github.com/jonschlinkert/isobject/issues"
},
"bundleDependencies": false,
"contributors": [
{
"url": "https://github.com/LeSuisse"
},
{
"name": "Brian Woodward",
"url": "https://twitter.com/doowb"
},
{
"name": "Jon Schlinkert",
"url": "http://twitter.com/jonschlinkert"
},
{
"name": "Magnús Dæhlen",
"url": "https://github.com/magnudae"
},
{
"name": "Tom MacWright",
"url": "https://macwright.org"
}
],
"dependencies": {},
"deprecated": false,
"description": "Returns true if the value is an object and not an array or null.",
"devDependencies": {
"esm": "^3.2.22",
"gulp-format-md": "^0.1.9",
"mocha": "^2.4.5",
"rollup": "^1.10.1"
},
"engines": {
"node": ">=0.10.0"
},
"files": [
"index.d.ts",
"index.cjs.js",
"index.js"
],
"homepage": "https://github.com/jonschlinkert/isobject",
"keywords": [
"check",
"is",
"is-object",
"isobject",
"kind",
"kind-of",
"kindof",
"native",
"object",
"type",
"typeof",
"value"
],
"license": "MIT",
"main": "index.cjs.js",
"module": "index.js",
"name": "isobject",
"repository": {
"type": "git",
"url": "git+https://github.com/jonschlinkert/isobject.git"
},
"scripts": {
"build": "rollup -i index.js -o index.cjs.js -f cjs",
"prepublish": "npm run build",
"test": "mocha -r esm"
},
"types": "index.d.ts",
"verb": {
"related": {
"list": [
"extend-shallow",
"is-plain-object",
"kind-of",
"merge-deep"
]
},
"toc": false,
"layout": "default",
"tasks": [
"readme"
],
"plugins": [
"gulp-format-md"
],
"lint": {
"reflinks": true
},
"reflinks": [
"verb"
]
},
"version": "4.0.0"
}

View File

@ -0,0 +1,35 @@
language: node_js
cache: npm
# Trigger a push build on master and greenkeeper branches + PRs build on every branches
# Avoid double build on PRs (See https://github.com/travis-ci/travis-ci/issues/1147)
branches:
only:
- master
- /^greenkeeper.*$/
stages:
- test
- name: release
if: branch = master AND type IN (push)
jobs:
include:
- stage: test
node_js: 12
script: npm run test
- node_js: 8
script: npm run test
- node_js: 10
env: Node 10 & coverage upload
script:
- npm run test
- npm run coverage:upload
- node_js: lts/*
env: browser tests
script: npm run test:browser
- stage: release
node_js: lts/*
env: semantic-release
script: npm run semantic-release

View File

@ -0,0 +1,7 @@
# [ISC License](https://spdx.org/licenses/ISC)
Copyright (c) 2018, Gregor Martynus (https://github.com/gr2m)
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@ -0,0 +1,25 @@
# universal-user-agent
> Get a user agent string in both browser and node
[![@latest](https://img.shields.io/npm/v/universal-user-agent.svg)](https://www.npmjs.com/package/universal-user-agent)
[![Build Status](https://travis-ci.com/gr2m/universal-user-agent.svg?branch=master)](https://travis-ci.com/gr2m/universal-user-agent)
[![Coverage Status](https://coveralls.io/repos/github/gr2m/universal-user-agent/badge.svg)](https://coveralls.io/github/gr2m/universal-user-agent)
[![Greenkeeper](https://badges.greenkeeper.io/gr2m/universal-user-agent.svg)](https://greenkeeper.io/)
```js
const getUserAgent = require('universal-user-agent')
const userAgent = getUserAgent()
// userAgent will look like this
// in browser: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0"
// in node: Node.js/v8.9.4 (macOS High Sierra; x64)
```
## Credits
The Node implementation was originally inspired by [default-user-agent](https://www.npmjs.com/package/default-user-agent).
## License
[ISC](LICENSE.md)

View File

@ -0,0 +1,6 @@
module.exports = getUserAgentBrowser
function getUserAgentBrowser () {
/* global navigator */
return navigator.userAgent
}

View File

@ -0,0 +1,4 @@
{
"integrationFolder": "test",
"video": false
}

View File

@ -0,0 +1 @@
export default function getUserAgentNode(): string;

View File

@ -0,0 +1,15 @@
module.exports = getUserAgentNode
const osName = require('os-name')
function getUserAgentNode () {
try {
return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`
} catch (error) {
if (/wmic os get Caption/.test(error.message)) {
return 'Windows <version undetectable>'
}
throw error
}
}

View File

@ -0,0 +1,82 @@
{
"_from": "universal-user-agent@^3.0.0",
"_id": "universal-user-agent@3.0.0",
"_inBundle": false,
"_integrity": "sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA==",
"_location": "/@octokit/endpoint/universal-user-agent",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "universal-user-agent@^3.0.0",
"name": "universal-user-agent",
"escapedName": "universal-user-agent",
"rawSpec": "^3.0.0",
"saveSpec": null,
"fetchSpec": "^3.0.0"
},
"_requiredBy": [
"/@octokit/endpoint"
],
"_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-3.0.0.tgz",
"_shasum": "4cc88d68097bffd7ac42e3b7c903e7481424b4b9",
"_spec": "universal-user-agent@^3.0.0",
"_where": "C:\\Users\\Administrator\\Documents\\setup-node\\node_modules\\@octokit\\endpoint",
"author": {
"name": "Gregor Martynus",
"url": "https://github.com/gr2m"
},
"browser": "browser.js",
"bugs": {
"url": "https://github.com/gr2m/universal-user-agent/issues"
},
"bundleDependencies": false,
"dependencies": {
"os-name": "^3.0.0"
},
"deprecated": false,
"description": "Get a user agent string in both browser and node",
"devDependencies": {
"chai": "^4.1.2",
"coveralls": "^3.0.2",
"cypress": "^3.1.0",
"mocha": "^6.0.0",
"nyc": "^14.0.0",
"proxyquire": "^2.1.0",
"semantic-release": "^15.9.15",
"sinon": "^7.2.4",
"sinon-chai": "^3.2.0",
"standard": "^13.0.1",
"test": "^0.6.0",
"travis-deploy-once": "^5.0.7"
},
"homepage": "https://github.com/gr2m/universal-user-agent#readme",
"keywords": [],
"license": "ISC",
"main": "index.js",
"name": "universal-user-agent",
"repository": {
"type": "git",
"url": "git+https://github.com/gr2m/universal-user-agent.git"
},
"scripts": {
"coverage": "nyc report --reporter=html && open coverage/index.html",
"coverage:upload": "nyc report --reporter=text-lcov | coveralls",
"pretest": "standard",
"semantic-release": "semantic-release",
"test": "nyc mocha \"test/*-test.js\"",
"test:browser": "cypress run --browser chrome",
"travis-deploy-once": "travis-deploy-once"
},
"standard": {
"globals": [
"describe",
"it",
"beforeEach",
"afterEach",
"expect"
]
},
"types": "index.d.ts",
"version": "3.0.0"
}

View File

@ -0,0 +1,57 @@
// make tests run in both Node & Express
if (!global.cy) {
const chai = require('chai')
const sinon = require('sinon')
const sinonChai = require('sinon-chai')
chai.use(sinonChai)
global.expect = chai.expect
let sandbox
beforeEach(() => {
sandbox = sinon.createSandbox()
global.cy = {
stub: function () {
return sandbox.stub.apply(sandbox, arguments)
},
log () {
console.log.apply(console, arguments)
}
}
})
afterEach(() => {
sandbox.restore()
})
}
const getUserAgent = require('..')
describe('smoke', () => {
it('works', () => {
expect(getUserAgent()).to.be.a('string')
expect(getUserAgent().length).to.be.above(10)
})
if (!process.browser) { // test on node only
const proxyquire = require('proxyquire').noCallThru()
it('works around wmic error on Windows (#5)', () => {
const getUserAgent = proxyquire('..', {
'os-name': () => {
throw new Error('Command failed: wmic os get Caption')
}
})
expect(getUserAgent()).to.equal('Windows <version undetectable>')
})
it('does not swallow unexpected errors', () => {
const getUserAgent = proxyquire('..', {
'os-name': () => {
throw new Error('oops')
}
})
expect(getUserAgent).to.throw('oops')
})
}
})

88
node_modules/@octokit/endpoint/package.json generated vendored Normal file
View File

@ -0,0 +1,88 @@
{
"_from": "@octokit/endpoint@^5.1.0",
"_id": "@octokit/endpoint@5.3.2",
"_inBundle": false,
"_integrity": "sha512-gRjteEM9I6f4D8vtwU2iGUTn9RX/AJ0SVXiqBUEuYEWVGGAVjSXdT0oNmghH5lvQNWs8mwt6ZaultuG6yXivNw==",
"_location": "/@octokit/endpoint",
"_phantomChildren": {
"os-name": "3.1.0"
},
"_requested": {
"type": "range",
"registry": true,
"raw": "@octokit/endpoint@^5.1.0",
"name": "@octokit/endpoint",
"escapedName": "@octokit%2fendpoint",
"scope": "@octokit",
"rawSpec": "^5.1.0",
"saveSpec": null,
"fetchSpec": "^5.1.0"
},
"_requiredBy": [
"/@octokit/request"
],
"_resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.2.tgz",
"_shasum": "2deda2d869cac9ba7f370287d55667be2a808d4b",
"_spec": "@octokit/endpoint@^5.1.0",
"_where": "C:\\Users\\Administrator\\Documents\\setup-node\\node_modules\\@octokit\\request",
"bugs": {
"url": "https://github.com/octokit/endpoint.js/issues"
},
"bundleDependencies": false,
"dependencies": {
"deepmerge": "4.0.0",
"is-plain-object": "^3.0.0",
"universal-user-agent": "^3.0.0",
"url-template": "^2.0.8"
},
"deprecated": false,
"description": "Turns REST API endpoints into generic request options",
"devDependencies": {
"@octokit/routes": "20.9.2",
"@pika/pack": "^0.4.0",
"@pika/plugin-build-node": "^0.4.0",
"@pika/plugin-build-web": "^0.4.0",
"@pika/plugin-ts-standard-pkg": "^0.4.0",
"@types/jest": "^24.0.11",
"@types/url-template": "^2.0.28",
"glob": "^7.1.3",
"handlebars": "^4.1.2",
"jest": "^24.7.1",
"lodash.set": "^4.3.2",
"nyc": "^14.0.0",
"pascal-case": "^2.0.1",
"prettier": "1.18.2",
"semantic-release": "^15.13.8",
"semantic-release-plugin-update-version-in-files": "^1.0.0",
"string-to-jsdoc-comment": "^1.0.0",
"ts-jest": "^24.0.2",
"typescript": "^3.4.5"
},
"files": [
"dist-*/",
"bin/"
],
"homepage": "https://github.com/octokit/endpoint.js#readme",
"keywords": [
"octokit",
"github",
"api",
"rest"
],
"license": "MIT",
"main": "dist-node/index.js",
"module": "dist-web/index.js",
"name": "@octokit/endpoint",
"pika": true,
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git+https://github.com/octokit/endpoint.js.git"
},
"sideEffects": false,
"source": "dist-src/index.js",
"types": "dist-types/index.d.ts",
"version": "5.3.2"
}

21
node_modules/@octokit/graphql/LICENSE generated vendored Normal file
View File

@ -0,0 +1,21 @@
The MIT License
Copyright (c) 2018 Octokit contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

292
node_modules/@octokit/graphql/README.md generated vendored Normal file
View File

@ -0,0 +1,292 @@
# graphql.js
> GitHub GraphQL API client for browsers and Node
[![@latest](https://img.shields.io/npm/v/@octokit/graphql.svg)](https://www.npmjs.com/package/@octokit/graphql)
[![Build Status](https://travis-ci.com/octokit/graphql.js.svg?branch=master)](https://travis-ci.com/octokit/graphql.js)
[![Coverage Status](https://coveralls.io/repos/github/octokit/graphql.js/badge.svg)](https://coveralls.io/github/octokit/graphql.js)
[![Greenkeeper](https://badges.greenkeeper.io/octokit/graphql.js.svg)](https://greenkeeper.io/)
<!-- toc -->
- [Usage](#usage)
- [Errors](#errors)
- [Writing tests](#writing-tests)
- [License](#license)
<!-- tocstop -->
## Usage
Send a simple query
```js
const graphql = require('@octokit/graphql')
const { repository } = await graphql(`{
repository(owner:"octokit", name:"graphql.js") {
issues(last:3) {
edges {
node {
title
}
}
}
}
}`, {
headers: {
authorization: `token secret123`
}
})
```
⚠️ Do not use [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) in the query strings as they make your code vulnerable to query injection attacks (see [#2](https://github.com/octokit/graphql.js/issues/2)). Use variables instead:
```js
const graphql = require('@octokit/graphql')
const { lastIssues } = await graphql(`query lastIssues($owner: String!, $repo: String!, $num: Int = 3) {
repository(owner:$owner, name:$repo) {
issues(last:$num) {
edges {
node {
title
}
}
}
}
}`, {
owner: 'octokit',
repo: 'graphql.js'
headers: {
authorization: `token secret123`
}
}
})
```
Create two new clients and set separate default configs for them.
```js
const graphql1 = require('@octokit/graphql').defaults({
headers: {
authorization: `token secret123`
}
})
const graphql2 = require('@octokit/graphql').defaults({
headers: {
authorization: `token foobar`
}
})
```
Create two clients, the second inherits config from the first.
```js
const graphql1 = require('@octokit/graphql').defaults({
headers: {
authorization: `token secret123`
}
})
const graphql2 = graphql1.defaults({
headers: {
'user-agent': 'my-user-agent/v1.2.3'
}
})
```
Create a new client with default options and run query
```js
const graphql = require('@octokit/graphql').defaults({
headers: {
authorization: `token secret123`
}
})
const { repository } = await graphql(`{
repository(owner:"octokit", name:"graphql.js") {
issues(last:3) {
edges {
node {
title
}
}
}
}
}`)
```
Pass query together with headers and variables
```js
const graphql = require('@octokit/graphql')
const { lastIssues } = await graphql({
query: `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) {
repository(owner:$owner, name:$repo) {
issues(last:$num) {
edges {
node {
title
}
}
}
}
}`,
owner: 'octokit',
repo: 'graphql.js'
headers: {
authorization: `token secret123`
}
})
```
Use with GitHub Enterprise
```js
const graphql = require('@octokit/graphql').defaults({
baseUrl: 'https://github-enterprise.acme-inc.com/api',
headers: {
authorization: `token secret123`
}
})
const { repository } = await graphql(`{
repository(owner:"acme-project", name:"acme-repo") {
issues(last:3) {
edges {
node {
title
}
}
}
}
}`)
```
## Errors
In case of a GraphQL error, `error.message` is set to the first error from the responses `errors` array. All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging.
```js
const graphql = require('@octokit/graphql').defaults({
headers: {
authorization: `token secret123`
}
})
const query = `{
viewer {
bioHtml
}
}`
try {
const result = await graphql(query)
} catch (error) {
// server responds with
// {
// "data": null,
// "errors": [{
// "message": "Field 'bioHtml' doesn't exist on type 'User'",
// "locations": [{
// "line": 3,
// "column": 5
// }]
// }]
// }
console.log('Request failed:', error.request) // { query, variables: {}, headers: { authorization: 'token secret123' } }
console.log(error.message) // Field 'bioHtml' doesn't exist on type 'User'
}
```
## Partial responses
A GraphQL query may respond with partial data accompanied by errors. In this case we will throw an error but the partial data will still be accessible through `error.data`
```js
const graphql = require('@octokit/graphql').defaults({
headers: {
authorization: `token secret123`
}
})
const query = `{
repository(name: "probot", owner: "probot") {
name
ref(qualifiedName: "master") {
target {
... on Commit {
history(first: 25, after: "invalid cursor") {
nodes {
message
}
}
}
}
}
}
}`
try {
const result = await graphql(query)
} catch (error) {
// server responds with
// {
// "data": {
// "repository": {
// "name": "probot",
// "ref": null
// }
// },
// "errors": [
// {
// "type": "INVALID_CURSOR_ARGUMENTS",
// "path": [
// "repository",
// "ref",
// "target",
// "history"
// ],
// "locations": [
// {
// "line": 7,
// "column": 11
// }
// ],
// "message": "`invalid cursor` does not appear to be a valid cursor."
// }
// ]
// }
console.log('Request failed:', error.request) // { query, variables: {}, headers: { authorization: 'token secret123' } }
console.log(error.message) // `invalid cursor` does not appear to be a valid cursor.
console.log(error.data) // { repository: { name: 'probot', ref: null } }
}
```
## Writing tests
You can pass a replacement for [the built-in fetch implementation](https://github.com/bitinn/node-fetch) as `request.fetch` option. For example, using [fetch-mock](http://www.wheresrhys.co.uk/fetch-mock/) works great to write tests
```js
const assert = require('assert')
const fetchMock = require('fetch-mock/es5/server')
const graphql = require('@octokit/graphql')
graphql('{ viewer { login } }', {
headers: {
authorization: 'token secret123'
},
request: {
fetch: fetchMock.sandbox()
.post('https://api.github.com/graphql', (url, options) => {
assert.strictEqual(options.headers.authorization, 'token secret123')
assert.strictEqual(options.body, '{"query":"{ viewer { login } }"}', 'Sends correct query')
return { data: {} }
})
}
})
```
## License
[MIT](LICENSE)

15
node_modules/@octokit/graphql/index.js generated vendored Normal file
View File

@ -0,0 +1,15 @@
const { request } = require('@octokit/request')
const getUserAgent = require('universal-user-agent')
const version = require('./package.json').version
const userAgent = `octokit-graphql.js/${version} ${getUserAgent()}`
const withDefaults = require('./lib/with-defaults')
module.exports = withDefaults(request, {
method: 'POST',
url: '/graphql',
headers: {
'user-agent': userAgent
}
})

16
node_modules/@octokit/graphql/lib/error.js generated vendored Normal file
View File

@ -0,0 +1,16 @@
module.exports = class GraphqlError extends Error {
constructor (request, response) {
const message = response.data.errors[0].message
super(message)
Object.assign(this, response.data)
this.name = 'GraphqlError'
this.request = request
// Maintains proper stack trace (only available on V8)
/* istanbul ignore next */
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor)
}
}
}

36
node_modules/@octokit/graphql/lib/graphql.js generated vendored Normal file
View File

@ -0,0 +1,36 @@
module.exports = graphql
const GraphqlError = require('./error')
const NON_VARIABLE_OPTIONS = ['method', 'baseUrl', 'url', 'headers', 'request', 'query']
function graphql (request, query, options) {
if (typeof query === 'string') {
options = Object.assign({ query }, options)
} else {
options = query
}
const requestOptions = Object.keys(options).reduce((result, key) => {
if (NON_VARIABLE_OPTIONS.includes(key)) {
result[key] = options[key]
return result
}
if (!result.variables) {
result.variables = {}
}
result.variables[key] = options[key]
return result
}, {})
return request(requestOptions)
.then(response => {
if (response.data.errors) {
throw new GraphqlError(requestOptions, response)
}
return response.data.data
})
}

13
node_modules/@octokit/graphql/lib/with-defaults.js generated vendored Normal file
View File

@ -0,0 +1,13 @@
module.exports = withDefaults
const graphql = require('./graphql')
function withDefaults (request, newDefaults) {
const newRequest = request.defaults(newDefaults)
const newApi = function (query, options) {
return graphql(newRequest, query, options)
}
newApi.defaults = withDefaults.bind(null, newRequest)
return newApi
}

119
node_modules/@octokit/graphql/package.json generated vendored Normal file
View File

@ -0,0 +1,119 @@
{
"_from": "@octokit/graphql@^2.0.1",
"_id": "@octokit/graphql@2.1.3",
"_inBundle": false,
"_integrity": "sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==",
"_location": "/@octokit/graphql",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@octokit/graphql@^2.0.1",
"name": "@octokit/graphql",
"escapedName": "@octokit%2fgraphql",
"scope": "@octokit",
"rawSpec": "^2.0.1",
"saveSpec": null,
"fetchSpec": "^2.0.1"
},
"_requiredBy": [
"/@actions/github"
],
"_resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz",
"_shasum": "60c058a0ed5fa242eca6f938908d95fd1a2f4b92",
"_spec": "@octokit/graphql@^2.0.1",
"_where": "C:\\Users\\Administrator\\Documents\\setup-node\\toolkit\\actions-github-0.0.0.tgz",
"author": {
"name": "Gregor Martynus",
"url": "https://github.com/gr2m"
},
"bugs": {
"url": "https://github.com/octokit/graphql.js/issues"
},
"bundleDependencies": false,
"bundlesize": [
{
"path": "./dist/octokit-graphql.min.js.gz",
"maxSize": "5KB"
}
],
"dependencies": {
"@octokit/request": "^5.0.0",
"universal-user-agent": "^2.0.3"
},
"deprecated": false,
"description": "GitHub GraphQL API client for browsers and Node",
"devDependencies": {
"chai": "^4.2.0",
"compression-webpack-plugin": "^2.0.0",
"coveralls": "^3.0.3",
"cypress": "^3.1.5",
"fetch-mock": "^7.3.1",
"mkdirp": "^0.5.1",
"mocha": "^6.0.0",
"npm-run-all": "^4.1.3",
"nyc": "^14.0.0",
"semantic-release": "^15.13.3",
"simple-mock": "^0.8.0",
"standard": "^12.0.1",
"webpack": "^4.29.6",
"webpack-bundle-analyzer": "^3.1.0",
"webpack-cli": "^3.2.3"
},
"files": [
"lib"
],
"homepage": "https://github.com/octokit/graphql.js#readme",
"keywords": [
"octokit",
"github",
"api",
"graphql"
],
"license": "MIT",
"main": "index.js",
"name": "@octokit/graphql",
"publishConfig": {
"access": "public"
},
"release": {
"publish": [
"@semantic-release/npm",
{
"path": "@semantic-release/github",
"assets": [
"dist/*",
"!dist/*.map.gz"
]
}
]
},
"repository": {
"type": "git",
"url": "git+https://github.com/octokit/graphql.js.git"
},
"scripts": {
"build": "npm-run-all build:*",
"build:development": "webpack --mode development --entry . --output-library=octokitGraphql --output=./dist/octokit-graphql.js --profile --json > dist/bundle-stats.json",
"build:production": "webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=octokitGraphql --output-path=./dist --output-filename=octokit-graphql.min.js --devtool source-map",
"bundle-report": "webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html",
"coverage": "nyc report --reporter=html && open coverage/index.html",
"coverage:upload": "nyc report --reporter=text-lcov | coveralls",
"prebuild": "mkdirp dist/",
"pretest": "standard",
"test": "nyc mocha test/*-test.js",
"test:browser": "cypress run --browser chrome"
},
"standard": {
"globals": [
"describe",
"before",
"beforeEach",
"afterEach",
"after",
"it",
"expect"
]
},
"version": "2.1.3"
}

21
node_modules/@octokit/request-error/LICENSE generated vendored Normal file
View File

@ -0,0 +1,21 @@
The MIT License
Copyright (c) 2019 Octokit contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

68
node_modules/@octokit/request-error/README.md generated vendored Normal file
View File

@ -0,0 +1,68 @@
# http-error.js
> Error class for Octokit request errors
[![@latest](https://img.shields.io/npm/v/@octokit/request-error.svg)](https://www.npmjs.com/package/@octokit/request-error)
[![Build Status](https://travis-ci.com/octokit/request-error.js.svg?branch=master)](https://travis-ci.com/octokit/request-error.js)
[![Greenkeeper](https://badges.greenkeeper.io/octokit/request-error.js.svg)](https://greenkeeper.io/)
## Usage
<table>
<tbody valign=top align=left>
<tr><th>
Browsers
</th><td width=100%>
Load <code>@octokit/request-error</code> directly from <a href="https://cdn.pika.dev">cdn.pika.dev</a>
```html
<script type="module">
import { RequestError } from "https://cdn.pika.dev/@octokit/request-error";
</script>
```
</td></tr>
<tr><th>
Node
</th><td>
Install with <code>npm install @octokit/request-error</code>
```js
const { RequestError } = require("@octokit/request-error");
// or: import { RequestError } from "@octokit/request-error";
```
</td></tr>
</tbody>
</table>
```js
const error = new RequestError("Oops", 500, {
headers: {
"x-github-request-id": "1:2:3:4"
}, // response headers
request: {
method: "POST",
url: "https://api.github.com/foo",
body: {
bar: "baz"
},
headers: {
authorization: "token secret123"
}
}
});
error.message; // Oops
error.status; // 500
error.headers; // { 'x-github-request-id': '1:2:3:4' }
error.request.method; // POST
error.request.url; // https://api.github.com/foo
error.request.body; // { bar: 'baz' }
error.request.headers; // { authorization: 'token [REDACTED]' }
```
## LICENSE
[MIT](LICENSE)

54
node_modules/@octokit/request-error/dist-node/index.js generated vendored Normal file
View File

@ -0,0 +1,54 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var deprecation = require('deprecation');
var once = _interopDefault(require('once'));
const logOnce = once(deprecation => console.warn(deprecation));
/**
* Error with extra properties to help with debugging
*/
class RequestError extends Error {
constructor(message, statusCode, options) {
super(message); // Maintains proper stack trace (only available on V8)
/* istanbul ignore next */
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
this.name = "HttpError";
this.status = statusCode;
Object.defineProperty(this, "code", {
get() {
logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
return statusCode;
}
});
this.headers = options.headers; // redact request credentials without mutating original request options
const requestCopy = Object.assign({}, options.request);
if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
});
}
requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit
// see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended
// see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
.replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
this.request = requestCopy;
}
}
exports.RequestError = RequestError;

40
node_modules/@octokit/request-error/dist-src/index.js generated vendored Normal file
View File

@ -0,0 +1,40 @@
import { Deprecation } from "deprecation";
import once from "once";
const logOnce = once((deprecation) => console.warn(deprecation));
/**
* Error with extra properties to help with debugging
*/
export class RequestError extends Error {
constructor(message, statusCode, options) {
super(message);
// Maintains proper stack trace (only available on V8)
/* istanbul ignore next */
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
this.name = "HttpError";
this.status = statusCode;
Object.defineProperty(this, "code", {
get() {
logOnce(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
return statusCode;
}
});
this.headers = options.headers;
// redact request credentials without mutating original request options
const requestCopy = Object.assign({}, options.request);
if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
});
}
requestCopy.url = requestCopy.url
// client_id & client_secret can be passed as URL query parameters to increase rate limit
// see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]")
// OAuth tokens can be passed as URL query parameters, although it is not recommended
// see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
.replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
this.request = requestCopy;
}
}

View File

View File

@ -0,0 +1,26 @@
import { RequestOptions, ResponseHeaders, RequestErrorOptions } from "./types";
/**
* Error with extra properties to help with debugging
*/
export declare class RequestError extends Error {
name: "HttpError";
/**
* http status code
*/
status: number;
/**
* http status code
*
* @deprecated `error.code` is deprecated in favor of `error.status`
*/
code: number;
/**
* error response headers
*/
headers: ResponseHeaders;
/**
* Request options that lead to the error.
*/
request: RequestOptions;
constructor(message: string, statusCode: number, options: RequestErrorOptions);
}

View File

@ -0,0 +1,37 @@
/**
* Relative or absolute URL. Examples: `'/orgs/:org'`, `https://example.com/foo/bar`
*/
export declare type Url = string;
/**
* Request method
*/
export declare type Method = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT";
export declare type RequestHeaders = {
/**
* Used for API previews and custom formats
*/
accept?: string;
/**
* Redacted authorization header
*/
authorization?: string;
"user-agent"?: string;
[header: string]: string | number | undefined;
};
export declare type ResponseHeaders = {
[header: string]: string;
};
export declare type EndpointRequestOptions = {
[option: string]: any;
};
export declare type RequestOptions = {
method: Method;
url: Url;
headers: RequestHeaders;
body?: any;
request?: EndpointRequestOptions;
};
export declare type RequestErrorOptions = {
headers: ResponseHeaders;
request: RequestOptions;
};

48
node_modules/@octokit/request-error/dist-web/index.js generated vendored Normal file
View File

@ -0,0 +1,48 @@
import { Deprecation } from 'deprecation';
import once from 'once';
const logOnce = once(deprecation => console.warn(deprecation));
/**
* Error with extra properties to help with debugging
*/
class RequestError extends Error {
constructor(message, statusCode, options) {
super(message); // Maintains proper stack trace (only available on V8)
/* istanbul ignore next */
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
this.name = "HttpError";
this.status = statusCode;
Object.defineProperty(this, "code", {
get() {
logOnce(new Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));
return statusCode;
}
});
this.headers = options.headers; // redact request credentials without mutating original request options
const requestCopy = Object.assign({}, options.request);
if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]")
});
}
requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit
// see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended
// see https://developer.github.com/v3/#oauth2-token-sent-in-a-header
.replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
this.request = requestCopy;
}
}
export { RequestError };

81
node_modules/@octokit/request-error/package.json generated vendored Normal file
View File

@ -0,0 +1,81 @@
{
"_from": "@octokit/request-error@^1.0.1",
"_id": "@octokit/request-error@1.0.4",
"_inBundle": false,
"_integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==",
"_location": "/@octokit/request-error",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@octokit/request-error@^1.0.1",
"name": "@octokit/request-error",
"escapedName": "@octokit%2frequest-error",
"scope": "@octokit",
"rawSpec": "^1.0.1",
"saveSpec": null,
"fetchSpec": "^1.0.1"
},
"_requiredBy": [
"/@octokit/request",
"/@octokit/rest"
],
"_resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz",
"_shasum": "15e1dc22123ba4a9a4391914d80ec1e5303a23be",
"_spec": "@octokit/request-error@^1.0.1",
"_where": "C:\\Users\\Administrator\\Documents\\setup-node\\node_modules\\@octokit\\request",
"bugs": {
"url": "https://github.com/octokit/request-error.js/issues"
},
"bundleDependencies": false,
"dependencies": {
"deprecation": "^2.0.0",
"once": "^1.4.0"
},
"deprecated": false,
"description": "Error class for Octokit request errors",
"devDependencies": {
"@pika/pack": "^0.3.7",
"@pika/plugin-build-node": "^0.4.0",
"@pika/plugin-build-web": "^0.4.0",
"@pika/plugin-bundle-web": "^0.4.0",
"@pika/plugin-ts-standard-pkg": "^0.4.0",
"@semantic-release/git": "^7.0.12",
"@types/jest": "^24.0.12",
"@types/node": "^12.0.2",
"@types/once": "^1.4.0",
"jest": "^24.7.1",
"pika-plugin-unpkg-field": "^1.1.0",
"prettier": "^1.17.0",
"semantic-release": "^15.10.5",
"ts-jest": "^24.0.2",
"typescript": "^3.4.5"
},
"files": [
"dist-*/",
"bin/"
],
"homepage": "https://github.com/octokit/request-error.js#readme",
"keywords": [
"octokit",
"github",
"api",
"error"
],
"license": "MIT",
"main": "dist-node/index.js",
"module": "dist-web/index.js",
"name": "@octokit/request-error",
"pika": true,
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git+https://github.com/octokit/request-error.js.git"
},
"sideEffects": false,
"source": "dist-src/index.js",
"types": "dist-types/index.d.ts",
"version": "1.0.4"
}

21
node_modules/@octokit/request/LICENSE generated vendored Normal file
View File

@ -0,0 +1,21 @@
The MIT License
Copyright (c) 2018 Octokit contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

495
node_modules/@octokit/request/README.md generated vendored Normal file
View File

@ -0,0 +1,495 @@
# request.js
> Send parameterized requests to GitHubs APIs with sensible defaults in browsers and Node
[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request)
[![Build Status](https://travis-ci.org/octokit/request.js.svg?branch=master)](https://travis-ci.org/octokit/request.js)
[![Greenkeeper](https://badges.greenkeeper.io/octokit/request.js.svg)](https://greenkeeper.io/)
`@octokit/request` is a request library for browsers & node that makes it easier
to interact with [GitHubs REST API](https://developer.github.com/v3/) and
[GitHubs GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint).
It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse
the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
([node-fetch](https://github.com/bitinn/node-fetch) in Node).
<!-- update table of contents by running `npx markdown-toc README.md -i` -->
<!-- toc -->
- [Features](#features)
- [Usage](#usage)
- [REST API example](#rest-api-example)
- [GraphQL example](#graphql-example)
- [Alternative: pass `method` & `url` as part of options](#alternative-pass-method--url-as-part-of-options)
- [request()](#request)
- [`request.defaults()`](#requestdefaults)
- [`request.endpoint`](#requestendpoint)
- [Special cases](#special-cases)
- [The `data` parameter set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly)
- [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body)
- [LICENSE](#license)
<!-- tocstop -->
## Features
🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes
```js
request("POST /repos/:owner/:repo/issues/:number/labels", {
mediaType: {
previews: ["symmetra"]
},
owner: "ocotkit",
repo: "request.js",
number: 1,
labels: ["🐛 bug"]
});
```
👍 Sensible defaults
- `baseUrl`: `https://api.github.com`
- `headers.accept`: `application/vnd.github.v3+json`
- `headers.agent`: `octokit-request.js/<current version> <OS information>`, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)`
👌 Simple to test: mock requests by passing a custom fetch method.
🧐 Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials).
👶 Small bundle size (\<5kb minified + gzipped)
## Usage
<table>
<tbody valign=top align=left>
<tr><th>
Browsers
</th><td width=100%>
Load <code>@octokit/request</code> directly from <a href="https://cdn.pika.dev">cdn.pika.dev</a>
```html
<script type="module">
import { request } from "https://cdn.pika.dev/@octokit/request";
</script>
```
</td></tr>
<tr><th>
Node
</th><td>
Install with <code>npm install @octokit/request</code>
```js
const { request } = require("@octokit/request");
// or: import { request } from "@octokit/request";
```
</td></tr>
</tbody>
</table>
### REST API example
```js
// Following GitHub docs formatting:
// https://developer.github.com/v3/repos/#list-organization-repositories
const result = await request("GET /orgs/:org/repos", {
headers: {
authorization: "token 0000000000000000000000000000000000000001"
},
org: "octokit",
type: "private"
});
console.log(`${result.data.length} repos found.`);
```
### GraphQL example
```js
const result = await request("POST /graphql", {
headers: {
authorization: "token 0000000000000000000000000000000000000001"
},
query: `query ($login: String!) {
organization(login: $login) {
repositories(privacy: PRIVATE) {
totalCount
}
}
}`,
variables: {
login: "octokit"
}
});
```
### Alternative: pass `method` & `url` as part of options
Alternatively, pass in a method and a url
```js
const result = await request({
method: "GET",
url: "/orgs/:org/repos",
headers: {
authorization: "token 0000000000000000000000000000000000000001"
},
org: "octokit",
type: "private"
});
```
## request()
`request(route, options)` or `request(options)`.
**Options**
<table>
<thead>
<tr>
<th align=left>
name
</th>
<th align=left>
type
</th>
<th align=left>
description
</th>
</tr>
</thead>
<tr>
<th align=left>
<code>route</code>
</th>
<td>
String
</td>
<td>
If <code>route</code> is set it has to be a string consisting of the request method and URL, e.g. <code>GET /orgs/:org</code>
</td>
</tr>
<tr>
<th align=left>
<code>options.baseUrl</code>
</th>
<td>
String
</td>
<td>
<strong>Required.</strong> Any supported <a href="https://developer.github.com/v3/#http-verbs">http verb</a>, case insensitive. <em>Defaults to <code>https://api.github.com</code></em>.
</td>
</tr>
<th align=left>
<code>options.headers</code>
</th>
<td>
Object
</td>
<td>
Custom headers. Passed headers are merged with defaults:<br>
<em><code>headers['user-agent']</code> defaults to <code>octokit-rest.js/1.2.3</code> (where <code>1.2.3</code> is the released version)</em>.<br>
<em><code>headers['accept']</code> defaults to <code>application/vnd.github.v3+json</code>.<br> Use <code>options.mediaType.{format,previews}</code> to request API previews and custom media types.
</td>
</tr>
<tr>
<th align=left>
<code>options.mediaType.format</code>
</th>
<td>
String
</td>
<td>
Media type param, such as `raw`, `html`, or `full`. See <a href="https://developer.github.com/v3/media/">Media Types</a>.
</td>
</tr>
<tr>
<th align=left>
<code>options.mediaType.previews</code>
</th>
<td>
Array of strings
</td>
<td>
Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See <a href="https://developer.github.com/v3/previews/">API Previews</a>.
</td>
</tr>
<tr>
<th align=left>
<code>options.method</code>
</th>
<td>
String
</td>
<td>
<strong>Required.</strong> Any supported <a href="https://developer.github.com/v3/#http-verbs">http verb</a>, case insensitive. <em>Defaults to <code>Get</code></em>.
</td>
</tr>
<tr>
<th align=left>
<code>options.url</code>
</th>
<td>
String
</td>
<td>
<strong>Required.</strong> A path or full URL which may contain <code>:variable</code> or <code>{variable}</code> placeholders,
e.g. <code>/orgs/:org/repos</code>. The <code>url</code> is parsed using <a href="https://github.com/bramstein/url-template">url-template</a>.
</td>
</tr>
<tr>
<th align=left>
<code>options.data</code>
</th>
<td>
Any
</td>
<td>
Set request body directly instead of setting it to JSON based on additional parameters. See <a href="#data-parameter">"The `data` parameter"</a> below.
</td>
</tr>
<tr>
<th align=left>
<code>options.request.agent</code>
</th>
<td>
<a href="https://nodejs.org/api/http.html#http_class_http_agent">http(s).Agent</a> instance
</td>
<td>
Node only. Useful for custom proxy, certificate, or dns lookup.
</td>
</tr>
<tr>
<th align=left>
<code>options.request.fetch</code>
</th>
<td>
Function
</td>
<td>
Custom replacement for <a href="https://github.com/bitinn/node-fetch">built-in fetch method</a>. Useful for testing or request hooks.
</td>
</tr>
<tr>
<th align=left>
<code>options.request.hook</code>
</th>
<td>
Function
</td>
<td>
Function with the signature <code>hook(request, endpointOptions)</code>, where <code>endpointOptions</code> are the parsed options as returned by <a href="https://github.com/octokit/endpoint.js#endpointmergeroute-options-or-endpointmergeoptions"><code>endpoint.merge()</code></a>, and <code>request</code> is <a href="https://github.com/octokit/request.js#request"><code>request()</code></a>. This option works great in conjuction with <a href="https://github.com/gr2m/before-after-hook">before-after-hook</a>.
</td>
</tr>
<tr>
<th align=left>
<a name="options-request-signal"></a><code>options.request.signal</code>
</th>
<td>
<a href="https://github.com/bitinn/node-fetch/tree/e996bdab73baf996cf2dbf25643c8fe2698c3249#request-cancellation-with-abortsignal">new AbortController().signal</a>
</td>
<td>
Use an <code>AbortController</code> instance to cancel a request. In node you can only cancel streamed requests.
</td>
</tr>
<tr>
<th align=left>
<code>options.request.timeout</code>
</th>
<td>
Number
</td>
<td>
Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). <a href="#options-request-signal">options.request.signal</a> is recommended instead.
</td>
</tr>
</table>
All other options except `options.request.*` will be passed depending on the `method` and `url` options.
1. If the option key is a placeholder in the `url`, it will be used as replacement. For example, if the passed options are `{url: '/orgs/:org/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos`
2. If the `method` is `GET` or `HEAD`, the option is passed as query parameter
3. Otherwise the parameter is passed in the request body as JSON key.
**Result**
`request` returns a promise and resolves with 4 keys
<table>
<thead>
<tr>
<th align=left>
key
</th>
<th align=left>
type
</th>
<th align=left>
description
</th>
</tr>
</thead>
<tr>
<th align=left><code>status</code></th>
<td>Integer</td>
<td>Response status status</td>
</tr>
<tr>
<th align=left><code>url</code></th>
<td>String</td>
<td>URL of response. If a request results in redirects, this is the final URL. You can send a <code>HEAD</code> request to retrieve it without loading the full response body.</td>
</tr>
<tr>
<th align=left><code>headers</code></th>
<td>Object</td>
<td>All response headers</td>
</tr>
<tr>
<th align=left><code>data</code></th>
<td>Any</td>
<td>The response body as returned from server. If the response is JSON then it will be parsed into an object</td>
</tr>
</table>
If an error occurs, the `error` instance has additional properties to help with debugging
- `error.status` The http response status code
- `error.headers` The http response headers as an object
- `error.request` The request options such as `method`, `url` and `data`
## `request.defaults()`
Override or set default options. Example:
```js
const myrequest = require("@octokit/request").defaults({
baseUrl: "https://github-enterprise.acme-inc.com/api/v3",
headers: {
"user-agent": "myApp/1.2.3",
authorization: `token 0000000000000000000000000000000000000001`
},
org: "my-project",
per_page: 100
});
myrequest(`GET /orgs/:org/repos`);
```
You can call `.defaults()` again on the returned method, the defaults will cascade.
```js
const myProjectRequest = request.defaults({
baseUrl: "https://github-enterprise.acme-inc.com/api/v3",
headers: {
"user-agent": "myApp/1.2.3"
},
org: "my-project"
});
const myProjectRequestWithAuth = myProjectRequest.defaults({
headers: {
authorization: `token 0000000000000000000000000000000000000001`
}
});
```
`myProjectRequest` now defaults the `baseUrl`, `headers['user-agent']`,
`org` and `headers['authorization']` on top of `headers['accept']` that is set
by the global default.
## `request.endpoint`
See https://github.com/octokit/endpoint.js. Example
```js
const options = request.endpoint("GET /orgs/:org/repos", {
org: "my-project",
type: "private"
});
// {
// method: 'GET',
// url: 'https://api.github.com/orgs/my-project/repos?type=private',
// headers: {
// accept: 'application/vnd.github.v3+json',
// authorization: 'token 0000000000000000000000000000000000000001',
// 'user-agent': 'octokit/endpoint.js v1.2.3'
// }
// }
```
All of the [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) API can be used:
- [`ocotkitRequest.endpoint()`](#endpoint)
- [`ocotkitRequest.endpoint.defaults()`](#endpointdefaults)
- [`ocotkitRequest.endpoint.merge()`](#endpointdefaults)
- [`ocotkitRequest.endpoint.parse()`](#endpointmerge)
## Special cases
<a name="data-parameter"></a>
### The `data` parameter set request body directly
Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) dont have parameters that are sent as request body keys, instead the request body needs to be set directly. In these cases, set the `data` parameter.
```js
const response = await request("POST /markdown/raw", {
data: "Hello world github/linguist#1 **cool**, and #1!",
headers: {
accept: "text/html;charset=utf-8",
"content-type": "text/plain"
}
});
// Request is sent as
//
// {
// method: 'post',
// url: 'https://api.github.com/markdown/raw',
// headers: {
// accept: 'text/html;charset=utf-8',
// 'content-type': 'text/plain',
// 'user-agent': userAgent
// },
// body: 'Hello world github/linguist#1 **cool**, and #1!'
// }
//
// not as
//
// {
// ...
// body: '{"data": "Hello world github/linguist#1 **cool**, and #1!"}'
// }
```
### Set parameters for both the URL/query and the request body
There are API endpoints that accept both query parameters as well as a body. In that case you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570).
Example
```js
request(
"POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}",
{
name: "example.zip",
label: "short description",
headers: {
"content-type": "text/plain",
"content-length": 14,
authorization: `token 0000000000000000000000000000000000000001`
},
data: "Hello, world!"
}
);
```
## LICENSE
[MIT](LICENSE)

143
node_modules/@octokit/request/dist-node/index.js generated vendored Normal file
View File

@ -0,0 +1,143 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var endpoint = require('@octokit/endpoint');
var getUserAgent = _interopDefault(require('universal-user-agent'));
var isPlainObject = _interopDefault(require('is-plain-object'));
var nodeFetch = _interopDefault(require('node-fetch'));
var requestError = require('@octokit/request-error');
const VERSION = "0.0.0-development";
function getBufferResponse(response) {
return response.arrayBuffer();
}
function fetchWrapper(requestOptions) {
if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {
requestOptions.body = JSON.stringify(requestOptions.body);
}
let headers = {};
let status;
let url;
const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch;
return fetch(requestOptions.url, Object.assign({
method: requestOptions.method,
body: requestOptions.body,
headers: requestOptions.headers,
redirect: requestOptions.redirect
}, requestOptions.request)).then(response => {
url = response.url;
status = response.status;
for (const keyAndValue of response.headers) {
headers[keyAndValue[0]] = keyAndValue[1];
}
if (status === 204 || status === 205) {
return;
} // GitHub API returns 200 for HEAD requsets
if (requestOptions.method === "HEAD") {
if (status < 400) {
return;
}
throw new requestError.RequestError(response.statusText, status, {
headers,
request: requestOptions
});
}
if (status === 304) {
throw new requestError.RequestError("Not modified", status, {
headers,
request: requestOptions
});
}
if (status >= 400) {
return response.text().then(message => {
const error = new requestError.RequestError(message, status, {
headers,
request: requestOptions
});
try {
Object.assign(error, JSON.parse(error.message));
} catch (e) {// ignore, see octokit/rest.js#684
}
throw error;
});
}
const contentType = response.headers.get("content-type");
if (/application\/json/.test(contentType)) {
return response.json();
}
if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) {
return response.text();
}
return getBufferResponse(response);
}).then(data => {
return {
status,
url,
headers,
data
};
}).catch(error => {
if (error instanceof requestError.RequestError) {
throw error;
}
throw new requestError.RequestError(error.message, 500, {
headers,
request: requestOptions
});
});
}
function withDefaults(oldEndpoint, newDefaults) {
const endpoint = oldEndpoint.defaults(newDefaults);
const newApi = function (route, parameters) {
const endpointOptions = endpoint.merge(route, parameters);
if (!endpointOptions.request || !endpointOptions.request.hook) {
return fetchWrapper(endpoint.parse(endpointOptions));
}
const request = (route, parameters) => {
return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));
};
Object.assign(request, {
endpoint,
defaults: withDefaults.bind(null, endpoint)
});
return endpointOptions.request.hook(request, endpointOptions);
};
return Object.assign(newApi, {
endpoint,
defaults: withDefaults.bind(null, endpoint)
});
}
const request = withDefaults(endpoint.endpoint, {
headers: {
"user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`
}
});
exports.request = request;

View File

@ -0,0 +1,88 @@
import isPlainObject from "is-plain-object";
import nodeFetch from "node-fetch";
import { RequestError } from "@octokit/request-error";
import getBuffer from "./get-buffer-response";
export default function fetchWrapper(requestOptions) {
if (isPlainObject(requestOptions.body) ||
Array.isArray(requestOptions.body)) {
requestOptions.body = JSON.stringify(requestOptions.body);
}
let headers = {};
let status;
let url;
const fetch = (requestOptions.request && requestOptions.request.fetch) || nodeFetch;
return fetch(requestOptions.url, Object.assign({
method: requestOptions.method,
body: requestOptions.body,
headers: requestOptions.headers,
redirect: requestOptions.redirect
}, requestOptions.request))
.then(response => {
url = response.url;
status = response.status;
for (const keyAndValue of response.headers) {
headers[keyAndValue[0]] = keyAndValue[1];
}
if (status === 204 || status === 205) {
return;
}
// GitHub API returns 200 for HEAD requsets
if (requestOptions.method === "HEAD") {
if (status < 400) {
return;
}
throw new RequestError(response.statusText, status, {
headers,
request: requestOptions
});
}
if (status === 304) {
throw new RequestError("Not modified", status, {
headers,
request: requestOptions
});
}
if (status >= 400) {
return response
.text()
.then(message => {
const error = new RequestError(message, status, {
headers,
request: requestOptions
});
try {
Object.assign(error, JSON.parse(error.message));
}
catch (e) {
// ignore, see octokit/rest.js#684
}
throw error;
});
}
const contentType = response.headers.get("content-type");
if (/application\/json/.test(contentType)) {
return response.json();
}
if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) {
return response.text();
}
return getBuffer(response);
})
.then(data => {
return {
status,
url,
headers,
data
};
})
.catch(error => {
if (error instanceof RequestError) {
throw error;
}
throw new RequestError(error.message, 500, {
headers,
request: requestOptions
});
});
}

View File

@ -0,0 +1,3 @@
export default function getBufferResponse(response) {
return response.arrayBuffer();
}

9
node_modules/@octokit/request/dist-src/index.js generated vendored Normal file
View File

@ -0,0 +1,9 @@
import { endpoint } from "@octokit/endpoint";
import getUserAgent from "universal-user-agent";
import { VERSION } from "./version";
import withDefaults from "./with-defaults";
export const request = withDefaults(endpoint, {
headers: {
"user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}`
}
});

0
node_modules/@octokit/request/dist-src/types.js generated vendored Normal file
View File

1
node_modules/@octokit/request/dist-src/version.js generated vendored Normal file
View File

@ -0,0 +1 @@
export const VERSION = "0.0.0-development";

View File

@ -0,0 +1,22 @@
import fetchWrapper from "./fetch-wrapper";
export default function withDefaults(oldEndpoint, newDefaults) {
const endpoint = oldEndpoint.defaults(newDefaults);
const newApi = function (route, parameters) {
const endpointOptions = endpoint.merge(route, parameters);
if (!endpointOptions.request || !endpointOptions.request.hook) {
return fetchWrapper(endpoint.parse(endpointOptions));
}
const request = (route, parameters) => {
return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters)));
};
Object.assign(request, {
endpoint,
defaults: withDefaults.bind(null, endpoint)
});
return endpointOptions.request.hook(request, endpointOptions);
};
return Object.assign(newApi, {
endpoint,
defaults: withDefaults.bind(null, endpoint)
});
}

View File

@ -0,0 +1,11 @@
import { endpoint } from "./types";
export default function fetchWrapper(requestOptions: ReturnType<endpoint> & {
redirect?: string;
}): Promise<{
status: number;
url: string;
headers: {
[header: string]: string;
};
data: any;
}>;

Some files were not shown because too many files have changed in this diff Show More